From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id WDHdIByq11+EbgAA0tVLHw (envelope-from ) for ; Mon, 14 Dec 2020 18:08:28 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1 with LMTPS id qGmkHByq11/OZgAAbx9fmQ (envelope-from ) for ; Mon, 14 Dec 2020 18:08:28 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id D36279403EB for ; Mon, 14 Dec 2020 18:08:27 +0000 (UTC) Received: from localhost ([::1]:36734 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kosGo-0006X2-Oy for larch@yhetil.org; Mon, 14 Dec 2020 13:08:26 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:44500) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kosEQ-00053k-Ni for emacs-orgmode@gnu.org; Mon, 14 Dec 2020 13:05:58 -0500 Received: from mail-pf1-x42b.google.com ([2607:f8b0:4864:20::42b]:42576) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kosEO-0000iU-RK for emacs-orgmode@gnu.org; Mon, 14 Dec 2020 13:05:58 -0500 Received: by mail-pf1-x42b.google.com with SMTP id 131so12541666pfb.9 for ; Mon, 14 Dec 2020 10:05:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:references:user-agent:in-reply-to :message-id:mime-version; bh=5H7P5C4xcJgutTBVzpEjpVfXHn6Xpf1Oy7qyRw/Tqnw=; b=mzuxh+Yk7QVSBtzlMUfp0FfEeGYFArOL0ErLRrLkCR2+6FbRH4SFPdW7qoFc1ORN7P tjvcBXKAXN5l2T9dFuaw9LbfpSwNQEIG5a6l1EVFfF3Xt7QLU4YynUAQQQ3LIM9Gp65a FUkHQo5ZiCWd2/J7CmRxL3h1ggJ78/Xzm1Kgy6WXSR7CMEwZ8T/tuYdQiOkYQvsLrqvC zpB+Yt+Qb6rI6lCeNq/xUCqsHbaIR+oqTL7MiAl0YRk05cSEK6K5FvRj/rr8IavXJ0cv PPvWelnlHHbYSVb6aP/sMwisBTmV/Axa4tvSnjtIZtbEnvEaZzhB7i93l+50iTggGW4v CtTQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:references:user-agent :in-reply-to:message-id:mime-version; bh=5H7P5C4xcJgutTBVzpEjpVfXHn6Xpf1Oy7qyRw/Tqnw=; b=CX0lHYYowKDf0DW3Nk0hLF/rDFe80tfWyjkOzxcOxwYc3oxFerHOkWh3GiVaZfZpzc a343Hhi0ob3HxvBEj9wClU6fQSd3F5yNn3l7nzNR5hbFxVlLXASOi6Q+pLlt2x9dOnEK D6mA/wx6oMosltPJ8iOgydCfZXvCD6et9P7mrrTL3W1C4jv0J/1ZOQc8SCJmYiDmZqzS WL4Vo/dhLfRIX6Acfefboy9Ya40/4z+/QfYxWj8eDNywhMSRiC32kohbO07l9Mu8sI6p sY1QB+wd5awGhScOwRTbNFY3gn5RPRX9/9c/oHEJOapUt0zH7qZFswwU2/jriQvWplYK 5QiA== X-Gm-Message-State: AOAM531SZfrPC48QBdoylT2OGGfx3qm0OS23oTG7w54bi/bYT79IQ/NF FoZfBsIf/12K2WVLAjy+UYmIVw+FHr4= X-Google-Smtp-Source: ABdhPJyZBDinYhrcDDfkuDGX9F5dvYNd5NQCQxn71qvgtQClLEUUjnw9o/6WPLie2TpZbMReRZYBRw== X-Received: by 2002:a62:7bcd:0:b029:19e:9bb7:6db3 with SMTP id w196-20020a627bcd0000b029019e9bb76db3mr23862810pfc.34.1607969155358; Mon, 14 Dec 2020 10:05:55 -0800 (PST) Received: from localhost (180-150-91-8.b4965b.per.nbn.aussiebb.net. [180.150.91.8]) by smtp.gmail.com with ESMTPSA id c62sm16922327pfa.116.2020.12.14.10.05.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Dec 2020 10:05:54 -0800 (PST) From: TEC To: Neil Jerram Subject: Re: Emacs as an Org LSP server Date: Tue, 15 Dec 2020 02:04:24 +0800 References: <87o8kf69tm.fsf@ucc.asn.au> <87v9d66l75.fsf@gmail.com> <87a6ugpftr.fsf@gmail.com> <877dpkpefs.fsf@gmail.com> <871rfspa4y.fsf@gmail.com> User-agent: mu4e 1.4.13; emacs 27.1 In-reply-to: Message-ID: <87y2i0ntz4.fsf@gmail.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Received-SPF: pass client-ip=2607:f8b0:4864:20::42b; envelope-from=tecosaur@gmail.com; helo=mail-pf1-x42b.google.com X-Spam_score_int: -1 X-Spam_score: -0.2 X-Spam_bar: / X-Spam_report: (-0.2 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, FREEMAIL_REPLY=1, HTML_MESSAGE=0.001, MIME_HTML_ONLY=0.1, MPART_ALT_DIFF=0.79, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-orgmode@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: org-mode-email Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: "Emacs-orgmode" X-Migadu-Flow: FLOW_IN X-Migadu-Spam-Score: 0.19 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20161025 header.b=mzuxh+Yk; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of emacs-orgmode-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=emacs-orgmode-bounces@gnu.org X-Migadu-Queue-Id: D36279403EB X-Spam-Score: 0.19 X-Migadu-Scanner: scn0.migadu.com X-TUID: 3mr9ekr1NJQ6 --=-=-= Content-Type: multipart/alternative; boundary="==-=-=" --==-=-= Content-Type: text/html; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable

Hi Neil,

Nope! That=E2=80=99s the nice thing, those are all currently features of th= e LSP protocol =F0=9F=99=82.

All the best,
Timothy

From: Neil Jerra= m
Subject: Re: Emacs as an Org LSP server
To: TEC
Cc: "org-mode-email" <emacs-orgmode@gnu.org>
Date: Tue, 15 Dec 2020 01:57:27 +0800

Yes, thanks, I'm seeing the picture now.  I guess tha= t some of those things would require extensions to the LSP standard/protoco= l, as well as just implementation, wouldn't they?

On Mon, 14 Dec 2020 at 17= :31, TEC <tecosaur@gmail.com&g= t; wrote:
=

Hi Neil,

Ah, I see what you=E2=80=99re getting at now. I=E2=80=99ll try to give you = an idea of what I think could apply.

  • Provide nice text manipulation actions, e.g. struc= tural editing
  • Completion, = with company
  • Org Export
  • Run Babel bl= ocks
  • Org syntax h= ighlighting (potentially)
  • Folding (may= be)
  • All the nice= stuff like table alignment, checkbox state propagation=E2=80=A6

Does that help?

All the best,
Timothy=

From: Neil Jerram=
Subject: Re: Emacs as an Org LSP server
To: TEC
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 ther= e 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 th= at make sense for Org.

Another possibility might = be interacting, from a 3rd party editor, with a body of Org content that ha= s been primarily written and managed in Emacs.  If so, what would thos= e interactions be?  Marking a task as done?  Something more compl= ex than that?

Or is it like: 3rd party editor ope= ns an Org file and the user types some <random key sequence>.  E= ditor asks the LSP server (Emacs) "what does <random key sequence&g= t; mean?", and the server replies "it means the Org entry should = now look like this: ..."


On Mon, 14 Dec 2020 at = 15:58, TEC <teco= saur@gmail.com> wrote:

Hi Neil,

Good to hear that you did take a look at the readme =F0=9F=99=82.

You can think of the LSP as a specification for cross-editor/<= span>IDE extensions. The intent of this is to make some of Org=E2=80=99s functionality accessible to= the ~95% of people who don=E2=80=99t use Emacs, by hooking into Emacs itself.

Does that clear things up for you? You can also see https://langs= erver.org/.

All the best,
Timothy=

From: Neil Jerram=
Subject: Re: Emacs as an Org LSP server
To: TEC
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 afrai= d I still can't quite picture a specific use.


On Mon, 14 De= c 2020 at 15:28, TEC <tecosaur@gmail.com> wrote:

Hi Neil,

I=E2=80=99m going to quote you the readme from the linked github repo:

Allow the unwashed masses to use Org, without using Emacs, using Emacs.

Here=E2=80=99s the image from the readme 3D"model.png"/=

And here=E2=80=99s the first line from the first result of a google search = for &ldquoLSP=E2=80=9D:

The Language Server Protocol (LSP) defines the protocol used b= etween an editor or IDE and a language server that provides language features l= ike 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=
Subject: Re: Emacs as an Org LSP server
To: TEC
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/or= g-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@gm= ail.com> writes:

> Hi Everyone,
>
> From the Org standardisation effort the idea of using Emacs as the bas= is
> 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 outstan= ding
>    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  &= nbsp;serve as
>  a 'gateway drug' to Org in Emacs =F0=9F=98=89


--==-=-=-- --=-=-=--