From 2cb2d9eebc48c1bff017d7d2655c33bb93725360 Mon Sep 17 00:00:00 2001 From: Samantha Demi Date: Thu, 28 May 2026 13:21:56 -0400 Subject: [PATCH] updating package to work on modern nim versions * commandeer.nim :modified: - changing import to new std/parseopt - changing types to tuples for accessing the parseopt types * commandeer.nimble :modified: - bumping version number --- commandeer.nim | 10 +++++----- commandeer.nimble | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/commandeer.nim b/commandeer.nim index f4ff133..4c96640 100644 --- a/commandeer.nim +++ b/commandeer.nim @@ -1,5 +1,5 @@ import algorithm -import parseopt2 +import parseopt import sequtils import strutils import tables @@ -51,7 +51,7 @@ proc getOptionAssigner(s: Subcommand, key: string): Assigner = var errorMessage: string = "" var currentSubcommand = newSubcommand() var subCommands = newTable[string, Subcommand]() -var cliTokens: seq[GetoptResult] +var cliTokens: seq[tuple[kind: CmdLineKind, key: string, val: string]] var inSubcommand = false ## Debugging procs ## @@ -122,7 +122,7 @@ type CmdTokenKind {.pure.} = enum argument, option, subcommand, empty CmdToken = tuple - getOptResult: GetoptResult + getOptResult: tuple[kind: CmdLineKind, key: string, val: string] kind: CmdTokenKind @@ -142,7 +142,7 @@ proc obtainCmdToken(consume: bool): CmdToken = let cliToken = if consume: cliTokens.pop() else: cliTokens[^1] if not inSubcommand and currentSubcommand.index == 0 and cliToken.key in subcommands: return (getOptResult: cliToken, kind: CmdTokenKind.subcommand) - elif cliToken.kind in [parseopt2.cmdLongOption, parseopt2.cmdShortOption]: + elif cliToken.kind in [parseopt.cmdLongOption, parseopt.cmdShortOption]: return (getOptResult: cliToken, kind: CmdTokenKind.option) else: return (getOptResult: cliToken, kind: CmdTokenKind.argument) @@ -345,6 +345,6 @@ template subcommand*(identifier: untyped, subcommandNames: varargs[string], subCommands[subcommandName] = thisSubcommand template commandline*(statements: untyped): untyped = - cliTokens = reversed(toSeq(parseopt2.getopt())) + cliTokens = reversed(toSeq(parseopt.getopt())) statements interpretCli() diff --git a/commandeer.nimble b/commandeer.nimble index d8bf7d3..df062d6 100644 --- a/commandeer.nimble +++ b/commandeer.nimble @@ -1,6 +1,6 @@ # Package -version = "0.12.3" +version = "0.12.4" author = "Guillaume Viger" description = "A small command line parsing DSL" license = "MIT"