Everything, except Blocks, can be squshed

This commit is contained in:
reverend 2021-01-17 19:19:34 +01:00
parent e8609fe833
commit 2721b55e84
1 changed files with 78 additions and 57 deletions

View File

@ -134,37 +134,49 @@ render_block_modifier(modifier)
}
RV-Squash()
{block}
/*
* Stashing the given block under the given
* name to be aliased by a late level
* (See generate_aliases)
*/
RV-Element--name(name)
if 'RV-Element' in called-from
push(_block.alias.stash.RV-Element, {
name: name
block: block
})
else
if 'RV-Squash' in called-from
{block}
else
if 'RV-Element' in called-from
push(_block.alias.stash.RV-Element, {
name: name
block: block
})
else
{block}
RV-Element__Modifier--name(name)
if 'RV-Element__Modifier' in called-from
push(_block.alias.stash.RV-Element__Modifier, {
name: name
block: block
})
else
if 'RV-Squash' in called-from
{block}
else
if 'RV-Element__Modifier' in called-from
push(_block.alias.stash.RV-Element__Modifier, {
name: name
block: block
})
else
{block}
RV-Block__Modifier--name(name)
if 'RV-Block__Modifier' in called-from
push(_block.alias.stash.RV-Block__Modifier, {
name: name
block: block
})
else
if 'RV-Squash' in called-from
{block}
else
if 'RV-Block__Modifier' in called-from
push(_block.alias.stash.RV-Block__Modifier, {
name: name
block: block
})
else
{block}
RV-Block(block_name)
@ -181,48 +193,57 @@ RV-Block(block_name)
RV-Block__Modifier(modifier_name=null)
blocks = generate_aliases(modifier_name)
modifier_name = blocks.name
blocks = blocks.blocks
push(blocks, block)
modifier = {
name: modifier_name
blocks: blocks
elements: _block.element_stash
}
_block.element_stash = create_list()
push(_block.block_modifiers, modifier)
if 'RV-Squash' in called-from
{block}
else
blocks = generate_aliases(modifier_name)
modifier_name = blocks.name
blocks = blocks.blocks
push(blocks, block)
modifier = {
name: modifier_name
blocks: blocks
elements: _block.element_stash
}
_block.element_stash = create_list()
push(_block.block_modifiers, modifier)
RV-Element(element_name=null)
blocks = generate_aliases(element_name)
element_name = blocks.name
blocks = blocks.blocks
push(blocks, block)
element = {
name: element_name
blocks: blocks
modifiers: _block.modifier_stash
}
_block.modifier_stash = create_list()
if is_direct_descendant_of_block()
push(_block.elements, element)
if 'RV-Squash' in called-from
{block}
else
push(_block.element_stash, element)
blocks = generate_aliases(element_name)
element_name = blocks.name
blocks = blocks.blocks
push(blocks, block)
element = {
name: element_name
blocks: blocks
modifiers: _block.modifier_stash
}
_block.modifier_stash = create_list()
if is_direct_descendant_of_block()
push(_block.elements, element)
else
push(_block.element_stash, element)
RV-Element__Modifier(modifier_name=null)
blocks = generate_aliases(modifier_name)
modifier_name = blocks.name
blocks = blocks.blocks
push(blocks, block)
modifier = {
name: modifier_name
blocks: blocks
}
push(_block.modifier_stash, modifier)
if 'RV-Squash' in called-from
{block}
else
blocks = generate_aliases(modifier_name)
modifier_name = blocks.name
blocks = blocks.blocks
push(blocks, block)
modifier = {
name: modifier_name
blocks: blocks
}
push(_block.modifier_stash, modifier)