summaryrefslogtreecommitdiff
path: root/test/lisp/emacs-lisp/cl-preloaded-tests.el
diff options
context:
space:
mode:
authorJoão Távora <joaotavora@gmail.com>2022-11-25 13:03:45 +0000
committerJoão Távora <joaotavora@gmail.com>2022-12-07 19:06:09 +0000
commit4bc9c8972ac0a3dfa237a9c5704de89ef24ad82b (patch)
treeed9f2936d718572fd45e77c37ed7f4b40defec1e /test/lisp/emacs-lisp/cl-preloaded-tests.el
parentbfc00f1c12047ff431eaa9da3a744807c3f9e6e2 (diff)
downloademacs-4bc9c8972ac0a3dfa237a9c5704de89ef24ad82b.tar.gz
emacs-4bc9c8972ac0a3dfa237a9c5704de89ef24ad82b.tar.bz2
emacs-4bc9c8972ac0a3dfa237a9c5704de89ef24ad82b.zip
Add lisp/external-completion.el for completions from external tools
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.
Diffstat (limited to 'test/lisp/emacs-lisp/cl-preloaded-tests.el')
0 files changed, 0 insertions, 0 deletions