Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,5 @@
*
!/**/
!*.*
.zed
*.out
29 changes: 27 additions & 2 deletions argparse.nimble
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Package

version = "4.0.2"
version = "4.1.2"
author = "Matt Haggard"
description = "A command line argument parser"
license = "MIT"
Expand All @@ -9,4 +9,29 @@ srcDir = "src"

# Dependencies

requires "nim >= 1.0.10"
requires "nim >= 1.2.18" # tested through to 2.2.6 via choosenim

import std/[sequtils,strutils,strformat]
# nimble builddocs
task builddocs, "Builds the documentation using Nim's docgen":
exec "rm -rf docs/*"
# --outdir is bugged and not working
var cmd = &"""
nim \
--colors:on \
--path:$projectDir \
--docInternal \
--project \
--index:on \
--outdir:docs \
doc \
src/argparse.nim
"""
discard gorgeEx cmd
# first pass for the index
var result = gorgeEx cmd
if result.exitCode != 0:
echo "Documentation generation had some errors;"
# lines with "Error" in them
echo ""
echo result.output.splitLines().filterIt(it.contains "Error").join("\n")
3 changes: 0 additions & 3 deletions builddocs.sh

This file was deleted.

1 change: 1 addition & 0 deletions config.nims
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
switch("path","$projectPath")
532 changes: 289 additions & 243 deletions docs/argparse.html

Large diffs are not rendered by default.

25 changes: 15 additions & 10 deletions docs/argparse.idx
Original file line number Diff line number Diff line change
@@ -1,10 +1,15 @@
newParser argparse.html#newParser.t,string,untyped argparse: newParser(name: string; body: untyped): untyped
newParser argparse.html#newParser.t,untyped argparse: newParser(body: untyped): untyped
flag argparse.html#flag,string,string,string argparse: flag(name1: string; name2 = ""; multiple = false; help = ""; hidden = false;\n shortcircuit = false)
option argparse.html#option,string,string,string,string,seq[string] argparse: option(name1: string; name2 = ""; help = ""; default = none(); env = "";\n multiple = false; choices: seq[string] = @[]; required = false;\n hidden = false)
arg argparse.html#arg,string,string,string,int argparse: arg(varname: string; default = none(); env = ""; help = ""; nargs = 1)
help argparse.html#help,string argparse: help(helptext: string)
nohelpflag argparse.html#nohelpflag argparse: nohelpflag()
run argparse.html#run.t,untyped argparse: run(body: untyped): untyped
command argparse.html#command.t,string,string,untyped argparse: command(name: string; group: string; content: untyped): untyped
command argparse.html#command.t,string,untyped argparse: command(name: string; content: untyped): untyped
nimTitle argparse argparse.html module argparse 0
nim newParser argparse.html#newParser.t,string,untyped template newParser(name: string; body: untyped): untyped 144
nim newParser argparse.html#newParser.t,untyped template newParser(body: untyped): untyped 163
nim flag argparse.html#flag,string,string,string proc flag(name1: string; name2 = ""; multiple = false; help = ""; hidden = false;\n shortcircuit = false) 182
nim option argparse.html#option,string,string,string,string,seq[string] proc option(name1: string; name2 = ""; help = ""; default = none[string](); env = "";\n multiple = false; choices: seq[string] = @[];\n completionsGenerator = default(array[ShellCompletionKind, string]);\n required = false; hidden = false) 229
nim arg argparse.html#arg,string,string,string,int proc arg(varname: string; default = none[string](); env = ""; help = "";\n completionsGenerator = default(array[ShellCompletionKind, string]);\n nargs = 1) 314
nim help argparse.html#help,string proc help(helptext: string) 361
nim nohelpflag argparse.html#nohelpflag proc nohelpflag() 376
nim run argparse.html#run.t,untyped template run(body: untyped): untyped 384
nim command argparse.html#command.t,string,string,untyped template command(name: string; group: string; content: untyped): untyped 394
nim command argparse.html#command.t,string,untyped template command(name: string; content: untyped): untyped 410
nim noCompletions argparse.html#noCompletions proc noCompletions(disableFlag = true; disableOpt = true) 420
nim hideCompletions argparse.html#hideCompletions proc hideCompletions(hideFlag = true; hideOpt = true) 439
nimgrp newparser argparse.html#newParser-templates-all template 144
nimgrp command argparse.html#command-templates-all template 394
937 changes: 414 additions & 523 deletions docs/argparse/backend.html

Large diffs are not rendered by default.

