emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Renaming eglot -- or at least add an alias?


From: Tim Cross
Subject: Re: Renaming eglot -- or at least add an alias?
Date: Thu, 13 Oct 2022 11:17:59 +1100
User-agent: mu4e 1.9.0; emacs 29.0.50

Yuan Fu <casouri@gmail.com> writes:

>> 
>> This all seems to get very confusing/complicated quite fast.
>> 
>> In case it helps, as a user, for most of the languages I work in, here
>> is what I would want (assuming eglot/tree-sitter support available for
>> each language.
>> 
>> - Tree-sitter for font lock and indentation. I don't think eglot will be
>>  fast enough given json parsing and process comms etc.
>> 
>> - eglot for linting, xref, completion, doc lookup, code actions etc.
>>  Most of the time, I want this on a project rather than a file
>>  basis. Also, I want something which is consistent with co-workers who
>>  use other editors, but the same language server.
>> 
>> So for me, I want to be able to specify for xxx-mode, use tree-sitter
>> for font locking and indentation and eglot for everything else. Being
>> able to easily set that in myh init will be what I am looking for. 
>
> Thanks for you input. I don’t think eglot (and LSP the protocol) handles 
> font-lock and
> indent, and tree-sitter doesn’t do the things you listed for eglot. So if you 
> just enable
> tree-sitter and eglot you should get what you want exactly. I don’t know 
> about eglot, but
> we are working on the toggle for tree-sitter right now, you can see the other 
> thread I
> started on this topic.
>

The LSP does handle providing indentation support (clojure-lsp has that)
and I think code highlighting/font-locking is also being added. However,
I agree with most who are concerned the overheads associated with LSP
are potentially problematic, especially with large files.

I find the file/project distinction useful when looking at tree-sitter
and LSP (eglot). Tree-sitter seems extremely useful for providing parsed
information on a single file while LSP seems useful when you need to
look at things from a project perspective.

Of course, the performance issue associated with LSP and parsing json
also need to be considered in the context of the work (development and
maintenance) required to implement a tree sitter parser for a specific
language. The advantage of the LSP server is that it is able to provide
data for many different editors and has the potential of being actively
supported by the community supporting the language and not jsut the
smaller community supporting an editor mode.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]