Commit Graph

92 Commits

Author SHA1 Message Date
Kovid Goyal
4fc91dcc03 There should be no trailing space when completing directories for a file match based on patterns 2022-11-21 11:05:36 +05:30
Kovid Goyal
5ad2ac259b When truncating descriptions for completion truncate at word boundaries 2022-11-17 08:29:01 +05:30
Kovid Goyal
a4e43b3925 Use a pager for the help interactive command as well 2022-11-16 20:44:13 +05:30
Kovid Goyal
5e880b92f5 Ensure active hyperlink is cleared when truncating output for completion descriptions 2022-11-16 20:32:42 +05:30
Kovid Goyal
d4c103e53e zsh breaks when there are escape codes in completion descriptions 2022-11-16 19:32:16 +05:30
Kovid Goyal
e31587ec1e Ensure auto-generated entries such as --help are present for completion by calling Validate() 2022-11-16 18:05:27 +05:30
Kovid Goyal
e70c021371 Some basic TUI widgets ported to Go 2022-11-16 12:48:47 +05:30
Kovid Goyal
234274c1df ... 2022-11-15 16:54:14 +05:30
Kovid Goyal
59b43ee844 prettify :option:--xyz> better 2022-11-14 15:42:09 +05:30
Kovid Goyal
29bde6c72c Improve formatting of completion entries with descriptions 2022-11-14 15:42:09 +05:30
Kovid Goyal
9e2c96653f More work on readline completion 2022-11-14 15:42:08 +05:30
Kovid Goyal
8d76cf8d32 Import the google shlex package as we need more sophisticated parsing 2022-11-14 15:42:08 +05:30
Kovid Goyal
7c23536bfe Start work on readline completions 2022-11-14 15:42:08 +05:30
Kovid Goyal
59edf1d349 Code to show help 2022-11-14 15:42:05 +05:30
Kovid Goyal
e536ef7844 Suggestions for sub command names as well 2022-11-14 15:42:03 +05:30
Kovid Goyal
0dab006733 Allow un-ambiguous prefixes for command names 2022-11-14 15:42:03 +05:30
Kovid Goyal
75ead358a2 Show suggestions for options based on levenshtein distance 2022-11-14 15:42:03 +05:30
Kovid Goyal
74b1cac344 Allow using unabiguous long option prefixes 2022-11-14 15:42:03 +05:30
Kovid Goyal
3bd4fd999a All completion tests pass again 2022-11-14 15:42:02 +05:30
Kovid Goyal
262e2fb7a3 Various fixes from the completion merge 2022-11-14 15:42:02 +05:30
Kovid Goyal
97716fea8b More work on merging completions with parse tree 2022-11-14 15:42:02 +05:30
Kovid Goyal
bf74413c1f Work on merging completion tree with parse tree 2022-11-14 15:42:02 +05:30
Kovid Goyal
79ca0408e7 split up types.go 2022-11-14 15:42:02 +05:30
Kovid Goyal
97acb60981 Move completion package into cli 2022-11-14 15:42:02 +05:30
Kovid Goyal
e608a945de Output version information at bottom of help 2022-11-14 15:42:02 +05:30
Kovid Goyal
5771bd0c01 Make adding subcommands a bit nicer 2022-11-14 15:42:02 +05:30
Kovid Goyal
4396dede85 Get rid of the cobra dependency 2022-11-14 15:42:02 +05:30
Kovid Goyal
90c1745976 Fix parsing of list options 2022-11-14 15:42:02 +05:30
Kovid Goyal
c4ab964d09 Tests for CLI parsing 2022-11-14 15:42:02 +05:30
Kovid Goyal
04022ed363 Various fixes to CLI parsing 2022-11-14 15:42:02 +05:30
Kovid Goyal
79cfc1e70a Move kitty-tool __complete__ to use the new CLI framework 2022-11-14 15:42:01 +05:30
Kovid Goyal
e7c14c78d0 Work on outputting help for commands 2022-11-14 15:42:01 +05:30
Kovid Goyal
4316018966 ... 2022-11-14 15:42:01 +05:30
Kovid Goyal
3078b9074a Also report submatch positions 2022-11-14 15:42:01 +05:30
Kovid Goyal
4adea5b7fe Make ReplaceAll re-useable 2022-11-14 15:42:01 +05:30
Kovid Goyal
317b108497 Allow using :role:'payload' in addition to :role:payload as the former can be used in Go `` string literals 2022-11-14 15:42:01 +05:30
Kovid Goyal
8221713995 Allow defining options using a struct 2022-11-14 15:42:01 +05:30
Kovid Goyal
e7f38929d9 DRYer 2022-11-14 15:42:00 +05:30
Kovid Goyal
2cacd7a64a get rid of interface{} since we now require Go 1.18 2022-11-14 15:42:00 +05:30
Kovid Goyal
8807f6d539 Code to get exe name for usage message 2022-11-14 15:42:00 +05:30
Kovid Goyal
2f83bbdc85 command validation 2022-11-14 15:42:00 +05:30
Kovid Goyal
41a841c83d Validate string slice fields 2022-11-14 15:42:00 +05:30
Kovid Goyal
0cf8876f8a Validate count struct fields 2022-11-14 15:42:00 +05:30
Kovid Goyal
a3a89b3e21 More efficient multi line scanning 2022-11-14 15:42:00 +05:30
Kovid Goyal
2ddbe2a2bc Automatically camel-case destination 2022-11-14 15:42:00 +05:30
Kovid Goyal
707963b694 Code to conveniently read option values into a struct 2022-11-14 15:42:00 +05:30
Kovid Goyal
1811949706 Implement cloning of commands 2022-11-14 15:42:00 +05:30
Kovid Goyal
bc38bd75fd Start work on getting rid of the cobra dependency
Command line parsing is easy and I can do it better.
2022-11-14 15:42:00 +05:30
Kovid Goyal
1ff4f2df4f Refactor the CLI markup code to make it re-useable 2022-11-14 15:41:58 +05:30
Kovid Goyal
3d79eb5730 more tests for indent and wrap 2022-11-14 15:41:56 +05:30