Commit Graph

58 Commits

Author SHA1 Message Date
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
Kovid Goyal
82410c58ed Hide the default completion command 2022-11-14 15:41:46 +05:30
Kovid Goyal
33e16df586 Add some basic RC serialization tests 2022-11-14 15:41:46 +05:30
Kovid Goyal
780b5ca8bd misc fixes 2022-11-14 15:41:45 +05:30
Kovid Goyal
20ad7ca437 Output VCSRevision with --version 2022-11-14 15:41:45 +05:30
Kovid Goyal
d39036de2a Add vcs revision to version string 2022-11-14 15:41:45 +05:30
Kovid Goyal
4ac4ee643e Have the rc command wrapper sauto-generated on build 2022-11-14 15:41:45 +05:30
Kovid Goyal
47f35a06e6 Start work on generating rc cmd wrappers 2022-11-14 15:41:45 +05:30
Kovid Goyal
77f7ce82c0 Parse global options 2022-11-14 15:41:45 +05:30
Kovid Goyal
393820e77a Dont sort flags by default 2022-11-14 15:41:45 +05:30
Kovid Goyal
1325844539 Add some go testing infrastructure 2022-11-14 15:41:44 +05:30