Releases: c-blake/cligen
Default-default-value controls, $usehdr & ClCfg.(wrap(Doc|Table)|subRowSep)
RELEASE_NOTES.md
has details as usual, but controls for how string & bool default values are rendered in help messages have been added to ClCfg
for CLauthor default-setting with CLuser override in config files.. basically minStrQuoting
, trueDefaultStr
, & falseDefaultStr
. These were, of course, always alterable via defining custom argHelp
, but this tunability shouldn't impact non-users-of it. Also added $usehdr for the main usage
template, ClCfg.wrap(Doc|Table)
and abstract the old newline-only separator into ClCfg.subRowSep
and fix an old bug related to ignoring the CLuser use|usage
template.
In short, basically several new fine-grained format controls.
Very minimal change to config file finding
See RELEASE_NOTES.md and git log -p
. Really should be just an internal simplification, but I wanted to make this its own release just in case.
Very minor new feature for dispatchMulti
Add ability for both multi-cmd -h
& multi-cmd h
to interpolate in doc
from the X in ["multi", doc=X]
fragment. This helps to explain global options, available from the recent Vars
feature (and also to describe the overall program).
Also make test.sh/GNUmakefile more environment-portable by turning off --styleCheck
Better fix for `cligen/statx` & style fix
Those two things are about it.
Fix a few bugs/compatibility issues
-
Fix generic instantiations of
doArgParse
(#233) on newer Nim compilers courtesy of @metagn -
Make misc lib code compile under
--hint[Name]=on --styleCheck=usages --styleCheck=error
-
Vaguely robust (if information dropping) solution to Alhadis/OSC8-Adoption#13 (comment)
Make things easier for system package managers
By including a very simple make/gmake install
with a re-targetable destdir
.
Nim-devel is moving to better `hash(openArray[byte])` ..
.. and a very slow (several to order of magnitude slower even on short strings) hashData
(OG string hasher, actually).
So, it seems important enough to warrant punching a release changing that default in cligen/mslice.hash(MSlice)
which is the only change of this release.
Very minor bugfix release
To fix two undesired output format cligen/strUt.ecvt
bugs (and make that test suite not super slow by default).
Extend PL<->CLI to include var binding / dispatchMulti global options
The main new feature is binding an outer scope variable to a CLI option which creates a slight backward incompatibility (a new argument after other ident string args positional, suppress, implicitDefault, not at the very end of the list). RELEASE_NOTES.md
, test/Vars.nim
, & test/FullyAutoMulti.nim
go into more detail, but this can be used for a several-times requested feature of global options in dispatchMulti
commands. The new in-the-middle argument should only impact code that fully wraps dispatch/dispatchGen which may be none outside cligen.nim
itself as anyone else is likely to use named parameters/keyword args for a 20-parameter call.
This release also fixes a bug and stray debug print in -d:cgCfgToml
mode which alters the config file syntax of the [color]
section. That also constitutes a minor mode-specific backward incompatibility. Together the two "maybe kinda breaking" induce a minor version bump.
This version also fixes several bugs:
- rare rounding bugs in
fmtUncertain*
- cligen/dents bug related to
lstats
and adds a few small features: mslice.initSep
grows an ability to not backslash-escape TAB, newline, and NUL- Tiny
MacroCallX
API to make non-allocating tmpl renderers easy - Add a low cost Nim Slice/HSlice -> MSlice converter so
someMs[a..<b]
works
Very small changes..mostly make CI green again..
..and suppress a warning and also add a little mslice.within
API call.