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 UOsjAJ2j11+rLwAA0tVLHw (envelope-from ) for ; Mon, 14 Dec 2020 17:40:45 +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 UGx6N5yj11+RUwAAbx9fmQ (envelope-from ) for ; Mon, 14 Dec 2020 17:40:44 +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 78F439402B0 for ; Mon, 14 Dec 2020 17:40:44 +0000 (UTC) Received: from localhost ([::1]:44404 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1korpz-00018P-Cu for larch@yhetil.org; Mon, 14 Dec 2020 12:40:43 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:33200) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1korhA-0005DO-7R for emacs-orgmode@gnu.org; Mon, 14 Dec 2020 12:31:36 -0500 Received: from mail-pg1-x530.google.com ([2607:f8b0:4864:20::530]:34273) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1korh6-0003Pw-Pk for emacs-orgmode@gnu.org; Mon, 14 Dec 2020 12:31:35 -0500 Received: by mail-pg1-x530.google.com with SMTP id g18so12946418pgk.1 for ; Mon, 14 Dec 2020 09:31:30 -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=wr7Yq4ZqxzR9yEU4jN8qK3MP5DYswzQD1WNkLKtF+44=; b=hlLjvnb+aEnKAydHwWemgsDXqn92/cDW+qfIZJDSotKsRfRKP0PGsvJzNJ41CqBO5p BLEKzUvbm8hUHrxqLqUoyl0Yks5s9+wo1dcbrA2v3fzUExSPL1sF5GL+RRtnh40rZLfg YSup3ai58NI5auVCF4NBEYUxQ5+JUSUxNacKJ1qEt609SvNBcD5mzv46xU/vCDGXzubW IigSxVf9tWqLku/nHVWkEV9RkcOb/lvRRhZxA384dIo9QiKwgAuV4ehP1n6l4bNc1R/C hhqvq1N348PvR4nLUZ4hWqIofwUMaRfAHPVTe8Cn0hxrl8ZZOuT7P+CH8QQ3qF1Yeafe +THQ== 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=wr7Yq4ZqxzR9yEU4jN8qK3MP5DYswzQD1WNkLKtF+44=; b=VS7a+mrK5PH+uiOlYaC48HI9ha5FTm2aZKlMC0aanmsroKxSUjN97e8JftE1W3vfoi OwyIN445gObcsvk1gjBfS7ODQT4CLhsCxlAUat/8thlfWjRP3r0aDyv75HQYOTzzO1xc 42yH11X31f/UoovD6/OfUAqDAeFFQEWo5l+UXmbO4agNPWNLkD58jN1SWJ/e2FHUhWUz MAE/29wqsF7wOYMxYwZkkrlIF4OgYh+f9vgfEoIXPC91Yu9SpZHvRv5wbVnStzRxh9Bu gx4gqAW68XGLToYdLD9o2jXbPDykzFoPhIMI0tjNNg++w6fbQkbwz3c7if9vmqXqwwM4 EPbQ== X-Gm-Message-State: AOAM531BBrnlPG79fBPCwSXVfriF59kIwY1SkOp+clojdlDUI1j+w4YI 6uv6uJhkgCd00iGF8jIqkj0= X-Google-Smtp-Source: ABdhPJzjbzcDnGwejya8BjSSPcwYclCvugq8IFop/yHy6Wc1RrlTDC5S/eZE8bl4MwOzhJUyLPq5Nw== X-Received: by 2002:a63:3247:: with SMTP id y68mr25476800pgy.10.1607967088952; Mon, 14 Dec 2020 09:31:28 -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 x10sm20012647pff.214.2020.12.14.09.31.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Dec 2020 09:31:28 -0800 (PST) From: TEC To: Neil Jerram Subject: Re: Emacs as an Org LSP server Date: Tue, 15 Dec 2020 01:24:04 +0800 References: <87o8kf69tm.fsf@ucc.asn.au> <87v9d66l75.fsf@gmail.com> <87a6ugpftr.fsf@gmail.com> <877dpkpefs.fsf@gmail.com> User-agent: mu4e 1.4.13; emacs 27.1 In-reply-to: Message-ID: <871rfspa4y.fsf@gmail.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Received-SPF: pass client-ip=2607:f8b0:4864:20::530; envelope-from=tecosaur@gmail.com; helo=mail-pg1-x530.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=hlLjvnb+; 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: 78F439402B0 X-Spam-Score: 0.19 X-Migadu-Scanner: scn0.migadu.com X-TUID: 3ASAS4XpYFR/ --=-=-= Content-Type: multipart/alternative; boundary="==-=-=" --==-=-= Content-Type: text/html; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable

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. str= uctural editing
  • Completion,= with company
  • Org Export<= /li>
  • Run Babel b= locks
  • Org syntax = highlighting (potentially)
  • Folding (ma= ybe)
  • All the nic= e stuff like table alignment, checkbox state propagation=E2=80=A6

Does that help?

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: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 <tecosaur@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


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