Commit Graph

77 Commits

Author SHA1 Message Date
tersec a4f51237fc
add parseCmdArg tests; fix 64-bit int parsing on 32-bit platforms (#44) 2022-03-23 14:30:29 +02:00
Zahary Karadjov 585059d2fb
Remap serialization errors to ConfigurationError 2022-03-09 17:21:56 +02:00
Zahary Karadjov 0a88d30e00
Clean up the obsolete config loading code; Fix the tests 2022-03-05 15:07:57 +02:00
Zahary Karadjov 0fc26c5b25
Bugfixes for the config file support
- The config files processing was not taking into account the `name`
  pragma of the configuration object fields.

- The required fields were not searched within config files before
  reporting an error that they are missing.

- Fields with the same names were not supported in different case branches

- The loaded config file path can now depend on the configuration
  supplied through the command-line.
2022-03-04 23:24:58 +02:00
Kim De Mey 05a438414a
Enable --styleCheck:usages (#41) 2022-02-24 21:43:04 +01:00
jangko 6a56d01381 feature: add `ignore` property in addition to `hidden`
you can still set the value of a hidden option,
it just dont show up in the help text.

but using `ignore`, the is no chance you can set the value from cli.
2021-12-01 13:59:38 +02:00
jangko 0f4961822d feature: multiple lines long description
line break char: '\n', '\r'
example:
 -x, --name   regular description [=defVal].
              longdesc line one.
              longdesc line two.
              longdesc line three.

why additional pragma?
- to keep the default value not too far away from the 'name'.
2021-11-30 20:09:45 +02:00
jangko aa0ff5b0dc feature: separator text when displaying help
SEPARATOR:
-abbr, --name desc
-abbr, --name desc

---------
-abbr, --name desc
-abbr, --name desc
-abbr, --name desc
2021-09-08 15:56:51 +03:00
jangko 0cd09d75c8 add compile time check to detect duplicate abbr and duplicate name 2021-09-08 15:53:44 +03:00
Zahary Karadjov 6036a47000
Bugfix: parameters having empty strings as default values were treated as mandatory 2021-05-18 11:01:11 +03:00
Zahary Karadjov 4c19475a01
Bugfix: allow multiple positional arguments in sub-commands 2021-05-17 23:08:18 +03:00
Zahary Karadjov 5f7cfa8d98
Allow defaultValueDesc even without defaultValue; Cosmetic changes 2021-05-17 20:40:57 +03:00
Zahary Karadjov 5f2f882151
Print the values of invalid parameters in error messages 2021-05-17 19:52:35 +03:00
Zahary Karadjov bb6cbf6e0d
Display the default values of parameter in the help messages 2021-05-16 21:42:12 +03:00
Zahary Karadjov d1a45cfa9a
Some steps towards fixing #19 2021-05-16 19:13:06 +03:00
Zahary Karadjov c222804b3b
Support default values for seq[T] parameters 2021-05-16 17:49:56 +03:00
Zahary Karadjov cfa9566191
Allow setting hidden parameters from the command-line 2021-01-29 23:17:15 +02:00
Hanno Cornelius 282c7b1d9a
Added exporting of std/options 2020-11-18 09:15:48 +02:00
jangko f3a048f9ea config file integration into confutils 2020-11-02 16:17:51 +02:00
Ștefan Talpalaru 2e8040ec5e
allow repeating an option to override its value (#22)
./tests/cli_example --foo:1 --bar:a --withBaz --foo:2 --bar:boo --bar:hoo --withBaz:false
foo = 2
bar = hoo
baz = false
2020-09-30 14:13:44 +02:00
Zahary Karadjov 39456fa3d5
Hidden configuration fields (initial faux version) 2020-07-02 18:27:50 +03:00
Zahary Karadjov f9415621f8
Cosmetic improvement 2020-07-02 17:17:21 +03:00
Zahary Karadjov 686b22de48
Fix #16 2020-07-02 16:33:00 +03:00
Zahary Karadjov a76faa5eec
Wrap the help descriptions at line 80 (configurable) 2020-06-23 17:37:03 +03:00
Zahary Karadjov bea0769db0
Handle fully-qualified enum names used as Config branch values 2020-06-23 17:11:22 +03:00
Zahary Karadjov aac25d1610
Fix #18; Fix parsing of sub-commands with descriptions 2020-06-16 18:22:41 +03:00
Zahary Karadjov 6e5d570490
Another fix for Nim 1.2 2020-03-24 22:51:54 +02:00
Zahary Karadjov 24c73359b0
Add a helper module for handing IP addresses and ports 2020-03-16 23:47:48 +02:00
Zahary Karadjov f354a3ef61
Allow specifying a description for sub-commands 2020-03-10 13:38:29 +02:00
Zahary Karadjov 0bdfb3786c
Remove warnings with Nim 1.0 2019-12-02 23:31:29 +02:00
Zahary Karadjov 7a607bfd3d
Bugfix: help on errors was not produced for NimScript invocations 2019-11-12 12:07:29 +00:00
Zahary Karadjov 4e487bedf1
Tenative fix for yet another yearly binding problem 2019-11-12 00:33:20 +00:00
Zahary Karadjov b42717a73a
More renames for consistency 2019-11-11 16:10:28 +00:00
Zahary Karadjov 4ad95ce154
Cosmetic improvements 2019-11-11 15:05:22 +00:00
Zahary Karadjov 9863f80e96
Rename variables to match the renamed pragmas 2019-11-11 15:00:18 +00:00
Zahary Karadjov 51df90466d
Renamed longform/shortform to name/abbr; Wire-up the version command 2019-11-11 14:42:08 +00:00
Zahary Karadjov 4ba6c64761
Remove warnings with Nim 1.0 2019-11-08 17:57:44 +00:00
Zahary Karadjov e1158fcbdd
Some simple improvements to the error messages 2019-11-08 17:49:44 +00:00
Zahary Karadjov 31c9f9ae38
Fix #8 2019-11-08 15:55:25 +00:00
Zahary Karadjov c9d823f217
Fix a build issue when confutils is used together with the memfiles module 2019-11-08 15:03:55 +00:00
Zahary Karadjov 0e42c65951
Bugfix: handle arguments to sub-commands properly 2019-10-31 19:58:49 +02:00
Zahary Karadjov d9e815fe67
Handle gracefully NimScript invocations with additional Nim settings such as --verbosity:x 2019-10-29 13:56:53 +02:00
Zahary Karadjov 533a621d4a
Working 'argument' pragma 2019-10-28 21:20:19 +02:00
Zahary Karadjov 0129a56b78
Cosmetic improvements 2019-10-28 21:03:46 +02:00
Zahary Karadjov adc63e8aff
Switch back to newLitFixed 2019-10-28 14:47:57 +02:00
Zahary Karadjov aa5ccdd57f
Restore compilation with nimscript; More colorful help output 2019-10-23 03:30:40 +03:00
Zahary Karadjov 5cda9a1fa3
Remove the local typeof definition (no longer required with Nim 1.0) 2019-09-30 03:35:06 +03:00
Zahary Karadjov 937c09e204
Support for arbitrary sub-command nesting 2019-09-30 02:40:16 +03:00
Zahary Karadjov 6fb5ee6099
Tentative fix for the CI build issues in nim-beacon-chain 2019-07-09 14:43:31 +03:00
Zahary Karadjov 99869e4738
Fix the compilation issues with Nim 0.19.6 2019-07-08 18:09:08 +03:00