From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Po Lu Newsgroups: gmane.emacs.devel Subject: Re: Elisp LSP Server Date: Mon, 11 Oct 2021 15:34:56 +0800 Message-ID: <8735p8auan.fsf@yahoo.com> References: <16338bdc2497fc51c6fb6d54ab370bfb@webmail.orcon.net.nz> <87ee99dv34.fsf@gmail.com> <07cf50ddddb5a9556aa94201a7ac88c9@webmail.orcon.net.nz> <87r1d0562u.fsf@yahoo.com> <87r1cz7qcd.fsf@posteo.net> <87bl4367av.fsf@yahoo.com> <87fstf7kz4.fsf@posteo.net> <87o8814q1v.fsf@yahoo.com> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="33968"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) Cc: Richard Stallman , psainty@orcon.net.nz, Philip Kaludercic , joaotavora@gmail.com, emacs-devel@gnu.org To: Ag Ibragimov Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon Oct 11 09:37:22 2021 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mZpsA-0008jR-NU for ged-emacs-devel@m.gmane-mx.org; Mon, 11 Oct 2021 09:37:22 +0200 Original-Received: from localhost ([::1]:50130 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mZps9-0004zx-Bs for ged-emacs-devel@m.gmane-mx.org; Mon, 11 Oct 2021 03:37:21 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:39950) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mZpq5-0003il-Qz for emacs-devel@gnu.org; Mon, 11 Oct 2021 03:35:13 -0400 Original-Received: from sonic302-20.consmr.mail.ne1.yahoo.com ([66.163.186.146]:39657) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mZpq4-0006AH-0F for emacs-devel@gnu.org; Mon, 11 Oct 2021 03:35:13 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1633937709; bh=9HEUBCb5VM4HnW1xPgU6NvQKvShZlmk3ZSN2f8oiW9U=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From:Subject:Reply-To; b=dcom0ZqqH67avdhuLF8gjqupVNew87CbgzXdxkaFFFTNOmG/1RUDN9dG0EN7HFEIL8CDKwS7y5o3giGfSzalVT/G/2qc33xMQ6kIhrC/e+aR6Ze5KCO/amqO3Kx7Zi5ckkOde0D+yagdJBr/Qs13r0z6VU9RJKwHg59AbjiKFDMqtCBQs07zaY2goflLw2qHnk01jb6X2GvX1Jd1x5rcNiVKtsU1zs3sYDgAEFBUH08LewrdOUKeSHZ7VBtOBga9AHa0CYRsOof/lCBMLnP8N3mtQpipdbQINDMel8fKmnNPckqftCzVsfzes+7VxcVXcEe8h4sjgXttu9lP7p5g9A== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1633937709; bh=uHR/l6S2q/pgiI2gaLGWX0ilSdlTZ9AlAMkLF6y5yVc=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=GOtQislF+XWq3hWieWN9qG4mnJbjZ1ccBJtqJOyJVd0bPiiJOlAJekkKJaNbaf3KxzLuLo6yYI8OacEfjv6xcRnmRW8yxK7z2UZMkriYSLLg2wfcKmBpGwQdcnvu5xk6t8p2MAUz7vpKjVDYZCC9wBxaKIM5K7mCr3DJRJE3klQHNYi9JChLuN/37ZjzbOtPvfqRqPtih/PrzVuzJWTU+1WufVZ2lg+1bT7LBdL5KTlnszc+3ZiOkT2xynYcKVr9bVgNq6Bb9YC1i39YiTAfWg4CnwpliCExEsWZZyijz68m9Xtc20ib49Wdb8t9xBNr1D8IvzPsr9n3yd1fxiI/tQ== X-YMail-OSG: vFcKSOMVM1kJCOhUpgb0j5csIfz07OM4.NUHsEuYofzbZbb2LNQEjIuEPNSgv0G A2hfbX.PWsLtUJVP_93ydkg137DrPXp11PAMSPLyQ9dWUwxlCL2AAjH7DW4J0M3M_EtSZedC.8S7 Aza6_yMHqeXa7pnQDFDGfIlrnocl2hNyVZ757Qxo50z9EL5IBiLvYBmQPLklo.vcnhlVbSBlCIY6 fZCBFz9z9G5nCrpV6qDtw4Fk3FPo1V45FeWyU6BBfxhHedsECzKDyZolsWMmMlSqHIi4k8iF.e54 2beDgxoaFKGf2btwjIwUpiMZxHmRh4byQdzdbGQLH4BUMyt4uSRPNcZdKdhcmfc5DfsyXqo.ZYJv GCChPnDDztLPcwOMviGdyAgpKrcpZC2z2cLWrhicIsNwVz1rgGSPBoERQmvKZJzDHa57xsQm8Smh aBvNsHGkYUPSuUbNCfOd0TIOtpojFkXxbLZPATUGWwXp__MDw9eD2.O70prcapM_uFZdMrN4fwDY HGn.aCAiXHjQzcSttsMjQrzfbB5V0YxMe.M2cq6OZOJmxwxc3ZI70Q6IOBgj3VbJlbfJGKpM7UR7 arOc0fTjer9mBPP9HgZxcRB96t8cgcenXx1acVdTVtane6EXWMPNu.Z8yZtuAxFPaWw.zCPs4GkS Jt.ltNG6_GZRGWPXpDYK2O82SW.scdWRqdmA9e.UQQBt7hr6l2vuxtSo.x4SXnaQ2ZWT4g7zJsmu KZ4P2HJyswAfeMNTn9sKLjwDZJAQI1Sj8v8E6lrtLCU_QX5PElIohuBzviyE5bqfErwdJEzLwc5z V6ncls89r6HRVAdKYYHaNNDXhxHFxlJzgTWJn0YiRn X-Sonic-MF: Original-Received: from sonic.gate.mail.ne1.yahoo.com by sonic302.consmr.mail.ne1.yahoo.com with HTTP; Mon, 11 Oct 2021 07:35:09 +0000 Original-Received: by kubenode517.mail-prod1.omega.sg3.yahoo.com (VZM Hermes SMTP Server) with ESMTPA ID fe168328a41d410f4d18cb5c8b0c80b9; Mon, 11 Oct 2021 07:35:00 +0000 (UTC) In-Reply-To: (Ag Ibragimov's message of "Sun, 10 Oct 2021 07:48:56 -0500") X-Mailer: WebService/1.1.19116 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo Received-SPF: pass client-ip=66.163.186.146; envelope-from=luangruo@yahoo.com; helo=sonic302-20.consmr.mail.ne1.yahoo.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:276724 Archived-At: Ag Ibragimov writes: > Not quite. I'm not suggesting at all integrating with proprietary > software. I'm merely curious if anyone has ever thought about > implementing an LSP server for Emacs Lisp. LSP is a standard and an > open specification. There already exist several dozen implementations > of Language Protocol servers for many different languages. But an LSP server for Emacs Lisp would, for the reasons you have mentioned, be used for proprietary software. The ability of people to utilize imenu in Emacs Lisp code on GitHub would encourage people to use the proprietary software that GitHub requires. > And many of them are perfectly usable in Emacs, thanks to eglot and > lsp-mode. And that's great because adhering to the standard makes it a > smooth experience for the user. > One of the main reasons people leave Emacs, sometimes even after many > years of using it, is the substandard language support. They often > have to start programming in another language, and it takes too much > effort to make Emacs work for a specific language. Simple things like > goto definition and autocomplete often won't work as expected. People > often have to learn a bunch of independent Elisp packages and figure > out ways to make them work together nicely. So many times I've heard: > "I love Emacs, used it for almost [so many years] but I had to work > with a language [X] and moved to [another] IDE that has first-class > support for it." > LSP, for many Emacsen has become a true game-changer. You don't have > to re-invent the wheel for every single different language, no need to > map and re-map the keys (separately for every language) or struggle > when a language mode package authors fail to include some features. But that's an example of other software being useful in Emacs, which encourages people to switch to free software such as Emacs. > Wouldn't it be ironic if soon, Emacs gets truly fantastic support for > dozens of languages (btw, that list is still growing), yet Elisp would > have to ride like a second-class passenger? > I think creating Elisp LSP server would provide consistency with all > other languages already supported. How is Emacs Lisp a second class passenger in Emacs? And how will making a language server out of the existing Lisp support make that better? > And as a side effect, that would also make it possible for better > navigation and code introspection of Elisp outside of Emacs. But is there any real use-case for this, outside of proprietary software? > Personally, I don't care if a proprietary software vendor like GitHub > introduces better features for a language that is the ultimate epitome > of free software. Their non-free software would still be written in > Emacs (at least some parts of it) - the ultimate tool with unmatched > support for programming languages. Proprietary software written in Emacs is still proprietary software. And besides, there is no reason to make the job of proprietary software dealers easier.