Etan Kissling
50f744d821
handle `terminalWidth` exception ( #80 )
...
`terminalWidth()` may fail with a `ValueError` on out of range widths
from environment variables. Provide a suitable fallback.
2023-06-08 13:28:44 +00:00
Etan Kissling
4dbd23af3b
ignore exceptions while writing to stdout/stderr ( #79 )
...
`writeLine` can fail with `IOError`, and `styledWrite` when using colors
also with `ValueError`. To ensure that the control flow is unaffected,
simply ignore those errors while writing human-readable output to fds.
2023-06-08 13:26:06 +00:00
Etan Kissling
8522393cec
annotate `parseCmdArg` with `{.raises.}` ( #84 )
...
For the `parseCmdArg` that may fail with `ValueError`, add annotations.
2023-06-08 13:25:05 +00:00
tersec
1f3acaf6e9
remove support for Nim v1.2 and v1.4 ( #75 )
2023-05-31 15:37:01 +00:00
Adam Uhlíř
2028b41602
feat: integrate env. variable support natively ( #70 )
2023-04-19 12:54:48 +03:00
tersec
c8063eb814
use correct check for Nim versions with BareExcept warning
2023-03-20 19:06:25 +00:00
Zahary Karadjov
c4c11c52ce
Add a simple helper for writing tests involving config file contents
2023-03-14 17:24:38 +02:00
jangko
38dfeaaabd
reduce compiler warnings
2023-02-15 15:26:53 +07:00
Kim De Mey
f6acc5e3da
Add custom Enum parser proc to keep Nim 1.2 behaviour for configs ( #63 )
2023-01-26 10:42:14 +01:00
tersec
fc03a0c4e1
rm TaintedString for string; some proc -> func ( #53 )
...
* rm TaintedString for string; some proc -> func
* procs which interact with macros in certain ways can't be funcs in Nim 1.2
2022-06-03 18:24:59 +00:00
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