From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Yuri Khan Newsgroups: gmane.emacs.devel Subject: Re: Making `eglot-server-programs' a custom variable? Date: Fri, 11 Nov 2022 13:12:43 +0700 Message-ID: References: <86fservpri.fsf@gnu.org> <831qqbtixr.fsf@gnu.org> <86edubdv64.fsf@gnu.org> <83iljnrw3t.fsf@gnu.org> <83fseqrb0r.fsf@gnu.org> <87iljm8ovc.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="23450"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Eli Zaretskii , emacs-devel@gnu.org To: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri Nov 11 07:13:59 2022 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 1otNId-0005te-1k for ged-emacs-devel@m.gmane-mx.org; Fri, 11 Nov 2022 07:13:59 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1otNHs-0006JX-3n; Fri, 11 Nov 2022 01:13:12 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1otNHm-0006J3-O2 for emacs-devel@gnu.org; Fri, 11 Nov 2022 01:13:06 -0500 Original-Received: from mail-wr1-x430.google.com ([2a00:1450:4864:20::430]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1otNHh-0001vb-52; Fri, 11 Nov 2022 01:13:04 -0500 Original-Received: by mail-wr1-x430.google.com with SMTP id w14so5143066wru.8; Thu, 10 Nov 2022 22:12:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=RbmMZIfbbbqH2kvj8Lj5et6/YzghI9cSwjOlVmSCI2k=; b=OfnfwQ+xex1bpiaKm5K06BhWYHwrDYqmmOLilmoHV/9SdjxxXN6BfGxaMt2nVU9Gu4 LUjiLDwItmPm9T+SBaVZ0qiRFwgXNjqvU0ssyWVwh/Zyqiv2n7vsZOSw95WvVPIONwG4 rNCXdRBnNGjB3FsCFm3YA985mUJSnqU3EWVChOF+K7YITSF4OPicLRlbkAysrZk6yNbA Mc9MV5/Htx8ZS+1+eU2NqSi1k0lHCJC8V2W12DsKuXwir9gC6iQ4bu+hsohUNye4G8S8 PF1JbOBdgshv7nD3FPTkkTInhR2xMbPjy5266ykbxIMXq4gkULWPdfQ0g9cRRVg/H5Vh m+Lw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=RbmMZIfbbbqH2kvj8Lj5et6/YzghI9cSwjOlVmSCI2k=; b=u6IJa8d9HDVIBMzPr/wCLsOQ2uc/owR/RWTFbuGTgMtL+6KwAaiGrohlE+sLV+rzKh El8OCBknD/YAaZ0hHYtLskBsjcdu5XsSqHgWSyLK8M3Kjl9wOyV7n0e8ep03r38MASdr pZkQq7r7r5H4QUuWW1bL0+GvWJUWX2vuzCqIVOpwAZRx7c9jFukZFVBUb2mxOA8O7QZx Yz4CG+N0ZTzyMrddfbIie1S5m1Bcoj6+MfxloQrLTxKyWrhshe0kvbxURgKtSwpnU7G/ VuJ9fbJ0EfrYZFacqi0QIDFrkS/XQMW+gQAZVMuMzkkWe+UBRwcqqjl3ysiuSAh2ebr0 zXYA== X-Gm-Message-State: ANoB5pksB6krnhnDN66XsSgJ9IgXARBZlLHmSfKEDeW/08smqlst2rW2 P2CRNfOtY29YNQPRj8882TxBBqvErl3hGstoX1s= X-Google-Smtp-Source: AA0mqf5S063/73mEWBXMPiU2wWPxC4gkwK+ge+npci9KV7EVbnl5z8ab3IrPpLVEsLLK79YSPuNsMcZ0f1SJSuhIDrM= X-Received: by 2002:a5d:6211:0:b0:22e:41c5:7ef7 with SMTP id y17-20020a5d6211000000b0022e41c57ef7mr292734wru.332.1668147176095; Thu, 10 Nov 2022 22:12:56 -0800 (PST) In-Reply-To: <87iljm8ovc.fsf@gmail.com> Received-SPF: pass client-ip=2a00:1450:4864:20::430; envelope-from=yurivkhan@gmail.com; helo=mail-wr1-x430.google.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, 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.29 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-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:299545 Archived-At: On Fri, 11 Nov 2022 at 04:45, Jo=C3=A3o T=C3=A1vora = wrote: > eglot-server-programs grew formidably over the last 4 years, and I have > no objections to keep growing it. Being exhaustive is going to be > reasonably hard, because so many servers will continue to appear. Even > faster than programming languages. And some servers are just abandoned, > which is another annoyance. And we should not assume the user won't > want to tweak to add flags or servers we don't know about. That would > contradicts my lengthy experience with the uses of this variable. I might be using Eglot unconventionally, but this is how I do it: There are multiple projects, with their specific compiler versions and library dependencies. If I installed all of that directly on my machine, I=E2=80=99d have version hell. Therefore, for each project, I buil= d a docker image with all the external dependencies packed in. I mount my source tree into a container and invoke the build in it. Emacs, on the other hand, runs on the host machine. Thus, my compile-command is defined in .dir-locals.el and starts with =E2=80=9Cdocker run --rm=E2=80=9D= . Similarly, I put the language server(s) into the same container image. This way, it has access to external library sources. So, my eglot-server-programs is overridden in each project to run a script that starts e.g. clangd in a container spun up from the project-specific development tools image. I do not bother writing out a copy of the full default value of eglot-server-programs with my dockerized server substituted or prepended. The expectation is that each project only uses one or no more than a handful of language servers.