The tecla library provides UNIX and LINUX programs with interactive 
command line editing facilities, similar to those of the UNIX tcsh 
shell. In addition to simple command-line editing, it supports 
recall of previously entered command lines, TAB completion of file 
names or other tokens, and in-line wild-card expansion of filenames. 
The internal functions which perform file-name completion and 
wild-card expansion are also available externally for optional use 
by programs.

In addition, the library includes a path-searching module. This 
allows an application to provide completion and lookup of files 
located in UNIX style paths. Although not built into the line 
editor by default, it can easily be called from custom 
tab-completion callback functions. This was originally conceived 
for completing the names of executables and providing a way to look 
up their locations in the user's PATH environment variable, but it 
can easily be asked to look up and complete other types of files in 
any list of directories.

Note that special care has been taken to allow the use of this 
library in threaded programs.