From: Neil Jerram <neiljerram@gmail.com>
To: TEC <tecosaur@gmail.com>
Cc: org-mode-email <emacs-orgmode@gnu.org>
Subject: Re: Emacs as an Org LSP server
Date: Mon, 14 Dec 2020 17:57:27 +0000 [thread overview]
Message-ID: <CAKuG=vuqL6Gqe622br4Y5-G8=Lod-OjFwxZ+nHu=ezJCEf0fxQ@mail.gmail.com> (raw)
In-Reply-To: <871rfspa4y.fsf@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 5497 bytes --]
Yes, thanks, I'm seeing the picture now. I guess that some of those things
would require extensions to the LSP standard/protocol, as well as just
implementation, wouldn't they?
On Mon, 14 Dec 2020 at 17:31, TEC <tecosaur@gmail.com> wrote:
> Hi Neil,
>
> Ah, I see what you’re getting at now. I’ll try to give you an idea of what
> I think could apply.
>
> - Provide nice text manipulation actions, e.g. structural editing
> - Completion, with company
> - Org Export
> - Run Babel blocks
> - Org syntax highlighting (potentially)
> - Folding (maybe)
> - All the nice stuff like table alignment, checkbox state propagation…
>
> Does that help?
>
> All the best,
> *Timothy*
>
> * From*: Neil Jerram <%22Neil+Jerram%22+%3Cneiljerram@gmail.com%3E>
> * Subject*: Re: Emacs as an Org LSP server
> * To*: TEC <%22TEC%22+%3Ctecosaur@gmail.com%3E>
> * Cc*: "org-mode-email" <emacs-orgmode@gnu.org>
> * Date*: Tue, 15 Dec 2020 01:22:55 +0800
> I'm afraid things still aren't clear for me. Is there a reason it's so
> hard to give a concrete example?
>
> If I try to analogise from how LSP works for golang, I believe the LSP
> server does things like
> - complete symbol beginning with "Xyz"
> - tell me where so-and-so function is defined (e.g. so that the client
> editor can jump to it).
> I'm not sure if operations like that make sense for Org.
>
> Another possibility might be interacting, from a 3rd party editor, with a
> body of Org content that has been primarily written and managed in Emacs.
> If so, what would those interactions be? Marking a task as done?
> Something more complex than that?
>
> Or is it like: 3rd party editor opens an Org file and the user types some
> <random key sequence>. Editor asks the LSP server (Emacs) "what does
> <random key sequence> mean?", and the server replies "it means the Org
> entry should now look like this: ..."
>
>
> On Mon, 14 Dec 2020 at 15:58, TEC <tecosaur@gmail.com> wrote:
>
>> Hi Neil,
>>
>> Good to hear that you did take a look at the readme 🙂.
>>
>> You can think of the LSP as a specification for cross-editor/IDE
>> extensions. The intent of this is to make some of Org’s functionality
>> accessible to the ~95% of people who don’t use Emacs, by hooking into Emacs
>> itself.
>>
>> Does that clear things up for you? You can also see
>> https://langserver.org/.
>>
>> All the best,
>> *Timothy*
>>
>> * From*: Neil Jerram <%22Neil+Jerram%22+%3Cneiljerram@gmail.com%3E>
>> * Subject*: Re: Emacs as an Org LSP server
>> * To*: TEC <%22TEC%22+%3Ctecosaur@gmail.com%3E>
>> * Cc*: "org-mode-email" <emacs-orgmode@gnu.org>
>> * Date*: Mon, 14 Dec 2020 23:46:12 +0800
>> Thanks Timothy. I did read the README, but I'm afraid I still can't
>> quite picture a specific use.
>>
>>
>> On Mon, 14 Dec 2020 at 15:28, TEC <tecosaur@gmail.com> wrote:
>>
>>> Hi Neil,
>>>
>>> I’m going to quote you the readme from the linked github repo:
>>>
>>> Allow the unwashed masses to use Org, without using Emacs, using Emacs.
>>>
>>> Here’s the image from the readme [image: model.png]
>>>
>>> And here’s the first line from the first result of a google search for
>>> &ldquoLSP”:
>>>
>>> The Language Server Protocol (LSP) defines the protocol used between an
>>> editor or IDE and a language server that provides language features
>>> like auto complete, go to definition, find all references etc.
>>>
>>> That should give you an idea of the intent here.
>>>
>>> All the best,
>>> *Timothy*
>>>
>>> * From*: Neil Jerram <%22Neil+Jerram%22+%3Cneiljerram@gmail.com%3E>
>>> * Subject*: Re: Emacs as an Org LSP server
>>> * To*: TEC <%22TEC%22+%3Ctecosaur@gmail.com%3E>
>>> * Cc*: "org-mode-email" <emacs-orgmode@gnu.org>
>>> * Date*: Mon, 14 Dec 2020 19:41:05 +0800
>>> Could you describe a use case? Apologies if I missed this in earlier
>>> threads.
>>>
>>>
>>> On Sun, 13 Dec 2020 at 10:44, TEC <tecosaur@gmail.com> wrote:
>>>
>>>>
>>>> A little progress update.
>>>>
>>>> https://github.com/tecosaur/org-lsp now exists.
>>>>
>>>> I have no idea what I'm doing, so if anyone has feedback on the current
>>>> idea, that would be much appreciated.
>>>>
>>>> TEC <tecosaur@gmail.com> writes:
>>>>
>>>> > Hi Everyone,
>>>> >
>>>> > From the Org standardisation effort the idea of using Emacs as the
>>>> basis
>>>> > of an LSP server for Org has been mentioned a few times.
>>>> >
>>>> > I thought this deserved it's own thread so here it is :)
>>>> >
>>>> > I'm quite keen to investigate the viability of this idea.
>>>> > Some key questions that I think need addressing are:
>>>> > 1. How can we 'package' Emacs into an LSP client?
>>>> > 2. Assuming we use some language as the basis for the host how do we
>>>> > want to pick it? LSP library? Lisp? Are there any outstanding
>>>> > contenders.
>>>> > 3. How much effort is involved? Is it worth it to try to make Org
>>>> more
>>>> > approachable* (without Emacs)?
>>>> >
>>>> > Lastly, but perhaps even more crucially --- who would be interested in
>>>> > working on this? I certainly am, but this feels like something that
>>>> > would be more viable with a small working group.
>>>> >
>>>> > Who's interested?
>>>> >
>>>> > Timothy.
>>>> >
>>>> >
>>>> > * I can't help but think that this hypothetical LSP server may
>>>> serve as
>>>> > a 'gateway drug' to Org in Emacs 😉
>>>>
>>>>
>>>>
[-- Attachment #2: Type: text/html, Size: 14845 bytes --]
next prev parent reply other threads:[~2020-12-14 17:58 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-11-02 15:05 Emacs as an Org LSP server TEC
2020-12-13 10:41 ` TEC
2020-12-13 11:05 ` Bill Burdick
2020-12-13 14:36 ` Jean Louis
2020-12-13 17:33 ` TEC
2020-12-13 20:23 ` Jean Louis
2020-12-14 0:54 ` Gerry Agbobada
2020-12-14 1:04 ` Tim Cross
2020-12-14 1:10 ` George Mauer
2020-12-14 11:41 ` Neil Jerram
2020-12-14 15:25 ` TEC
2020-12-14 15:46 ` Neil Jerram
2020-12-14 15:55 ` TEC
2020-12-14 17:02 ` Jean Louis
2020-12-14 17:08 ` TEC
2020-12-14 18:05 ` Russell Adams
2020-12-14 18:12 ` TEC
2020-12-14 19:16 ` Russell Adams
2020-12-14 20:18 ` Jean Louis
2020-12-14 21:34 ` Tim Cross
2020-12-14 20:20 ` Tim Cross
2020-12-14 21:45 ` Tom Gillespie
2020-12-14 18:39 ` LSP is Microsoft's patented protocol - " Jean Louis
2020-12-14 18:44 ` TEC
2020-12-14 18:52 ` Jean Louis
2020-12-15 5:47 ` Richard Stallman
2020-12-15 5:50 ` Jean Louis
2020-12-15 6:09 ` Christopher Dimech
2020-12-15 6:25 ` Jean Louis
2020-12-15 6:51 ` Christopher Dimech
2020-12-16 5:38 ` Richard Stallman
2020-12-14 17:27 ` Gerry Agbobada
2020-12-14 18:16 ` Jean Louis
2020-12-14 18:26 ` TEC
2020-12-14 18:50 ` Jean Louis
2020-12-14 19:41 ` Russell Adams
2020-12-14 18:51 ` Bastien
2020-12-15 8:51 ` Bill Burdick
2020-12-14 19:50 ` Tim Cross
2020-12-14 21:51 ` Jean Louis
2020-12-14 22:35 ` Dominik Schrempf
2020-12-14 23:36 ` Jean Louis
2020-12-14 17:22 ` Neil Jerram
2020-12-14 17:24 ` TEC
2020-12-14 17:57 ` Neil Jerram [this message]
2020-12-14 18:04 ` TEC
2020-12-14 17:39 ` Russell Adams
2020-12-14 17:45 ` TEC
2020-12-16 11:49 ` Bastien
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
List information: https://www.orgmode.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAKuG=vuqL6Gqe622br4Y5-G8=Lod-OjFwxZ+nHu=ezJCEf0fxQ@mail.gmail.com' \
--to=neiljerram@gmail.com \
--cc=emacs-orgmode@gnu.org \
--cc=tecosaur@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 public inbox
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).