도움말 만드는 게 생각보다 생각할 게 많구나. 사실 정형화되어 있으면 아주 쉬운 문제인데, 파서 컴비네이터를 만들어 놔서 도움말 예쁘게 출력하는 게 어려운 문제가 된 듯…
유시지(usage) 출력까지는 어떻게 구현 했다. 그런데 이건 쉬운 문제고, 도움말이 정말 어려운 문제인데…
optique <main?> $ deno run example.ts
Usage: example.ts one [-a/--allow] -v/--value INTEGER ARG
example.ts two [-f/--foo] -b/--bar VALUE
example.ts three [-d/--deny] -t/--test INTEGER [-z/--baz] -q/--qux QUX
example.ts nest foo [-a/--allow] -v/--value INTEGER ARG
example.ts nest bar [-f/--foo] -b/--bar VALUE
Error: No parser matched.
If you have a fediverse account, you can reply to this note from your own instance. Search https://hackers.pub/ap/notes/0198ac61-068f-7301-b88f-21ff48e5ad9d on your instance and reply to it.
어라… 도움말 구현 한 것 같은데? 근데 왜 뭔가 빠뜨린 것 같지…