emacs-devel
[Top][All Lists]
Advanced

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

Re: A unified project root interface


From: Dmitry Gutov
Subject: Re: A unified project root interface
Date: Tue, 12 Mar 2013 20:51:23 +0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (windows-nt)

Sudish Joseph <address@hidden> writes:

> Here's the definition of projects I'm using right now:
>
> (setq project-roots
>       `(("Rails Project"
>          :root-contains-files ("app" "config" "db" "lib" "script" "test")
>          :on-hit (lambda (p) (message (car p))))
>       ("Emacs config"
>          :path-matches ,(format "\\(%s\\)" sj/emacs-base-dir)
>        :on-hit (lambda (p) (message (car p))))
>       ("Perl Project"
>          :root-contains-files ("t" "lib")
>          :on-hit (lambda (p) (message (car p))))
>       ("Git Project"
>          :root-contains-files (".git")
>          :on-hit (lambda (p) (message (car p))))))

This looks quite similar to eproject configuration:

https://github.com/jrockway/eproject/wiki/ProjectTypes

> Here's an example of a package that groups buffers by vc root that could
> do an even better job with a standardized project interface in Emacs
> itself: https://github.com/purcell/ibuffer-vc

Indeed. As another example, if I were to start working on some
programming-language specific feature, like code completion, I'd need a
way to enumerate files and/or buffers that belong to the same project.

So, to add to the list of the required features, the project root
mechanism will need a way to enumerate all files in the project (or
maybe all files of a certain type), and a way to ignore files and
directories, for example to improve performance of the enumerator
function.



reply via email to

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