nim-confutils/confutils/defs.nim

37 lines
1.1 KiB
Nim
Raw Normal View History

2018-11-21 13:25:53 +00:00
type
ConfigurationError* = object of CatchableError
TypedInputFile*[ContentType = Unspecified,
Format = Unspecified,
defaultExt: static string] = distinct string
# InputFile* = TypedInputFile[Unspecified, Unspecified, ""]
# TODO temporary work-around, see parseCmdArg
InputFile* = distinct string
InputDir* = distinct string
OutPath* = distinct string
OutDir* = distinct string
OutFile* = distinct string
Unspecified* = object
Txt* = object
template `/`*(dir: InputDir|OutDir, path: string): auto =
string(dir) / path
2018-11-21 13:25:53 +00:00
template desc*(v: string) {.pragma.}
2018-12-19 10:52:32 +00:00
template longform*(v: string) {.pragma.}
template shortform*(v: string) {.pragma.}
2018-11-21 13:25:53 +00:00
template defaultValue*(v: untyped) {.pragma.}
2018-12-19 10:52:32 +00:00
template required* {.pragma.}
template command* {.pragma.}
template argument* {.pragma.}
2018-11-21 13:25:53 +00:00
template implicitlySelectable* {.pragma.}
## This can be applied to a case object discriminator
## to allow the value of the discriminator to be determined
## implicitly when the user specifies any of the sub-options
## that depend on the disciminator value.