123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- .TH COMPLETE 2
- .SH NAME
- complete \- file name completion
- .SH SYNOPSIS
- .B #include <u.h>
- .br
- .B #include <libc.h>
- .br
- .B #include <complete.h>
- .PP
- .ft L
- .nf
- .ta \w' 'u +\w' 'u +\w' 'u +\w' 'u +\w' 'u
- typedef struct Completion Completion;
- struct Completion{
- uchar advance; /* whether forward progress has been made */
- uchar complete; /* whether the completion now represents a file or directory */
- char *string; /* the string to advance, suffixed " " or "/" for file or directory */
- int nmatch; /* number of files that matched */
- int nfile; /* number of files returned */
- char **filename; /* their names */
- };
- .fi
- .PP
- .B
- .ta \w'\fLchar* 'u
- .PP
- .B
- Completion* complete(char *dir, char *s);
- .PP
- .B
- void freecompletion(Completion *c);
- .SH DESCRIPTION
- The
- .I complete
- function implements file name completion.
- Given a directory
- .I dir
- and a string
- .IR s ,
- it returns an analysis of the file names in that directory that begin with the string
- .IR s .
- The fields
- .B nmatch
- and
- .B nfile
- will be set to the number of files that match the prefix and
- .B filename
- will be filled in with their names.
- If the file named is a directory, a slash character will be appended to it.
- .PP
- If no files match the string,
- .B nmatch
- will be zero, but
- .I complete
- will return the full set of files in the directory, with
- .I nfile
- set to their number.
- .PP
- The flag
- .B advance
- reports whether the string
- .I s
- can be extended without changing the set of files that match. If true,
- .B string
- will be set to the extension; that is, the value of
- .B string
- may be appended to
- .I s
- by the caller to extend the embryonic file name unambiguously.
- .PP
- The flag
- .B complete
- reports whether the extended file name uniquely identifies a file.
- If true,
- .B string
- will be suffixed with a blank, or a slash and a blank,
- depending on whether the resulting file name identifies a plain file or a directory.
- .PP
- The
- .I freecompletion
- function frees a
- .B Completion
- structure and its contents.
- .PP
- In
- .IR rio (1)
- and
- .IR acme (1),
- file name completion is triggered by a control-F character or an Insert character.
- .SH SOURCE
- .B /sys/src/libcomplete
- .SH SEE ALSO
- .IR rio (1),
- .IR acme (1)
- .SH DIAGNOSTICS
- The
- .I complete
- function returns a null pointer and sets
- .I errstr
- if the directory is unreadable or there is some other error.
- .SH BUGS
- The behavior of file name completion should be controlled by the plumber.
|