summaryrefslogtreecommitdiff
path: root/devdocs/elisp/completion.html
diff options
context:
space:
mode:
Diffstat (limited to 'devdocs/elisp/completion.html')
-rw-r--r--devdocs/elisp/completion.html46
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 &copy; 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>