[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#41736: 28.0.50; project.el - support global patterns for project-ign
From: |
Theodor Thornhill |
Subject: |
bug#41736: 28.0.50; project.el - support global patterns for project-ignores |
Date: |
Sat, 06 Jun 2020 09:45:42 +0000 |
Hello,
In https://debbugs.gnu.org/cgi/bugreport.cgi?bug=41572 there is talk about
supporting a "plain project", and when joining that chat I realised that the
"best" current implementation is the VC backend. However, this backend does not
easily include other patterns to ignore.
For example we might want to ignore "node_modules", "elm-stuff" etc.
These can be added pretty easily to 'project-vc-ignores' via:
1. Major mode support: "(setq-local project-vc-ignores '("foo" "bar"))"
2. User init.el "(add-to-list project-vc-ignores "foo")"
However, there are some drawbacks.
Method 1:
- We rely on major mode to implement this
- When using "project-switch-project", then press "f - find-file" the ignore is
not recognized yet since it relies on the major mode.
- It does not work when a project uses several modes
Method 2:
- Needs user to add this to own init file.
- Pollutes the defcustom globally
Is there a way to set these patters such that we still can use the fast VC
backend, but not have these drawbacks?
It seems like an easy solution could be to add a "defcustom
project-ignore-patterns" that the project-vc backend picks up. This could be
set by both future major modes and as user customization.
FWIW, method 2 seems to work perfectly, yet seems like kind of a hack.
Theo
- bug#41736: 28.0.50; project.el - support global patterns for project-ignores,
Theodor Thornhill <=