diff options
Diffstat (limited to 'devdocs/elisp/completion.html')
| -rw-r--r-- | devdocs/elisp/completion.html | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/devdocs/elisp/completion.html b/devdocs/elisp/completion.html new file mode 100644 index 00000000..f6705f05 --- /dev/null +++ b/devdocs/elisp/completion.html @@ -0,0 +1,46 @@ + <h3 class="section">Completion</h3> <p><em>Completion</em> is a feature that fills in the rest of a name starting from an abbreviation for it. Completion works by comparing the user’s input against a list of valid names and determining how much of the name is determined uniquely by what the user has typed. For example, when you type <kbd>C-x b</kbd> (<code>switch-to-buffer</code>) and then type the first few letters of the name of the buffer to which you wish to switch, and then type <tt class="key">TAB</tt> (<code>minibuffer-complete</code>), Emacs extends the name as far as it can. </p> <p>Standard Emacs commands offer completion for names of symbols, files, buffers, and processes; with the functions in this section, you can implement completion for other kinds of names. </p> <p>The <code>try-completion</code> function is the basic primitive for completion: it returns the longest determined completion of a given initial string, with a given set of strings to match against. </p> <p>The function <code>completing-read</code> provides a higher-level interface for completion. A call to <code>completing-read</code> specifies how to determine the list of valid names. The function then activates the minibuffer with a local keymap that binds a few keys to commands useful for completion. Other functions provide convenient simple interfaces for reading certain kinds of names with completion. </p> <table class="menu" border="0" cellspacing="0"> <tr> +<td align="left" valign="top">• <a href="basic-completion" accesskey="1">Basic Completion</a> +</td> +<td> </td> +<td align="left" valign="top">Low-level functions for completing strings. </td> +</tr> <tr> +<td align="left" valign="top">• <a href="minibuffer-completion" accesskey="2">Minibuffer Completion</a> +</td> +<td> </td> +<td align="left" valign="top">Invoking the minibuffer with completion. </td> +</tr> <tr> +<td align="left" valign="top">• <a href="completion-commands" accesskey="3">Completion Commands</a> +</td> +<td> </td> +<td align="left" valign="top">Minibuffer commands that do completion. </td> +</tr> <tr> +<td align="left" valign="top">• <a href="high_002dlevel-completion" accesskey="4">High-Level Completion</a> +</td> +<td> </td> +<td align="left" valign="top">Convenient special cases of completion (reading buffer names, variable names, etc.). </td> +</tr> <tr> +<td align="left" valign="top">• <a href="reading-file-names" accesskey="5">Reading File Names</a> +</td> +<td> </td> +<td align="left" valign="top">Using completion to read file names and shell commands. </td> +</tr> <tr> +<td align="left" valign="top">• <a href="completion-variables" accesskey="6">Completion Variables</a> +</td> +<td> </td> +<td align="left" valign="top">Variables controlling completion behavior. </td> +</tr> <tr> +<td align="left" valign="top">• <a href="programmed-completion" accesskey="7">Programmed Completion</a> +</td> +<td> </td> +<td align="left" valign="top">Writing your own completion function. </td> +</tr> <tr> +<td align="left" valign="top">• <a href="completion-in-buffers" accesskey="8">Completion in Buffers</a> +</td> +<td> </td> +<td align="left" valign="top">Completing text in ordinary buffers. </td> +</tr> </table><div class="_attribution"> + <p class="_attribution-p"> + Copyright © 1990-1996, 1998-2022 Free Software Foundation, Inc. <br>Licensed under the GNU GPL license.<br> + <a href="https://www.gnu.org/software/emacs/manual/html_node/elisp/Completion.html" class="_attribution-link">https://www.gnu.org/software/emacs/manual/html_node/elisp/Completion.html</a> + </p> +</div> |
