This command searches the elements of list to see if one of
them matches pattern. If so, the command returns the index
of the first matching element (unless the options -all or
-inline are specified.) If not, the command returns
-1. The option arguments indicates how the elements
of the list are to be matched against pattern and must have
one of the values below:
If all matching style options are omitted, the default matching
style is -glob. If more than one matching style is
specified, the last matching style given takes precedence.
The list elements are in sorted order. If this option is
specified, lsearch will use a more efficient searching
algorithm to search list. If no other options are specified,
list is assumed to be sorted in increasing order, and to
contain ASCII strings. This option is mutually exclusive with
-glob and -regexp, and is treated exactly like
-exact when either -all or -not are
specified.
Changes the result to be the list of all matching indices (or
all matching values if -inline is specified as well.) If
indices are returned, the indices will be in numeric order. If
values are returned, the order of the values will be the order of
those values within the input list.
The matching value is returned instead of its index (or an
empty string if no value matches.) If -all is also
specified, then the result of the command is the list of all values
that matched.
The list is searched starting at position index. The
interpretation of the index value is the same as for the
command string index,
supporting simple index arithmetic and indices relative to the end
of the list.
These options describe how to interpret the items in the list being
searched. They are only meaningful when used with the -exact
and -sorted options. If more than one is specified, the last
one takes precedence. The default is -ascii.
The list elements are to be compared using dictionary-style
comparisons (see lsort for
a fuller description). Note that this only makes a meaningful
difference from the -ascii option when the -sorted
option is given, because values are only dictionary-equal when
exactly equal.
These options (only meaningful with the -sorted option)
specify how the list is sorted. If more than one is given, the last
one takes precedence. The default option is -increasing.
This option is designed for use when searching within nested
lists. The indexList argument gives a path of indices (much
as might be used with the lindex or lset commands) within each element to
allow the location of the term being matched against.
If this option is given, the index result from this command (or
every index result when -all is also specified) will be a
complete path (suitable for use with lindex or lset) within the overall list to the
term found. This option has no effect unless the -index is
also specified, and is just a convenience short-cut.