diff --git a/confutils.nim b/confutils.nim index 9383e88..2f80881 100644 --- a/confutils.nim +++ b/confutils.nim @@ -1,5 +1,5 @@ import - std/[options, strutils, wordwrap], + std/[options, strutils, wordwrap, editdistance], stew/shims/macros, confutils/[defs, cli_parser, config_file] @@ -409,6 +409,36 @@ proc findSubCmd(cmd: CmdInfo, name: string): CmdInfo = return nil +proc distanceOpt(opts: openarray[OptInfo], name: string): (OptInfo, int) = + # find nearest match using `editDistance` + if opts.len == 0: + return + + var + currOpt = opts[0] + currDist = editDistance(currOpt.name, name) + + for i in 1..