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

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

bug#50297: 28.0.50; Aggregate project functions for project.el


From: Dmitry Gutov
Subject: bug#50297: 28.0.50; Aggregate project functions for project.el
Date: Wed, 1 Sep 2021 04:07:39 +0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0

Hi!

On 31.08.2021 15:47, Philip Kaludercic wrote:

The following patch introduces a few functions for aggregate project
maintenance:

- project-find-projects-under
   Select a directory with projects to index all at once.

I wonder how popular this is going to be. Do you have a flat directory with projects which you only want scanned one time?

Another issue, is that it's not going to find nested projects (and project.el does support those).

Suppose we do add it, how about the name 'project-remember-projects-under'? By analogy with 'project-remember-project'.

Adding a new arg for the latter is fine by me either way.

- project-remove-zombie-projects
   Check if all known projects still exist and remove those
   that don't anymore

Perhaps we should rename 'project-remove-known-project' to 'project-forget-known-project'? That would make for a nice symmetry.

Then this function could be called 'project-forget-zombie-projects'.

I'm thinking about this about the slight connotation of 'remove' which can mean removing from disk.

Another approach would be to call this or similar code automatically before saving the list (and cap the number of remembered projects), but that comes with its own tradeoffs.

- project-remove-projects-under
   Remove all projects in a directory (inverse of
   project-find-projects-under).

Similar question about popularity, but this one won't have a problem with semantics, at least (recursive-vs-non-recursive).

Especially the last two are useful to maintain a clean project list
without having to manually remove every project one by one.

What if the goal was to maintain a clean project list but minimize the manual management of it by the user?

Can you imagine a solution for that? What would be the downsides, compared to the present proposal?





reply via email to

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