From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: despen@verizon.net (Dan.Espen) Newsgroups: gmane.emacs.help Subject: Re: I'm looking for a project management system for Emacs Date: Sun, 30 Mar 2014 00:29:53 -0400 Organization: A noiseless patient Spider Message-ID: References: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Trace: ger.gmane.org 1396153828 25312 80.91.229.3 (30 Mar 2014 04:30:28 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 30 Mar 2014 04:30:28 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Sun Mar 30 06:30:24 2014 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1WU7O3-0006vL-4i for geh-help-gnu-emacs@m.gmane.org; Sun, 30 Mar 2014 06:30:23 +0200 Original-Received: from localhost ([::1]:42582 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WU7O2-0003aW-AF for geh-help-gnu-emacs@m.gmane.org; Sun, 30 Mar 2014 00:30:22 -0400 Original-Path: usenet.stanford.edu!goblin1!goblin.stu.neva.ru!eternal-september.org!feeder.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail Original-Newsgroups: gnu.emacs.help Original-Lines: 99 Injection-Info: mx05.eternal-september.org; posting-host="aabc59b8ce9cdce0c2995912677c9e55"; logging-data="12762"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+V5M9YXdvwz5bF5UUPF7L211MxkJTM0hk=" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) Cancel-Lock: sha1:NQ4toS9oSZRnbn4K80CVopqEZwA= sha1:khWlWANSiVfE0E1e5vP/H+kXhWo= Original-Xref: usenet.stanford.edu gnu.emacs.help:204585 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:96853 Archived-At: Marcin Borkowski writes: > Dnia 2014-03-29, o godz. 13:11:33 > despen@verizon.net (Dan.Espen) napisaƂ(a): > >> Marcin Borkowski 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... Yeah, I guess I only read it all once. >> 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 Nope, big Gnumake fan here. Any directory/project I do work in is going to have Makefile(s). > 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). Just cycle through all the files in a project? Maybe you want some TAG files? -- Dan Espen