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.help Subject: Re: projects.el and nested projects Date: Sat, 11 Mar 2023 00:29:17 +0200 Message-ID: <0364beca-5506-973c-f3eb-55a42be5c628@yandex.ru> References: <20230310135748.rcfjzrzimnozj52y.ref@Ergus> <20230310135748.rcfjzrzimnozj52y@Ergus> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="25949"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.7.1 Cc: help-gnu-emacs@gnu.org To: Ergus Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Fri Mar 10 23:29:58 2023 Return-path: Envelope-to: geh-help-gnu-emacs@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 1palFN-0006Xq-U3 for geh-help-gnu-emacs@m.gmane-mx.org; Fri, 10 Mar 2023 23:29:57 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1palEq-0007VX-6l; Fri, 10 Mar 2023 17:29:24 -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 1palEo-0007VG-OM for help-gnu-emacs@gnu.org; Fri, 10 Mar 2023 17:29:22 -0500 Original-Received: from mail-wm1-x32b.google.com ([2a00:1450:4864:20::32b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1palEm-0007Ac-SC for help-gnu-emacs@gnu.org; Fri, 10 Mar 2023 17:29:22 -0500 Original-Received: by mail-wm1-x32b.google.com with SMTP id c18so4384281wmr.3 for ; Fri, 10 Mar 2023 14:29:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1678487359; 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=uWjxwZRSqzHB1Ut8MmeWEDMf9JSeZSMUIolN0Bx5PBc=; b=q0/KAZtaXermax2k3iy94U0zyDwk8fHD/uUC2C+xtGri+wPWGiB93WWd0+NXNEZBbp ML6fClXuB2eiYQ3esGcRsa1dSvc8YygZRwqKfUIVLCxunLipznlwsIcUIWtbUuhBB+ic JlTQNRtuB1rtABQvgQehnhCLKsQZ0baN5/dpdyzsuxrayjVFfM8ILiXkAFM0oGXTwuHu 2zs7hXZJtSlQgActprc14A5YakvKEaXVlMWR8LEYH5DNKpc/SqSDar2Mmc7tbphV/UoV p0xhsd/EHFUiEiYksatxvjBMK3RLdqK7oVwKRJ0qz6sMUk4dklgSt49+21zCo0dMKuWr 2AZg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1678487359; 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=uWjxwZRSqzHB1Ut8MmeWEDMf9JSeZSMUIolN0Bx5PBc=; b=BoL5br+9xkCIXZdjX9kCAMlSdNd77BZOYsL7da9ixYWxVYJNeOGADnpFWcNos0Vm51 d/usjWMUD1fgt1ORhNubZi4q7a8aAzdw8jPCCY3S6+0E/8QlFN5UU48/nFB4xkRO2Rw3 ZYpL9daqcD8ot8CHg3tUJpWIS67EetXhi/5tB1MPVATiNrvGqdJl4ONCFDa/hwJlE5h+ GW6jwLfuHXpryNiRfIH5qFW4DyTv1qviIzx4s7YNsxBraxhYdNVydYbXUk7++/t9g0BI NiI+VXa7P5a+XzSu4C+eiktfA9xr0WlkPuFplx+Z4YrWsWE8HwmO4+Kw17gOKdk2yBk8 MTVw== X-Gm-Message-State: AO0yUKWzMZoyb8OEH6dN43UdIpT91dmc0gXZZOuRGguu92AVhXQhgfbe Dy8wPN3wK1cFbHQYThchX4c= X-Google-Smtp-Source: AK7set/qjqEI4UYtWzEx1Wyn5xEpess/FD71uXh7JkJ1zUY/i61YmQ27eNoOguLPauT0TTWeB15/0A== X-Received: by 2002:a05:600c:3c9c:b0:3eb:4150:a476 with SMTP id bg28-20020a05600c3c9c00b003eb4150a476mr4262008wmb.0.1678487359155; Fri, 10 Mar 2023 14:29:19 -0800 (PST) Original-Received: from [192.168.0.2] ([85.132.229.92]) by smtp.googlemail.com with ESMTPSA id q11-20020a05600c46cb00b003ebf73acf9asm1447383wmo.3.2023.03.10.14.29.18 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 10 Mar 2023 14:29:18 -0800 (PST) Content-Language: en-US In-Reply-To: <20230310135748.rcfjzrzimnozj52y@Ergus> Received-SPF: pass client-ip=2a00:1450:4864:20::32b; envelope-from=raaahh@gmail.com; helo=mail-wm1-x32b.google.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.25, 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: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.help:142971 Archived-At: Hi Ergus! On 10/03/2023 15:57, Ergus wrote: > I am working in a project with a nested setup (like an onion with 3 and > 4 levels... VS way). I am wondering how could nested projects be > supported in project.el. I know they were somehow in the past and now > there is the project-external-roots, but I it does not look very used. > > So the project root should be the top-most common directory?? Or is > better to use the local/closer one in order to have better scope, and > the add all the others as project-external-roots?? > > As the original project was for VS studio, I plan to create a sort of > project.el backend for my use case, but I would like to know in advance > a bit if it worth the effort. I suppose it depends on what you want from that project, how you want it to behave. If you just use the topmost root as the project root, what will you be missing? Or if you make every nested project to be its own project, what will you be missing then? Will you want to do a global/multi-project search often? Or do a sort of parent-project-find-file sort of thing? In the naive configuration, the latter could be done just by switching to the root of the topmost project. But if you're going to do it often, other solutions could help as well.