exported strutils.abbrev
This commit is contained in:
parent
96e7ee91cc
commit
f0172b0a5f
4 changed files with 17 additions and 18 deletions
|
|
@ -542,19 +542,18 @@ proc allCharsInSet*(s: string, theSet: TCharSet): bool =
|
|||
if c notin theSet: return false
|
||||
return true
|
||||
|
||||
# 012345
|
||||
# 345
|
||||
|
||||
when false:
|
||||
proc abbrev(s: string, possibilities: openarray[string]): int =
|
||||
## returns the index of the first item in `possibilities` if not
|
||||
## ambiguous; -1 if no item has been found; -2 if multiple items
|
||||
## match.
|
||||
result = -1 # none found
|
||||
for i in 0..possibilities.len-1:
|
||||
if possibilities[i].startsWith(s):
|
||||
if result >= 0: return -2 # ambiguous
|
||||
result = i
|
||||
proc abbrev*(s: string, possibilities: openarray[string]): int =
|
||||
## returns the index of the first item in `possibilities` if not
|
||||
## ambiguous; -1 if no item has been found; -2 if multiple items
|
||||
## match.
|
||||
result = -1 # none found
|
||||
for i in 0..possibilities.len-1:
|
||||
if possibilities[i].startsWith(s):
|
||||
if possibilities[i] == s:
|
||||
# special case: exact match shouldn't be ambiguous
|
||||
return i
|
||||
if result >= 0: return -2 # ambiguous
|
||||
result = i
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue