mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-28 17:04:41 +00:00
28 lines
632 B
Nim
28 lines
632 B
Nim
# Test the new parseopt module
|
|
|
|
import
|
|
parseopt
|
|
|
|
proc writeHelp() =
|
|
writeLine(stdout, "Usage: tparsopt [options] filename [options]")
|
|
|
|
proc writeVersion() =
|
|
writeLine(stdout, "Version: 1.0.0")
|
|
|
|
var
|
|
filename = ""
|
|
for kind, key, val in getopt():
|
|
case kind
|
|
of cmdArgument:
|
|
filename = key
|
|
of cmdLongOption, cmdShortOption:
|
|
case key
|
|
of "help", "h": writeHelp()
|
|
of "version", "v": writeVersion()
|
|
else:
|
|
writeLine(stdout, "Unknown command line option: ", key, ": ", val)
|
|
of cmdEnd: assert(false) # cannot happen
|
|
if filename == "":
|
|
# no filename has been given, so we show the help:
|
|
writeHelp()
|