Microsoft has been doing this since 1990's and they ended up with "language server protocol". Maybe Emacs core could implement some kind of support for implementing lsp:s or implement some better support to interchange data with existing lsp:s. Personally I dislike the idea of json (or xml) as interchange format, I would prefer some binary protocol for compactness and speed, but otherwise their idea if lsp is probably quite sound. Maybe GCC could export its ast as well .... Skickat från min Samsung Galaxy-smartphone. -------- Originalmeddelande -------- Från: Eli Zaretskii Datum: 2020-01-03 15:29 (GMT+01:00) Till: phillip.lord@russet.org.uk Kopia: emacs-devel@gnu.org Ämne: Re: Using incremental parsing in Emacs > Date: Fri, 03 Jan 2020 13:36:39 +0000 > From: phillip.lord@russet.org.uk > Cc: emacs-devel@gnu.org, Emacs-devel > > > https://github.com/ubolonton/emacs-tree-sitter/ > > https://github.com/karlotness/tree-sitter.el > > The former uses Rust for the dynamic module support. My gut feeling is that modules are not the best way of bringing this to Emacs (and doing this via Rust on top of that makes even less sense to me), which is why I suggested to come up with a design first. > Tree sitter itself also uses Javascript and npm to define the > language grammars, although AFAICT, these compile down to C. They compile to C, and I'm quite sure that it shouldn't be too hard to allow a language grammar to be written in some other scripting language. But I think these are secondary considerations at this stage.