cleanup directory logic
[eproject.git] / eproject.txt
blobb140066db048138b2eb4013255852034fb305e04
2                            eproject
3                            ========
5                -- project workspaces for emacs --
7   A project in this sense is:
8   * A set of files that you wish to operate with, and
9   * A set of commands bound to key shorcuts and menu entries
11   In particular eproject lets you switch between projects as easily as
12   between files.
16                              Keys
17                              ====
19   Global:
21                            F5 : Toggle project setup
22                       Ctrl-F5 : Browse project directory in dired
23                      Alt-Left : Previous file
24                     Alt-Right : Next file
26   In the project setup:
28                    Arrow keys : Navigate
29                        Return : Open project, file, tool
30                      <letter> : Quick search
31                  Alt-<letter> : Activate link
32                      Spacebar : Enter edit mode
33                        Escape : Quit edit mode
35   In dired:
37                             a : Add file(s) to the project
41                              Setup
42                              =====
44   Projects:
45   ---------
47   This is the global project list. You can open and close projects,
48   and add new or already existing ones to the list.
51   Files:
52   ------
54   Files are added to the project simply when they are first visited.
55   Similar they are removed then they get killed.  New files are
56   inserted after the one that was last viewed.
59   Tools:
60   ------
62   Here you can enter some shell command lines with tools that you wish
63   to have at hand, and optionally bind them to key shortcuts.  The
64   tools will show up in the menu also.
66   There are two options that can be put in front of commands:
68     -e <emacs-command>           run lisp command or sexp
69     -in <directory> <command>    run command in specified directory.
71   A trailing '&' enables asynchronous execution without redirection.
72   Relative paths refer to the project directory.
74   A new project is initialized with default tool commands. If you wish
75   to have a different default set, please edit 'prj-default-config' in
76   eproject.el near the top.
79   Settings:
80   ---------
82   Currently there is only:
83     project-name - name of the project
86   Edit Mode:
87   ----------
89   In the project setup, hit the the spacebar to enter edit mode.  You
90   can edit pretty much everything except it has little effect to
91   change the name of a project other than the current one.
93   Hit escape to quit the edit mode. Any changes to the configuration
94   are saved automatically when the project is closed.
98                              Usage
99                              =====
101   To load eproject, add this line to your ~/.emacs:
103       (load-file "/path/to/eproject.el")
105   eproject will automatically start up with the last recently used
106   project. It will also restore the frame size and position.  You can
107   start emacs with a specific project from the command line using:
109       emacs -project <projectname>
112   eproject commands:
113   ------------------
115   projects:
117     eproject-add
118     eproject-remove
119     eproject-open
120     eproject-close
121     eproject-help
123   files:
125     eproject-addfile
126     eproject-removefile
127     eproject-visitfile
128     eproject-prevfile (M-left)
129     eproject-nextfile (M-right)
131   setup:
133     eproject-setup
134     eproject-setup-toggle (f5)
135     eproject-setup-quit
136     eproject-edit
137     eproject-edit-quit
138     eproject-save
139     eproject-revert
141   other:
143     eproject-grep              : run grep on the project files)
144     eproject-dired (C-F5)      : dired project (add files with 'a')
145     eproject-killtool          : kill compiler etc.
146     eproject-killbuffers       : kill all buffers except project files
150                             License
151                             =======
153   eproject 0.3
155   Copyright (C) 2008,2009 grischka@users.sourceforge.net
157   This program is free software, released under the GNU General Public
158   License (GPL), Version 2.  For details see:
160       http://www.fsf.org/licenses/gpl.html
162   This program is distributed in the hope that it will be useful, but
163   WITHOUT ANY WARRANTY; without even the implied warranty of
164   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
165   General Public License for more details.
167   Jan 24, 2009 -- grischka