mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2025-04-20 08:05:45 +00:00
Make ZoneDefinition sequences also accept eof instead of new line
This commit is contained in:
parent
8798779b39
commit
9b15afa70e
@ -303,8 +303,9 @@ public:
|
||||
if (static_cast<int>(m_token_cache.size()) <= amount)
|
||||
{
|
||||
const auto& lastToken = m_token_cache.back();
|
||||
while (m_line_cache.front().m_line_number != lastToken.GetPos().m_line
|
||||
|| m_line_cache.front().m_filename.get() != lastToken.GetPos().m_filename.get())
|
||||
while (!m_line_cache.empty()
|
||||
&& (m_line_cache.front().m_line_number != lastToken.GetPos().m_line
|
||||
|| m_line_cache.front().m_filename.get() != lastToken.GetPos().m_filename.get()))
|
||||
{
|
||||
m_line_cache.pop_front();
|
||||
m_line_index--;
|
||||
@ -336,7 +337,7 @@ public:
|
||||
|
||||
_NODISCARD ParserLine GetLineForPos(const TokenPos& pos) const override
|
||||
{
|
||||
for(const auto& line : m_line_cache)
|
||||
for (const auto& line : m_line_cache)
|
||||
{
|
||||
if (line.m_filename.get() == pos.m_filename.get()
|
||||
&& line.m_line_number == pos.m_line)
|
||||
|
@ -13,7 +13,10 @@ std::unique_ptr<ZoneDefinitionCommonMatchers::matcher_t> ZoneDefinitionCommonMat
|
||||
create.Identifier(),
|
||||
create.AnyCharBesides({',', '<', '>', '"', '\\', '*', '?', '|', ':'})
|
||||
})),
|
||||
create.Type(SimpleParserValueType::NEW_LINE).NoConsume()
|
||||
create.Or({
|
||||
create.Type(SimpleParserValueType::NEW_LINE),
|
||||
create.Type(SimpleParserValueType::END_OF_FILE)
|
||||
}).NoConsume()
|
||||
}).Transform([](SimpleMatcherFactory::token_list_t& tokens)
|
||||
{
|
||||
std::ostringstream str;
|
||||
|
@ -13,7 +13,10 @@ SequenceZoneDefinitionEntry::SequenceZoneDefinitionEntry()
|
||||
create.Char(','),
|
||||
create.Optional(create.Char(',').Tag(TAG_REFERENCE)),
|
||||
create.Label(ZoneDefinitionCommonMatchers::LABEL_ASSET_NAME).Capture(CAPTURE_ASSET_NAME),
|
||||
create.Type(SimpleParserValueType::NEW_LINE)
|
||||
create.Or({
|
||||
create.Type(SimpleParserValueType::NEW_LINE),
|
||||
create.Type(SimpleParserValueType::END_OF_FILE)
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -10,7 +10,10 @@ SequenceZoneDefinitionIgnore::SequenceZoneDefinitionIgnore()
|
||||
create.Keyword("ignore"),
|
||||
create.Char(','),
|
||||
create.Identifier().Capture(CAPTURE_IGNORE_NAME),
|
||||
create.Type(SimpleParserValueType::NEW_LINE)
|
||||
create.Or({
|
||||
create.Type(SimpleParserValueType::NEW_LINE),
|
||||
create.Type(SimpleParserValueType::END_OF_FILE)
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -10,7 +10,10 @@ SequenceZoneDefinitionInclude::SequenceZoneDefinitionInclude()
|
||||
create.Keyword("include"),
|
||||
create.Char(','),
|
||||
create.Identifier().Capture(CAPTURE_INCLUDE_NAME),
|
||||
create.Type(SimpleParserValueType::NEW_LINE)
|
||||
create.Or({
|
||||
create.Type(SimpleParserValueType::NEW_LINE),
|
||||
create.Type(SimpleParserValueType::END_OF_FILE)
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -11,7 +11,10 @@ SequenceZoneDefinitionMetaData::SequenceZoneDefinitionMetaData()
|
||||
create.Identifier().Capture(CAPTURE_KEY),
|
||||
create.Char(','),
|
||||
create.Identifier().Capture(CAPTURE_VALUE),
|
||||
create.Type(SimpleParserValueType::NEW_LINE)
|
||||
create.Or({
|
||||
create.Type(SimpleParserValueType::NEW_LINE),
|
||||
create.Type(SimpleParserValueType::END_OF_FILE)
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user