emacs-devel
[Top][All Lists]
Advanced

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

Re: Unified project interface


From: Bozhidar Batsov
Subject: Re: Unified project interface
Date: Sat, 11 Jul 2015 16:43:35 +0300

I finally took a quick look at the current code (and the discussion so far) and I have a few remarks:

* even within source directories it's useful to be able to exclude certain subdirs from project-level operations. How is this going to be handled?
* it's not 100% clear to me what are major mode writes supposed to provide as "project implementations"
* In 24.4 a `vc-root-dir` was added. Seems it overlaps a bit with `project.el`
* how can Projectile (or a similar package) leverage `project.el`?

On 8 July 2015 at 03:25, Dmitry Gutov <address@hidden> wrote:
On 06/10/2015 01:31 AM, Dmitry Gutov wrote:

If project-source-directories is a generic method, maybe we can say that
its implementation should almost always (unless it really knows what
it's doing) call the next applicable implementation.

That implementation could be set up to dispatch based on the value of
major-mode.

I've pushed that to the branch 'scratch/project', please take a look.

The split between "project directories" and "project source directories" is not 100% necessary, but I think it can be useful, provided the semantic difference between the two is clear.

What I want to do with project-source-directories here, is to allow a major mode to provide a default list (or, actually, a function that would compute it, because `load-path' can change at runtime).

This way, unless a project implementation explicitly overrides it, Elisp authors will have the whole load-path used for searching.

Maybe using a specialized implementation using &context is not the best thing to do there. Alternatively, we can introduce a new variable (like `project-source-directories-function'), and refer to it in the default `project-source-directories' implementation, as well as its docstring.



reply via email to

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