<feed xmlns='http://www.w3.org/2005/Atom'>
<title>emacs, branch scratch/backend-completion</title>
<subtitle>Emacs is the extensible, customizable, self-documenting real-time display editor. 
</subtitle>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/'/>
<entry>
<title>external-completion.el: Minor changes</title>
<updated>2022-12-06T04:50:55+00:00</updated>
<author>
<name>Stefan Monnier</name>
</author>
<published>2022-12-06T04:50:55+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=a03bc3e98c649226cffc6aeafc2d41ece297aa62'/>
<id>a03bc3e98c649226cffc6aeafc2d41ece297aa62</id>
<content type='text'>
* lisp/external-completion.el (external-completion-table): Tweak docstring.
Explicitly handle `lambda`.

* lisp/progmodes/eglot.el (xref-backend-identifier-completion-table):
Rename category to `eglot-xref`.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* lisp/external-completion.el (external-completion-table): Tweak docstring.
Explicitly handle `lambda`.

* lisp/progmodes/eglot.el (xref-backend-identifier-completion-table):
Rename category to `eglot-xref`.
</pre>
</div>
</content>
</entry>
<entry>
<title>Update eglot.el to use the new external-completion-table</title>
<updated>2022-12-04T13:24:00+00:00</updated>
<author>
<name>João Távora</name>
</author>
<published>2022-12-04T13:24:00+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=18e790944e231a6aa49b09a56f149dced796e939'/>
<id>18e790944e231a6aa49b09a56f149dced796e939</id>
<content type='text'>
* lisp/progmodes/eglot.el
(xref-backend-identifier-completion-table): Update.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* lisp/progmodes/eglot.el
(xref-backend-identifier-completion-table): Update.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add caching and yet more doc to external-completion.el</title>
<updated>2022-12-04T11:01:49+00:00</updated>
<author>
<name>João Távora</name>
</author>
<published>2022-12-04T11:01:49+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=9eae95a8231159627d4fc6e4699f263b963ba391'/>
<id>9eae95a8231159627d4fc6e4699f263b963ba391</id>
<content type='text'>
* lisp/external-completion.el (cl-lib): Require cl-lib.
(external-completion-table): Rework for caching.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* lisp/external-completion.el (cl-lib): Require cl-lib.
(external-completion-table): Rework for caching.
</pre>
</div>
</content>
</entry>
<entry>
<title>More tweaks to external-completion.el after Stefan's comments</title>
<updated>2022-12-03T23:26:25+00:00</updated>
<author>
<name>João Távora</name>
</author>
<published>2022-12-03T23:20:51+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=1af23aade6fe1ab2338d3ad859264e643e6cedbc'/>
<id>1af23aade6fe1ab2338d3ad859264e643e6cedbc</id>
<content type='text'>
* lisp/external-completion.el (Commentary): Update.
(completion-styles-alist): Name the style 'external'.
(external-completion-table): Change order of arguments.  Use
double-dashed symbols.
(external-completion--try-completion)
(external-completion--all-completions): Use double-dashed symbols.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* lisp/external-completion.el (Commentary): Update.
(completion-styles-alist): Name the style 'external'.
(external-completion-table): Change order of arguments.  Use
double-dashed symbols.
(external-completion--try-completion)
(external-completion--all-completions): Use double-dashed symbols.
</pre>
</div>
</content>
</entry>
<entry>
<title>Speed it up</title>
<updated>2022-12-03T13:17:12+00:00</updated>
<author>
<name>João Távora</name>
</author>
<published>2022-12-03T13:13:02+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=aaaa01605674c66eb5c6b0c9e5c96ed2eb7e2bc1'/>
<id>aaaa01605674c66eb5c6b0c9e5c96ed2eb7e2bc1</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Integrate Stefan suggestions but rename it to "external-completion.el"</title>
<updated>2022-12-03T13:15:53+00:00</updated>
<author>
<name>João Távora</name>
</author>
<published>2022-12-03T13:01:26+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=9a62da21c2e768f5f550a92171ab81f0bac37a35'/>
<id>9a62da21c2e768f5f550a92171ab81f0bac37a35</id>
<content type='text'>
"External completion" is a much better name.  There are already a
thousand in-Emacs meanings for "backend" and this new style is really
meant to be used for tools _outside_ of Emacs.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
"External completion" is a much better name.  There are already a
thousand in-Emacs meanings for "backend" and this new style is really
meant to be used for tools _outside_ of Emacs.
</pre>
</div>
</content>
</entry>
<entry>
<title>Don't override completion-category-defaults in fido-mode</title>
<updated>2022-11-25T13:05:40+00:00</updated>
<author>
<name>João Távora</name>
</author>
<published>2022-11-25T13:05:40+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=a049c8f9da36011584327867b6bc14c9d3e57079'/>
<id>a049c8f9da36011584327867b6bc14c9d3e57079</id>
<content type='text'>
Fido mode's mantra is to use the 'flex' completion style wherever
possible, but this clashes with some completion table categories that
can't use that style, such as the 'backend-completion' category, which
uses the backend-completion-backend-style style.

