bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#41572: 28.0.50; [PATCH] Support plain project marked with file .emac


From: Dmitry Gutov
Subject: bug#41572: 28.0.50; [PATCH] Support plain project marked with file .emacs-project
Date: Sun, 26 Sep 2021 03:22:33 +0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.13.0

Another issue is people working on monorepos (often backed by Git) sometimes want to split them into separate projects.

Either because they only work on a certain part of the whole project, or because they want to use Eglot, and that package has tied LSP roots detection to project roots (but the language server might expect some project configuration files in the root which reside in a subdirectory).

Here's a typical question/request for this functionality: https://emacs.stackexchange.com/questions/58463/project-el-override-project-root-with-dir-local-var/58468

Patch attached, it adds new user option project-vc-subprojects which alters the root-finding logic and cuts out the subproject contents from the parent project with the mechanism of "ignores".

The latter capability (excluding subproject's files) informed the choice of the approach. Which is altering the vc project backend's behavior, rather that offering this feature through another backend, like the one added in the previous patch, for example.

I don't know if all users of this feature will want them excluded, though. The attached implementation does, and maybe another option could be added to disable this.

Or we could drop this part of the behavior, insisting that users who want it could add the corresponding entries to project-vc-ignores. This way they would be listing the subprojects twice, however. And the project-vc-merge-submodules=nil behavior matches the other option (submodule files are excluded from the parent).

Again, thoughts welcome.

Attachment: project-vc-subprojects.diff
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]