diff --git a/NanoArguments/Tree/Nodes/Branch/LiteralNode.cs b/NanoArguments/Tree/Nodes/Branch/LiteralNode.cs index 2d9c477..4f3a0a7 100644 --- a/NanoArguments/Tree/Nodes/Branch/LiteralNode.cs +++ b/NanoArguments/Tree/Nodes/Branch/LiteralNode.cs @@ -1,12 +1,15 @@ using System; +using System.Collections.Generic; namespace NanoArguments.Tree.Nodes.Branch; -public class LiteralNode(string literal) : BranchNode +public class LiteralNode(ISet literal) : BranchNode { + public LiteralNode(string literal) : this(new HashSet { literal }) { } + public override bool Check(ParsingContext context, uint pos) { - return context.ParserResult.PositionalArgs[pos] == literal; + return literal.Contains(context.ParserResult.PositionalArgs[pos]); } public override Action Parse(ParsingContext context, uint pos)