65 changes: 30 additions & 35 deletions docs/argparse/backend.idx
Original file line number Diff line number Diff line change
@@ -1,35 +1,30 @@
UsageError argparse/backend.html#UsageError backend: UsageError
ShortCircuit argparse/backend.html#ShortCircuit backend: ShortCircuit
ArgFlag argparse/backend.html#ArgFlag ComponentKind.ArgFlag
ArgOption argparse/backend.html#ArgOption ComponentKind.ArgOption
ArgArgument argparse/backend.html#ArgArgument ComponentKind.ArgArgument
ComponentKind argparse/backend.html#ComponentKind backend: ComponentKind
Component argparse/backend.html#Component backend: Component
Builder argparse/backend.html#Builder backend: Builder
BuilderObj argparse/backend.html#BuilderObj backend: BuilderObj
ParseState argparse/backend.html#ParseState backend: ParseState
ARGPARSE_STDOUT argparse/backend.html#ARGPARSE_STDOUT backend: ARGPARSE_STDOUT
builderStack argparse/backend.html#builderStack backend: builderStack
toVarname argparse/backend.html#toVarname,string backend: toVarname(x: string): string
`$` argparse/backend.html#$,ref.ParseState backend: `$`(state: ref ParseState): string
newParseState argparse/backend.html#newParseState,openArray[string] backend: newParseState(args: openArray[string]): ref ParseState
consume argparse/backend.html#consume,ref.ParseState,ComponentKind backend: consume(state: ref ParseState; thing: ComponentKind)
skip argparse/backend.html#skip,ref.ParseState backend: skip(state: ref ParseState)
popleft argparse/backend.html#popleft,seq[T] backend: popleft[T](s: var seq[T]): T
popright argparse/backend.html#popright,seq[T],int backend: popright[T](s: var seq[T]; n = 0): T
newBuilder argparse/backend.html#newBuilder,string backend: newBuilder(name = ""): Builder
`$` argparse/backend.html#$,Builder backend: `$`(b: Builder): string
optsTypeDef argparse/backend.html#optsTypeDef,Builder backend: optsTypeDef(b: Builder): NimNode
parserTypeDef argparse/backend.html#parserTypeDef,Builder backend: parserTypeDef(b: Builder): NimNode
raiseShortCircuit argparse/backend.html#raiseShortCircuit,string,string backend: raiseShortCircuit(flagname: string; help: string)
parseProcDef argparse/backend.html#parseProcDef,Builder backend: parseProcDef(b: Builder): NimNode
setOrAdd argparse/backend.html#setOrAdd,string,string backend: setOrAdd(x: var string; val: string)
setOrAdd argparse/backend.html#setOrAdd,seq[string],string backend: setOrAdd(x: var seq[string]; val: string)
getHelpText argparse/backend.html#getHelpText,Builder backend: getHelpText(b: Builder): string
helpProcDef argparse/backend.html#helpProcDef,Builder backend: helpProcDef(b: Builder): NimNode
GenResponse argparse/backend.html#GenResponse backend: GenResponse
addParser argparse/backend.html#addParser,string,string,proc) backend: addParser(name: string; group: string; content: proc ()): Builder
add_runProc argparse/backend.html#add_runProc,NimNode backend: add_runProc(body: NimNode)
add_command argparse/backend.html#add_command,string,string,proc) backend: add_command(name: string; group: string; content: proc ())
allChildren argparse/backend.html#allChildren,Builder backend: allChildren(builder: Builder): seq[Builder]
generateDefs argparse/backend.html#generateDefs,Builder backend: generateDefs(builder: Builder): NimNode
nimTitle backend argparse/backend.html module argparse/backend 0
nim ParseState argparse/backend.html#ParseState object ParseState 21
nim doUsageAssert argparse/backend.html#doUsageAssert.t,bool,string template doUsageAssert(condition: bool; msg: string): untyped 33
nim ARGPARSE_STDOUT argparse/backend.html#ARGPARSE_STDOUT var ARGPARSE_STDOUT 38
nim builderStack argparse/backend.html#builderStack var builderStack 39
nim toVarname argparse/backend.html#toVarname,string proc toVarname(x: string): string 41
nim `$` argparse/backend.html#$,ref.ParseState proc `$`(state: ref ParseState): string 50
nim newParseState argparse/backend.html#newParseState,openArray[string] proc newParseState(args: openArray[string]): ref ParseState 86
nim consume argparse/backend.html#consume,ref.ParseState,ComponentKind proc consume(state: ref ParseState; thing: ComponentKind) 93
nim skip argparse/backend.html#skip,ref.ParseState proc skip(state: ref ParseState) 103
nim popleft argparse/backend.html#popleft,seq[T] proc popleft[T](s: var seq[T]): T 126
nim popright argparse/backend.html#popright,seq[T],int proc popright[T](s: var seq[T]; n = 0): T 134
nim newBuilder argparse/backend.html#newBuilder,string proc newBuilder(name = ""): Builder 189
nim `$` argparse/backend.html#$,Builder proc `$`(b: Builder): string 213
nim optsTypeDef argparse/backend.html#optsTypeDef,Builder proc optsTypeDef(b: Builder): NimNode 221
nim parserTypeDef argparse/backend.html#parserTypeDef,Builder proc parserTypeDef(b: Builder): NimNode 263
nim raiseShortCircuit argparse/backend.html#raiseShortCircuit,string,string proc raiseShortCircuit(flagname: string; help: string) 274
nim parseProcDef argparse/backend.html#parseProcDef,Builder proc parseProcDef(b: Builder): NimNode 283
nim setOrAdd argparse/backend.html#setOrAdd,string,string proc setOrAdd(x: var string; val: string) 706
nim setOrAdd argparse/backend.html#setOrAdd,seq[string],string proc setOrAdd(x: var seq[string]; val: string) 709
nim getHelpText argparse/backend.html#getHelpText,Builder proc getHelpText(b: Builder): string 712
nim helpProcDef argparse/backend.html#helpProcDef,Builder proc helpProcDef(b: Builder): NimNode 856
nim GenResponse argparse/backend.html#GenResponse tuple GenResponse 870
nim addParser argparse/backend.html#addParser,string,string,proc) proc addParser(name: string; group: string; content: proc ()): Builder 872
nim add_runProc argparse/backend.html#add_runProc,NimNode proc add_runProc(body: NimNode) 889
nim add_command argparse/backend.html#add_command,string,string,proc) proc add_command(name: string; group: string; content: proc ()) 893
nim allChildren argparse/backend.html#allChildren,Builder proc allChildren(builder: Builder): seq[Builder] 897
nim generateDefs argparse/backend.html#generateDefs,Builder proc generateDefs(builder: Builder): NimNode 903
nimgrp $ argparse/backend.html#$-procs-all proc 50
nimgrp setoradd argparse/backend.html#setOrAdd-procs-all proc 706
Loading