diff --git a/src/syndump.nim b/src/syndump.nim index 4e5e004..c15fc8f 100644 --- a/src/syndump.nim +++ b/src/syndump.nim @@ -29,21 +29,16 @@ proc parsePattern(pr: Assertion): Pattern = proc inputPattern: Pattern = var args = commandLineParams() - if args.len != 1: + if args.len != 1 or args == @[""]: quit "expected a single pattern argument" else: - var input = pop args - if input == "": - quit "expected Preserves Pattern on stdin" - else: - var pr: Assertion - try: pr = decodePreserves(input, Cap) - except ValueError: discard - try: pr = parsePreserves(input, Cap) - except ValueError: discard - if pr.isFalse: - quit "failed to parse Preserves argument" - result = parsePattern(pr) + var + pr: Assertion + input = pop args + try: pr = parsePreserves(input, Cap) + except ValueError: + quit "failed to parse Preserves argument" + result = parsePattern(pr) type DumpEntity {.final.} = ref object of Entity assertions: Table[Handle, seq[Assertion]]