From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Dmitry Gutov Newsgroups: gmane.emacs.devel Subject: Re: Eglot, project.el, and python virtual environments Date: Sun, 20 Nov 2022 17:36:00 +0200 Message-ID: <2ba04533-097a-a1da-ff3f-2c9506fd488e@yandex.ru> References: <87zgcq68zp.fsf@ericabrahamsen.net> <878rkale3l.fsf@dfreeman.email> <4c5f4b07-3df6-d700-83f8-9a9d1b684afc@yandex.ru> <84781346-5b88-2be5-38bb-02696fcf1364@yandex.ru> <87o7t2vj19.fsf@dfreeman.email> <877czqtyfy.fsf@dfreeman.email> <87zgcml7g7.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="15819"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.2.2 Cc: Eric Abrahamsen , emacs-devel To: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= , Danny Freeman Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sun Nov 20 16:37:09 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 1owmNZ-0003vX-B4 for ged-emacs-devel@m.gmane-mx.org; Sun, 20 Nov 2022 16:37:09 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1owmMl-0004wA-Ip; Sun, 20 Nov 2022 10:36:19 -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 1owmMj-0004ul-O2 for emacs-devel@gnu.org; Sun, 20 Nov 2022 10:36:17 -0500 Original-Received: from mail-wr1-x42b.google.com ([2a00:1450:4864:20::42b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1owmMh-0000AI-ID for emacs-devel@gnu.org; Sun, 20 Nov 2022 10:36:17 -0500 Original-Received: by mail-wr1-x42b.google.com with SMTP id v1so16436200wrt.11 for ; Sun, 20 Nov 2022 07:36:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :sender:from:to:cc:subject:date:message-id:reply-to; bh=91EIJa0vjCT0qmAhuYkUERVBJc/Wfw6HzV0nmMgBIR8=; b=FgLkuWrhjdiegX6oty3oN8gUO/JjiQngoeWbnAatw+BGBsJiAvRRrd+KB0djpVdigf XqLBiwwMZH6PezVK5gdr/kgOJiL2FR14PluEvO6+y97OMJJN6zznAnOZPEiTgAiSn+NI oYh9txQbSUml1tPtjbzBTGOf+/tP+Y/yE2O4yqKXVZHNvWPLIi4tU9ZAa4TmACP7gODm 66sVQdPPMrCjFZJBgW3Si4+iQsERbv83R2qi4Nrp4gGwV93N9YdTJsu0TRRFdskeh3+i O0jbXCBa3JbkmbJfQ47r87Gdzz49xkEJl82KnAPRbbugBtQd3zGov8wq/t+/TvK/SjkI e1nQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :sender:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=91EIJa0vjCT0qmAhuYkUERVBJc/Wfw6HzV0nmMgBIR8=; b=ZgwhvcLvWV63wOTYtkgQ6xqNJjoUJmSIF1t62bJoBuyTtCI5X+xHeMlMvnvnCo2eJV 2njQSRBuLNHTb7d7IkDG+rQyF0Fs7mDlMMlF2JlDYn0vlEziTiSZHFZ5oivTECIiEBOW UXzwywAMwZKINKHCEhqsRI5fF5uzNTdLeFnSQ9rlyzFYE1vC7dc+t0g+XMe5mYVnnfxC PQjZxycyvrtwLARo8IKEkoOmUNytyMYc0mNkwwQKdtON20srAphuZKJI2CLhuA4b7Ml4 fJqMjHoqyd8RN1Co+pIlHvumcI1uemcPXkWEP0eWQ6IoYLh78cJcG2MfVcMXlm0NYnip Ot2w== X-Gm-Message-State: ANoB5plA9TNtithadXHJRq+N7EM6uyHUrC1lZdHfcdtU6W631Xhbrw8H AZG8hqSIYKoof/s2Vm8NWSQ= X-Google-Smtp-Source: AA0mqf7fB2k3iHrF+TaeDwUMzcCpLQ3+EOJfC3AGU9yr9uhFB5HvVvRKENe5//rcuFBUPb44oQznZQ== X-Received: by 2002:a05:6000:12c7:b0:241:c876:773c with SMTP id l7-20020a05600012c700b00241c876773cmr3916880wrx.95.1668958561975; Sun, 20 Nov 2022 07:36:01 -0800 (PST) Original-Received: from [192.168.0.6] ([46.251.119.176]) by smtp.googlemail.com with ESMTPSA id f19-20020a05600c155300b003c6f3e5ba42sm17023406wmg.46.2022.11.20.07.36.01 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 20 Nov 2022 07:36:01 -0800 (PST) Content-Language: en-US In-Reply-To: <87zgcml7g7.fsf@gmail.com> Received-SPF: pass client-ip=2a00:1450:4864:20::42b; envelope-from=raaahh@gmail.com; helo=mail-wr1-x42b.google.com X-Spam_score_int: -15 X-Spam_score: -1.6 X-Spam_bar: - X-Spam_report: (-1.6 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.179, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.25, NICE_REPLY_A=-0.001, 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-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:300252 Archived-At: On 20.11.2022 03:51, João Távora wrote: > Danny Freeman writes: > >> Dmitry Gutov writes: >> >>> Then your solution should work okay, but it also means it belongs to the category of Eglot hacks (as >>> opposed to project.el hacks). >> >> It is absolutely an Eglot hack :) > > I don't consider this a hack at all. Not only does it work okay, it's > how supposed to work. It's a hack because it's a common case which every affected user ends up fixing through editing their init file. > Most of the time, the default project-finding methods bundled with Emacs > work extremely well, in fact so well that it seems almost offensive when > they don't. But it's crucial to recognize that this is not just because > of LSP reasons. For example, simply because of the relatively poor > performance of the default project.el VC backend in a gargantuan repo of > 400k files, I've had to define a different notion of "project" recently. Or the OS used, with its different performance characteristics. And the performance of the W32 Emacs port as well. Anyway, this is beside the point, since we'll always want more improvements to performance, of course, to be able to handle larger projects on slower systems. > What constitutes a useful "project" for a user's setup can indeed vary > immensely. So project.el should grow to address these corner cases, > maybe inventing new abstractions not tied to a particular client, > including LSP. Maybe both this Python venv example and my "gargantuan > repo" example are hinting at possible uses for a "subproject" > abstraction? Just food for thought. If you want more food for thought, look up my previous messages in this thread regarding "subprojects". And others' too. In this thread people are asking for a change in Eglot's behavior, and not in project-related commands. For example, to keep 'project-find-file' listing all files in the parent project, not just in the current subproject.