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

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

Re: I'm looking for a project management system for Emacs


From: Marcin Borkowski
Subject: Re: I'm looking for a project management system for Emacs
Date: Sat, 29 Mar 2014 19:03:34 +0100

Dnia 2014-03-29, o godz. 13:11:33
despen@verizon.net (Dan.Espen) napisaƂ(a):

> Marcin Borkowski <mbork@wmi.amu.edu.pl> writes:
> 
> > Hello all,
> >
> > as stated in the subject line, I'm looking for a project management
> > system in Emacs.  Since there are quite a few of them, I thought I
> > could ask here.  I don't have /strict/ requirements, but rather a
> > few problems I'd like that system to address, and a few features I'd
> > probably need.
> >
> > 1. When I have many files open, switching to another buffer is a bit
> > cumbersome, even when using Ido.  I'd like that system to have
> > something like "ido-switch-buffer-within-project".
> >
> > 2. Files of the project might not be located in one folder (so
> > e.g. Projectile probably won't work for me).  Rationale: there may
> > be a few files somehere down the ~/Documents hierarchy and /one/
> > file in ~/org.  On the other hand, I'd like to be able to specify
> > that "this file and all files in that directory belong to this
> > project", without manually listing all the files in "that
> > directory".  It would then be best if adding a file into the
> > specified directory (or tree) would add it /automatically/ to the
> > project.
> >
> > 3. One file may belong to more than one project.  Rationale: see
> > above.
> >
> > 4. It would be great if I could mark some /global/ variables
> > project-dependent, i.e., each variable would have its "project
> > instance", and switching between projects would mean changing its
> > value accordingly.  (It would probably also need some kind of
> > persistence, too.)  Rationale: org-clock-history;).
> >
> > 5. Of course, I'd like to be able to visit/kill all files/buffers
> > related to the project with one command.  Also, adding a project
> > (and a file/files to an existing project) should be possible in some
> > interactive way (though using some Elisp variable for that might be
> > acceptable).
> >
> > 6. On the other hand, window configuration management is not a must
> > for me - currently I work 98% of the time on a small netbook and
> > usually have only one window open anyway.  I'm planning to use a
> > larger monitor in some time, though, so while not necessary, this
> > would be a nice bonus.
> >
> > Is there anything in existence that would help me?  Are there any
> > potentially useful features I did not think of that people find
> > useful?
> 
> The only clear requirement I get out of this is open all files in
> a project.

Well, I thought I was clear enough...

> The Makefile has to have the file list anyway.

Assuming that you use make, which is not necessarily true.  And even if
I do use make, then see point 2 above: I probably wouldn't include the
org file (which might contain TODOs etc. for many projects) anywhere in
the Makefile (at least I see no reason to do so, other than to put it
there so it contains a full list...)

I guess you are thinking of "a project" in terms of "a software
project".  This might be true or not, in my case (assuming a usual
definition of software;)).  Other kinds of projects I'm working on are:
LaTeX classes and packages (technically they /are/ software, but of a
rather specific kind) and books/problem sets/articles (for which you
have to stretch the definition of "software" considerably IMHO).

> Perhaps something like:
> 
> PROJ_SRC:=$(wildcard *.c)
> PROJ_HDR:=$(wildcard *.h)
> 
> open_all:
>         emacsclient $(PROJ_SRC) $(PROJ_HDR)

That's an interesting idea, though it does not solve my number one,
which is one of the most important (I guess there was a reason to call
it number one, though I might have done it unconsciously).

Best,

-- 
Marcin Borkowski
http://octd.wmi.amu.edu.pl/en/Marcin_Borkowski
Adam Mickiewicz University



reply via email to

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