diff --git a/all.html b/all.html
index c62b04ef..24e2a7be 100644
--- a/all.html
+++ b/all.html
@@ -16,10 +16,10 @@
-
+
-
+
@@ -76,7 +76,7 @@
- Made with Nim. Generated: 2024-11-24 14:29:04 UTC
+ Made with Nim. Generated: 2024-12-24 14:28:16 UTC
diff --git a/cligen.html b/cligen.html
index 0f8be4c8..a7d754c2 100644
--- a/cligen.html
+++ b/cligen.html
@@ -16,10 +16,10 @@
-
+
-
+
@@ -1043,7 +1043,7 @@
- Made with Nim. Generated: 2024-11-24 14:29:04 UTC
+ Made with Nim. Generated: 2024-12-24 14:28:16 UTC
diff --git a/cligen.idx b/cligen.idx
index 21dbbde6..ede8098c 100644
--- a/cligen.idx
+++ b/cligen.idx
@@ -50,20 +50,20 @@ nim contains cligen.html#contains,openArray[ClParse],ClStatus proc contains(x: o
nim numOfStatus cligen.html#numOfStatus,openArray[ClParse],set[ClStatus] proc numOfStatus(x: openArray[ClParse]; stati: set[ClStatus]): int 170
nim next cligen.html#next,openArray[ClParse],set[ClStatus],int proc next(x: openArray[ClParse]; stati: set[ClStatus]; start = 0): int 175
nim dispatchGen cligen.html#dispatchGen.m,,string,string,typed,typed,string,ClCfg,staticstring,seq[string],seq[string],seq[string],string,seq[string],seq[ClAlias],seq[string],ptr.seq[string],ptr.seq[ClParse] macro dispatchGen(pro: typed{nkSym}; cmdName: string = ""; doc: string = "";\n help: typed = {}; short: typed = {}; usage: string = clUse;\n cf: ClCfg = clCfg; echoResult = false; noAutoEcho = false;\n positional: static string = AUTO; suppress: seq[string] = @[];\n implicitDefault: seq[string] = @[]; vars: seq[string] = @[];\n dispatchName = ""; mergeNames: seq[string] = @[];\n alias: seq[ClAlias] = @[]; stopWords: seq[string] = @[];\n noHdr = false; docs: ptr var seq[string] = cgVarSeqStrNil;\n setByParse: ptr var seq[ClParse] = cgSetByParseNil): untyped 319
-nim cligenQuit cligen.html#cligenQuit.t,untyped template cligenQuit(p: untyped; echoResult = false; noAutoEcho = false): auto 877
-nim cligenHelp cligen.html#cligenHelp.t,untyped,untyped,untyped,untyped,untyped template cligenHelp(p: untyped; hlp: untyped; use: untyped; pfx: untyped;\n skipHlp: untyped; noUHdr = false): auto 895
-nim cligenQuitAux cligen.html#cligenQuitAux.m,seq[string],string,string,untyped,bool,bool,seq[string] macro cligenQuitAux(cmdLine: seq[string]; dispatchName: string; cmdName: string;\n pro: untyped; echoResult: bool; noAutoEcho: bool;\n mergeNames: seq[string] = @[]): untyped 900
-nim dispatchCf cligen.html#dispatchCf.t,,string,string,typed,typed,ClCfg,seq[string],seq[string],seq[string],string,seq[string],seq[ClAlias],seq[string] template dispatchCf(pro: typed{nkSym}; cmdName = ""; doc = ""; help: typed = {};\n short: typed = {}; usage = clUse; cf: ClCfg = clCfg;\n echoResult = false; noAutoEcho = false; positional = AUTO;\n suppress: seq[string] = @[]; implicitDefault: seq[string] = @[];\n vars: seq[string] = @[]; dispatchName = "";\n mergeNames: seq[string] = @[]; alias: seq[ClAlias] = @[];\n stopWords: seq[string] = @[]; noHdr = false;\n cmdLine = commandLineParams()): untyped 909
-nim dispatch cligen.html#dispatch.t,,string,string,typed,typed,seq[string],seq[string],seq[string],string,seq[string],seq[ClAlias],seq[string] template dispatch(pro: typed{nkSym}; cmdName = ""; doc = ""; help: typed = {};\n short: typed = {}; usage = clUse; echoResult = false;\n noAutoEcho = false; positional = AUTO; suppress: seq[string] = @[];\n implicitDefault: seq[string] = @[]; vars: seq[string] = @[];\n dispatchName = ""; mergeNames: seq[string] = @[];\n alias: seq[ClAlias] = @[]; stopWords: seq[string] = @[]; noHdr = false): untyped 922
-nim unknownSubcommand cligen.html#unknownSubcommand.t,string,seq[string] template unknownSubcommand(cmd: string; subCmds: seq[string]) 942
-nim ambigSubcommand cligen.html#ambigSubcommand.t,CritBitTree[string],string template ambigSubcommand(cb: CritBitTree[string]; attempt: string) 953
-nim topLevelHelp cligen.html#topLevelHelp,auto,auto,auto,auto,auto proc topLevelHelp(doc: auto; use: auto; cmd: auto; subCmds: auto; subDocs: auto): string 967
-nim dispatchMultiGen cligen.html#dispatchMultiGen.m,varargs[untyped] macro dispatchMultiGen(procBkts: varargs[untyped]): untyped 994
-nim dispatchMultiDG cligen.html#dispatchMultiDG.m,varargs[untyped] macro dispatchMultiDG(procBkts: varargs[untyped]): untyped 1108
-nim dispatchMulti cligen.html#dispatchMulti.m,varargs[untyped] macro dispatchMulti(procBrackets: varargs[untyped]): untyped 1142
-nim initGen cligen.html#initGen.m,typed,untyped,string,seq[string],string macro initGen(default: typed; T: untyped; positional = "";\n suppress: seq[string] = @[]; name = ""): untyped 1184
-nim initFromCLcf cligen.html#initFromCLcf.t,T,string,string,typed,typed,string,ClCfg,string,seq[string],seq[string],seq[ClAlias] template initFromCLcf[T](default: T; cmdName: string = ""; doc: string = "";\n help: typed = {}; short: typed = {}; usage: string = clUse;\n cf: ClCfg = clCfg; positional = "";\n suppress: seq[string] = @[]; mergeNames: seq[string] = @[];\n alias: seq[ClAlias] = @[]): T 1228
-nim initFromCL cligen.html#initFromCL.t,T,string,string,typed,typed,string,string,seq[string],seq[string],seq[ClAlias] template initFromCL[T](default: T; cmdName: string = ""; doc: string = "";\n help: typed = {}; short: typed = {}; usage: string = clUse;\n positional = ""; suppress: seq[string] = @[];\n mergeNames: seq[string] = @[]; alias: seq[ClAlias] = @[]): T 1248
-nim initDispatchGen cligen.html#initDispatchGen.m,untyped,untyped,typed,string,seq[string],untyped macro initDispatchGen(dispName, obName: untyped; default: typed; positional = "";\n suppress: seq[string] = @[]; body: untyped): untyped 1259
-nim mergeParams cligen.html#mergeParams,seq[string] proc mergeParams(cmdNames: seq[string]; cmdLine = commandLineParams()): seq[string] 1302
+nim cligenQuit cligen.html#cligenQuit.t,untyped template cligenQuit(p: untyped; echoResult = false; noAutoEcho = false): auto 878
+nim cligenHelp cligen.html#cligenHelp.t,untyped,untyped,untyped,untyped,untyped template cligenHelp(p: untyped; hlp: untyped; use: untyped; pfx: untyped;\n skipHlp: untyped; noUHdr = false): auto 896
+nim cligenQuitAux cligen.html#cligenQuitAux.m,seq[string],string,string,untyped,bool,bool,seq[string] macro cligenQuitAux(cmdLine: seq[string]; dispatchName: string; cmdName: string;\n pro: untyped; echoResult: bool; noAutoEcho: bool;\n mergeNames: seq[string] = @[]): untyped 901
+nim dispatchCf cligen.html#dispatchCf.t,,string,string,typed,typed,ClCfg,seq[string],seq[string],seq[string],string,seq[string],seq[ClAlias],seq[string] template dispatchCf(pro: typed{nkSym}; cmdName = ""; doc = ""; help: typed = {};\n short: typed = {}; usage = clUse; cf: ClCfg = clCfg;\n echoResult = false; noAutoEcho = false; positional = AUTO;\n suppress: seq[string] = @[]; implicitDefault: seq[string] = @[];\n vars: seq[string] = @[]; dispatchName = "";\n mergeNames: seq[string] = @[]; alias: seq[ClAlias] = @[];\n stopWords: seq[string] = @[]; noHdr = false;\n cmdLine = commandLineParams()): untyped 910
+nim dispatch cligen.html#dispatch.t,,string,string,typed,typed,seq[string],seq[string],seq[string],string,seq[string],seq[ClAlias],seq[string] template dispatch(pro: typed{nkSym}; cmdName = ""; doc = ""; help: typed = {};\n short: typed = {}; usage = clUse; echoResult = false;\n noAutoEcho = false; positional = AUTO; suppress: seq[string] = @[];\n implicitDefault: seq[string] = @[]; vars: seq[string] = @[];\n dispatchName = ""; mergeNames: seq[string] = @[];\n alias: seq[ClAlias] = @[]; stopWords: seq[string] = @[]; noHdr = false): untyped 923
+nim unknownSubcommand cligen.html#unknownSubcommand.t,string,seq[string] template unknownSubcommand(cmd: string; subCmds: seq[string]) 943
+nim ambigSubcommand cligen.html#ambigSubcommand.t,CritBitTree[string],string template ambigSubcommand(cb: CritBitTree[string]; attempt: string) 954
+nim topLevelHelp cligen.html#topLevelHelp,auto,auto,auto,auto,auto proc topLevelHelp(doc: auto; use: auto; cmd: auto; subCmds: auto; subDocs: auto): string 968
+nim dispatchMultiGen cligen.html#dispatchMultiGen.m,varargs[untyped] macro dispatchMultiGen(procBkts: varargs[untyped]): untyped 995
+nim dispatchMultiDG cligen.html#dispatchMultiDG.m,varargs[untyped] macro dispatchMultiDG(procBkts: varargs[untyped]): untyped 1109
+nim dispatchMulti cligen.html#dispatchMulti.m,varargs[untyped] macro dispatchMulti(procBrackets: varargs[untyped]): untyped 1143
+nim initGen cligen.html#initGen.m,typed,untyped,string,seq[string],string macro initGen(default: typed; T: untyped; positional = "";\n suppress: seq[string] = @[]; name = ""): untyped 1185
+nim initFromCLcf cligen.html#initFromCLcf.t,T,string,string,typed,typed,string,ClCfg,string,seq[string],seq[string],seq[ClAlias] template initFromCLcf[T](default: T; cmdName: string = ""; doc: string = "";\n help: typed = {}; short: typed = {}; usage: string = clUse;\n cf: ClCfg = clCfg; positional = "";\n suppress: seq[string] = @[]; mergeNames: seq[string] = @[];\n alias: seq[ClAlias] = @[]): T 1229
+nim initFromCL cligen.html#initFromCL.t,T,string,string,typed,typed,string,string,seq[string],seq[string],seq[ClAlias] template initFromCL[T](default: T; cmdName: string = ""; doc: string = "";\n help: typed = {}; short: typed = {}; usage: string = clUse;\n positional = ""; suppress: seq[string] = @[];\n mergeNames: seq[string] = @[]; alias: seq[ClAlias] = @[]): T 1249
+nim initDispatchGen cligen.html#initDispatchGen.m,untyped,untyped,typed,string,seq[string],untyped macro initDispatchGen(dispName, obName: untyped; default: typed; positional = "";\n suppress: seq[string] = @[]; body: untyped): untyped 1260
+nim mergeParams cligen.html#mergeParams,seq[string] proc mergeParams(cmdNames: seq[string]; cmdLine = commandLineParams()): seq[string] 1303
nimgrp contains cligen.html#contains-procs-all proc 160
diff --git a/cligen/abbrev.html b/cligen/abbrev.html
index 770b3d71..8f894134 100644
--- a/cligen/abbrev.html
+++ b/cligen/abbrev.html
@@ -16,10 +16,10 @@
-
+
-
+
@@ -268,7 +268,7 @@
- Made with Nim. Generated: 2024-11-24 14:29:04 UTC
+ Made with Nim. Generated: 2024-12-24 14:28:16 UTC
diff --git a/cligen/argcvt.html b/cligen/argcvt.html
index a53a65de..298de046 100644
--- a/cligen/argcvt.html
+++ b/cligen/argcvt.html
@@ -16,10 +16,10 @@
-
+
-
+
@@ -551,7 +551,7 @@
- Made with Nim. Generated: 2024-11-24 14:29:03 UTC
+ Made with Nim. Generated: 2024-12-24 14:28:16 UTC
diff --git a/cligen/cfUt.html b/cligen/cfUt.html
index fc076434..d3760b4a 100644
--- a/cligen/cfUt.html
+++ b/cligen/cfUt.html
@@ -16,10 +16,10 @@
-
+
-
+
@@ -117,7 +117,7 @@
- Made with Nim. Generated: 2024-11-24 14:29:04 UTC
+ Made with Nim. Generated: 2024-12-24 14:28:16 UTC
diff --git a/cligen/cfUt.idx b/cligen/cfUt.idx
index 8b65efb2..67b084e6 100644
--- a/cligen/cfUt.idx
+++ b/cligen/cfUt.idx
@@ -1,3 +1,3 @@
nimTitle cfUt cligen/cfUt.html module cligen/cfUt 0
-nim cfToCL cligen/cfUt.html#cfToCL,string,string proc cfToCL(path: string; subCmdName = ""; quiet = false; noRaise = false;\n activeSec = false): seq[string] 4
-nim envToCL cligen/cfUt.html#envToCL,string proc envToCL(evarName: string): seq[string] 42
+nim cfToCL cligen/cfUt.html#cfToCL,string,string proc cfToCL(path: string; subCmdName = ""; quiet = false; noRaise = false;\n activeSec = false): seq[string] 5
+nim envToCL cligen/cfUt.html#envToCL,string proc envToCL(evarName: string): seq[string] 43
diff --git a/cligen/colorScl.html b/cligen/colorScl.html
index 6cab785f..ef92a5fb 100644
--- a/cligen/colorScl.html
+++ b/cligen/colorScl.html
@@ -16,10 +16,10 @@
-
+
-
+
@@ -275,7 +275,7 @@
- Made with Nim. Generated: 2024-11-24 14:29:03 UTC
+ Made with Nim. Generated: 2024-12-24 14:28:16 UTC
diff --git a/cligen/colorScl.idx b/cligen/colorScl.idx
index 8b13ca1f..fd71eaa7 100644
--- a/cligen/colorScl.idx
+++ b/cligen/colorScl.idx
@@ -1,17 +1,17 @@
nimTitle colorScl cligen/colorScl.html module cligen/colorScl 0
-nim UnitR cligen/colorScl.html#UnitR type UnitR 3
-nim Color3 cligen/colorScl.html#Color3 type Color3 4
-nim sGray cligen/colorScl.html#sGray Scale.sGray 5
-nim sHue cligen/colorScl.html#sHue Scale.sHue 5
-nim sWLen cligen/colorScl.html#sWLen Scale.sWLen 5
-nim sPm3D cligen/colorScl.html#sPm3D Scale.sPm3D 5
-nim sViridis cligen/colorScl.html#sViridis Scale.sViridis 5
-nim Scale cligen/colorScl.html#Scale enum Scale 5
-nim hsv2rgb cligen/colorScl.html#hsv2rgb,Color3 proc hsv2rgb(hsv: Color3): Color3 13
-nim rgb cligen/colorScl.html#rgb,UnitR proc rgb(x: UnitR; scale = sWLen; sat = UnitR(0.7); val = UnitR(0.9)): Color3 56
-nim scaledCompon cligen/colorScl.html#scaledCompon,float,range[] proc scaledCompon(x: float; lim: range[4 .. 1024] = 256): int 67
-nim hex cligen/colorScl.html#hex,Color3,range[] proc hex(rgb: Color3; lim: range[5 .. 1024] = 256): string 70
-nim ttc cligen/colorScl.html#ttc,Color3,range[] proc ttc(rgb: Color3; lim: range[5 .. 1024] = 256): string 78
-nim xt256 cligen/colorScl.html#xt256,Color3,range[] proc xt256(rgb: Color3; lim: range[5 .. 1024] = 256): string 84
-nim parseColorScl cligen/colorScl.html#parseColorScl,,int proc parseColorScl(s: MSlice | openArray[char] | string; nParsed: var int = doNotUse): Color3 92
-nim helpColorScl cligen/colorScl.html#helpColorScl const helpColorScl 114
+nim UnitR cligen/colorScl.html#UnitR type UnitR 4
+nim Color3 cligen/colorScl.html#Color3 type Color3 5
+nim sGray cligen/colorScl.html#sGray Scale.sGray 6
+nim sHue cligen/colorScl.html#sHue Scale.sHue 6
+nim sWLen cligen/colorScl.html#sWLen Scale.sWLen 6
+nim sPm3D cligen/colorScl.html#sPm3D Scale.sPm3D 6
+nim sViridis cligen/colorScl.html#sViridis Scale.sViridis 6
+nim Scale cligen/colorScl.html#Scale enum Scale 6
+nim hsv2rgb cligen/colorScl.html#hsv2rgb,Color3 proc hsv2rgb(hsv: Color3): Color3 14
+nim rgb cligen/colorScl.html#rgb,UnitR proc rgb(x: UnitR; scale = sWLen; sat = UnitR(0.7); val = UnitR(0.9)): Color3 57
+nim scaledCompon cligen/colorScl.html#scaledCompon,float,range[] proc scaledCompon(x: float; lim: range[4 .. 1024] = 256): int 68
+nim hex cligen/colorScl.html#hex,Color3,range[] proc hex(rgb: Color3; lim: range[5 .. 1024] = 256): string 71
+nim ttc cligen/colorScl.html#ttc,Color3,range[] proc ttc(rgb: Color3; lim: range[5 .. 1024] = 256): string 79
+nim xt256 cligen/colorScl.html#xt256,Color3,range[] proc xt256(rgb: Color3; lim: range[5 .. 1024] = 256): string 85
+nim parseColorScl cligen/colorScl.html#parseColorScl,,int proc parseColorScl(s: MSlice | openArray[char] | string; nParsed: var int = doNotUse): Color3 93
+nim helpColorScl cligen/colorScl.html#helpColorScl const helpColorScl 115
diff --git a/cligen/conncomp.html b/cligen/conncomp.html
index 6950b7c4..d3816831 100644
--- a/cligen/conncomp.html
+++ b/cligen/conncomp.html
@@ -16,10 +16,10 @@
-
+
-
+
@@ -129,7 +129,7 @@
- Made with Nim. Generated: 2024-11-24 14:29:04 UTC
+ Made with Nim. Generated: 2024-12-24 14:28:16 UTC
diff --git a/cligen/dents.html b/cligen/dents.html
index 23f8d1bf..69ab7dd1 100644
--- a/cligen/dents.html
+++ b/cligen/dents.html
@@ -16,10 +16,10 @@
-
+
-
+
@@ -399,7 +399,7 @@
- Made with Nim. Generated: 2024-11-24 14:29:04 UTC
+ Made with Nim. Generated: 2024-12-24 14:28:16 UTC
diff --git a/cligen/fileUt.html b/cligen/fileUt.html
index dc8eb3fd..0c8cff20 100644
--- a/cligen/fileUt.html
+++ b/cligen/fileUt.html
@@ -16,10 +16,10 @@
-
+
-
+
@@ -158,7 +158,7 @@
- Made with Nim. Generated: 2024-11-24 14:29:04 UTC
+ Made with Nim. Generated: 2024-12-24 14:28:16 UTC
diff --git a/cligen/gcarc.html b/cligen/gcarc.html
index 13fc54d9..11d76d1a 100644
--- a/cligen/gcarc.html
+++ b/cligen/gcarc.html
@@ -16,10 +16,10 @@
-
+
-
+
@@ -64,7 +64,7 @@
cligen/gcarc
- Made with Nim. Generated: 2024-11-24 14:29:03 UTC
+ Made with Nim. Generated: 2024-12-24 14:28:16 UTC
diff --git a/cligen/humanUt.html b/cligen/humanUt.html
index 83403687..5fccc6ca 100644
--- a/cligen/humanUt.html
+++ b/cligen/humanUt.html
@@ -16,10 +16,10 @@
-
+
-
+
@@ -401,7 +401,7 @@
- Made with Nim. Generated: 2024-11-24 14:29:03 UTC
+ Made with Nim. Generated: 2024-12-24 14:28:16 UTC
diff --git a/cligen/humanUt.idx b/cligen/humanUt.idx
index 7c8bb307..e73ef16b 100644
--- a/cligen/humanUt.idx
+++ b/cligen/humanUt.idx
@@ -1,18 +1,18 @@
nimTitle humanUt cligen/humanUt.html module cligen/humanUt 0
-nim parseInt cligen/humanUt.html#parseInt,string,int proc parseInt(s: string; valIfNAN: int): int 5
-nim cmpN cligen/humanUt.html#cmpN,string,string proc cmpN(a, b: string): int 10
-nim humanReadable4 cligen/humanUt.html#humanReadable4,uint proc humanReadable4(bytes: uint; binary = false): string 29
-nim descape cligen/humanUt.html#descape.i,string,char iterator descape(s: string; escape = '\\'): tuple[c: char, escaped: bool] 61
-nim textAttrAlias cligen/humanUt.html#textAttrAlias,string,string proc textAttrAlias(name, value: string) 96
-nim textAttrAliasClear cligen/humanUt.html#textAttrAliasClear proc textAttrAliasClear() 99
-nim textAttrRegisterAliases cligen/humanUt.html#textAttrRegisterAliases,seq[string] proc textAttrRegisterAliases(colors: seq[string]) 101
-nim textAttrParse cligen/humanUt.html#textAttrParse,string proc textAttrParse(s: string): string 107
-nim textAttrHelp cligen/humanUt.html#textAttrHelp const textAttrHelp 139
-nim textAttrOn cligen/humanUt.html#textAttrOn,seq[string] proc textAttrOn(spec: seq[string]; plain = false): string 147
-nim textAttrOff cligen/humanUt.html#textAttrOff const textAttrOff 154
-nim specifierHighlight cligen/humanUt.html#specifierHighlight,string,set[char],char,string,string proc specifierHighlight(fmt: string; pctTerm: set[char]; plain = false; pct = '%';\n openBkt = "([{"; closeBkt = ")]}"; keepPct = true;\n termInAttr = true): string 156
-nim humanDuration cligen/humanUt.html#humanDuration,int,string proc humanDuration(dt: int; fmt: string; plain = false): string 200
-nim rstMdSGRDefault cligen/humanUt.html#rstMdSGRDefault let rstMdSGRDefault 236
-nim rstMdSGR cligen/humanUt.html#rstMdSGR object rstMdSGR 241
-nim initRstMdSGR cligen/humanUt.html#initRstMdSGR proc initRstMdSGR(attrs = rstMdSGRDefault; plain = false): rstMdSGR 244
-nim render cligen/humanUt.html#render,rstMdSGR,string proc render(r: rstMdSGR; rstOrMd: string): string 308
+nim parseInt cligen/humanUt.html#parseInt,string,int proc parseInt(s: string; valIfNAN: int): int 6
+nim cmpN cligen/humanUt.html#cmpN,string,string proc cmpN(a, b: string): int 11
+nim humanReadable4 cligen/humanUt.html#humanReadable4,uint proc humanReadable4(bytes: uint; binary = false): string 30
+nim descape cligen/humanUt.html#descape.i,string,char iterator descape(s: string; escape = '\\'): tuple[c: char, escaped: bool] 62
+nim textAttrAlias cligen/humanUt.html#textAttrAlias,string,string proc textAttrAlias(name, value: string) 97
+nim textAttrAliasClear cligen/humanUt.html#textAttrAliasClear proc textAttrAliasClear() 100
+nim textAttrRegisterAliases cligen/humanUt.html#textAttrRegisterAliases,seq[string] proc textAttrRegisterAliases(colors: seq[string]) 102
+nim textAttrParse cligen/humanUt.html#textAttrParse,string proc textAttrParse(s: string): string 108
+nim textAttrHelp cligen/humanUt.html#textAttrHelp const textAttrHelp 140
+nim textAttrOn cligen/humanUt.html#textAttrOn,seq[string] proc textAttrOn(spec: seq[string]; plain = false): string 148
+nim textAttrOff cligen/humanUt.html#textAttrOff const textAttrOff 155
+nim specifierHighlight cligen/humanUt.html#specifierHighlight,string,set[char],char,string,string proc specifierHighlight(fmt: string; pctTerm: set[char]; plain = false; pct = '%';\n openBkt = "([{"; closeBkt = ")]}"; keepPct = true;\n termInAttr = true): string 157
+nim humanDuration cligen/humanUt.html#humanDuration,int,string proc humanDuration(dt: int; fmt: string; plain = false): string 201
+nim rstMdSGRDefault cligen/humanUt.html#rstMdSGRDefault let rstMdSGRDefault 237
+nim rstMdSGR cligen/humanUt.html#rstMdSGR object rstMdSGR 242
+nim initRstMdSGR cligen/humanUt.html#initRstMdSGR proc initRstMdSGR(attrs = rstMdSGRDefault; plain = false): rstMdSGR 245
+nim render cligen/humanUt.html#render,rstMdSGR,string proc render(r: rstMdSGR; rstOrMd: string): string 309
diff --git a/cligen/macUt.html b/cligen/macUt.html
index 69918642..11bec76d 100644
--- a/cligen/macUt.html
+++ b/cligen/macUt.html
@@ -16,10 +16,10 @@
-
+
-
+
@@ -463,7 +463,7 @@
- Made with Nim. Generated: 2024-11-24 14:29:03 UTC
+ Made with Nim. Generated: 2024-12-24 14:28:16 UTC
diff --git a/cligen/magic.html b/cligen/magic.html
index e17c5c23..c9182eb5 100644
--- a/cligen/magic.html
+++ b/cligen/magic.html
@@ -16,10 +16,10 @@
-
+
-
+
@@ -764,7 +764,7 @@
- Made with Nim. Generated: 2024-11-24 14:29:04 UTC
+ Made with Nim. Generated: 2024-12-24 14:28:16 UTC
diff --git a/cligen/mergeCfgEnv.html b/cligen/mergeCfgEnv.html
index 1dea25ce..cd827285 100644
--- a/cligen/mergeCfgEnv.html
+++ b/cligen/mergeCfgEnv.html
@@ -16,10 +16,10 @@
-
+
-
+
@@ -76,7 +76,7 @@
- Made with Nim. Generated: 2024-11-24 14:29:04 UTC
+ Made with Nim. Generated: 2024-12-24 14:28:16 UTC
diff --git a/cligen/mergeCfgEnvMulMul.html b/cligen/mergeCfgEnvMulMul.html
index c3932f8d..4b7a68de 100644
--- a/cligen/mergeCfgEnvMulMul.html
+++ b/cligen/mergeCfgEnvMulMul.html
@@ -16,10 +16,10 @@
-
+
-
+
@@ -76,7 +76,7 @@
- Made with Nim. Generated: 2024-11-24 14:29:04 UTC
+ Made with Nim. Generated: 2024-12-24 14:28:16 UTC
diff --git a/cligen/mergeCfgEnvMulti.html b/cligen/mergeCfgEnvMulti.html
index d188098d..320c574c 100644
--- a/cligen/mergeCfgEnvMulti.html
+++ b/cligen/mergeCfgEnvMulti.html
@@ -16,10 +16,10 @@
-
+
-
+
@@ -76,7 +76,7 @@
- Made with Nim. Generated: 2024-11-24 14:29:04 UTC
+ Made with Nim. Generated: 2024-12-24 14:28:16 UTC
diff --git a/cligen/mfile.html b/cligen/mfile.html
index 4dedd428..74eda1cc 100644
--- a/cligen/mfile.html
+++ b/cligen/mfile.html
@@ -16,10 +16,10 @@
-
+
-
+
@@ -571,7 +571,7 @@
- Made with Nim. Generated: 2024-11-24 14:29:04 UTC
+ Made with Nim. Generated: 2024-12-24 14:28:16 UTC
diff --git a/cligen/mslice.html b/cligen/mslice.html
index 1cf7d02b..3ee90667 100644
--- a/cligen/mslice.html
+++ b/cligen/mslice.html
@@ -16,10 +16,10 @@
-
+
-
+
@@ -1650,7 +1650,7 @@
- Made with Nim. Generated: 2024-11-24 14:29:03 UTC
+ Made with Nim. Generated: 2024-12-24 14:28:16 UTC
diff --git a/cligen/mslice.idx b/cligen/mslice.idx
index 5d9d929c..8818e29f 100644
--- a/cligen/mslice.idx
+++ b/cligen/mslice.idx
@@ -1,109 +1,109 @@
nimTitle mslice cligen/mslice.html module cligen/mslice 0
-nim cmemchr cligen/mslice.html#cmemchr,pointer,char,csize proc cmemchr(s: pointer; c: char; n: csize): pointer 12
-nim cmemrchr cligen/mslice.html#cmemrchr,pointer,char,csize proc cmemrchr(s: pointer; c: char; n: csize): pointer 14
-nim cmemcmp cligen/mslice.html#cmemcmp,pointer,pointer,csize proc cmemcmp(a, b: pointer; n: csize): cint 16
-nim cmemcpy cligen/mslice.html#cmemcpy,pointer,pointer,csize proc cmemcpy(a, b: pointer; n: csize): cint 18
-nim cmemmem cligen/mslice.html#cmemmem,pointer,csize,pointer,csize proc cmemmem(h: pointer; nH: csize; s: pointer; nS: csize): pointer 20
-nim `-!` cligen/mslice.html#-!,pointer,pointer proc `-!`(p, q: pointer): int 22
-nim `+!` cligen/mslice.html#+!,pointer,int proc `+!`(p: pointer; i: int): pointer 24
-nim `+!` cligen/mslice.html#+!,pointer,uint64 proc `+!`(p: pointer; i: uint64): pointer 26
-nim MSlice cligen/mslice.html#MSlice object MSlice 30
-nim SomeString cligen/mslice.html#SomeString type SomeString 37
-nim toMSlice cligen/mslice.html#toMSlice,string proc toMSlice(a: string; keep = false): MSlice 39
-nim toCstr cligen/mslice.html#toCstr,pointer proc toCstr(p: pointer): cstring 48
-nim `[]` cligen/mslice.html#[],MSlice,int proc `[]`(ms: MSlice; i: int): char 58
-nim `[]=` cligen/mslice.html#[]=,MSlice,int,char proc `[]=`(ms: MSlice; i: int; c: char) 64
-nim `[]` cligen/mslice.html#[],MSlice,HSlice[T: Ordinal,U: Ordinal] proc `[]`[T, U: Ordinal](s: MSlice; x: HSlice[T, U]): MSlice 70
-nim toMSlice cligen/mslice.html#toMSlice,openArray[char],HSlice[T,U] proc toMSlice[T, U](a: openArray[char]; s: HSlice[T, U]; keep = false): MSlice 78
-nim mem cligen/mslice.html#mem,openArray[char] proc mem(s: openArray[char]): pointer 94
-nim startsWith cligen/mslice.html#startsWith,MSlice,SomeString proc startsWith(s: MSlice; pfx: SomeString): bool 98
-nim endsWith cligen/mslice.html#endsWith,MSlice,SomeString proc endsWith(s: MSlice; sfx: SomeString): bool 102
-nim find cligen/mslice.html#find,MSlice,SomeString proc find(s: MSlice; sub: SomeString): int 107
-nim setLen cligen/mslice.html#setLen,MSlice,int proc setLen(s: var MSlice; n: int) 112
-nim clipAtFirst cligen/mslice.html#clipAtFirst,SomeString,char proc clipAtFirst(s: var SomeString; ch: char) 117
-nim high cligen/mslice.html#high,MSlice proc high(s: MSlice): int 121
-nim rfind cligen/mslice.html#rfind,MSlice,char,Natural,int proc rfind(s: MSlice; sub: char; start: Natural = 0; last = -1): int 123
-nim rfind cligen/mslice.html#rfind,MSlice,set[char],Natural,int proc rfind(s: MSlice; chars: set[char]; start: Natural = 0; last = -1): int 128
-nim dup cligen/mslice.html#dup,MSlice proc dup(ms: var MSlice) 133
-nim dup cligen/mslice.html#dup,MSlice_2 proc dup(ms: MSlice): MSlice 141
-nim toString cligen/mslice.html#toString,MSlice,string proc toString(ms: MSlice; s: var string) 149
-nim toOpenArrayChar cligen/mslice.html#toOpenArrayChar.t,MSlice template toOpenArrayChar(ms: MSlice): untyped 154
-nim toOpenArrayChar cligen/mslice.html#toOpenArrayChar.t,string template toOpenArrayChar(s: string): untyped 157
-nim `$` cligen/mslice.html#$,MSlice proc `$`(ms: MSlice): string 161
-nim add cligen/mslice.html#add,string,MSlice proc add(s: var string; ms: MSlice) 165
-nim `==` cligen/mslice.html#==,MSlice,MSlice proc `==`(x, y: MSlice): bool 172
-nim `<` cligen/mslice.html#<,MSlice,MSlice proc `<`(a, b: MSlice): bool 176
-nim write cligen/mslice.html#write,File,MSlice proc write(f: File; ms: MSlice) 181
-nim urite cligen/mslice.html#urite,File,MSlice proc urite(f: File; ms: MSlice) 185
-nim mrite cligen/mslice.html#mrite,File,varargs[MSlice] proc mrite(f: File; mses: varargs[MSlice]) 195
-nim toOb cligen/mslice.html#toOb,MSlice,T proc toOb[T](m: MSlice; ob: var T) 199
-nim toSeq cligen/mslice.html#toSeq,MSlice,seq[T] proc toSeq[T](m: MSlice; s: var seq[T]) 208
-nim `==` cligen/mslice.html#==,string,MSlice proc `==`(a: string; ms: MSlice): bool 221
-nim `==` cligen/mslice.html#==,MSlice,string proc `==`(ms: MSlice; b: string): bool 223
-nim hash cligen/mslice.html#hash,MSlice proc hash(ms: MSlice): Hash 226
-nim nextSlice cligen/mslice.html#nextSlice,MSlice,MSlice,char,char proc nextSlice(mslc, ms: var MSlice; sep = '\n'; eat = '\x00'): int 230
-nim mSlices cligen/mslice.html#mSlices.i,MSlice,char,char iterator mSlices(mslc: MSlice; sep = ' '; eat = '\x00'): MSlice 264
-nim msplit cligen/mslice.html#msplit,MSlice,seq[MSlice],char,char proc msplit(mslc: MSlice; fs: var seq[MSlice]; sep = ' '; eat = '\x00') 291
-nim firstN cligen/mslice.html#firstN,MSlice,int,char proc firstN(ms: MSlice; n = 1; term = '\n'): MSlice 304
-nim wspace cligen/mslice.html#wspace const wspace 314
-nim mempbrk cligen/mslice.html#mempbrk,pointer,set[char],csize proc mempbrk(s: pointer; accept: set[char]; n: csize): pointer 320
-nim stripLeading cligen/mslice.html#stripLeading,MSlice proc stripLeading(s: var MSlice; chars = wspace) 324
-nim stripTrailing cligen/mslice.html#stripTrailing,MSlice proc stripTrailing(s: var MSlice; chars = wspace) 329
-nim strip cligen/mslice.html#strip,MSlice proc strip(s: var MSlice; leading = true; trailing = true; chars = wspace) 332
-nim stripLeading cligen/mslice.html#stripLeading,MSlice_2 proc stripLeading(s: MSlice; chars = wspace): MSlice 336
-nim stripTrailing cligen/mslice.html#stripTrailing,MSlice_2 proc stripTrailing(s: MSlice; chars = wspace): MSlice 339
-nim strip cligen/mslice.html#strip,MSlice_2 proc strip(s: MSlice; leading = true; trailing = true; chars = wspace): MSlice 342
-nim msplit cligen/mslice.html#msplit,MSlice,seq[MSlice],char,int proc msplit(s: MSlice; fs: var seq[MSlice]; sep = ' '; n = 0; repeat = false): int 376
-nim msplit cligen/mslice.html#msplit,MSlice,char,int proc msplit(s: MSlice; sep = ' '; n = 0; repeat = false): seq[MSlice] 379
-nim msplit cligen/mslice.html#msplit,MSlice,seq[MSlice],int proc msplit(s: MSlice; fs: var seq[MSlice]; seps = wspace; n = 0; repeat = true): int 382
-nim msplit cligen/mslice.html#msplit,MSlice,int proc msplit(s: MSlice; n = 0; seps = wspace; repeat = true): seq[MSlice] 385
-nim msplit cligen/mslice.html#msplit,string,seq[MSlice],char,int proc msplit(s: string; fs: var seq[MSlice]; sep = ' '; n = 0; repeat = false): int 388
-nim msplit cligen/mslice.html#msplit,string,char,int proc msplit(s: string; sep: char; n = 0; repeat = false): seq[MSlice] 392
-nim msplit cligen/mslice.html#msplit,string,seq[MSlice],int proc msplit(s: string; fs: var seq[MSlice]; seps = wspace; n = 0; repeat = true): int 396
-nim msplit cligen/mslice.html#msplit,string,int proc msplit(s: string; seps = wspace; n = 0; repeat = true): seq[MSlice] 400
-nim splitr cligen/mslice.html#splitr,string,seq[string],char,int,ptr.seq[string] proc splitr(s: string; fs: var seq[string]; sep = ' '; n = 0; repeat = false;\n sp: ptr seq[string] = nil): int 443
-nim splitr cligen/mslice.html#splitr,string,char,int proc splitr(s: string; sep: char; n = 0; repeat = false): seq[string] 448
-nim splitr cligen/mslice.html#splitr,string,seq[string],int,ptr.seq[string] proc splitr(s: string; fs: var seq[string]; seps = wspace; n = 0; repeat = true;\n sp: ptr seq[string] = nil): int 452
-nim splitr cligen/mslice.html#splitr,string,int proc splitr(s: string; seps = wspace; n = 0; repeat = true): seq[string] 457
-nim Sep cligen/mslice.html#Sep tuple Sep 461
-nim initSep cligen/mslice.html#initSep,string proc initSep(seps: string): Sep 463
-nim Splitr cligen/mslice.html#Splitr type Splitr 489
-nim initSplitr cligen/mslice.html#initSplitr,string proc initSplitr(seps: string): Sep 490
-nim split cligen/mslice.html#split,Sep,MSlice,seq[MSlice],int proc split(s: Sep; line: MSlice; cols: var seq[MSlice]; n = 0) 492
-nim split cligen/mslice.html#split,Sep,string,seq[string],int proc split(s: Sep; line: string; cols: var seq[string]; n = 0) 496
-nim split cligen/mslice.html#split,Sep,string,int proc split(s: Sep; line: string; n = 0): seq[string] 500
-nim TextFrame cligen/mslice.html#TextFrame tuple TextFrame 511
-nim frame cligen/mslice.html#frame.i,MSlice,char,int iterator frame(s: MSlice; sep: char; repeat = false; n = 0): TextFrame 549
-nim frame cligen/mslice.html#frame.i,MSlice,set[char],int iterator frame(s: MSlice; seps: set[char]; repeat = false; n = 0): TextFrame 557
-nim frame cligen/mslice.html#frame.i,MSlice,Sep,int iterator frame(s: MSlice; sep: Sep; n = 0): TextFrame 565
-nim frame cligen/mslice.html#frame,MSlice,seq[TextFrame],Sep,int proc frame(s: MSlice; fs: var seq[TextFrame]; sep: Sep; n = 0): int 576
-nim frame cligen/mslice.html#frame,MSlice,Sep,int proc frame(s: MSlice; sep: Sep; n = 0): seq[TextFrame] 583
-nim items cligen/mslice.html#items.i,MSlice iterator items(a: MSlice): char 592
-nim contains cligen/mslice.html#contains,MSlice,set[char] proc contains(s: MSlice; cset: set[char]): bool 597
-nim pairs cligen/mslice.html#pairs.i,MSlice iterator pairs(a: MSlice): tuple[ix: int, c: char] 601
-nim findNot cligen/mslice.html#findNot,string,set[char],Natural,int proc findNot(s: string; chars: set[char]; start: Natural = 0; last = 0): int 606
-nim eos cligen/mslice.html#eos,MSlice proc eos(ms: MSlice): pointer 622
-nim within cligen/mslice.html#within,MSlice,MSlice proc within(a, c: MSlice): bool 625
-nim extend cligen/mslice.html#extend,MSlice,int,char proc extend(ms: MSlice; max: int; sep = '\n'): MSlice 629
-nim nSplit cligen/mslice.html#nSplit,int,MSlice,char proc nSplit(n: int; data: MSlice; sep = '\n'): seq[MSlice] 639
-nim parseBin cligen/mslice.html#parseBin,,int proc parseBin(s: MSlice | openArray[char]; eoNum: var int = doNotUse): int 684
-nim parseOct cligen/mslice.html#parseOct,,int proc parseOct(s: MSlice | openArray[char]; eoNum: var int = doNotUse): int 689
-nim parseInt cligen/mslice.html#parseInt,,int proc parseInt(s: MSlice | openArray[char]; eoNum: var int = doNotUse): int 694
-nim parseHex cligen/mslice.html#parseHex,,int proc parseHex(s: MSlice | openArray[char]; eoNum: var int = doNotUse): int 699
-nim pow10 cligen/mslice.html#pow10 const pow10 705
-nim parseFloat cligen/mslice.html#parseFloat,,int proc parseFloat(s: MSlice | openArray[char]; eoNum: var int = doNotUse): float 764
-nimgrp tomslice cligen/mslice.html#toMSlice-procs-all proc 39
-nimgrp splitr cligen/mslice.html#splitr-procs-all proc 443
-nimgrp +! cligen/mslice.html#+!-procs-all proc 24
-nimgrp [] cligen/mslice.html#[]-procs-all proc 58
-nimgrp dup cligen/mslice.html#dup-procs-all proc 133
-nimgrp striptrailing cligen/mslice.html#stripTrailing-procs-all proc 329
-nimgrp stripleading cligen/mslice.html#stripLeading-procs-all proc 324
-nimgrp rfind cligen/mslice.html#rfind-procs-all proc 123
-nimgrp == cligen/mslice.html#==-procs-all proc 172
-nimgrp msplit cligen/mslice.html#msplit-procs-all proc 291
-nimgrp strip cligen/mslice.html#strip-procs-all proc 332
-nimgrp split cligen/mslice.html#split-procs-all proc 492
-nimgrp frame cligen/mslice.html#frame-procs-all proc 576
-nimgrp frame cligen/mslice.html#frame-iterators-all iterator 549
-nimgrp toopenarraychar cligen/mslice.html#toOpenArrayChar-templates-all template 154
+nim cmemchr cligen/mslice.html#cmemchr,pointer,char,csize proc cmemchr(s: pointer; c: char; n: csize): pointer 13
+nim cmemrchr cligen/mslice.html#cmemrchr,pointer,char,csize proc cmemrchr(s: pointer; c: char; n: csize): pointer 15
+nim cmemcmp cligen/mslice.html#cmemcmp,pointer,pointer,csize proc cmemcmp(a, b: pointer; n: csize): cint 17
+nim cmemcpy cligen/mslice.html#cmemcpy,pointer,pointer,csize proc cmemcpy(a, b: pointer; n: csize): cint 19
+nim cmemmem cligen/mslice.html#cmemmem,pointer,csize,pointer,csize proc cmemmem(h: pointer; nH: csize; s: pointer; nS: csize): pointer 21
+nim `-!` cligen/mslice.html#-!,pointer,pointer proc `-!`(p, q: pointer): int 23
+nim `+!` cligen/mslice.html#+!,pointer,int proc `+!`(p: pointer; i: int): pointer 25
+nim `+!` cligen/mslice.html#+!,pointer,uint64 proc `+!`(p: pointer; i: uint64): pointer 27
+nim MSlice cligen/mslice.html#MSlice object MSlice 31
+nim SomeString cligen/mslice.html#SomeString type SomeString 38
+nim toMSlice cligen/mslice.html#toMSlice,string proc toMSlice(a: string; keep = false): MSlice 40
+nim toCstr cligen/mslice.html#toCstr,pointer proc toCstr(p: pointer): cstring 49
+nim `[]` cligen/mslice.html#[],MSlice,int proc `[]`(ms: MSlice; i: int): char 59
+nim `[]=` cligen/mslice.html#[]=,MSlice,int,char proc `[]=`(ms: MSlice; i: int; c: char) 65
+nim `[]` cligen/mslice.html#[],MSlice,HSlice[T: Ordinal,U: Ordinal] proc `[]`[T, U: Ordinal](s: MSlice; x: HSlice[T, U]): MSlice 71
+nim toMSlice cligen/mslice.html#toMSlice,openArray[char],HSlice[T,U] proc toMSlice[T, U](a: openArray[char]; s: HSlice[T, U]; keep = false): MSlice 79
+nim mem cligen/mslice.html#mem,openArray[char] proc mem(s: openArray[char]): pointer 95
+nim startsWith cligen/mslice.html#startsWith,MSlice,SomeString proc startsWith(s: MSlice; pfx: SomeString): bool 99
+nim endsWith cligen/mslice.html#endsWith,MSlice,SomeString proc endsWith(s: MSlice; sfx: SomeString): bool 103
+nim find cligen/mslice.html#find,MSlice,SomeString proc find(s: MSlice; sub: SomeString): int 108
+nim setLen cligen/mslice.html#setLen,MSlice,int proc setLen(s: var MSlice; n: int) 113
+nim clipAtFirst cligen/mslice.html#clipAtFirst,SomeString,char proc clipAtFirst(s: var SomeString; ch: char) 118
+nim high cligen/mslice.html#high,MSlice proc high(s: MSlice): int 122
+nim rfind cligen/mslice.html#rfind,MSlice,char,Natural,int proc rfind(s: MSlice; sub: char; start: Natural = 0; last = -1): int 124
+nim rfind cligen/mslice.html#rfind,MSlice,set[char],Natural,int proc rfind(s: MSlice; chars: set[char]; start: Natural = 0; last = -1): int 129
+nim dup cligen/mslice.html#dup,MSlice proc dup(ms: var MSlice) 134
+nim dup cligen/mslice.html#dup,MSlice_2 proc dup(ms: MSlice): MSlice 142
+nim toString cligen/mslice.html#toString,MSlice,string proc toString(ms: MSlice; s: var string) 150
+nim toOpenArrayChar cligen/mslice.html#toOpenArrayChar.t,MSlice template toOpenArrayChar(ms: MSlice): untyped 155
+nim toOpenArrayChar cligen/mslice.html#toOpenArrayChar.t,string template toOpenArrayChar(s: string): untyped 158
+nim `$` cligen/mslice.html#$,MSlice proc `$`(ms: MSlice): string 162
+nim add cligen/mslice.html#add,string,MSlice proc add(s: var string; ms: MSlice) 166
+nim `==` cligen/mslice.html#==,MSlice,MSlice proc `==`(x, y: MSlice): bool 173
+nim `<` cligen/mslice.html#<,MSlice,MSlice proc `<`(a, b: MSlice): bool 177
+nim write cligen/mslice.html#write,File,MSlice proc write(f: File; ms: MSlice) 182
+nim urite cligen/mslice.html#urite,File,MSlice proc urite(f: File; ms: MSlice) 186
+nim mrite cligen/mslice.html#mrite,File,varargs[MSlice] proc mrite(f: File; mses: varargs[MSlice]) 196
+nim toOb cligen/mslice.html#toOb,MSlice,T proc toOb[T](m: MSlice; ob: var T) 200
+nim toSeq cligen/mslice.html#toSeq,MSlice,seq[T] proc toSeq[T](m: MSlice; s: var seq[T]) 209
+nim `==` cligen/mslice.html#==,string,MSlice proc `==`(a: string; ms: MSlice): bool 222
+nim `==` cligen/mslice.html#==,MSlice,string proc `==`(ms: MSlice; b: string): bool 224
+nim hash cligen/mslice.html#hash,MSlice proc hash(ms: MSlice): Hash 227
+nim nextSlice cligen/mslice.html#nextSlice,MSlice,MSlice,char,char proc nextSlice(mslc, ms: var MSlice; sep = '\n'; eat = '\x00'): int 231
+nim mSlices cligen/mslice.html#mSlices.i,MSlice,char,char iterator mSlices(mslc: MSlice; sep = ' '; eat = '\x00'): MSlice 265
+nim msplit cligen/mslice.html#msplit,MSlice,seq[MSlice],char,char proc msplit(mslc: MSlice; fs: var seq[MSlice]; sep = ' '; eat = '\x00') 292
+nim firstN cligen/mslice.html#firstN,MSlice,int,char proc firstN(ms: MSlice; n = 1; term = '\n'): MSlice 305
+nim wspace cligen/mslice.html#wspace const wspace 315
+nim mempbrk cligen/mslice.html#mempbrk,pointer,set[char],csize proc mempbrk(s: pointer; accept: set[char]; n: csize): pointer 321
+nim stripLeading cligen/mslice.html#stripLeading,MSlice proc stripLeading(s: var MSlice; chars = wspace) 325
+nim stripTrailing cligen/mslice.html#stripTrailing,MSlice proc stripTrailing(s: var MSlice; chars = wspace) 330
+nim strip cligen/mslice.html#strip,MSlice proc strip(s: var MSlice; leading = true; trailing = true; chars = wspace) 333
+nim stripLeading cligen/mslice.html#stripLeading,MSlice_2 proc stripLeading(s: MSlice; chars = wspace): MSlice 337
+nim stripTrailing cligen/mslice.html#stripTrailing,MSlice_2 proc stripTrailing(s: MSlice; chars = wspace): MSlice 340
+nim strip cligen/mslice.html#strip,MSlice_2 proc strip(s: MSlice; leading = true; trailing = true; chars = wspace): MSlice 343
+nim msplit cligen/mslice.html#msplit,MSlice,seq[MSlice],char,int proc msplit(s: MSlice; fs: var seq[MSlice]; sep = ' '; n = 0; repeat = false): int 377
+nim msplit cligen/mslice.html#msplit,MSlice,char,int proc msplit(s: MSlice; sep = ' '; n = 0; repeat = false): seq[MSlice] 380
+nim msplit cligen/mslice.html#msplit,MSlice,seq[MSlice],int proc msplit(s: MSlice; fs: var seq[MSlice]; seps = wspace; n = 0; repeat = true): int 383
+nim msplit cligen/mslice.html#msplit,MSlice,int proc msplit(s: MSlice; n = 0; seps = wspace; repeat = true): seq[MSlice] 386
+nim msplit cligen/mslice.html#msplit,string,seq[MSlice],char,int proc msplit(s: string; fs: var seq[MSlice]; sep = ' '; n = 0; repeat = false): int 389
+nim msplit cligen/mslice.html#msplit,string,char,int proc msplit(s: string; sep: char; n = 0; repeat = false): seq[MSlice] 393
+nim msplit cligen/mslice.html#msplit,string,seq[MSlice],int proc msplit(s: string; fs: var seq[MSlice]; seps = wspace; n = 0; repeat = true): int 397
+nim msplit cligen/mslice.html#msplit,string,int proc msplit(s: string; seps = wspace; n = 0; repeat = true): seq[MSlice] 401
+nim splitr cligen/mslice.html#splitr,string,seq[string],char,int,ptr.seq[string] proc splitr(s: string; fs: var seq[string]; sep = ' '; n = 0; repeat = false;\n sp: ptr seq[string] = nil): int 444
+nim splitr cligen/mslice.html#splitr,string,char,int proc splitr(s: string; sep: char; n = 0; repeat = false): seq[string] 449
+nim splitr cligen/mslice.html#splitr,string,seq[string],int,ptr.seq[string] proc splitr(s: string; fs: var seq[string]; seps = wspace; n = 0; repeat = true;\n sp: ptr seq[string] = nil): int 453
+nim splitr cligen/mslice.html#splitr,string,int proc splitr(s: string; seps = wspace; n = 0; repeat = true): seq[string] 458
+nim Sep cligen/mslice.html#Sep tuple Sep 462
+nim initSep cligen/mslice.html#initSep,string proc initSep(seps: string): Sep 464
+nim Splitr cligen/mslice.html#Splitr type Splitr 490
+nim initSplitr cligen/mslice.html#initSplitr,string proc initSplitr(seps: string): Sep 491
+nim split cligen/mslice.html#split,Sep,MSlice,seq[MSlice],int proc split(s: Sep; line: MSlice; cols: var seq[MSlice]; n = 0) 493
+nim split cligen/mslice.html#split,Sep,string,seq[string],int proc split(s: Sep; line: string; cols: var seq[string]; n = 0) 497
+nim split cligen/mslice.html#split,Sep,string,int proc split(s: Sep; line: string; n = 0): seq[string] 501
+nim TextFrame cligen/mslice.html#TextFrame tuple TextFrame 512
+nim frame cligen/mslice.html#frame.i,MSlice,char,int iterator frame(s: MSlice; sep: char; repeat = false; n = 0): TextFrame 550
+nim frame cligen/mslice.html#frame.i,MSlice,set[char],int iterator frame(s: MSlice; seps: set[char]; repeat = false; n = 0): TextFrame 558
+nim frame cligen/mslice.html#frame.i,MSlice,Sep,int iterator frame(s: MSlice; sep: Sep; n = 0): TextFrame 566
+nim frame cligen/mslice.html#frame,MSlice,seq[TextFrame],Sep,int proc frame(s: MSlice; fs: var seq[TextFrame]; sep: Sep; n = 0): int 577
+nim frame cligen/mslice.html#frame,MSlice,Sep,int proc frame(s: MSlice; sep: Sep; n = 0): seq[TextFrame] 584
+nim items cligen/mslice.html#items.i,MSlice iterator items(a: MSlice): char 593
+nim contains cligen/mslice.html#contains,MSlice,set[char] proc contains(s: MSlice; cset: set[char]): bool 598
+nim pairs cligen/mslice.html#pairs.i,MSlice iterator pairs(a: MSlice): tuple[ix: int, c: char] 602
+nim findNot cligen/mslice.html#findNot,string,set[char],Natural,int proc findNot(s: string; chars: set[char]; start: Natural = 0; last = 0): int 607
+nim eos cligen/mslice.html#eos,MSlice proc eos(ms: MSlice): pointer 623
+nim within cligen/mslice.html#within,MSlice,MSlice proc within(a, c: MSlice): bool 626
+nim extend cligen/mslice.html#extend,MSlice,int,char proc extend(ms: MSlice; max: int; sep = '\n'): MSlice 630
+nim nSplit cligen/mslice.html#nSplit,int,MSlice,char proc nSplit(n: int; data: MSlice; sep = '\n'): seq[MSlice] 640
+nim parseBin cligen/mslice.html#parseBin,,int proc parseBin(s: MSlice | openArray[char]; eoNum: var int = doNotUse): int 685
+nim parseOct cligen/mslice.html#parseOct,,int proc parseOct(s: MSlice | openArray[char]; eoNum: var int = doNotUse): int 690
+nim parseInt cligen/mslice.html#parseInt,,int proc parseInt(s: MSlice | openArray[char]; eoNum: var int = doNotUse): int 695
+nim parseHex cligen/mslice.html#parseHex,,int proc parseHex(s: MSlice | openArray[char]; eoNum: var int = doNotUse): int 700
+nim pow10 cligen/mslice.html#pow10 const pow10 706
+nim parseFloat cligen/mslice.html#parseFloat,,int proc parseFloat(s: MSlice | openArray[char]; eoNum: var int = doNotUse): float 765
+nimgrp tomslice cligen/mslice.html#toMSlice-procs-all proc 40
+nimgrp splitr cligen/mslice.html#splitr-procs-all proc 444
+nimgrp +! cligen/mslice.html#+!-procs-all proc 25
+nimgrp [] cligen/mslice.html#[]-procs-all proc 59
+nimgrp dup cligen/mslice.html#dup-procs-all proc 134
+nimgrp striptrailing cligen/mslice.html#stripTrailing-procs-all proc 330
+nimgrp stripleading cligen/mslice.html#stripLeading-procs-all proc 325
+nimgrp rfind cligen/mslice.html#rfind-procs-all proc 124
+nimgrp == cligen/mslice.html#==-procs-all proc 173
+nimgrp msplit cligen/mslice.html#msplit-procs-all proc 292
+nimgrp strip cligen/mslice.html#strip-procs-all proc 333
+nimgrp split cligen/mslice.html#split-procs-all proc 493
+nimgrp frame cligen/mslice.html#frame-procs-all proc 577
+nimgrp frame cligen/mslice.html#frame-iterators-all iterator 550
+nimgrp toopenarraychar cligen/mslice.html#toOpenArrayChar-templates-all template 155
diff --git a/cligen/osUt.html b/cligen/osUt.html
index 8fc5f20d..83bba0a0 100644
--- a/cligen/osUt.html
+++ b/cligen/osUt.html
@@ -16,10 +16,10 @@
-
+
-
+
@@ -1180,7 +1180,7 @@
- Made with Nim. Generated: 2024-11-24 14:29:04 UTC
+ Made with Nim. Generated: 2024-12-24 14:28:16 UTC
diff --git a/cligen/parseopt3.html b/cligen/parseopt3.html
index 9985165a..bfd2478b 100644
--- a/cligen/parseopt3.html
+++ b/cligen/parseopt3.html
@@ -16,10 +16,10 @@
-
+
-
+
@@ -359,7 +359,7 @@
- Made with Nim. Generated: 2024-11-24 14:29:03 UTC
+ Made with Nim. Generated: 2024-12-24 14:28:15 UTC
diff --git a/cligen/parseopt3.idx b/cligen/parseopt3.idx
index 3fd9020f..7693f8a4 100644
--- a/cligen/parseopt3.idx
+++ b/cligen/parseopt3.idx
@@ -1,19 +1,19 @@
nimTitle parseopt3 cligen/parseopt3.html module cligen/parseopt3 0
-nim optionNormalize cligen/parseopt3.html#optionNormalize,string,string proc optionNormalize(s: string; wordSeparators = "_-"): string 66
+nim optionNormalize cligen/parseopt3.html#optionNormalize,string,string proc optionNormalize(s: string; wordSeparators = "_-"): string 67
nim valsWithPfx cligen/parseopt3.html#valsWithPfx,CritBitTree[T],string proc valsWithPfx[T](cb: CritBitTree[T]; key: string): seq[T] 100
nim lengthen cligen/parseopt3.html#lengthen,CritBitTree[T],string proc lengthen[T](cb: CritBitTree[T]; key: string; prefixOk = false): string 103
-nim cmdEnd cligen/parseopt3.html#cmdEnd CmdLineKind.cmdEnd 126
-nim cmdArgument cligen/parseopt3.html#cmdArgument CmdLineKind.cmdArgument 126
-nim cmdLongOption cligen/parseopt3.html#cmdLongOption CmdLineKind.cmdLongOption 126
-nim cmdShortOption cligen/parseopt3.html#cmdShortOption CmdLineKind.cmdShortOption 126
-nim cmdError cligen/parseopt3.html#cmdError CmdLineKind.cmdError 126
-nim CmdLineKind cligen/parseopt3.html#CmdLineKind enum CmdLineKind 126
-nim OptParser cligen/parseopt3.html#OptParser object OptParser 132
-nim initOptParser cligen/parseopt3.html#initOptParser,seq[string],set[char],seq[string],set[char],seq[string] proc initOptParser(cmdline: seq[string] = commandLineParams();\n shortNoVal: set[char] = {}; longNoVal: seq[string] = @[];\n requireSeparator = false; sepChars = {'=', ':'};\n opChars: set[char] = {}; stopWords: seq[string] = @[];\n longPfxOk = true; stopPfxOk = true): OptParser 152
-nim initOptParser cligen/parseopt3.html#initOptParser,string proc initOptParser(cmdline: string): OptParser 197
-nim next cligen/parseopt3.html#next,OptParser proc next(p: var OptParser) 277
-nim GetoptResult cligen/parseopt3.html#GetoptResult tuple GetoptResult 313
-nim getopt cligen/parseopt3.html#getopt.i,OptParser iterator getopt(p: var OptParser): GetoptResult 315
-nim getopt cligen/parseopt3.html#getopt.i,set[char],seq[string],set[char],seq[string] iterator getopt(cmdline = commandLineParams(); shortNoVal: set[char] = {};\n longNoVal: seq[string] = @[]; requireSeparator = false;\n sepChars = {'=', ':'}; opChars: set[char] = {};\n stopWords: seq[string] = @[]): GetoptResult 342
-nimgrp initoptparser cligen/parseopt3.html#initOptParser-procs-all proc 152
-nimgrp getopt cligen/parseopt3.html#getopt-iterators-all iterator 315
+nim cmdEnd cligen/parseopt3.html#cmdEnd CmdLineKind.cmdEnd 125
+nim cmdArgument cligen/parseopt3.html#cmdArgument CmdLineKind.cmdArgument 125
+nim cmdLongOption cligen/parseopt3.html#cmdLongOption CmdLineKind.cmdLongOption 125
+nim cmdShortOption cligen/parseopt3.html#cmdShortOption CmdLineKind.cmdShortOption 125
+nim cmdError cligen/parseopt3.html#cmdError CmdLineKind.cmdError 125
+nim CmdLineKind cligen/parseopt3.html#CmdLineKind enum CmdLineKind 125
+nim OptParser cligen/parseopt3.html#OptParser object OptParser 131
+nim initOptParser cligen/parseopt3.html#initOptParser,seq[string],set[char],seq[string],set[char],seq[string] proc initOptParser(cmdline: seq[string] = commandLineParams();\n shortNoVal: set[char] = {}; longNoVal: seq[string] = @[];\n requireSeparator = false; sepChars = {'=', ':'};\n opChars: set[char] = {}; stopWords: seq[string] = @[];\n longPfxOk = true; stopPfxOk = true): OptParser 151
+nim initOptParser cligen/parseopt3.html#initOptParser,string proc initOptParser(cmdline: string): OptParser 194
+nim next cligen/parseopt3.html#next,OptParser proc next(p: var OptParser) 273
+nim GetoptResult cligen/parseopt3.html#GetoptResult tuple GetoptResult 308
+nim getopt cligen/parseopt3.html#getopt.i,OptParser iterator getopt(p: var OptParser): GetoptResult 310
+nim getopt cligen/parseopt3.html#getopt.i,set[char],seq[string],set[char],seq[string] iterator getopt(cmdline = commandLineParams(); shortNoVal: set[char] = {};\n longNoVal: seq[string] = @[]; requireSeparator = false;\n sepChars = {'=', ':'}; opChars: set[char] = {};\n stopWords: seq[string] = @[]): GetoptResult 337
+nimgrp initoptparser cligen/parseopt3.html#initOptParser-procs-all proc 151
+nimgrp getopt cligen/parseopt3.html#getopt-iterators-all iterator 310
diff --git a/cligen/posixUt.html b/cligen/posixUt.html
index e6ad1220..af80e9e4 100644
--- a/cligen/posixUt.html
+++ b/cligen/posixUt.html
@@ -16,10 +16,10 @@
-
+
-
+
@@ -1538,7 +1538,7 @@
- Made with Nim. Generated: 2024-11-24 14:29:04 UTC
+ Made with Nim. Generated: 2024-12-24 14:28:16 UTC
diff --git a/cligen/posixUt.idx b/cligen/posixUt.idx
index 5ff34752..5f613521 100644
--- a/cligen/posixUt.idx
+++ b/cligen/posixUt.idx
@@ -1,109 +1,109 @@
nimTitle posixUt cligen/posixUt.html module cligen/posixUt 0
-nim openat cligen/posixUt.html#openat,cint,cstring,cint proc openat(dirfd: cint; path: cstring; flags: cint): cint 8
-nim fstatat cligen/posixUt.html#fstatat,cint,cstring,Stat,cint proc fstatat(dirfd: cint; path: cstring; stx: var Stat; flags: cint): cint 10
-nim faccessat cligen/posixUt.html#faccessat,cint,cstring,cint,cint proc faccessat(dirfd: cint; path: cstring; mode: cint; flags: cint): cint 12
-nim fchmodat cligen/posixUt.html#fchmodat,cint,cstring,Mode,cint proc fchmodat(dirfd: cint; path: cstring; mode: Mode; flags: cint): cint 14
-nim fchownat cligen/posixUt.html#fchownat,cint,cstring,Uid,Gid,cint proc fchownat(dirfd: cint; path: cstring; owner: Uid; group: Gid; flags: cint): cint 16
-nim futimesat cligen/posixUt.html#futimesat,cint,cstring,array[,Timeval] proc futimesat(dirfd: cint; path: cstring; times: array[2, Timeval]): cint 18
-nim utimensat cligen/posixUt.html#utimensat,cint,cstring,array[,Timespec],cint proc utimensat(dirfd: cint; path: cstring; times: array[2, Timespec]; flags: cint): cint 20
-nim futimens cligen/posixUt.html#futimens,cint,array[,Timespec] proc futimens(fd: cint; times: array[2, Timespec]): cint 22
-nim linkat cligen/posixUt.html#linkat,cint,cstring,cint,cstring,cint proc linkat(olddirfd: cint; oldpath: cstring; newdirfd: cint; newpath: cstring;\n flags: cint): cint 24
-nim mkdirat cligen/posixUt.html#mkdirat,cint,cstring,Mode proc mkdirat(dirfd: cint; path: cstring; mode: Mode): cint 26
-nim mknodat cligen/posixUt.html#mknodat,cint,cstring,Mode,Dev proc mknodat(dirfd: cint; path: cstring; mode: Mode; dev: Dev): cint 28
-nim symlinkat cligen/posixUt.html#symlinkat,cstring,cint,cstring proc symlinkat(target: cstring; newdirfd: cint; linkpath: cstring): cint 30
-nim readlinkat cligen/posixUt.html#readlinkat,cint,cstring,cstring,csize proc readlinkat(dirfd: cint; path: cstring; buf: cstring; bufsiz: csize): clong 32
-nim unlinkat cligen/posixUt.html#unlinkat,cint,cstring,cint proc unlinkat(dirfd: cint; path: cstring; flags: cint): cint 34
-nim renameat cligen/posixUt.html#renameat,cint,cstring,cint,cstring proc renameat(olddirfd: cint; oldpath: cstring; newdirfd: cint; newpath: cstring): cint 36
-nim rename cligen/posixUt.html#rename,cstring,cstring proc rename(oldpath, newpath: cstring): cint 38
-nim impConstAs cligen/posixUt.html#impConstAs.t,untyped,string,, template impConstAs(T: untyped; path: string; name, nimName): untyped 41
-nim impConst cligen/posixUt.html#impConst.t,untyped,string,untyped template impConst(T: untyped; path: string; name: untyped): untyped 45
-nim impCint cligen/posixUt.html#impCint.t,string,untyped template impCint(path: string; name: untyped): untyped 49
-nim AT_FDCWD cligen/posixUt.html#AT_FDCWD let AT_FDCWD 47
-nim AT_SYMLINK_NOFOLLOW cligen/posixUt.html#AT_SYMLINK_NOFOLLOW let AT_SYMLINK_NOFOLLOW 47
-nim AT_REMOVEDIR cligen/posixUt.html#AT_REMOVEDIR let AT_REMOVEDIR 47
-nim AT_SYMLINK_FOLLOW cligen/posixUt.html#AT_SYMLINK_FOLLOW let AT_SYMLINK_FOLLOW 47
-nim AT_EACCESS cligen/posixUt.html#AT_EACCESS let AT_EACCESS 47
-nim UTIME_NOW cligen/posixUt.html#UTIME_NOW let UTIME_NOW 47
-nim UTIME_OMIT cligen/posixUt.html#UTIME_OMIT let UTIME_OMIT 47
-nim AT_NO_AUTOMOUNT cligen/posixUt.html#AT_NO_AUTOMOUNT const AT_NO_AUTOMOUNT 61
-nim AT_EMPTY_PATH cligen/posixUt.html#AT_EMPTY_PATH const AT_EMPTY_PATH 62
-nim renameat2 cligen/posixUt.html#renameat2,cint,cstring,cint,cstring,cint proc renameat2(olddirfd: cint; oldpath: cstring; newdirfd: cint; newpath: cstring;\n flags: cint): cint 63
-nim log cligen/posixUt.html#log,File,string proc log(f: File; s: string) 66
-nim localAlloc cligen/posixUt.html#localAlloc.t,,typedesc template localAlloc(param; typ: typedesc) 70
-nim getTime cligen/posixUt.html#getTime proc getTime(clockId = CLOCK_REALTIME): Timespec 81
-nim cmp cligen/posixUt.html#cmp,Timespec,Timespec proc cmp(a, b: Timespec): int 85
-nim `<=` cligen/posixUt.html#<=,Timespec,Timespec proc `<=`(a, b: Timespec): bool 90
-nim `<` cligen/posixUt.html#<,Timespec,Timespec proc `<`(a, b: Timespec): bool 92
-nim `-` cligen/posixUt.html#-,Timespec,Timespec proc `-`(a, b: Timespec): int 94
-nim `$` cligen/posixUt.html#$,Timespec proc `$`(x: Timespec): string 98
-nim argParse cligen/posixUt.html#argParse,Timespec,Timespec,ArgcvtParams proc argParse(dst: var Timespec; dfl: Timespec; a: var ArgcvtParams): bool 104
-nim argHelp cligen/posixUt.html#argHelp,Timespec,ArgcvtParams proc argHelp(dfl: Timespec; a: var ArgcvtParams): seq[string] 132
-nim nsToTimeval cligen/posixUt.html#nsToTimeval,int64 proc nsToTimeval(ns: int64): Timeval 135
-nim toUidSet cligen/posixUt.html#toUidSet,seq[string] proc toUidSet(strs: seq[string]): HashSet[Uid] 139
-nim toGidSet cligen/posixUt.html#toGidSet,seq[string] proc toGidSet(strs: seq[string]): HashSet[Gid] 145
-nim getgroups cligen/posixUt.html#getgroups,HashSet[Gid] proc getgroups(gids: var HashSet[Gid]) 151
-nim getgroups cligen/posixUt.html#getgroups proc getgroups(): HashSet[Gid] 161
-nim users cligen/posixUt.html#users proc users(): Table[Uid, string] 179
-nim groups cligen/posixUt.html#groups proc groups(): Table[Gid, string] 180
-nim userIds cligen/posixUt.html#userIds proc userIds(): Table[string, Uid] 200
-nim groupIds cligen/posixUt.html#groupIds proc groupIds(): Table[string, Gid] 201
-nim readlink cligen/posixUt.html#readlink,string proc readlink(path: string; err = stderr): string 203
-nim `$` cligen/posixUt.html#$,Stat proc `$`(st: Stat): string 219
-nim stat2dtype cligen/posixUt.html#stat2dtype,Mode proc stat2dtype(st_mode: Mode): int8 234
-nim getDents cligen/posixUt.html#getDents,cint,Stat,ptr.seq[int8],ptr.seq[Ino],int proc getDents(fd: cint; st: Stat; dts: ptr seq[int8] = nil; inos: ptr seq[Ino] = nil;\n avgLen = 24): seq[string] 238
-nim ns cligen/posixUt.html#ns,Timespec proc ns(t: Timespec): int 255
-nim getTmNs cligen/posixUt.html#getTmNs proc getTmNs(clockId = CLOCK_REALTIME): int 262
-nim dtNs cligen/posixUt.html#dtNs,int proc dtNs(t0: int; clockId = CLOCK_REALTIME): int 266
-nim fileTimeParse cligen/posixUt.html#fileTimeParse,string proc fileTimeParse(code: string): tuple[tim: char, dir: int] 270
-nim fileTime cligen/posixUt.html#fileTime,Stat,char,int proc fileTime(st: Stat; tim: char; dir: int): int 284
-nim fileTime cligen/posixUt.html#fileTime,Stat,string proc fileTime(st: Stat; code: string): int 293
-nim getLastAccTimeNs cligen/posixUt.html#getLastAccTimeNs,Stat proc getLastAccTimeNs(st`gensym83: Stat): int 299
-nim getLastAccTimeNs cligen/posixUt.html#getLastAccTimeNs,string proc getLastAccTimeNs(path`gensym83: string): int 303
-nim getLastModTimeNs cligen/posixUt.html#getLastModTimeNs,Stat proc getLastModTimeNs(st`gensym84: Stat): int 299
-nim getLastModTimeNs cligen/posixUt.html#getLastModTimeNs,string proc getLastModTimeNs(path`gensym84: string): int 304
-nim getCreationTimeNs cligen/posixUt.html#getCreationTimeNs,Stat proc getCreationTimeNs(st`gensym85: Stat): int 299
-nim getCreationTimeNs cligen/posixUt.html#getCreationTimeNs,string proc getCreationTimeNs(path`gensym85: string): int 305
-nim strftimeCodes cligen/posixUt.html#strftimeCodes let strftimeCodes 307
-nim strftime cligen/posixUt.html#strftime,string,Timespec proc strftime(fmt: string; ts: Timespec): string 313
-nim PathId cligen/posixUt.html#PathId tuple PathId 340
-nim pathId cligen/posixUt.html#pathId,string proc pathId(path: string): PathId 341
-nim `==` cligen/posixUt.html#==,PathId,PathId proc `==`(a, b: PathId): bool 346
-nim hash cligen/posixUt.html#hash,PathId proc hash(x: PathId): int 347
-nim readFile cligen/posixUt.html#readFile,string,string,ptr.Stat,int proc readFile(path: string; buf: var string; st: ptr Stat = nil; perRead = 4096) 349
-nim nanosleep cligen/posixUt.html#nanosleep,Timespec proc nanosleep(delay: Timespec) 376
-nim nice cligen/posixUt.html#nice,Pid,cint proc nice(pid: Pid; niceIncr: cint): int 388
-nim statOk cligen/posixUt.html#statOk,string,ptr.Stat proc statOk(path: string; st: ptr Stat = nil; err = stderr): bool 398
-nim lstatOk cligen/posixUt.html#lstatOk,string,ptr.Stat proc lstatOk(path: string; st: ptr Stat = nil; err = stderr): bool 408
-nim st_inode cligen/posixUt.html#st_inode,string proc st_inode(path: string; err = stderr): Ino 418
-nim dirEntries cligen/posixUt.html#dirEntries.i,string,ptr.Stat,ptr.bool,ptr.int8 iterator dirEntries(dir: string; st: ptr Stat = nil; canRec: ptr bool = nil;\n dt: ptr int8 = nil; err = stderr; follow = false; relative = false): string 434
-nim recEntries cligen/posixUt.html#recEntries.i,string,ptr.Stat,ptr.int8,int iterator recEntries(dir: string; st: ptr Stat = nil; dt: ptr int8 = nil; follow = false;\n maxDepth = 0; err = stderr): string 481
-nim recEntries cligen/posixUt.html#recEntries,,ptr.Stat,ptr.int8,int proc recEntries(it: iterator (): string; st: ptr Stat = nil; dt: ptr int8 = nil;\n follow = false; maxDepth = 0; err = stderr): iterator (): string 535
-nim paths cligen/posixUt.html#paths.i,seq[string],int,string,char,ptr.Stat,ptr.int8 iterator paths(roots: seq[string]; maxDepth = 0; follow = false; file = ""; delim = '\n';\n err = stderr; st: ptr Stat = nil; dt: ptr int8 = nil): string 542
-nim setGroups cligen/posixUt.html#setGroups,csize,ptr.Gid proc setGroups(size: csize; list: ptr Gid): cint 554
-nim initGroups cligen/posixUt.html#initGroups,cstring,Gid proc initGroups(user: cstring; group: Gid): cint 557
-nim dropPrivilegeTo cligen/posixUt.html#dropPrivilegeTo,string,string proc dropPrivilegeTo(newUser, newGroup: string; err = stderr): bool 560
-nim system cligen/posixUt.html#system,cstringArray proc system(csa: cstringArray; wait = true): cint 599
-nim reapAnyKids cligen/posixUt.html#reapAnyKids,cint proc reapAnyKids(signo: cint) 613
-nim fkFile cligen/posixUt.html#fkFile FileKind.fkFile 619
-nim fkDir cligen/posixUt.html#fkDir FileKind.fkDir 619
-nim fkLink cligen/posixUt.html#fkLink FileKind.fkLink 619
-nim fkBlk cligen/posixUt.html#fkBlk FileKind.fkBlk 619
-nim fkChr cligen/posixUt.html#fkChr FileKind.fkChr 619
-nim fkPipe cligen/posixUt.html#fkPipe FileKind.fkPipe 619
-nim fkSock cligen/posixUt.html#fkSock FileKind.fkSock 619
-nim FileKind cligen/posixUt.html#FileKind enum FileKind 619
-nim match cligen/posixUt.html#match,,set[FileKind] proc match(m: Mode | uint16; kinds: set[FileKind]): bool 623
-nim MADV_NORMAL cligen/posixUt.html#MADV_NORMAL let MADV_NORMAL 43
-nim MADV_SEQUENTIAL cligen/posixUt.html#MADV_SEQUENTIAL let MADV_SEQUENTIAL 43
-nim MADV_RANDOM cligen/posixUt.html#MADV_RANDOM let MADV_RANDOM 43
-nim MADV_WILLNEED cligen/posixUt.html#MADV_WILLNEED let MADV_WILLNEED 43
-nim MADV_DONTNEED cligen/posixUt.html#MADV_DONTNEED let MADV_DONTNEED 43
-nim madvise cligen/posixUt.html#madvise,pointer,int,cint proc madvise(mem: pointer; len: int; advice: cint): int 640
-nim pathToSelf cligen/posixUt.html#pathToSelf,cstringArray proc pathToSelf(av: cstringArray): string 645
-nim findAssociated cligen/posixUt.html#findAssociated,cstringArray,string proc findAssociated(av: cstringArray; parentBase = "etc/foo"): string 663
-nimgrp getlastacctimens cligen/posixUt.html#getLastAccTimeNs-procs-all proc 303
-nimgrp getlastmodtimens cligen/posixUt.html#getLastModTimeNs-procs-all proc 304
-nimgrp getcreationtimens cligen/posixUt.html#getCreationTimeNs-procs-all proc 305
-nimgrp $ cligen/posixUt.html#$-procs-all proc 98
-nimgrp getgroups cligen/posixUt.html#getgroups-procs-all proc 151
-nimgrp filetime cligen/posixUt.html#fileTime-procs-all proc 284
+nim openat cligen/posixUt.html#openat,cint,cstring,cint proc openat(dirfd: cint; path: cstring; flags: cint): cint 9
+nim fstatat cligen/posixUt.html#fstatat,cint,cstring,Stat,cint proc fstatat(dirfd: cint; path: cstring; stx: var Stat; flags: cint): cint 11
+nim faccessat cligen/posixUt.html#faccessat,cint,cstring,cint,cint proc faccessat(dirfd: cint; path: cstring; mode: cint; flags: cint): cint 13
+nim fchmodat cligen/posixUt.html#fchmodat,cint,cstring,Mode,cint proc fchmodat(dirfd: cint; path: cstring; mode: Mode; flags: cint): cint 15
+nim fchownat cligen/posixUt.html#fchownat,cint,cstring,Uid,Gid,cint proc fchownat(dirfd: cint; path: cstring; owner: Uid; group: Gid; flags: cint): cint 17
+nim futimesat cligen/posixUt.html#futimesat,cint,cstring,array[,Timeval] proc futimesat(dirfd: cint; path: cstring; times: array[2, Timeval]): cint 19
+nim utimensat cligen/posixUt.html#utimensat,cint,cstring,array[,Timespec],cint proc utimensat(dirfd: cint; path: cstring; times: array[2, Timespec]; flags: cint): cint 21
+nim futimens cligen/posixUt.html#futimens,cint,array[,Timespec] proc futimens(fd: cint; times: array[2, Timespec]): cint 23
+nim linkat cligen/posixUt.html#linkat,cint,cstring,cint,cstring,cint proc linkat(olddirfd: cint; oldpath: cstring; newdirfd: cint; newpath: cstring;\n flags: cint): cint 25
+nim mkdirat cligen/posixUt.html#mkdirat,cint,cstring,Mode proc mkdirat(dirfd: cint; path: cstring; mode: Mode): cint 27
+nim mknodat cligen/posixUt.html#mknodat,cint,cstring,Mode,Dev proc mknodat(dirfd: cint; path: cstring; mode: Mode; dev: Dev): cint 29
+nim symlinkat cligen/posixUt.html#symlinkat,cstring,cint,cstring proc symlinkat(target: cstring; newdirfd: cint; linkpath: cstring): cint 31
+nim readlinkat cligen/posixUt.html#readlinkat,cint,cstring,cstring,csize proc readlinkat(dirfd: cint; path: cstring; buf: cstring; bufsiz: csize): clong 33
+nim unlinkat cligen/posixUt.html#unlinkat,cint,cstring,cint proc unlinkat(dirfd: cint; path: cstring; flags: cint): cint 35
+nim renameat cligen/posixUt.html#renameat,cint,cstring,cint,cstring proc renameat(olddirfd: cint; oldpath: cstring; newdirfd: cint; newpath: cstring): cint 37
+nim rename cligen/posixUt.html#rename,cstring,cstring proc rename(oldpath, newpath: cstring): cint 39
+nim impConstAs cligen/posixUt.html#impConstAs.t,untyped,string,, template impConstAs(T: untyped; path: string; name, nimName): untyped 42
+nim impConst cligen/posixUt.html#impConst.t,untyped,string,untyped template impConst(T: untyped; path: string; name: untyped): untyped 46
+nim impCint cligen/posixUt.html#impCint.t,string,untyped template impCint(path: string; name: untyped): untyped 50
+nim AT_FDCWD cligen/posixUt.html#AT_FDCWD let AT_FDCWD 48
+nim AT_SYMLINK_NOFOLLOW cligen/posixUt.html#AT_SYMLINK_NOFOLLOW let AT_SYMLINK_NOFOLLOW 48
+nim AT_REMOVEDIR cligen/posixUt.html#AT_REMOVEDIR let AT_REMOVEDIR 48
+nim AT_SYMLINK_FOLLOW cligen/posixUt.html#AT_SYMLINK_FOLLOW let AT_SYMLINK_FOLLOW 48
+nim AT_EACCESS cligen/posixUt.html#AT_EACCESS let AT_EACCESS 48
+nim UTIME_NOW cligen/posixUt.html#UTIME_NOW let UTIME_NOW 48
+nim UTIME_OMIT cligen/posixUt.html#UTIME_OMIT let UTIME_OMIT 48
+nim AT_NO_AUTOMOUNT cligen/posixUt.html#AT_NO_AUTOMOUNT const AT_NO_AUTOMOUNT 62
+nim AT_EMPTY_PATH cligen/posixUt.html#AT_EMPTY_PATH const AT_EMPTY_PATH 63
+nim renameat2 cligen/posixUt.html#renameat2,cint,cstring,cint,cstring,cint proc renameat2(olddirfd: cint; oldpath: cstring; newdirfd: cint; newpath: cstring;\n flags: cint): cint 64
+nim log cligen/posixUt.html#log,File,string proc log(f: File; s: string) 67
+nim localAlloc cligen/posixUt.html#localAlloc.t,,typedesc template localAlloc(param; typ: typedesc) 71
+nim getTime cligen/posixUt.html#getTime proc getTime(clockId = CLOCK_REALTIME): Timespec 82
+nim cmp cligen/posixUt.html#cmp,Timespec,Timespec proc cmp(a, b: Timespec): int 86
+nim `<=` cligen/posixUt.html#<=,Timespec,Timespec proc `<=`(a, b: Timespec): bool 91
+nim `<` cligen/posixUt.html#<,Timespec,Timespec proc `<`(a, b: Timespec): bool 93
+nim `-` cligen/posixUt.html#-,Timespec,Timespec proc `-`(a, b: Timespec): int 95
+nim `$` cligen/posixUt.html#$,Timespec proc `$`(x: Timespec): string 99
+nim argParse cligen/posixUt.html#argParse,Timespec,Timespec,ArgcvtParams proc argParse(dst: var Timespec; dfl: Timespec; a: var ArgcvtParams): bool 105
+nim argHelp cligen/posixUt.html#argHelp,Timespec,ArgcvtParams proc argHelp(dfl: Timespec; a: var ArgcvtParams): seq[string] 133
+nim nsToTimeval cligen/posixUt.html#nsToTimeval,int64 proc nsToTimeval(ns: int64): Timeval 136
+nim toUidSet cligen/posixUt.html#toUidSet,seq[string] proc toUidSet(strs: seq[string]): HashSet[Uid] 140
+nim toGidSet cligen/posixUt.html#toGidSet,seq[string] proc toGidSet(strs: seq[string]): HashSet[Gid] 146
+nim getgroups cligen/posixUt.html#getgroups,HashSet[Gid] proc getgroups(gids: var HashSet[Gid]) 152
+nim getgroups cligen/posixUt.html#getgroups proc getgroups(): HashSet[Gid] 162
+nim users cligen/posixUt.html#users proc users(): Table[Uid, string] 180
+nim groups cligen/posixUt.html#groups proc groups(): Table[Gid, string] 181
+nim userIds cligen/posixUt.html#userIds proc userIds(): Table[string, Uid] 201
+nim groupIds cligen/posixUt.html#groupIds proc groupIds(): Table[string, Gid] 202
+nim readlink cligen/posixUt.html#readlink,string proc readlink(path: string; err = stderr): string 204
+nim `$` cligen/posixUt.html#$,Stat proc `$`(st: Stat): string 220
+nim stat2dtype cligen/posixUt.html#stat2dtype,Mode proc stat2dtype(st_mode: Mode): int8 235
+nim getDents cligen/posixUt.html#getDents,cint,Stat,ptr.seq[int8],ptr.seq[Ino],int proc getDents(fd: cint; st: Stat; dts: ptr seq[int8] = nil; inos: ptr seq[Ino] = nil;\n avgLen = 24): seq[string] 239
+nim ns cligen/posixUt.html#ns,Timespec proc ns(t: Timespec): int 256
+nim getTmNs cligen/posixUt.html#getTmNs proc getTmNs(clockId = CLOCK_REALTIME): int 263
+nim dtNs cligen/posixUt.html#dtNs,int proc dtNs(t0: int; clockId = CLOCK_REALTIME): int 267
+nim fileTimeParse cligen/posixUt.html#fileTimeParse,string proc fileTimeParse(code: string): tuple[tim: char, dir: int] 271
+nim fileTime cligen/posixUt.html#fileTime,Stat,char,int proc fileTime(st: Stat; tim: char; dir: int): int 285
+nim fileTime cligen/posixUt.html#fileTime,Stat,string proc fileTime(st: Stat; code: string): int 294
+nim getLastAccTimeNs cligen/posixUt.html#getLastAccTimeNs,Stat proc getLastAccTimeNs(st`gensym83: Stat): int 300
+nim getLastAccTimeNs cligen/posixUt.html#getLastAccTimeNs,string proc getLastAccTimeNs(path`gensym83: string): int 304
+nim getLastModTimeNs cligen/posixUt.html#getLastModTimeNs,Stat proc getLastModTimeNs(st`gensym84: Stat): int 300
+nim getLastModTimeNs cligen/posixUt.html#getLastModTimeNs,string proc getLastModTimeNs(path`gensym84: string): int 305
+nim getCreationTimeNs cligen/posixUt.html#getCreationTimeNs,Stat proc getCreationTimeNs(st`gensym85: Stat): int 300
+nim getCreationTimeNs cligen/posixUt.html#getCreationTimeNs,string proc getCreationTimeNs(path`gensym85: string): int 306
+nim strftimeCodes cligen/posixUt.html#strftimeCodes let strftimeCodes 308
+nim strftime cligen/posixUt.html#strftime,string,Timespec proc strftime(fmt: string; ts: Timespec): string 314
+nim PathId cligen/posixUt.html#PathId tuple PathId 341
+nim pathId cligen/posixUt.html#pathId,string proc pathId(path: string): PathId 342
+nim `==` cligen/posixUt.html#==,PathId,PathId proc `==`(a, b: PathId): bool 347
+nim hash cligen/posixUt.html#hash,PathId proc hash(x: PathId): int 348
+nim readFile cligen/posixUt.html#readFile,string,string,ptr.Stat,int proc readFile(path: string; buf: var string; st: ptr Stat = nil; perRead = 4096) 350
+nim nanosleep cligen/posixUt.html#nanosleep,Timespec proc nanosleep(delay: Timespec) 377
+nim nice cligen/posixUt.html#nice,Pid,cint proc nice(pid: Pid; niceIncr: cint): int 389
+nim statOk cligen/posixUt.html#statOk,string,ptr.Stat proc statOk(path: string; st: ptr Stat = nil; err = stderr): bool 399
+nim lstatOk cligen/posixUt.html#lstatOk,string,ptr.Stat proc lstatOk(path: string; st: ptr Stat = nil; err = stderr): bool 409
+nim st_inode cligen/posixUt.html#st_inode,string proc st_inode(path: string; err = stderr): Ino 419
+nim dirEntries cligen/posixUt.html#dirEntries.i,string,ptr.Stat,ptr.bool,ptr.int8 iterator dirEntries(dir: string; st: ptr Stat = nil; canRec: ptr bool = nil;\n dt: ptr int8 = nil; err = stderr; follow = false; relative = false): string 435
+nim recEntries cligen/posixUt.html#recEntries.i,string,ptr.Stat,ptr.int8,int iterator recEntries(dir: string; st: ptr Stat = nil; dt: ptr int8 = nil; follow = false;\n maxDepth = 0; err = stderr): string 482
+nim recEntries cligen/posixUt.html#recEntries,,ptr.Stat,ptr.int8,int proc recEntries(it: iterator (): string; st: ptr Stat = nil; dt: ptr int8 = nil;\n follow = false; maxDepth = 0; err = stderr): iterator (): string 536
+nim paths cligen/posixUt.html#paths.i,seq[string],int,string,char,ptr.Stat,ptr.int8 iterator paths(roots: seq[string]; maxDepth = 0; follow = false; file = ""; delim = '\n';\n err = stderr; st: ptr Stat = nil; dt: ptr int8 = nil): string 543
+nim setGroups cligen/posixUt.html#setGroups,csize,ptr.Gid proc setGroups(size: csize; list: ptr Gid): cint 555
+nim initGroups cligen/posixUt.html#initGroups,cstring,Gid proc initGroups(user: cstring; group: Gid): cint 558
+nim dropPrivilegeTo cligen/posixUt.html#dropPrivilegeTo,string,string proc dropPrivilegeTo(newUser, newGroup: string; err = stderr): bool 561
+nim system cligen/posixUt.html#system,cstringArray proc system(csa: cstringArray; wait = true): cint 600
+nim reapAnyKids cligen/posixUt.html#reapAnyKids,cint proc reapAnyKids(signo: cint) 614
+nim fkFile cligen/posixUt.html#fkFile FileKind.fkFile 620
+nim fkDir cligen/posixUt.html#fkDir FileKind.fkDir 620
+nim fkLink cligen/posixUt.html#fkLink FileKind.fkLink 620
+nim fkBlk cligen/posixUt.html#fkBlk FileKind.fkBlk 620
+nim fkChr cligen/posixUt.html#fkChr FileKind.fkChr 620
+nim fkPipe cligen/posixUt.html#fkPipe FileKind.fkPipe 620
+nim fkSock cligen/posixUt.html#fkSock FileKind.fkSock 620
+nim FileKind cligen/posixUt.html#FileKind enum FileKind 620
+nim match cligen/posixUt.html#match,,set[FileKind] proc match(m: Mode | uint16; kinds: set[FileKind]): bool 624
+nim MADV_NORMAL cligen/posixUt.html#MADV_NORMAL let MADV_NORMAL 44
+nim MADV_SEQUENTIAL cligen/posixUt.html#MADV_SEQUENTIAL let MADV_SEQUENTIAL 44
+nim MADV_RANDOM cligen/posixUt.html#MADV_RANDOM let MADV_RANDOM 44
+nim MADV_WILLNEED cligen/posixUt.html#MADV_WILLNEED let MADV_WILLNEED 44
+nim MADV_DONTNEED cligen/posixUt.html#MADV_DONTNEED let MADV_DONTNEED 44
+nim madvise cligen/posixUt.html#madvise,pointer,int,cint proc madvise(mem: pointer; len: int; advice: cint): int 641
+nim pathToSelf cligen/posixUt.html#pathToSelf,cstringArray proc pathToSelf(av: cstringArray): string 646
+nim findAssociated cligen/posixUt.html#findAssociated,cstringArray,string proc findAssociated(av: cstringArray; parentBase = "etc/foo"): string 664
+nimgrp getlastacctimens cligen/posixUt.html#getLastAccTimeNs-procs-all proc 304
+nimgrp getlastmodtimens cligen/posixUt.html#getLastModTimeNs-procs-all proc 305
+nimgrp getcreationtimens cligen/posixUt.html#getCreationTimeNs-procs-all proc 306
+nimgrp $ cligen/posixUt.html#$-procs-all proc 99
+nimgrp getgroups cligen/posixUt.html#getgroups-procs-all proc 152
+nimgrp filetime cligen/posixUt.html#fileTime-procs-all proc 285
diff --git a/cligen/print.html b/cligen/print.html
index c029768e..db415572 100644
--- a/cligen/print.html
+++ b/cligen/print.html
@@ -16,10 +16,10 @@
-
+
-
+
@@ -228,7 +228,7 @@
- Made with Nim. Generated: 2024-11-24 14:29:04 UTC
+ Made with Nim. Generated: 2024-12-24 14:28:16 UTC
diff --git a/cligen/procpool.html b/cligen/procpool.html
index 71b925be..a90541a6 100644
--- a/cligen/procpool.html
+++ b/cligen/procpool.html
@@ -16,10 +16,10 @@
-
+
-
+
@@ -470,7 +470,7 @@
- Made with Nim. Generated: 2024-11-24 14:29:04 UTC
+ Made with Nim. Generated: 2024-12-24 14:28:16 UTC
diff --git a/cligen/puSig.html b/cligen/puSig.html
index 5e98459e..1b4a6037 100644
--- a/cligen/puSig.html
+++ b/cligen/puSig.html
@@ -16,10 +16,10 @@
-
+
-
+
@@ -159,7 +159,7 @@
- Made with Nim. Generated: 2024-11-24 14:29:04 UTC
+ Made with Nim. Generated: 2024-12-24 14:28:16 UTC
diff --git a/cligen/statx.html b/cligen/statx.html
index 584036ff..80fc5608 100644
--- a/cligen/statx.html
+++ b/cligen/statx.html
@@ -16,10 +16,10 @@
-
+
-
+
@@ -1116,7 +1116,7 @@
- Made with Nim. Generated: 2024-11-24 14:29:04 UTC
+ Made with Nim. Generated: 2024-12-24 14:28:16 UTC
diff --git a/cligen/statx.idx b/cligen/statx.idx
index 9684e6df..e51f6550 100644
--- a/cligen/statx.idx
+++ b/cligen/statx.idx
@@ -6,30 +6,30 @@ nim `<` cligen/statx.html#<,StatxTs,StatxTs proc `<`(x, y: StatxTs): bool 67
nim `<=` cligen/statx.html#<=,StatxTs,StatxTs proc `<=`(x, y: StatxTs): bool 70
nim toInt64 cligen/statx.html#toInt64,StatxTs proc toInt64(t: StatxTs): int64 73
nim toStatxTs cligen/statx.html#toStatxTs,int64 proc toStatxTs(t: int64): StatxTs 77
-nim AT_STATX_SYNC_TYPE cligen/statx.html#AT_STATX_SYNC_TYPE let AT_STATX_SYNC_TYPE 47
-nim AT_STATX_SYNC_AS_STAT cligen/statx.html#AT_STATX_SYNC_AS_STAT let AT_STATX_SYNC_AS_STAT 47
-nim AT_STATX_FORCE_SYNC cligen/statx.html#AT_STATX_FORCE_SYNC let AT_STATX_FORCE_SYNC 47
-nim AT_STATX_DONT_SYNC cligen/statx.html#AT_STATX_DONT_SYNC let AT_STATX_DONT_SYNC 47
-nim STATX_TYPE cligen/statx.html#STATX_TYPE let STATX_TYPE 47
-nim STATX_MODE cligen/statx.html#STATX_MODE let STATX_MODE 47
-nim STATX_NLINK cligen/statx.html#STATX_NLINK let STATX_NLINK 47
-nim STATX_UID cligen/statx.html#STATX_UID let STATX_UID 47
-nim STATX_GID cligen/statx.html#STATX_GID let STATX_GID 47
-nim STATX_ATIME cligen/statx.html#STATX_ATIME let STATX_ATIME 47
-nim STATX_MTIME cligen/statx.html#STATX_MTIME let STATX_MTIME 47
-nim STATX_CTIME cligen/statx.html#STATX_CTIME let STATX_CTIME 47
-nim STATX_INO cligen/statx.html#STATX_INO let STATX_INO 47
-nim STATX_SIZE cligen/statx.html#STATX_SIZE let STATX_SIZE 47
-nim STATX_BLOCKS cligen/statx.html#STATX_BLOCKS let STATX_BLOCKS 47
-nim STATX_BASIC_STATS cligen/statx.html#STATX_BASIC_STATS let STATX_BASIC_STATS 47
-nim STATX_ALL cligen/statx.html#STATX_ALL let STATX_ALL 47
-nim STATX_BTIME cligen/statx.html#STATX_BTIME let STATX_BTIME 47
-nim STATX_ATTR_COMPRESSED cligen/statx.html#STATX_ATTR_COMPRESSED let STATX_ATTR_COMPRESSED 47
-nim STATX_ATTR_IMMUTABLE cligen/statx.html#STATX_ATTR_IMMUTABLE let STATX_ATTR_IMMUTABLE 47
-nim STATX_ATTR_APPEND cligen/statx.html#STATX_ATTR_APPEND let STATX_ATTR_APPEND 47
-nim STATX_ATTR_NODUMP cligen/statx.html#STATX_ATTR_NODUMP let STATX_ATTR_NODUMP 47
-nim STATX_ATTR_ENCRYPTED cligen/statx.html#STATX_ATTR_ENCRYPTED let STATX_ATTR_ENCRYPTED 47
-nim STATX_ATTR_AUTOMOUNT cligen/statx.html#STATX_ATTR_AUTOMOUNT let STATX_ATTR_AUTOMOUNT 47
+nim AT_STATX_SYNC_TYPE cligen/statx.html#AT_STATX_SYNC_TYPE let AT_STATX_SYNC_TYPE 48
+nim AT_STATX_SYNC_AS_STAT cligen/statx.html#AT_STATX_SYNC_AS_STAT let AT_STATX_SYNC_AS_STAT 48
+nim AT_STATX_FORCE_SYNC cligen/statx.html#AT_STATX_FORCE_SYNC let AT_STATX_FORCE_SYNC 48
+nim AT_STATX_DONT_SYNC cligen/statx.html#AT_STATX_DONT_SYNC let AT_STATX_DONT_SYNC 48
+nim STATX_TYPE cligen/statx.html#STATX_TYPE let STATX_TYPE 48
+nim STATX_MODE cligen/statx.html#STATX_MODE let STATX_MODE 48
+nim STATX_NLINK cligen/statx.html#STATX_NLINK let STATX_NLINK 48
+nim STATX_UID cligen/statx.html#STATX_UID let STATX_UID 48
+nim STATX_GID cligen/statx.html#STATX_GID let STATX_GID 48
+nim STATX_ATIME cligen/statx.html#STATX_ATIME let STATX_ATIME 48
+nim STATX_MTIME cligen/statx.html#STATX_MTIME let STATX_MTIME 48
+nim STATX_CTIME cligen/statx.html#STATX_CTIME let STATX_CTIME 48
+nim STATX_INO cligen/statx.html#STATX_INO let STATX_INO 48
+nim STATX_SIZE cligen/statx.html#STATX_SIZE let STATX_SIZE 48
+nim STATX_BLOCKS cligen/statx.html#STATX_BLOCKS let STATX_BLOCKS 48
+nim STATX_BASIC_STATS cligen/statx.html#STATX_BASIC_STATS let STATX_BASIC_STATS 48
+nim STATX_ALL cligen/statx.html#STATX_ALL let STATX_ALL 48
+nim STATX_BTIME cligen/statx.html#STATX_BTIME let STATX_BTIME 48
+nim STATX_ATTR_COMPRESSED cligen/statx.html#STATX_ATTR_COMPRESSED let STATX_ATTR_COMPRESSED 48
+nim STATX_ATTR_IMMUTABLE cligen/statx.html#STATX_ATTR_IMMUTABLE let STATX_ATTR_IMMUTABLE 48
+nim STATX_ATTR_APPEND cligen/statx.html#STATX_ATTR_APPEND let STATX_ATTR_APPEND 48
+nim STATX_ATTR_NODUMP cligen/statx.html#STATX_ATTR_NODUMP let STATX_ATTR_NODUMP 48
+nim STATX_ATTR_ENCRYPTED cligen/statx.html#STATX_ATTR_ENCRYPTED let STATX_ATTR_ENCRYPTED 48
+nim STATX_ATTR_AUTOMOUNT cligen/statx.html#STATX_ATTR_AUTOMOUNT let STATX_ATTR_AUTOMOUNT 48
nim statxFlags cligen/statx.html#statxFlags var statxFlags 113
nim statxMask cligen/statx.html#statxMask var statxMask 114
nim statx cligen/statx.html#statx,cint,cstring,cint,cint,ptr.Statx proc statx(dirfd: cint; path: cstring; flags: cint; mask: cint; stx: ptr Statx): cint 116
diff --git a/cligen/strUt.html b/cligen/strUt.html
index 936211c1..49eede92 100644
--- a/cligen/strUt.html
+++ b/cligen/strUt.html
@@ -16,10 +16,10 @@
-
+
-
+
@@ -692,7 +692,7 @@
- Made with Nim. Generated: 2024-11-24 14:29:04 UTC
+ Made with Nim. Generated: 2024-12-24 14:28:16 UTC
diff --git a/cligen/strUt.idx b/cligen/strUt.idx
index 34fa5e90..d9ba54aa 100644
--- a/cligen/strUt.idx
+++ b/cligen/strUt.idx
@@ -1,45 +1,45 @@
nimTitle strUt cligen/strUt.html module cligen/strUt 0
-nim hashCB cligen/strUt.html#hashCB,openArray[char] proc hashCB(x: openArray[char]): uint64 4
-nim hashWY cligen/strUt.html#hashWY,openArray[char] proc hashWY(x: openArray[char]): uint64 55
-nim startsWithI cligen/strUt.html#startsWithI,string,string proc startsWithI(s, prefix: string): bool 70
-nim endsWithI cligen/strUt.html#endsWithI,string,string proc endsWithI(s, suffix: string): bool 78
-nim `-` cligen/strUt.html#-,openArray[string],openArray[string] proc `-`(a, b: openArray[string]): seq[string] 87
-nim split cligen/strUt.html#split,seq[T],T proc split[T](st: seq[T]; delim: T): seq[seq[T]] 95
-nim joins cligen/strUt.html#joins,seq[seq[T]],T proc joins[T](sst: seq[seq[T]]; delim: T): seq[T] 107
-nim joinS cligen/strUt.html#joinS,string,varargs[string,] proc joinS(sep = " "; a: varargs[string, `$`]): string 116
-nim commentStrip cligen/strUt.html#commentStrip,string proc commentStrip(s: string): string 123
-nim uint64toDecimal cligen/strUt.html#uint64toDecimal,openArray[char],uint64 proc uint64toDecimal(res: var openArray[char]; x: uint64): int 185
-nim fcPad0 cligen/strUt.html#fcPad0 FloatCvtOptions.fcPad0 221
-nim fcCapital cligen/strUt.html#fcCapital FloatCvtOptions.fcCapital 221
-nim fcPlus cligen/strUt.html#fcPlus FloatCvtOptions.fcPlus 221
-nim fcTrailDot cligen/strUt.html#fcTrailDot FloatCvtOptions.fcTrailDot 221
-nim fcTrailDot0 cligen/strUt.html#fcTrailDot0 FloatCvtOptions.fcTrailDot0 221
-nim fcExp23 cligen/strUt.html#fcExp23 FloatCvtOptions.fcExp23 221
-nim fcExp3 cligen/strUt.html#fcExp3 FloatCvtOptions.fcExp3 221
-nim fcExpPlus cligen/strUt.html#fcExpPlus FloatCvtOptions.fcExpPlus 221
-nim FloatCvtOptions cligen/strUt.html#FloatCvtOptions enum FloatCvtOptions 221
-nim ecvt cligen/strUt.html#ecvt,string,float,int proc ecvt(s: var string; x: float; p = 17; opts = {fcPad0}) 304
-nim ecvt2 cligen/strUt.html#ecvt2,string,string,float,int,bool,int proc ecvt2(man, exp: var string; x: float; p = 17; opts = {fcPad0};\n bumped: var bool = doNotUseB; expon: var int = doNotUseI) 316
-nim fcvt cligen/strUt.html#fcvt,string,float,int proc fcvt(s: var string; x: float; p: int; opts = {fcPad0}) 327
-nim find cligen/strUt.html#find,openArray[char],char,Natural,int proc find(s: openArray[char]; sub: char; start: Natural = 0; last = 0): int 373
-nim toString cligen/strUt.html#toString,openArray[char] proc toString(s: openArray[char]): string 384
-nim add cligen/strUt.html#add,string,openArray[char] proc add(result: var string; a: openArray[char]) 388
-nim alphaNum cligen/strUt.html#alphaNum const alphaNum 397
-nim idIsLiteral cligen/strUt.html#idIsLiteral,Slice[int] proc idIsLiteral(id: Slice[int]): bool 399
-nim MacroCall cligen/strUt.html#MacroCall type MacroCall 402
-nim tmplParse cligen/strUt.html#tmplParse.i,openArray[char],char iterator tmplParse(fmt: openArray[char]; meta = '$'; ids = alphaNum): MacroCall 403
-nim tmplParsed cligen/strUt.html#tmplParsed,openArray[char],char proc tmplParsed(fmt: openArray[char]; meta = '$'; ids = alphaNum): seq[MacroCall] 462
-nim MacroCallX cligen/strUt.html#MacroCallX type MacroCallX 466
-nim tmplParses cligen/strUt.html#tmplParses,openArray[char],char proc tmplParses(fmt: openArray[char]; meta = '$'; ids = alphaNum): seq[MacroCallX] 467
-nim pmUnicode cligen/strUt.html#pmUnicode const pmUnicode 472
-nim pmUnicodeSpaced cligen/strUt.html#pmUnicodeSpaced const pmUnicodeSpaced 473
-nim pmDfl cligen/strUt.html#pmDfl var pmDfl 476
-nim fmtUncertainParts cligen/strUt.html#fmtUncertainParts,float,float,int proc fmtUncertainParts(val, err: float; sigDigs = 2): (string, string, string,\n string, int) 478
-nim fmtUncertainRender cligen/strUt.html#fmtUncertainRender,string,string,string,string,int,string,seq[MacroCall] proc fmtUncertainRender(vm, ve, um, ue: string; exp: int; fmt: string;\n parse: seq[MacroCall]): string 532
-nim fmtUncertainRender cligen/strUt.html#fmtUncertainRender,float,float,string,string,seq[MacroCall],seq[MacroCall],int proc fmtUncertainRender(val, err: float; fmt0, fmtE: string;\n parse0, parseE: seq[MacroCall]; e0 = -2 .. 4; sigDigs = 2): string 563
-nim fmtUncertain cligen/strUt.html#fmtUncertain,float,float,int proc fmtUncertain(val, err: float; fmt0 = fmtUncertain0; fmtE = fmtUncertainE;\n e0 = -2 .. 4; sigDigs = 2): string 575
-nim fmtUncertainSci cligen/strUt.html#fmtUncertainSci,float,float,int proc fmtUncertainSci(val, err: float; sigDigs = 2): string 584
-nim fmtUncertainVal cligen/strUt.html#fmtUncertainVal,float,float,int proc fmtUncertainVal(val, err: float; sigDigs = 2; e0 = -2 .. 4): string 590
-nim fmtUncertainMergedSci cligen/strUt.html#fmtUncertainMergedSci,float,float,int proc fmtUncertainMergedSci(val, err: float; sigDigs = 2): string 596
-nim fmtUncertainMerged cligen/strUt.html#fmtUncertainMerged,float,float,int proc fmtUncertainMerged(val, err: float; sigDigs = 2; e0 = -2 .. 4): string 604
-nimgrp fmtuncertainrender cligen/strUt.html#fmtUncertainRender-procs-all proc 532
+nim hashCB cligen/strUt.html#hashCB,openArray[char] proc hashCB(x: openArray[char]): uint64 5
+nim hashWY cligen/strUt.html#hashWY,openArray[char] proc hashWY(x: openArray[char]): uint64 56
+nim startsWithI cligen/strUt.html#startsWithI,string,string proc startsWithI(s, prefix: string): bool 71
+nim endsWithI cligen/strUt.html#endsWithI,string,string proc endsWithI(s, suffix: string): bool 79
+nim `-` cligen/strUt.html#-,openArray[string],openArray[string] proc `-`(a, b: openArray[string]): seq[string] 88
+nim split cligen/strUt.html#split,seq[T],T proc split[T](st: seq[T]; delim: T): seq[seq[T]] 96
+nim joins cligen/strUt.html#joins,seq[seq[T]],T proc joins[T](sst: seq[seq[T]]; delim: T): seq[T] 108
+nim joinS cligen/strUt.html#joinS,string,varargs[string,] proc joinS(sep = " "; a: varargs[string, `$`]): string 117
+nim commentStrip cligen/strUt.html#commentStrip,string proc commentStrip(s: string): string 124
+nim uint64toDecimal cligen/strUt.html#uint64toDecimal,openArray[char],uint64 proc uint64toDecimal(res: var openArray[char]; x: uint64): int 186
+nim fcPad0 cligen/strUt.html#fcPad0 FloatCvtOptions.fcPad0 222
+nim fcCapital cligen/strUt.html#fcCapital FloatCvtOptions.fcCapital 222
+nim fcPlus cligen/strUt.html#fcPlus FloatCvtOptions.fcPlus 222
+nim fcTrailDot cligen/strUt.html#fcTrailDot FloatCvtOptions.fcTrailDot 222
+nim fcTrailDot0 cligen/strUt.html#fcTrailDot0 FloatCvtOptions.fcTrailDot0 222
+nim fcExp23 cligen/strUt.html#fcExp23 FloatCvtOptions.fcExp23 222
+nim fcExp3 cligen/strUt.html#fcExp3 FloatCvtOptions.fcExp3 222
+nim fcExpPlus cligen/strUt.html#fcExpPlus FloatCvtOptions.fcExpPlus 222
+nim FloatCvtOptions cligen/strUt.html#FloatCvtOptions enum FloatCvtOptions 222
+nim ecvt cligen/strUt.html#ecvt,string,float,int proc ecvt(s: var string; x: float; p = 17; opts = {fcPad0}) 305
+nim ecvt2 cligen/strUt.html#ecvt2,string,string,float,int,bool,int proc ecvt2(man, exp: var string; x: float; p = 17; opts = {fcPad0};\n bumped: var bool = doNotUseB; expon: var int = doNotUseI) 317
+nim fcvt cligen/strUt.html#fcvt,string,float,int proc fcvt(s: var string; x: float; p: int; opts = {fcPad0}) 328
+nim find cligen/strUt.html#find,openArray[char],char,Natural,int proc find(s: openArray[char]; sub: char; start: Natural = 0; last = 0): int 374
+nim toString cligen/strUt.html#toString,openArray[char] proc toString(s: openArray[char]): string 385
+nim add cligen/strUt.html#add,string,openArray[char] proc add(result: var string; a: openArray[char]) 389
+nim alphaNum cligen/strUt.html#alphaNum const alphaNum 398
+nim idIsLiteral cligen/strUt.html#idIsLiteral,Slice[int] proc idIsLiteral(id: Slice[int]): bool 400
+nim MacroCall cligen/strUt.html#MacroCall type MacroCall 403
+nim tmplParse cligen/strUt.html#tmplParse.i,openArray[char],char iterator tmplParse(fmt: openArray[char]; meta = '$'; ids = alphaNum): MacroCall 404
+nim tmplParsed cligen/strUt.html#tmplParsed,openArray[char],char proc tmplParsed(fmt: openArray[char]; meta = '$'; ids = alphaNum): seq[MacroCall] 463
+nim MacroCallX cligen/strUt.html#MacroCallX type MacroCallX 467
+nim tmplParses cligen/strUt.html#tmplParses,openArray[char],char proc tmplParses(fmt: openArray[char]; meta = '$'; ids = alphaNum): seq[MacroCallX] 468
+nim pmUnicode cligen/strUt.html#pmUnicode const pmUnicode 473
+nim pmUnicodeSpaced cligen/strUt.html#pmUnicodeSpaced const pmUnicodeSpaced 474
+nim pmDfl cligen/strUt.html#pmDfl var pmDfl 477
+nim fmtUncertainParts cligen/strUt.html#fmtUncertainParts,float,float,int proc fmtUncertainParts(val, err: float; sigDigs = 2): (string, string, string,\n string, int) 479
+nim fmtUncertainRender cligen/strUt.html#fmtUncertainRender,string,string,string,string,int,string,seq[MacroCall] proc fmtUncertainRender(vm, ve, um, ue: string; exp: int; fmt: string;\n parse: seq[MacroCall]): string 533
+nim fmtUncertainRender cligen/strUt.html#fmtUncertainRender,float,float,string,string,seq[MacroCall],seq[MacroCall],int proc fmtUncertainRender(val, err: float; fmt0, fmtE: string;\n parse0, parseE: seq[MacroCall]; e0 = -2 .. 4; sigDigs = 2): string 564
+nim fmtUncertain cligen/strUt.html#fmtUncertain,float,float,int proc fmtUncertain(val, err: float; fmt0 = fmtUncertain0; fmtE = fmtUncertainE;\n e0 = -2 .. 4; sigDigs = 2): string 576
+nim fmtUncertainSci cligen/strUt.html#fmtUncertainSci,float,float,int proc fmtUncertainSci(val, err: float; sigDigs = 2): string 585
+nim fmtUncertainVal cligen/strUt.html#fmtUncertainVal,float,float,int proc fmtUncertainVal(val, err: float; sigDigs = 2; e0 = -2 .. 4): string 591
+nim fmtUncertainMergedSci cligen/strUt.html#fmtUncertainMergedSci,float,float,int proc fmtUncertainMergedSci(val, err: float; sigDigs = 2): string 597
+nim fmtUncertainMerged cligen/strUt.html#fmtUncertainMerged,float,float,int proc fmtUncertainMerged(val, err: float; sigDigs = 2; e0 = -2 .. 4): string 605
+nimgrp fmtuncertainrender cligen/strUt.html#fmtUncertainRender-procs-all proc 533
diff --git a/cligen/sysUt.html b/cligen/sysUt.html
index 5585e50c..20345d8b 100644
--- a/cligen/sysUt.html
+++ b/cligen/sysUt.html
@@ -16,10 +16,10 @@
-
+
-
+
@@ -421,7 +421,7 @@
- Made with Nim. Generated: 2024-11-24 14:29:03 UTC
+ Made with Nim. Generated: 2024-12-24 14:28:16 UTC
diff --git a/cligen/sysUt.idx b/cligen/sysUt.idx
index 3a3186df..e29dc102 100644
--- a/cligen/sysUt.idx
+++ b/cligen/sysUt.idx
@@ -1,20 +1,20 @@
nimTitle sysUt cligen/sysUt.html module cligen/sysUt 0
-nim `:=` cligen/sysUt.html#:=,T,T proc `:=`[T](x: var T; y: T): T 2
-nim findUO cligen/sysUt.html#findUO,string,char proc findUO(s: string; c: char): int 7
-nim delete cligen/sysUt.html#delete,string,Natural proc delete(x: var string; i: Natural) 13
-nim maybePar cligen/sysUt.html#maybePar.i,bool,int,int iterator maybePar(parallel: bool; a, b: int): int 21
-nim enumerate cligen/sysUt.html#enumerate.m,ForLoopStmt macro enumerate(x: ForLoopStmt): untyped 30
-nim toItr cligen/sysUt.html#toItr.m,ForLoopStmt macro toItr(x: ForLoopStmt): untyped 47
-nim incd cligen/sysUt.html#incd,T,int proc incd[T: Ordinal | uint | uint64](x: var T; amt = 1): T 60
-nim decd cligen/sysUt.html#decd,T,int proc decd[T: Ordinal | uint | uint64](x: var T; amt = 1): T 64
-nim postInc cligen/sysUt.html#postInc,T,int proc postInc[T: Ordinal | uint | uint64](x: var T; amt = 1): T 68
-nim postDec cligen/sysUt.html#postDec,T,int proc postDec[T: Ordinal | uint | uint64](x: var T; amt = 1): T 72
-nim delItem cligen/sysUt.html#delItem,seq[T],T proc delItem[T](x: var seq[T]; item: T): int 76
-nim seekable cligen/sysUt.html#seekable,File proc seekable(f: File): bool 82
-nim `&` cligen/sysUt.html#&,openArray[T],openArray[T] proc `&`[T](x: openArray[T]; y: openArray[T]): seq[T] 87
-nim echoQuit130 cligen/sysUt.html#echoQuit130 proc echoQuit130() 93
-nim CopyMemable cligen/sysUt.html#CopyMemable type CopyMemable 97
-nim newSeqNoInit cligen/sysUt.html#newSeqNoInit,Natural proc newSeqNoInit[T: CopyMemable](len: Natural): seq[T] 100
-nim toOa cligen/sysUt.html#toOa.t,pointer,int,int template toOa[T](p: pointer; a, b: int): untyped 107
-nim incSat cligen/sysUt.html#incSat,T proc incSat[T: Ordinal](x: var T) 114
-nim decSat cligen/sysUt.html#decSat,T proc decSat[T: Ordinal](x: var T) 116
+nim `:=` cligen/sysUt.html#:=,T,T proc `:=`[T](x: var T; y: T): T 3
+nim findUO cligen/sysUt.html#findUO,string,char proc findUO(s: string; c: char): int 8
+nim delete cligen/sysUt.html#delete,string,Natural proc delete(x: var string; i: Natural) 14
+nim maybePar cligen/sysUt.html#maybePar.i,bool,int,int iterator maybePar(parallel: bool; a, b: int): int 22
+nim enumerate cligen/sysUt.html#enumerate.m,ForLoopStmt macro enumerate(x: ForLoopStmt): untyped 31
+nim toItr cligen/sysUt.html#toItr.m,ForLoopStmt macro toItr(x: ForLoopStmt): untyped 48
+nim incd cligen/sysUt.html#incd,T,int proc incd[T: Ordinal | uint | uint64](x: var T; amt = 1): T 61
+nim decd cligen/sysUt.html#decd,T,int proc decd[T: Ordinal | uint | uint64](x: var T; amt = 1): T 65
+nim postInc cligen/sysUt.html#postInc,T,int proc postInc[T: Ordinal | uint | uint64](x: var T; amt = 1): T 69
+nim postDec cligen/sysUt.html#postDec,T,int proc postDec[T: Ordinal | uint | uint64](x: var T; amt = 1): T 73
+nim delItem cligen/sysUt.html#delItem,seq[T],T proc delItem[T](x: var seq[T]; item: T): int 77
+nim seekable cligen/sysUt.html#seekable,File proc seekable(f: File): bool 83
+nim `&` cligen/sysUt.html#&,openArray[T],openArray[T] proc `&`[T](x: openArray[T]; y: openArray[T]): seq[T] 88
+nim echoQuit130 cligen/sysUt.html#echoQuit130 proc echoQuit130() 94
+nim CopyMemable cligen/sysUt.html#CopyMemable type CopyMemable 98
+nim newSeqNoInit cligen/sysUt.html#newSeqNoInit,Natural proc newSeqNoInit[T: CopyMemable](len: Natural): seq[T] 101
+nim toOa cligen/sysUt.html#toOa.t,pointer,int,int template toOa[T](p: pointer; a, b: int): untyped 108
+nim incSat cligen/sysUt.html#incSat,T proc incSat[T: Ordinal](x: var T) 115
+nim decSat cligen/sysUt.html#decSat,T proc decSat[T: Ordinal](x: var T) 117
diff --git a/cligen/tab.html b/cligen/tab.html
index 742edad7..abb35a26 100644
--- a/cligen/tab.html
+++ b/cligen/tab.html
@@ -16,10 +16,10 @@
-
+
-
+
@@ -191,7 +191,7 @@
- Made with Nim. Generated: 2024-11-24 14:29:04 UTC
+ Made with Nim. Generated: 2024-12-24 14:28:16 UTC
diff --git a/cligen/tern.html b/cligen/tern.html
index 63370dfd..258724ed 100644
--- a/cligen/tern.html
+++ b/cligen/tern.html
@@ -16,10 +16,10 @@
-
+
-
+
@@ -609,7 +609,7 @@
- Made with Nim. Generated: 2024-11-24 14:29:04 UTC
+ Made with Nim. Generated: 2024-12-24 14:28:16 UTC
diff --git a/cligen/tern.idx b/cligen/tern.idx
index fa6f6741..a00a6b8b 100644
--- a/cligen/tern.idx
+++ b/cligen/tern.idx
@@ -1,37 +1,37 @@
nimTitle tern cligen/tern.html module cligen/tern 0
-nim NUL cligen/tern.html#NUL const NUL 12
-nim NodeOb cligen/tern.html#NodeOb object NodeOb 14
-nim Node cligen/tern.html#Node type Node 20
-nim Tern cligen/tern.html#Tern object Tern 21
-nim len cligen/tern.html#len,Tern[T] proc len[T](t: Tern[T]): int 27
-nim rawGet cligen/tern.html#rawGet,Tern[T],string proc rawGet[T](t: Tern[T]; key: string): Node[T] 29
-nim rawPfx cligen/tern.html#rawPfx,Tern[T],string proc rawPfx[T](t: Tern[T]; pfx: string; longest = false): Node[T] 40
-nim rawInsert cligen/tern.html#rawInsert,Tern[T],string proc rawInsert[T](t: var Tern[T]; key: string): Node[T] 54
-nim contains cligen/tern.html#contains,Tern[T],string proc contains[T](t: Tern[T]; key: string): bool 121
-nim `[]` cligen/tern.html#[],Tern[T],string proc `[]`[T](t: Tern[T]; key: string): T 130
-nim `[]` cligen/tern.html#[],Tern[T],string_2 proc `[]`[T](c: var Tern[T]; key: string): var T 134
-nim mgetOrPut cligen/tern.html#mgetOrPut,Tern[T],string,T proc mgetOrPut[T](t: var Tern[T]; key: string; val: T): var T 138
-nim containsOrIncl cligen/tern.html#containsOrIncl,Tern[T],string,T proc containsOrIncl[T](t: var Tern[T]; key: string; val: T): bool 146
-nim containsOrIncl cligen/tern.html#containsOrIncl,Tern[T],string proc containsOrIncl[T](t: var Tern[T]; key: string): bool 154
-nim inc cligen/tern.html#inc,Tern[T],string,int proc inc[T](t: var Tern[T]; key: string; val: int = 1) 160
-nim incl cligen/tern.html#incl,Tern[void],string proc incl(t: var Tern[void]; key: string) 165
-nim incl cligen/tern.html#incl,Tern[T],string,T proc incl[T](t: var Tern[T]; key: string; val: T) 169
-nim `[]=` cligen/tern.html#[]=,Tern[T],string,T proc `[]=`[T](t: var Tern[T]; key: string; val: T) 174
-nim keys cligen/tern.html#keys.i,Tern[T] iterator keys[T](t: Tern[T]): string 179
-nim values cligen/tern.html#values.i,Tern[T] iterator values[T](t: Tern[T]): T 183
-nim mvalues cligen/tern.html#mvalues.i,Tern[T] iterator mvalues[T](t: var Tern[T]): var T 188
-nim items cligen/tern.html#items.i,Tern[T] iterator items[T](t: Tern[T]): string 193
-nim pairs cligen/tern.html#pairs.i,Tern[T] iterator pairs[T](t: Tern[T]): tuple[key: string, val: T] 197
-nim mpairs cligen/tern.html#mpairs.i,Tern[T] iterator mpairs[T](t: var Tern[T]): tuple[key: string, val: var T] 201
-nim `$` cligen/tern.html#$,Tern[T] proc `$`[T](t: Tern[T]): string 205
-nim keysWithPrefix cligen/tern.html#keysWithPrefix.i,Tern[T],string iterator keysWithPrefix[T](t: Tern[T]; prefix: string; longest = false): string 230
-nim valuesWithPrefix cligen/tern.html#valuesWithPrefix.i,Tern[T],string iterator valuesWithPrefix[T](t: Tern[T]; prefix: string; longest = false): T 235
-nim mvaluesWithPrefix cligen/tern.html#mvaluesWithPrefix.i,Tern[T],string iterator mvaluesWithPrefix[T](t: var Tern[T]; prefix: string; longest = false): var T 240
-nim pairsWithPrefix cligen/tern.html#pairsWithPrefix.i,Tern[T],string iterator pairsWithPrefix[T](t: Tern[T]; prefix: string; longest = false): tuple[\n key: string, val: T] 247
-nim mpairsWithPrefix cligen/tern.html#mpairsWithPrefix.i,Tern[T],string iterator mpairsWithPrefix[T](t: var Tern[T]; prefix: string; longest = false): tuple[\n key: string, val: var T] 253
-nim uniquePfxPat cligen/tern.html#uniquePfxPat,Tern[T],string,string proc uniquePfxPat[T](t: Tern[T]; key: string; sep = "*"): string 260
-nim uniquePfxPats cligen/tern.html#uniquePfxPats,openArray[string],string proc uniquePfxPats(x: openArray[string]; sep = "*"): seq[string] 275
-nim uniqueSfxPats cligen/tern.html#uniqueSfxPats,openArray[string],string proc uniqueSfxPats(x: openArray[string]; sep = "*"): seq[string] 282
-nimgrp containsorincl cligen/tern.html#containsOrIncl-procs-all proc 146
-nimgrp [] cligen/tern.html#[]-procs-all proc 130
-nimgrp incl cligen/tern.html#incl-procs-all proc 165
+nim NUL cligen/tern.html#NUL const NUL 13
+nim NodeOb cligen/tern.html#NodeOb object NodeOb 15
+nim Node cligen/tern.html#Node type Node 21
+nim Tern cligen/tern.html#Tern object Tern 22
+nim len cligen/tern.html#len,Tern[T] proc len[T](t: Tern[T]): int 28
+nim rawGet cligen/tern.html#rawGet,Tern[T],string proc rawGet[T](t: Tern[T]; key: string): Node[T] 30
+nim rawPfx cligen/tern.html#rawPfx,Tern[T],string proc rawPfx[T](t: Tern[T]; pfx: string; longest = false): Node[T] 41
+nim rawInsert cligen/tern.html#rawInsert,Tern[T],string proc rawInsert[T](t: var Tern[T]; key: string): Node[T] 55
+nim contains cligen/tern.html#contains,Tern[T],string proc contains[T](t: Tern[T]; key: string): bool 122
+nim `[]` cligen/tern.html#[],Tern[T],string proc `[]`[T](t: Tern[T]; key: string): T 131
+nim `[]` cligen/tern.html#[],Tern[T],string_2 proc `[]`[T](c: var Tern[T]; key: string): var T 135
+nim mgetOrPut cligen/tern.html#mgetOrPut,Tern[T],string,T proc mgetOrPut[T](t: var Tern[T]; key: string; val: T): var T 139
+nim containsOrIncl cligen/tern.html#containsOrIncl,Tern[T],string,T proc containsOrIncl[T](t: var Tern[T]; key: string; val: T): bool 147
+nim containsOrIncl cligen/tern.html#containsOrIncl,Tern[T],string proc containsOrIncl[T](t: var Tern[T]; key: string): bool 155
+nim inc cligen/tern.html#inc,Tern[T],string,int proc inc[T](t: var Tern[T]; key: string; val: int = 1) 161
+nim incl cligen/tern.html#incl,Tern[void],string proc incl(t: var Tern[void]; key: string) 166
+nim incl cligen/tern.html#incl,Tern[T],string,T proc incl[T](t: var Tern[T]; key: string; val: T) 170
+nim `[]=` cligen/tern.html#[]=,Tern[T],string,T proc `[]=`[T](t: var Tern[T]; key: string; val: T) 175
+nim keys cligen/tern.html#keys.i,Tern[T] iterator keys[T](t: Tern[T]): string 180
+nim values cligen/tern.html#values.i,Tern[T] iterator values[T](t: Tern[T]): T 184
+nim mvalues cligen/tern.html#mvalues.i,Tern[T] iterator mvalues[T](t: var Tern[T]): var T 189
+nim items cligen/tern.html#items.i,Tern[T] iterator items[T](t: Tern[T]): string 194
+nim pairs cligen/tern.html#pairs.i,Tern[T] iterator pairs[T](t: Tern[T]): tuple[key: string, val: T] 198
+nim mpairs cligen/tern.html#mpairs.i,Tern[T] iterator mpairs[T](t: var Tern[T]): tuple[key: string, val: var T] 202
+nim `$` cligen/tern.html#$,Tern[T] proc `$`[T](t: Tern[T]): string 206
+nim keysWithPrefix cligen/tern.html#keysWithPrefix.i,Tern[T],string iterator keysWithPrefix[T](t: Tern[T]; prefix: string; longest = false): string 231
+nim valuesWithPrefix cligen/tern.html#valuesWithPrefix.i,Tern[T],string iterator valuesWithPrefix[T](t: Tern[T]; prefix: string; longest = false): T 236
+nim mvaluesWithPrefix cligen/tern.html#mvaluesWithPrefix.i,Tern[T],string iterator mvaluesWithPrefix[T](t: var Tern[T]; prefix: string; longest = false): var T 241
+nim pairsWithPrefix cligen/tern.html#pairsWithPrefix.i,Tern[T],string iterator pairsWithPrefix[T](t: Tern[T]; prefix: string; longest = false): tuple[\n key: string, val: T] 248
+nim mpairsWithPrefix cligen/tern.html#mpairsWithPrefix.i,Tern[T],string iterator mpairsWithPrefix[T](t: var Tern[T]; prefix: string; longest = false): tuple[\n key: string, val: var T] 254
+nim uniquePfxPat cligen/tern.html#uniquePfxPat,Tern[T],string,string proc uniquePfxPat[T](t: Tern[T]; key: string; sep = "*"): string 261
+nim uniquePfxPats cligen/tern.html#uniquePfxPats,openArray[string],string proc uniquePfxPats(x: openArray[string]; sep = "*"): seq[string] 276
+nim uniqueSfxPats cligen/tern.html#uniqueSfxPats,openArray[string],string proc uniqueSfxPats(x: openArray[string]; sep = "*"): seq[string] 283
+nimgrp containsorincl cligen/tern.html#containsOrIncl-procs-all proc 147
+nimgrp [] cligen/tern.html#[]-procs-all proc 131
+nimgrp incl cligen/tern.html#incl-procs-all proc 166
diff --git a/cligen/textUt.html b/cligen/textUt.html
index 812f5cba..44769fe8 100644
--- a/cligen/textUt.html
+++ b/cligen/textUt.html
@@ -16,10 +16,10 @@
-
+
-
+
@@ -491,7 +491,7 @@
- Made with Nim. Generated: 2024-11-24 14:29:03 UTC
+ Made with Nim. Generated: 2024-12-24 14:28:16 UTC
diff --git a/cligen/textUt.idx b/cligen/textUt.idx
index 37cb6911..2a7f23de 100644
--- a/cligen/textUt.idx
+++ b/cligen/textUt.idx
@@ -1,27 +1,27 @@
nimTitle textUt cligen/textUt.html module cligen/textUt 0
-nim NoCSI_OSC cligen/textUt.html#NoCSI_OSC object NoCSI_OSC 7
-nim noCSI_OSC cligen/textUt.html#noCSI_OSC.i,openArray[char],NoCSI_OSC iterator noCSI_OSC(a: openArray[char]; nc: var NoCSI_OSC = nc0): char 12
-nim stripEsc cligen/textUt.html#stripEsc,openArray[char] proc stripEsc(a: openArray[char]): string 40
-nim stripSGR cligen/textUt.html#stripSGR,openArray[char] proc stripSGR(a: openArray[char]): string 45
-nim printedLen cligen/textUt.html#printedLen,openArray[char] proc printedLen(a: openArray[char]): int 65
-nim paragraphs cligen/textUt.html#paragraphs.i,string iterator paragraphs(s: string; indent = {' ', '\t'}): tuple[pre: bool, para: string] 84
-nim ttyWidth cligen/textUt.html#ttyWidth let ttyWidth 154
-nim wrapWidth cligen/textUt.html#wrapWidth,string proc wrapWidth(envVar: string; defaultWidth = ttyWidth): int 158
-nim wrap cligen/textUt.html#wrap,string,int,int proc wrap(s: string; maxWidth = ttyWidth; power = 3; prefixLen = 0): string 181
-nim addPrefix cligen/textUt.html#addPrefix,string,string proc addPrefix(prefix: string; multiline = ""): string 212
-nim TextTab cligen/textUt.html#TextTab type TextTab 222
-nim alignTable cligen/textUt.html#alignTable,TextTab,int,int,int,string,string proc alignTable(tab: TextTab; prefixLen = 0; colGap = 2; minLast = 16; rowSep = "";\n cols = @[0, 1]; attrOn = @["", ""]; attrOff = @["", ""]; aligns = "";\n width = ttyWidth; measure = printedLen): string 228
-nim distDamerau cligen/textUt.html#distDamerau,openArray[T],openArray[T],seq[C] proc distDamerau[T](a, b: openArray[T]; maxDist = mxC; idC = C(1); subC = C(1);\n xpoC = C(1); dI: var seq[C]): C 274
-nim initCritBitTree cligen/textUt.html#initCritBitTree proc initCritBitTree[T](): CritBitTree[T] 311
-nim keys cligen/textUt.html#keys,CritBitTree[T] proc keys[T](cb: CritBitTree[T]): seq[string] 322
-nim getAll cligen/textUt.html#getAll,CritBitTree[T],string proc getAll[T](cb: CritBitTree[T]; key: string): seq[tuple[key: string, val: T]] 325
-nim keys cligen/textUt.html#keys,seq[tuple[string,T]] proc keys[T](x: seq[tuple[key: string, val: T]]): seq[string] 334
-nim suggestions cligen/textUt.html#suggestions,string,openArray[T],openArray[T],int proc suggestions[T](wrong: string; match, right: openArray[T]; enoughResults = 3;\n unrelatedDistance = C(4)): seq[string] 341
-nim match cligen/textUt.html#match,CritBitTree[T],string,string,string proc match[T](cb: CritBitTree[T]; key, tag: string; msg: var string; suppress = false): tuple[\n key: string, val: T] 360
-nim match cligen/textUt.html#match,CritBitTree[T],string,string proc match[T](cb: CritBitTree[T]; key, tag: string; err = stderr): tuple[key: string,\n val: T] 387
-nim termAlign cligen/textUt.html#termAlign,string,Natural,char proc termAlign(s: string; count: Natural; padding = ' '): string 400
-nim termAlignLeft cligen/textUt.html#termAlignLeft,string,Natural,char proc termAlignLeft(s: string; count: Natural; padding = ' '): string 410
-nim unescaped cligen/textUt.html#unescaped.i,string iterator unescaped(s: string): char 422
-nim toSetChar cligen/textUt.html#toSetChar,string proc toSetChar(s: string; unescape = false): set[char] 458
-nimgrp match cligen/textUt.html#match-procs-all proc 360
-nimgrp keys cligen/textUt.html#keys-procs-all proc 322
+nim NoCSI_OSC cligen/textUt.html#NoCSI_OSC object NoCSI_OSC 8
+nim noCSI_OSC cligen/textUt.html#noCSI_OSC.i,openArray[char],NoCSI_OSC iterator noCSI_OSC(a: openArray[char]; nc: var NoCSI_OSC = nc0): char 13
+nim stripEsc cligen/textUt.html#stripEsc,openArray[char] proc stripEsc(a: openArray[char]): string 41
+nim stripSGR cligen/textUt.html#stripSGR,openArray[char] proc stripSGR(a: openArray[char]): string 46
+nim printedLen cligen/textUt.html#printedLen,openArray[char] proc printedLen(a: openArray[char]): int 66
+nim paragraphs cligen/textUt.html#paragraphs.i,string iterator paragraphs(s: string; indent = {' ', '\t'}): tuple[pre: bool, para: string] 85
+nim ttyWidth cligen/textUt.html#ttyWidth let ttyWidth 155
+nim wrapWidth cligen/textUt.html#wrapWidth,string proc wrapWidth(envVar: string; defaultWidth = ttyWidth): int 159
+nim wrap cligen/textUt.html#wrap,string,int,int proc wrap(s: string; maxWidth = ttyWidth; power = 3; prefixLen = 0): string 182
+nim addPrefix cligen/textUt.html#addPrefix,string,string proc addPrefix(prefix: string; multiline = ""): string 213
+nim TextTab cligen/textUt.html#TextTab type TextTab 223
+nim alignTable cligen/textUt.html#alignTable,TextTab,int,int,int,string,string proc alignTable(tab: TextTab; prefixLen = 0; colGap = 2; minLast = 16; rowSep = "";\n cols = @[0, 1]; attrOn = @["", ""]; attrOff = @["", ""]; aligns = "";\n width = ttyWidth; measure = printedLen): string 229
+nim distDamerau cligen/textUt.html#distDamerau,openArray[T],openArray[T],seq[C] proc distDamerau[T](a, b: openArray[T]; maxDist = mxC; idC = C(1); subC = C(1);\n xpoC = C(1); dI: var seq[C]): C 275
+nim initCritBitTree cligen/textUt.html#initCritBitTree proc initCritBitTree[T](): CritBitTree[T] 312
+nim keys cligen/textUt.html#keys,CritBitTree[T] proc keys[T](cb: CritBitTree[T]): seq[string] 323
+nim getAll cligen/textUt.html#getAll,CritBitTree[T],string proc getAll[T](cb: CritBitTree[T]; key: string): seq[tuple[key: string, val: T]] 326
+nim keys cligen/textUt.html#keys,seq[tuple[string,T]] proc keys[T](x: seq[tuple[key: string, val: T]]): seq[string] 335
+nim suggestions cligen/textUt.html#suggestions,string,openArray[T],openArray[T],int proc suggestions[T](wrong: string; match, right: openArray[T]; enoughResults = 3;\n unrelatedDistance = C(4)): seq[string] 342
+nim match cligen/textUt.html#match,CritBitTree[T],string,string,string proc match[T](cb: CritBitTree[T]; key, tag: string; msg: var string; suppress = false): tuple[\n key: string, val: T] 361
+nim match cligen/textUt.html#match,CritBitTree[T],string,string proc match[T](cb: CritBitTree[T]; key, tag: string; err = stderr): tuple[key: string,\n val: T] 388
+nim termAlign cligen/textUt.html#termAlign,string,Natural,char proc termAlign(s: string; count: Natural; padding = ' '): string 401
+nim termAlignLeft cligen/textUt.html#termAlignLeft,string,Natural,char proc termAlignLeft(s: string; count: Natural; padding = ' '): string 411
+nim unescaped cligen/textUt.html#unescaped.i,string iterator unescaped(s: string): char 423
+nim toSetChar cligen/textUt.html#toSetChar,string proc toSetChar(s: string; unescape = false): set[char] 459
+nimgrp match cligen/textUt.html#match-procs-all proc 361
+nimgrp keys cligen/textUt.html#keys-procs-all proc 323
diff --git a/cligen/trie.html b/cligen/trie.html
index ac9ddfcc..132f7597 100644
--- a/cligen/trie.html
+++ b/cligen/trie.html
@@ -16,10 +16,10 @@
-
+
-
+
@@ -610,7 +610,7 @@
- Made with Nim. Generated: 2024-11-24 14:29:04 UTC
+ Made with Nim. Generated: 2024-12-24 14:28:16 UTC
diff --git a/cligen/unsafeAddr.html b/cligen/unsafeAddr.html
index 699f1061..b165a751 100644
--- a/cligen/unsafeAddr.html
+++ b/cligen/unsafeAddr.html
@@ -16,10 +16,10 @@
-
+
-
+
@@ -64,7 +64,7 @@
cligen/unsafeAddr
- Made with Nim. Generated: 2024-11-24 14:29:03 UTC
+ Made with Nim. Generated: 2024-12-24 14:28:16 UTC
diff --git a/dochack.js b/dochack.js
index d2a5732b..d04cd6dc 100644
--- a/dochack.js
+++ b/dochack.js
@@ -1,4 +1,4 @@
-/* Generated by the Nim Compiler v2.2.1 */
+/* Generated by the Nim Compiler v2.3.1 */
var framePtr = null;
var excHandler = 0;
var lastJSError = null;
@@ -12,13 +12,13 @@ var NTI134217749 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
var NTI134217751 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
var NTI33555167 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
var NTI33555175 = {size: 0, kind: 22, base: null, node: null, finalizer: null};
-var NTI33554449 = {size: 0,kind: 28,base: null,node: null,finalizer: null};
var NTI33554450 = {size: 0,kind: 29,base: null,node: null,finalizer: null};
var NTI33555174 = {size: 0, kind: 22, base: null, node: null, finalizer: null};
var NTI33555171 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
var NTI33555172 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
var NTI134217741 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
var NTI134217743 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
+var NTI33554449 = {size: 0,kind: 28,base: null,node: null,finalizer: null};
var NNI134217743 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []};
NTI134217743.node = NNI134217743;
var NNI134217741 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []};
@@ -55,114 +55,6 @@ var NNI687865870 = {kind: 2, len: 2, offset: 0, typ: null, name: null, sons: [{k
{kind: 1, offset: "Field1", len: 0, typ: NTI33554466, name: "Field1", sons: null}]};
NTI687865870.node = NNI687865870;
-function mnewString(len_p0) {
- var result = new Array(len_p0);
- for (var i = 0; i < len_p0; i++) {result[i] = 0;}
- return result;
-
-
-
-}
-
-function toJSStr(s_p0) {
- var result_33556910 = null;
-
- var res_33556964 = newSeq__system_u2507((s_p0).length);
- var i_33556965 = 0;
- var j_33556966 = 0;
- Label1: {
- Label2: while (true) {
- if (!(i_33556965 < (s_p0).length)) break Label2;
- var c_33556967 = s_p0[i_33556965];
- if ((c_33556967 < 128)) {
- res_33556964[j_33556966] = String.fromCharCode(c_33556967);
- i_33556965 += 1;
- }
- else {
- var helper_33556993 = newSeq__system_u2507(0);
- Label3: {
- Label4: while (true) {
- if (!true) break Label4;
- var code_33556994 = c_33556967.toString(16);
- if ((((code_33556994) == null ? 0 : (code_33556994).length) == 1)) {
- helper_33556993.push("%0");;
- }
- else {
- helper_33556993.push("%");;
- }
-
- helper_33556993.push(code_33556994);;
- i_33556965 += 1;
- if ((((s_p0).length <= i_33556965) || (s_p0[i_33556965] < 128))) {
- break Label3;
- }
-
- c_33556967 = s_p0[i_33556965];
- }
- };
-++excHandler;
- try {
- res_33556964[j_33556966] = decodeURIComponent(helper_33556993.join(""));
---excHandler;
-} catch (EXCEPTION) {
- var prevJSError = lastJSError;
- lastJSError = EXCEPTION;
- --excHandler;
- res_33556964[j_33556966] = helper_33556993.join("");
- lastJSError = prevJSError;
- } finally {
- }
- }
-
- j_33556966 += 1;
- }
- };
- if (res_33556964.length < j_33556966) { for (var i = res_33556964.length ; i < j_33556966 ; ++i) res_33556964.push(null); }
- else { res_33556964.length = j_33556966; };
- result_33556910 = res_33556964.join("");
-
- return result_33556910;
-
-}
-
-function raiseException(e_p0, ename_p1) {
- e_p0.name = ename_p1;
- if ((excHandler == 0)) {
- unhandledException(e_p0);
- }
-
- throw e_p0;
-
-
-}
-
-function addInt(a_p0, b_p1) {
- var result = a_p0 + b_p1;
- checkOverflowInt(result);
- return result;
-
-
-
-}
-
-function chckRange(i_p0, a_p1, b_p2) {
- var result_33557361 = 0;
-
- BeforeRet: {
- if (((a_p1 <= i_p0) && (i_p0 <= b_p2))) {
- result_33557361 = i_p0;
- break BeforeRet;
- }
- else {
- raiseRangeError();
- }
-
- };
-
- return result_33557361;
-
-}
-
function setConstr() {
var result = {};
for (var i = 0; i < arguments.length; ++i) {
@@ -280,6 +172,114 @@ function nimCopy(dest_p0, src_p1, ti_p2) {
}
+function mnewString(len_p0) {
+ var result = new Array(len_p0);
+ for (var i = 0; i < len_p0; i++) {result[i] = 0;}
+ return result;
+
+
+
+}
+
+function toJSStr(s_p0) {
+ var result_33556910 = null;
+
+ var res_33556964 = newSeq__system_u2507((s_p0).length);
+ var i_33556965 = 0;
+ var j_33556966 = 0;
+ Label1: {
+ Label2: while (true) {
+ if (!(i_33556965 < (s_p0).length)) break Label2;
+ var c_33556967 = s_p0[i_33556965];
+ if ((c_33556967 < 128)) {
+ res_33556964[j_33556966] = String.fromCharCode(c_33556967);
+ i_33556965 += 1;
+ }
+ else {
+ var helper_33556993 = newSeq__system_u2507(0);
+ Label3: {
+ Label4: while (true) {
+ if (!true) break Label4;
+ var code_33556994 = c_33556967.toString(16);
+ if ((((code_33556994) == null ? 0 : (code_33556994).length) == 1)) {
+ helper_33556993.push("%0");;
+ }
+ else {
+ helper_33556993.push("%");;
+ }
+
+ helper_33556993.push(code_33556994);;
+ i_33556965 += 1;
+ if ((((s_p0).length <= i_33556965) || (s_p0[i_33556965] < 128))) {
+ break Label3;
+ }
+
+ c_33556967 = s_p0[i_33556965];
+ }
+ };
+++excHandler;
+ try {
+ res_33556964[j_33556966] = decodeURIComponent(helper_33556993.join(""));
+--excHandler;
+} catch (EXCEPTION) {
+ var prevJSError = lastJSError;
+ lastJSError = EXCEPTION;
+ --excHandler;
+ res_33556964[j_33556966] = helper_33556993.join("");
+ lastJSError = prevJSError;
+ } finally {
+ }
+ }
+
+ j_33556966 += 1;
+ }
+ };
+ if (res_33556964.length < j_33556966) { for (var i = res_33556964.length ; i < j_33556966 ; ++i) res_33556964.push(null); }
+ else { res_33556964.length = j_33556966; };
+ result_33556910 = res_33556964.join("");
+
+ return result_33556910;
+
+}
+
+function raiseException(e_p0, ename_p1) {
+ e_p0.name = ename_p1;
+ if ((excHandler == 0)) {
+ unhandledException(e_p0);
+ }
+
+ throw e_p0;
+
+
+}
+
+function addInt(a_p0, b_p1) {
+ var result = a_p0 + b_p1;
+ checkOverflowInt(result);
+ return result;
+
+
+
+}
+
+function chckRange(i_p0, a_p1, b_p2) {
+ var result_33557361 = 0;
+
+ BeforeRet: {
+ if (((a_p1 <= i_p0) && (i_p0 <= b_p2))) {
+ result_33557361 = i_p0;
+ break BeforeRet;
+ }
+ else {
+ raiseRangeError();
+ }
+
+ };
+
+ return result_33557361;
+
+}
+
function chckIndx(i_p0, a_p1, b_p2) {
var result_33557356 = 0;
@@ -428,6 +428,44 @@ function setTheme(theme_p0) {
window.localStorage.setItem("theme", theme_p0);
+}
+
+function isFatPointer__system_u2869(ti_p0) {
+ var result_33557303 = false;
+
+ BeforeRet: {
+ result_33557303 = !((ConstSet1[ti_p0.base.kind] != undefined));
+ break BeforeRet;
+ };
+
+ return result_33557303;
+
+}
+
+function nimCopyAux(dest_p0, src_p1, n_p2) {
+ switch (n_p2.kind) {
+ case 0:
+ break;
+ case 1:
+ dest_p0[n_p2.offset] = nimCopy(dest_p0[n_p2.offset], src_p1[n_p2.offset], n_p2.typ);
+
+ break;
+ case 2:
+ for (var i = 0; i < n_p2.sons.length; i++) {
+ nimCopyAux(dest_p0, src_p1, n_p2.sons[i]);
+ }
+
+ break;
+ case 3:
+ dest_p0[n_p2.offset] = nimCopy(dest_p0[n_p2.offset], src_p1[n_p2.offset], n_p2.typ);
+ for (var i = 0; i < n_p2.sons.length; ++i) {
+ nimCopyAux(dest_p0, src_p1, n_p2.sons[i][1]);
+ }
+
+ break;
+ }
+
+
}
function add__system_u1942(x_p0, x_p0_Idx, y_p1) {
@@ -537,50 +575,13 @@ function addInt__stdZprivateZdigitsutils_u241(result_p0, result_p0_Idx, x_p1) {
function HEX24__systemZdollars_u8(x_p0) {
var result_385875978 = [[]];
+ result_385875978[0] = nimCopy(null, [], NTI33554449);
addInt__stdZprivateZdigitsutils_u241(result_385875978, 0, x_p0);
return result_385875978[0];
}
-function isFatPointer__system_u2869(ti_p0) {
- var result_33557303 = false;
-
- BeforeRet: {
- result_33557303 = !((ConstSet1[ti_p0.base.kind] != undefined));
- break BeforeRet;
- };
-
- return result_33557303;
-
-}
-
-function nimCopyAux(dest_p0, src_p1, n_p2) {
- switch (n_p2.kind) {
- case 0:
- break;
- case 1:
- dest_p0[n_p2.offset] = nimCopy(dest_p0[n_p2.offset], src_p1[n_p2.offset], n_p2.typ);
-
- break;
- case 2:
- for (var i = 0; i < n_p2.sons.length; i++) {
- nimCopyAux(dest_p0, src_p1, n_p2.sons[i]);
- }
-
- break;
- case 3:
- dest_p0[n_p2.offset] = nimCopy(dest_p0[n_p2.offset], src_p1[n_p2.offset], n_p2.typ);
- for (var i = 0; i < n_p2.sons.length; ++i) {
- nimCopyAux(dest_p0, src_p1, n_p2.sons[i][1]);
- }
-
- break;
- }
-
-
-}
-
function raiseIndexError(i_p0, a_p1, b_p2) {
var Temporary1;
diff --git a/theindex.html b/theindex.html
index 2de342f4..da811b82 100644
--- a/theindex.html
+++ b/theindex.html
@@ -16,10 +16,10 @@
-
+
-
+
@@ -3262,7 +3262,7 @@
Index
- Made with Nim. Generated: 2024-11-24 14:29:04 UTC
+ Made with Nim. Generated: 2024-12-24 14:28:16 UTC