summaryrefslogtreecommitdiff
path: root/lisp/external-completion.el
Commit message (Collapse)AuthorAgeFilesLines
* ; Add 2023 to copyright years.Eli Zaretskii2023-01-011-1/+1
|
* ; Don't quote nil in commentsStefan Kangas2022-12-151-1/+1
|
* ; Normalize GPLv3 license statements in new filesStefan Kangas2022-12-091-3/+5
|
* ; Fix typosStefan Kangas2022-12-081-1/+1
|
* Add lisp/external-completion.el for completions from external toolsJoão Távora2022-12-071-0/+174
This table uses a new 'external' completion style which has been in use in Eglot and other third-party extensions for a long time. It's meant for libraries that interface with an external tool which provides completions, such as a shell utility, an inferior process, an http server. The new file lisp/external-completion.el provides a helper function, external-completion-table which is given an interfacing function to the external tool and returns a "programmed completion" table that is bound to the 'external' completion style. That table can then be used with completing-read or any other facility expecting a completion table. When the 'external' is in use, the usual styles configured by the user or other in 'completion-styles' are completely overriden. This relatively minor inconvenience is the price to pay for responsive completion where the full set of completion candidates doesn't need to be transfered into Emacs's address space. * lisp/external-completion.el: New file. * etc/NEWS: (Lisp Changes in Emacs 29.1): Mention external-completion-table.