* lisp/icomplete.el (icomplete--fido-mode-setup): Don't override
completion-category-defaults.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fido mode's mantra is to use the 'flex' completion style wherever
possible, but this clashes with some completion table categories that
can't use that style, such as the 'backend-completion' category, which
uses the backend-completion-backend-style style.

* lisp/icomplete.el (icomplete--fido-mode-setup): Don't override
completion-category-defaults.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add lisp/backend-completion.el</title>
<updated>2022-11-25T13:03:45+00:00</updated>
<author>
<name>João Távora</name>
</author>
<published>2022-11-25T13:03:45+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=c807121fbd360d968f24048298ef54b098ac7e2c'/>
<id>c807121fbd360d968f24048298ef54b098ac7e2c</id>
<content type='text'>
This completion style is meant to be used with a "programmable
completion" table that interfaces with an external providing
completions, such as a shell utility, an inferior process, an http
server.  The table and external tool are tasked to do the matching of
the pattern string to the potential candidates of completion, and as
such it fully controls the style.

When this completion style is in use, the usual styles configured
by the user or other in `completion-styles' are completely
overriden.  This can be seen as a drawback, but, on the other hand,
the regular the full data set to be available in Emacs' addressing
space, which is often not feasible.

* lisp/backend-completion.el: New file.

* lisp/progmodes/eglot.el (Package-Requires): Require
backend-completion.
(completion-styles-alist): Don't set it.
(eglot--lsp-backend-style-call)
(eglot--lsp-backend-style-try-completion)
(eglot--lsp-backend-style-all-completions): Delete.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This completion style is meant to be used with a "programmable
completion" table that interfaces with an external providing
completions, such as a shell utility, an inferior process, an http
server.  The table and external tool are tasked to do the matching of
the pattern string to the potential candidates of completion, and as
such it fully controls the style.

When this completion style is in use, the usual styles configured
by the user or other in `completion-styles' are completely
overriden.  This can be seen as a drawback, but, on the other hand,
the regular the full data set to be available in Emacs' addressing
space, which is often not feasible.

* lisp/backend-completion.el: New file.

* lisp/progmodes/eglot.el (Package-Requires): Require
backend-completion.
(completion-styles-alist): Don't set it.
(eglot--lsp-backend-style-call)
(eglot--lsp-backend-style-try-completion)
(eglot--lsp-backend-style-all-completions): Delete.
</pre>
</div>
</content>
</entry>
<entry>
<title>Eglot: don't confuse URLs and windows file paths</title>
<updated>2022-11-24T15:24:35+00:00</updated>
<author>
<name>dannyfreeman</name>
</author>
<published>2022-11-24T15:22:33+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=d34fc7b7aa9d2779ebbada5cecd8bd2806e3e01e'/>
<id>d34fc7b7aa9d2779ebbada5cecd8bd2806e3e01e</id>
<content type='text'>
bug#59338

* lisp/progmodes/eglot.el (eglot--path-to-uri): Check for windows path
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
bug#59338

* lisp/progmodes/eglot.el (eglot--path-to-uri): Check for windows path
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove fboundp check in eglot--connect</title>
<updated>2022-11-24T15:24:10+00:00</updated>
<author>
<name>João Távora</name>
</author>
<published>2022-11-24T14:48:35+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=fcd5fde090022c2b1a6c8e130634539892857f9a'/>
<id>fcd5fde090022c2b1a6c8e130634539892857f9a</id>
<content type='text'>
project.el is a GNU ELPA :core package, so this kind of trick isn't
needed.

* lisp/progmodes/eglot.el (eglot--connect): Don't fboundp
project-name.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
project.el is a GNU ELPA :core package, so this kind of trick isn't
needed.

* lisp/progmodes/eglot.el (eglot--connect): Don't fboundp
project-name.
</pre>
</div>
</content>
</entry>
</feed>
