91 Commits

Author SHA1 Message Date
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
Kovid Goyal
aad8cb3d1e
Use the new formatter for CLI help output 2022-11-14 15:41:56 +05:30