You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This module is getting messy. It would help if we have a separate annotation stage for choosing the layout of a block.
For example, for the following source we can generate all sorts of blocks. Depending on user-supplied options and possibility we should annotate the blocks with properties that help doing such things.
div
p
| hey #[strong text]
div
p
| two line
| text
Base output (all options at false):
div
p hey #[strong text]
div
p
| two line
| text
aggressive inlining (unrelated to performance)
div
p hey #[strong text]
div
p two line
| text
use block expansion for a block
div: p: hey #[strong text]
div: p
| two line
| text
use dot
div
p.
hey #[strong text]
div
p.
two line
text
And any combination thereof:
(dot and expansion)
div: p: | hey #[strong text]
div: p.
two line
text
(inlining and expansion)
div: p hey #[strong text]
div: p two line
| text
A propose to have the following defaults:
block expansion: auto: only when there is only one node and one level of node and if the lowest level is text, it has only one line. so
div
p
strong
| hey
div
p
strong
| multi
| strong
div
div
p multi
p line
div
p
img
turns into
div
p: strong hey
div
p
strong
| multi
| strong
div
div
p multi
p line
div
p: img
aggressive inlining: false as it looks ugly
dot: auto: use the current heuristics that I believe it works well enough: use dot syntax when there's nothing besides buffered code and text, and (number of whole lines of code)/(total lines) < 0.35
The text was updated successfully, but these errors were encountered:
This module is getting messy. It would help if we have a separate annotation stage for choosing the layout of a block.
For example, for the following source we can generate all sorts of blocks. Depending on user-supplied options and possibility we should annotate the blocks with properties that help doing such things.
Base output (all options at false):
aggressive inlining (unrelated to performance)
use block expansion for a block
use dot
And any combination thereof:
(dot and expansion)
(inlining and expansion)
A propose to have the following defaults:
block expansion: auto: only when there is only one node and one level of node and if the lowest level is text, it has only one line. so
turns into
aggressive inlining: false as it looks ugly
dot: auto: use the current heuristics that I believe it works well enough: use dot syntax when there's nothing besides buffered code and text, and (number of whole lines of code)/(total lines) < 0.35
The text was updated successfully, but these errors were encountered: