[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: New jrpc.el JSONRPC library
From: |
João Távora |
Subject: |
Re: New jrpc.el JSONRPC library |
Date: |
Mon, 21 May 2018 00:22:41 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) |
Josh Elsasser <address@hidden> writes:
> On May 20, 2018, at 12:13 PM, Clément Pit-Claudel <address@hidden> wrote:
>> On 2018-05-20 11:54, João Távora wrote:
> After working through the eglot.el source, it looks like the same
> thing could be managed by just defining a
> `eglot—server-myLangServer/customMethodName` handler. The API for
> sending/receive input from the server looks really clean, too -- the
> various custom extensions floating around out there could easily be
> implemented as langserver-specific packages with a depend on eglot.el
Thanks for the positive feedback, and indeed creating a clean API was a
design goal, but notice that:
(cl-defun eglot--server-myLangServer/customMethodName
(proc &key param1 param2)
...)
has two dashes in it. It isn't (yet) a part of the official eglot.el LSP
API, and your particular example might very well become something like:
(cl-defmethod eglot-handle-notification
(proc (method (eql :myLangServer/customMethodName)) &key param1 param2)
...)
or, for requests
(cl-defmethod eglot-handle-request
(proc id (method (eql :myLangServer/customMethodName)) &key param1 param2)
...)
This seems cleaner than the "automagical" function names, although it
has two minor drawbacks:
1. M-x imenu won't let me search methods by their specializers
2. eldoc mode doesn't highlight :param1 and :param2 while writing a
method call (but this isn't really a problem in this case because
you're not going to be writing the function calls yourself).
João
- Re: [ELPA] New package: eglot, (continued)
- Re: [ELPA] New package: eglot, Eli Zaretskii, 2018/05/11
- Re: [ELPA] New package: eglot, João Távora, 2018/05/11
- New jrpc.el JSONRPC library (Was: [ELPA] New package: eglot), João Távora, 2018/05/18
- Re: New jrpc.el JSONRPC library, Clément Pit-Claudel, 2018/05/20
- Re: New jrpc.el JSONRPC library, Josh Elsasser, 2018/05/20
- Re: New jrpc.el JSONRPC library,
João Távora <=
- Re: New jrpc.el JSONRPC library, Josh Elsasser, 2018/05/20
- Re: New jrpc.el JSONRPC library, João Távora, 2018/05/20
- Re: New jrpc.el JSONRPC library, Clément Pit-Claudel, 2018/05/20
- Re: New jrpc.el JSONRPC library (Was: [ELPA] New package: eglot), Philipp Stephani, 2018/05/19
- Re: New jrpc.el JSONRPC library (Was: [ELPA] New package: eglot), Eli Zaretskii, 2018/05/19
- Re: New jrpc.el JSONRPC library, João Távora, 2018/05/20
- Re: New jrpc.el JSONRPC library, Eli Zaretskii, 2018/05/20
- Re: New jrpc.el JSONRPC library, João Távora, 2018/05/20
- Re: New jrpc.el JSONRPC library, Aaron Ecay, 2018/05/21
- Re: New jrpc.el JSONRPC library, João Távora, 2018/05/21