Commit Graph
68 Commits
Author SHA1 Message Date
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
Kovid Goyal ef5f0025e1 Start work on more sophisticated indent+wrap implementation 2022-11-14 15:41:56 +05:30
Kovid Goyal 7ecc1b7950 Remove markup from ref_hyperlink text 2022-11-14 15:41:55 +05:30
Kovid Goyal 249df69ac9 Use the new styling API for CLI infra 2022-11-14 15:41:53 +05:30
Kovid Goyal 80c5ac891d Add license info to Go files 2022-11-14 15:41:51 +05:30
Kovid Goyal 5703a3370e Move wcswidth into its own package as it is very slow to build 2022-11-14 15:41:50 +05:30
Kovid Goyal 10d11bc749 Drop another dependency 2022-11-14 15:41:49 +05:30
Kovid Goyal 7bb310d3af Port recent changes from cli.py to Go 2022-11-14 15:41:49 +05:30
Kovid Goyal eb4ee13f73 Drop another dependency 2022-11-14 15:41:48 +05:30
Kovid Goyal 73e4deb1c2 Show suggestions based on levenshtein distance 2022-11-14 15:41:48 +05:30
Kovid Goyal 68d589826a ... 2022-11-14 15:41:48 +05:30
Kovid Goyal 7457746d65 Fix @command form not supporting global options 2022-11-14 15:41:48 +05:30
Kovid Goyal e599a2c87f The stupid term package is not EINTR safe 2022-11-14 15:41:48 +05:30
Kovid Goyal 82d0bd9364 Use the term package to get tty size since it has a function for it 2022-11-14 15:41:47 +05:30
Kovid Goyal 2ef5d0a140 ... 2022-11-14 15:41:47 +05:30
Kovid Goyal 08b4741024 Get rid of a couple of unneeded dependencies 2022-11-14 15:41:47 +05:30
Kovid Goyal 11ffa961bc Use local hyperlinks for :doc: 2022-11-14 15:41:47 +05:30
Kovid Goyal ad6d928c12 Port various recent changes to CLI help output 2022-11-14 15:41:47 +05:30
Kovid Goyal a32251cab4 Handle aliased flags 2022-11-14 15:41:46 +05:30
Kovid Goyal 2ca8ae8e5f normalize flag names so that underscores are interchangeable with hyphens 2022-11-14 15:41:46 +05:30
Kovid Goyal 2d466f343d Finish mapping of python cli opt to go cli opt 2022-11-14 15:41:46 +05:30
Kovid Goyal 4596dc39ce Fix formatting of lines with only spaces 2022-11-14 15:41:46 +05:30
Kovid Goyal b3be6792fd General cleanup 2022-11-14 15:41:46 +05:30
Kovid Goyal 6c25f0cf4b Use cobra's builtin machinery for creating new types 2022-11-14 15:41:46 +05:30