Command introduced in Tcl 8.6 for easier management of the prefix-matching of strings.
https://www.tcl-lang.org/man/tcl8.6/TclCmd/prefix.htm
Currently supports three subcommands.
This returns all values from the list, table, that start with string. (This answers the question “what values in the table start with a prefix?”)
Returns the longest prefix of the subset of values in the list, table, such that the values all begin with string. (This answers the question “what can I extend my current prefix to, while not changing the set of words which I've got a prefix of?” which is useful for tab-completion.)
Returns the unique entry from the list, table, that string is a prefix of, or generates an error message.
KPV Here are the examples from the man page:
namespace import ::tcl::prefix prefix match {apa bepa cepa} apa → apa prefix match {apa bepa cepa} a → apa prefix match -exact {apa bepa cepa} a → bad option "a": must be apa, bepa, or cepa prefix match -message "switch" {apa ada bepa cepa} a → ambiguous switch "a": must be apa, ada, bepa, or cepa prefix longest {fblocked fconfigure fcopy file fileevent flush} fc → fco prefix all {fblocked fconfigure fcopy file fileevent flush} fc → fconfigure fcopy