On Wed, 7 Aug 2024 at 09:47, João Távora wrote: > On Wed, Aug 7, 2024 at 8:02 AM Augusto Stoffel wrote: > >> Sure, but how is that useful information for a language server? > > Fairly useful. If someone tells me this upfront about some stream of > data they're about to send I know I can use a very simple parser. > Or I can reject it altogether if I don't like "lisp" for some reason. > If working on a language server multiplexer, for example > that information is possibly enough to know where to redirect the > didOpen. (That's a tangent, but in practice your multiplexer will be required to know what to do with more specific language ids such as "common-lisp" or "scheme". So I still see no advantage in sending less specific language ids.) >> > 3. Ignoring my advice and sending "plain-tex" from Eglot anyway >> > (i.e. installing your patch without :language-id) >> >> You're clearly against this so it is not going to happen, but I hope I >> managed to explain to you why I would have done it. > > Ultimately, I have to leave room for a pragmatic decision from > domain experts, even if it violates the spec. I'm just trying to > understand the angles and judge the probability of breakage > later on. > >> > For the _other_ orthogonal problem, I suggest: >> > (racket-mode . ("racket" "-l" "racket-langserver")) >> > - ((tex-mode context-mode texinfo-mode bibtex-mode) >> > + ((latex-mode (plain-tex-mode :language-id "tex") tex-mode >> > context-mode texinfo-mode bibtex-mode) >> >> Since you want to send "tex" language id for plain tex, the following >> suffices: >> >> ((latex-mode tex-mode context-mode texinfo-mode bibtex-mode) > > Again, I don't "want" to (see above for the reasons). This patch > is concerned with the orthogonal requirement of keeping tex-mode > (and not removing it as you proposed) > > So: > > * please make up your mind, i.e. make a (possibly overriding) decision > whether sending off-spec "plain-tex" for tex-mode is really what is > needed. > > * whatever your decision, keep 'tex-mode' in the list. > > * help me test the patch below by checking that problem X is now > solved and now new problem Z has popped up. So this is my final suggestion then: