Hi all, I have worked a bit on ConTeXt support in the Digestif language server [1], and I think it's pretty usable by this point, so I would like to invite everyone to check it out. Feedback is welcome. Digestif plugs into any editor that support the Language Server Protocol, and provides the usual IDE features: completion (of commands, keyword arguments, references, citations), go to definition, find references, document outline, etc. Among the fancier features is fuzzy-matching, so you can, say, find a citation by typing parts of the title or author names (and get away with using meaningless BibTeX identifiers). The newest (git) version reads the ConTeXt interface files at runtime, so it should be pretty accurate, and also work with third-party packages. It would be cool to also have some integrated documentation, but it looks like ConTeXt (or TeX in general) doesn't have anything of help in this direction currently, right? Another nice thing is that Digestif is a Lua program, and can run on the LuaTeX interpreter with no extra dependencies. On the other hand, I didn't get the change to test it on Windows or editors other than Emacs, although both things should work with minimal adjustments. Let me know if you have any issues. Best, Augusto [1]: https://github.com/astoff/digestif
Dear Augusto, Am 31.12.20 um 10:25 schrieb Augusto Stoffel:
Hi all,
I have worked a bit on ConTeXt support in the Digestif language server [1], and I think it's pretty usable by this point, so I would like to invite everyone to check it out. Feedback is welcome.
this looks great. Thanks a lot for this. Unfortunately I get Company mode enabled in current buffer Yas minor mode enabled in current buffer eglot--connect: Symbol’s function definition is void: project-root when I activate eglot in emacs. Using (require 'company-lsp) (add-to-list 'company-lsp-filter-candidates '(digestif . nil)) Using lsp-mode I get progn: Symbol’s value as variable is void: company-lsp-filter-candidates for (add-to-list 'company-lsp-filter-candidates '(digestif . nil)) I have no experience with using either eglot or lsp-mode. So I am afraid that I have to adjust something more than written on your Github page. juh
On Thu, 31 Dec 2020 10:25:20 +0100
Augusto Stoffel
I have worked a bit on ConTeXt support in the Digestif language server [1], and I think it's pretty usable by this point, so I would like to invite everyone to check it out. Feedback is welcome.
Thanks a lot for your work on digestif and improving ConTeX support!
Digestif plugs into any editor that support the Language Server Protocol
I'd probably like to use it with SublimeText which I favour over VScode...
Another nice thing is that Digestif is a Lua program, and can run on the LuaTeX interpreter with no extra dependencies. On the other hand, I didn't get the change to test it on Windows or editors other than Emacs, although both things should work with minimal adjustments. Let me know if you have any issues.
I'd have to revive ST's package which provides support for ConTeXt syntax and now trying it with vim/coc, but wonder whether you're using TeXLive or lmtx? I'm trying with the latter on Debian (Sid)... Sincerely, Gour -- One who works in devotion, who is a pure soul, and who controls his mind and senses is dear to everyone, and everyone is dear to him. Though always working, such a man is never entangled.
I'd have to revive ST's package which provides support for ConTeXt syntax and now trying it with vim/coc, but wonder whether you're using TeXLive or lmtx?
I'm trying with the latter on Debian (Sid)...
I have only tested it with TeXLive. But if lmtx provides a lua interpreter with kpathsea bindings, like the usual texlua, then it will surely work. If that's not the case and you installed lmtx in a nonstandard location, you will need to set an environment variable to specify the location of the interface XML files. Best, Augusto
On 1/2/2021 7:58 PM, Augusto Stoffel wrote:
I'd have to revive ST's package which provides support for ConTeXt syntax and now trying it with vim/coc, but wonder whether you're using TeXLive or lmtx?
I'm trying with the latter on Debian (Sid)...
I have only tested it with TeXLive. But if lmtx provides a lua interpreter with kpathsea bindings, like the usual texlua, then it will surely work. If that's not the case and you installed lmtx in a nonstandard location, you will need to set an environment variable to specify the location of the interface XML files.
you can use resolvers.findfile when you use mtxrun --script yourscript ... Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl -----------------------------------------------------------------
On Sat, 2 Jan 2021 19:58:06 +0100
Augusto Stoffel
I have only tested it with TeXLive. But if lmtx provides a lua interpreter with kpathsea bindings, like the usual texlua, then it will surely work.
OK.
If that's not the case and you installed lmtx in a nonstandard location,
I've installed it into ~/opt/lmtx and context-en.xml is at opt/lmtx/tex/texmf-context/tex/context/interface/mkiv/context-en.xml
you will need to set an environment variable to specify the location of the interface XML files.
Which variable should be set? Sincerely, Gour -- The senses, the mind and the intelligence are the sitting places of this lust. Through them lust covers the real knowledge of the living entity and bewilders him.
You would set DIGESTIF_TEXMF to the (list of) directory(ies) containing
the ls-R file(s).
However, I gather from Hans's comment that lmtx does not have the ls-R
files. So something lmtx-specific has to be added to Digestif.
Best,
Augusto
On Sun, Jan 3, 2021 at 11:21, Saša Janiška
On Sat, 2 Jan 2021 19:58:06 +0100 Augusto Stoffel
wrote: I have only tested it with TeXLive. But if lmtx provides a lua interpreter with kpathsea bindings, like the usual texlua, then it will surely work.
OK.
If that's not the case and you installed lmtx in a nonstandard location,
I've installed it into ~/opt/lmtx and context-en.xml is at
opt/lmtx/tex/texmf-context/tex/context/interface/mkiv/context-en.xml
you will need to set an environment variable to specify the location of the interface XML files.
Which variable should be set?
Sincerely, Gour
-- The senses, the mind and the intelligence are the sitting places of this lust. Through them lust covers the real knowledge of the living entity and bewilders him.
___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : http://contextgarden.net ___________________________________________________________________________________
participants (4)
-
Augusto Stoffel
-
Hans Hagen
-
Jan U. Hasecke
-
Saša Janiška