Commit Graph

156 Commits

Author SHA1 Message Date
Zahary Karadjov 585059d2fb
Remap serialization errors to ConfigurationError 2022-03-09 17:21:56 +02:00
Zahary Karadjov 375b6276ca
Don't use fully qualified enum values as the names of TOML file sections - use the short enum name instead 2022-03-09 17:12:11 +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
Ștefan Talpalaru 0435e67832
CI: test with multiple Nim versions (#38)
* CI: test with multiple Nim versions
2022-01-04 17:21:15 +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 7176de4ddb ci: fixes mingw download url, replace space with %20 2021-09-08 19:09:05 +03: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
Ștefan Talpalaru ab4ba1cbfd
CI: refactor Nim compiler caching (#30) 2021-06-03 02:46:21 +02: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 66a17f6d23
Handle hidden parameters in config files 2021-05-16 19:08:51 +03:00
Zahary Karadjov c222804b3b
Support default values for seq[T] parameters 2021-05-16 17:49:56 +03:00
Zahary Karadjov f091a70a5b
Handle changes in the serialization library 2021-03-19 04:01:44 +02:00
Zahary Karadjov cfa9566191
Allow setting hidden parameters from the command-line 2021-01-29 23:17:15 +02:00
andri lim c4cd4c2474
Merge pull request #28 from status-im/github_action
add github action
2020-12-26 11:35:52 +07:00
jangko 4397988eb5
fixes nimble dependencies in github action script 2020-12-24 12:50:59 +07:00
jangko 3db6911e53
add github action script 2020-12-24 12:23:24 +07:00
andri lim 10de7aa443
Merge pull request #27 from jm-clius/export-options
Added exporting of std/options
2020-11-24 16:20:33 +07:00
Hanno Cornelius 282c7b1d9a
Added exporting of std/options 2020-11-18 09:15:48 +02:00
jangko 29c4a1870f implement config file tests 2020-11-02 16:17:51 +02:00
jangko f3a048f9ea config file integration into confutils 2020-11-02 16:17:51 +02:00
jangko 085d52d3ad fixes winreg Option[T] decoder 2020-10-29 13:52:31 +02:00
jangko 1e1ba43af2 separate public types and private utils 2020-10-29 13:52:31 +02:00
jangko 4304251b09 winreg encoder-decoder implementation 2020-10-29 13:52:31 +02:00
jangko 0df747294e initial winreg implementation 2020-10-29 13:52:31 +02:00
jangko b961fbe7b4 fixes envvar Option[T] decoder 2020-10-29 13:52:16 +02:00
jangko f4087c1789 fixes string encoding for envvar serialization 2020-10-29 13:52:16 +02:00
jangko a263d76bc0 envvar encoder decoder implementation 2020-10-29 13:52:16 +02:00
andri lim cf1d2313d8
Merge pull request #23 from status-im/setup_ci
setup ci
2020-10-22 14:18:31 +07:00
jangko 4981d719a1
setup ci 2020-10-20 15:35:47 +07:00
Zahary Karadjov 5d8d1ea648
0 is not a valid TCP/UDP port 2020-10-09 16:29:48 +03:00
Zahary Karadjov 5c81aab54d
Add a helper module for fuzzing CLI parsers 2020-10-01 22:04:53 +03: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 26667818be
IpAddress -> ValidIpAddress 2020-06-05 17:09:05 +03:00
Zahary Karadjov 6f109184e3
$ op for the specialized Confutils types 2020-06-02 17:38:07 +03:00
Zahary Karadjov 6e5d570490
Another fix for Nim 1.2 2020-03-24 22:51:54 +02:00