From: joaotavora@gmail.com (João Távora)
To: Eli Zaretskii <eliz@gnu.org>
Cc: monnier@iro.umontreal.ca, vibhavp@gmail.com, emacs-devel@gnu.org
Subject: Re: New jrpc.el JSONRPC library
Date: Sun, 20 May 2018 16:54:42 +0100 [thread overview]
Message-ID: <877enys4ot.fsf@gmail.com> (raw)
In-Reply-To: <83r2m8ghiq.fsf@gnu.org> (Eli Zaretskii's message of "Sat, 19 May 2018 11:46:05 +0300")
Eli Zaretskii <eliz@gnu.org> writes:
>> From: João Távora <joaotavora@gmail.com>
>> Cc: emacs-devel@gnu.org, monnier@iro.umontreal.ca, vibhavp@gmail.com
>> Date: Fri, 18 May 2018 17:27:54 +0100
>>
>> So, off-list Stefan likewise suggested that some level of LSP
>> "infrastructure" is integrated into Emacs, which could lead to merging
>> eglot.el and other LSP clients like lsp-mode.el in the future.
>>
>> As JSONRPC support is a mandatory component of LSP, I've extracted a
>> library implementing the JSONRPC spec (see www.jsonrpc.org) out of
>> eglot.el.
>>
>> I propose this library, jrpc.el, for Emacs core (or GNU ELPA, or
>> both). I hope people can review it, comment on it, and propose changes,
>> particularly developers of other existing LSP-modes. I attach to the
>> end of this mail with a reasonably complete ";;; Commentary" header,
>> including a simple usage example.
>>
>> JSONRPC is apparently also used for other non-LSP applications. See
>> http://json-rpc.info/.
>
> Thanks, this sounds like a good addition. Does it (or can it) work
> with the built-in JSON support we have on the master branch?
Not yet. I didn't know about that, but indeed it has to be on the
roadmap, so I'll start looking into it.
> And I still wonder whether more of eglot's LSP support should be in
> core. After all, only customizing LSP for a specific language should
> be left for the major modes, the rest of interaction with LSP is
> probably language-agnostic, right?
In fact, no. At least not ideally. *All* of LSP is
language-agnostic. The only two things eglot.el does mode-locally are:
1. a very small tweak for `rust-mode', whose not-entirely-compliant RLS
server has some trouble that eglot works around and
2. a global `eglot-server-programs' variable mapping major-modes to
server-launching commands.
The first should go into rust-mode.el (not currently in Emacs/ELPA). The
second one could be replaced by a (setq eglot-server-program <program>)
int he mode hook.
So again, if LSP support is wanted, eglot.el fits that bill (and better
that others IMNSHO :-) But I'd let it mature out of core for a little
while more.
João
next prev parent reply other threads:[~2018-05-20 15:54 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-05-10 22:34 [ELPA] New package: eglot João Távora
2018-05-11 6:19 ` Eli Zaretskii
2018-05-11 11:29 ` João Távora
2018-05-11 12:15 ` Eli Zaretskii
2018-05-18 16:27 ` New jrpc.el JSONRPC library (Was: [ELPA] New package: eglot) João Távora
2018-05-19 8:46 ` Eli Zaretskii
2018-05-20 15:54 ` João Távora [this message]
2018-05-20 16:02 ` New jrpc.el JSONRPC library Eli Zaretskii
2018-05-29 1:08 ` João Távora
2018-06-28 12:13 ` [PATCH] jsonrpc.el João Távora
2018-06-28 13:18 ` Eli Zaretskii
2018-06-28 13:23 ` João Távora
2018-06-28 13:40 ` Eli Zaretskii
2018-05-20 19:13 ` New jrpc.el JSONRPC library Clément Pit-Claudel
2018-05-20 20:35 ` Josh Elsasser
2018-05-20 23:22 ` João Távora
2018-05-21 3:32 ` Josh Elsasser
2018-05-20 23:11 ` João Távora
2018-05-21 0:14 ` Clément Pit-Claudel
2018-05-19 11:34 ` New jrpc.el JSONRPC library (Was: [ELPA] New package: eglot) Philipp Stephani
2018-05-19 14:11 ` Eli Zaretskii
2018-05-20 15:43 ` New jrpc.el JSONRPC library João Távora
2018-05-20 16:06 ` Eli Zaretskii
2018-05-20 16:18 ` João Távora
2018-05-21 13:30 ` Aaron Ecay
2018-05-21 13:43 ` João Távora
2018-05-21 14:37 ` Aaron Ecay
2018-05-21 19:06 ` João Távora
2018-05-23 17:57 ` Aaron Ecay
2018-05-23 18:02 ` Stefan Monnier
2018-05-23 20:40 ` João Távora
2018-05-24 2:07 ` Stefan Monnier
2018-05-21 14:42 ` Stefan Monnier
2018-05-24 10:02 ` Philipp Stephani
2018-05-24 17:25 ` João Távora
2018-05-12 15:47 ` [ELPA] New package: eglot Stefan Monnier
2018-05-14 10:55 ` Bozhidar Batsov
2018-05-14 14:14 ` João Távora
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=877enys4ot.fsf@gmail.com \
--to=joaotavora@gmail.com \
--cc=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
--cc=monnier@iro.umontreal.ca \
--cc=vibhavp@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.