From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: Po Lu Newsgroups: gmane.emacs.devel Subject: Re: Making Emacs more friendly to newcomers Date: Wed, 22 Apr 2020 12:30:12 +0800 Message-ID: <878siorvl7.fsf@yahoo.com> References: <87h7xe79l7.fsf@yahoo.com> <87h7xdbne4.fsf@yahoo.com> <87lfmput2r.fsf@pm.me> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="88079"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) Cc: Richard Stallman , emacs-devel@gnu.org, ndame@protonmail.com To: Theodor Thornhill Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Wed Apr 22 06:31:22 2020 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 1jR72g-000MrU-Ia for ged-emacs-devel@m.gmane-mx.org; Wed, 22 Apr 2020 06:31:22 +0200 Original-Received: from localhost ([::1]:41086 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jR72f-0007jF-JD for ged-emacs-devel@m.gmane-mx.org; Wed, 22 Apr 2020 00:31:21 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:44552) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jR71j-0006E5-WB for emacs-devel@gnu.org; Wed, 22 Apr 2020 00:30:24 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.90_1) (envelope-from ) id 1jR71j-0002so-3N for emacs-devel@gnu.org; Wed, 22 Apr 2020 00:30:23 -0400 Original-Received: from sonic303-20.consmr.mail.ne1.yahoo.com ([66.163.188.146]:43418) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jR71i-0002hZ-Ir for emacs-devel@gnu.org; Wed, 22 Apr 2020 00:30:22 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1587529820; bh=xclqDyd1IUuwhfKvDf8J0dXcljR5Whe8kFQTFt2m2vY=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From:Subject; b=q1p4dxtjsBUkjChFZc0SUkMlgffA5cmeXqzCjbuUc6fTedN720VD8nCPTyG8mr6DcYTDN5PXVkdmkdWexx2pB3UAGRkLnRsUCYeNKkJeQdHdr2YomyCBDtEhraNx5FhS7XHAN7nXNhP44UlIvt7EUMNBKc2OFrDTDzgUCpE3qahd/MABTRqjptieFGltVen4Indbe7e3lKs6ngUJ/jks9pLdne7XrRppFn4JBdus/ZWJcbl1wAZXd3oGAEpBSY1S84xsvYCaBfQDIA5oVAdPRxu7STo1kSPkQKX1LI4JLvX+K0NbFglch+Dg3YnoVu9pAZDl8h5veHUlAs32EcfoKw== X-YMail-OSG: 9ukq9BsVM1mzQTpZ9qLluNzV3Hh1QLJ9nCDyqYJDu8q3fin0g_kpgerXc.LPygY G4oGQ.V1ItX2c4qS.Tqe7sfanryCk.j1AjxZ_GiK3TU.6QC1oWywtUDon4pJE5SA8sMF0PpEh2Mh GV0Ms_q.Q4o09xLahsRcZS4.niBC1dP5BHZsXMOjm8HKzcdD3ZcFk91pE.GEQPK8Vi0XySpzkF18 _2R7Am0hEwis2alBZfAtAWWdQPP0VZpty9FxzopXdP4MwJ6I7y4ISL0GtqFZLHPnHdhNceq1Kc07 3xRkBenz3QWEQe3a1psX7SlC6Nj7uiFP9THirJitro5HGFdDmhBnPwypr6AKHDvtKTumImtHDkiq ER.oirvYExqVHNhX4f5tD7UxMXy5vvEdYKyd1WFg.o8W3Ol0EluIiG2jyHLA2055UQN16w38GhNE D1OO3D_QJ_KlMxq5ztjeM5OqKlB_6Dsevcsc.d0csSNe8AEtZmUUETRqoInFNBS3cqJcRC83sKJn GIupSsGeNbelUhQe5LKkSRUzE9Z2Ea63NWeOsNiZHCmPYxw_ZGtibcsCWtoCnooN21OfqBIcpidv rG0_xPkA_aZ7hXlLXC3k_hUXjryA3RDknFXG.UVYrq0IDu1pgHwyjAXFMH4_SVRqeoAGbScq069N JEmMAPq54L0RMSgz1kZyoxZasgVJ9GuFGMZ2SmBTyh4pXJihF56DPt8tkkgy.dRgxyxFhCrWNRER vCAiCU2HQYYzcwjavrq1foENHOKeVlb9nB8r7SUl1KeqAaDMMNRLZgzGxe8jp5G8VwMVgtgboK2N dZiJ1nHjxx2jSIJlqvuWwCtLCD3AkR2VhagxOpy0vl Original-Received: from sonic.gate.mail.ne1.yahoo.com by sonic303.consmr.mail.ne1.yahoo.com with HTTP; Wed, 22 Apr 2020 04:30:20 +0000 Original-Received: by smtp406.mail.sg3.yahoo.com (VZM Hermes SMTP Server) with ESMTPA ID 70717844b8dafa49d580fb90342f5e56; Wed, 22 Apr 2020 04:30:15 +0000 (UTC) In-Reply-To: <87lfmput2r.fsf@pm.me> (Theodor Thornhill's message of "Tue, 21 Apr 2020 08:44:03 +0000") X-Mailer: WebService/1.1.15739 hermes Apache-HttpAsyncClient/4.1.4 (Java/11.0.6) Received-SPF: pass client-ip=66.163.188.146; envelope-from=luangruo@yahoo.com; helo=sonic303-20.consmr.mail.ne1.yahoo.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/04/22 00:30:20 X-ACL-Warn: Detected OS = Linux 3.1-3.10 X-Received-From: 66.163.188.146 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:247495 Archived-At: Theodor Thornhill writes: > I know that fsharp-mode already offers this integration with eglot. So > it is absolutely possible. However, there are some small things I see > which could be needed for this easier adoption for newcomers. I see some > of this has been disussed earlier, but anyhow: Nice. I was not aware of that before. > 1: VsCode offers on the home screen an option to click on what languages > you want to install support for. This offers a nice one-click shop for > language packs. This, I guess is the same behaviour that Doom/Spacemacs > offers with their layers etc. In Emacs we often have to install > lsp-client, lsp-server, language mode, company, adjust company backends. > It would be nice to have emacs install all of the above automatically > when clicking on Python, JS and such. Agreed. Stefan has a proof-of-concept package named `gnu-elpa' that does exactly this, and it would indeed be nice if Emacs had that. > 2: One bigger problem here is that VsCode attracts JS/TS-devs, and > tssnerver is really not lsp-compliant, or even an lsp-server at all. So > to get that behaviour you need you have to install > javascript-typescript-server OR typescript-language-server. > The latter seems to be the best, but it is now unmaintained. Also, support for JSX, > while improved a ton lately, is not there for TSX yet. To get proper > support for TSX you must use web-mode, but this in turn does not offer > keyword syntax highlighting for typescript. Also, "tide" is a separate > lsp implementation dealing only with js/typescript IIRC, Tide uses tsserver, and people say it works quite well. I also recall some interesting discussions related to multiple major modes in 2016, that came up with some interesting ideas. > 3: Eglot has some shortcomings compared to lsp-mode. In example multi > server support, which is discussed here: > https://github.com/joaotavora/eglot/issues/423 Yeah, but so far Eglot seems to be the only package that has copyright assigned to the FSF, which means discussion around Emacs and LSP should focus on improving Eglot. > 4: Eglot chooses to "take over" emacs' default behaviour, and I believe > this could be extended further to alleviate at least point number > one. If eglot were capable of installing company, lsp-servers and > file-extension-based language modes we are already there as for > one-click functionality. It even has an eglot-stay-out-of option for > configuration if more granular control is wanted. As for company, I think that's not something for Eglot to do, but automatically installing language servers is something we need.