Consume lonely semicolons in items and menus

This commit is contained in:
Jan 2021-11-26 21:48:05 +01:00
parent fb70d9538a
commit 9279123ef9
2 changed files with 39 additions and 0 deletions

View File

@ -141,6 +141,24 @@ namespace menu::item_scope_sequences
}
};
class SequenceConsumeSemicolons final : public MenuFileParser::sequence_t
{
public:
SequenceConsumeSemicolons()
{
const MenuMatcherFactory create(this);
AddMatchers({
create.Char(';')
});
}
protected:
void ProcessMatch(MenuFileParserState* state, SequenceResult<SimpleParserValue>& result) const override
{
}
};
class SequenceRect final : public MenuFileParser::sequence_t
{
static constexpr auto CAPTURE_ALIGN_HORIZONTAL = 1;
@ -938,4 +956,6 @@ void ItemScopeSequences::AddSequences(FeatureLevel featureLevel)
ItemScopeOperations::EnsureHasNewsTickerFeatures(*state->m_current_item, pos);
state->m_current_item->m_news_ticker_features->m_news_feed_id = value;
}));
AddSequence(std::make_unique<SequenceConsumeSemicolons>());
}

View File

@ -53,6 +53,24 @@ namespace menu::menu_scope_sequences
}
};
class SequenceConsumeSemicolons final : public MenuFileParser::sequence_t
{
public:
SequenceConsumeSemicolons()
{
const MenuMatcherFactory create(this);
AddMatchers({
create.Char(';')
});
}
protected:
void ProcessMatch(MenuFileParserState* state, SequenceResult<SimpleParserValue>& result) const override
{
}
};
class SequenceItemDef final : public MenuFileParser::sequence_t
{
static constexpr auto CAPTURE_TOKEN = 1;
@ -370,4 +388,5 @@ void MenuScopeSequences::AddSequences(FeatureLevel featureLevel)
{
state->m_current_menu->m_text_only_focus = true;
}));
AddSequence(std::make_unique<SequenceConsumeSemicolons>());
}