diff options
author | Robin Haberkorn <robin.haberkorn@googlemail.com> | 2015-06-02 15:38:00 +0200 |
---|---|---|
committer | Robin Haberkorn <robin.haberkorn@googlemail.com> | 2015-06-02 15:38:00 +0200 |
commit | 02d414b3ab447e637fef776e387aa5a07293738a (patch) | |
tree | 60d5db01e9e0cc15f1f8e84abb14138cb0ca54a3 /doc | |
parent | 6c62ccc436d972a872616c187d460ed61c8bc0d2 (diff) | |
download | sciteco-02d414b3ab447e637fef776e387aa5a07293738a.tar.gz |
added <FG> command and special Q-Register "$" to set and get the current working directory
* FG stands for "Folder Go"
* FG behaves similar to a Unix shell `cd`.
Without arguments, it changes to the $HOME directory.
* The $HOME directory was previously only used by $SCITECOCONFIG on Unix.
Now it is documented on its own, since the HOME directory should also
be configurable on Windows - e.g. to adapt SciTECO to a MinGW or Cygwin
installation.
HOME is initialized just like the other environment variables.
This also means that now, the $HOME Q-Register is always defined
and can be used by platform-agnostic macros.
* FG uses a new kind of tab-completion: for directories only.
It would be annoying to complete the FG command after every
directory, so this tab-completion does not close the command
automatically. Theoretically, it would be possible to close
the command after completing a directory with no subdirectories,
but this is not supported currently.
* Filename arguments are no longer completed with " " if {} escaping
is in place as this brings no benefit. Instead no completion character
is inserted for this escape mode.
* "$" was mapped to the current directory to support an elegant way to
insert/get the current directory.
Also this allows the idiom "[$ FG...new_dir...$ ]$" for changing
the current directory temporarily.
* The Q-Register stack was extended to support restoring the string
part of special Q-Registers (that overwrite the default functionality)
when using the "[$" and "]$" commands.
* fixed minor typos (american spelling)
Diffstat (limited to 'doc')
-rw-r--r-- | doc/sciteco.1.in | 25 | ||||
-rw-r--r-- | doc/sciteco.7.template | 27 |
2 files changed, 44 insertions, 8 deletions
diff --git a/doc/sciteco.1.in b/doc/sciteco.1.in index 3129189..0f091db 100644 --- a/doc/sciteco.1.in +++ b/doc/sciteco.1.in @@ -145,23 +145,32 @@ batch mode processing. .SH ENVIRONMENT . Before \*(ST executes any macro, all of the variables in the process -environment are inserted into the global -.I Q-Register -table. +environment are inserted into the global Q-Register table. A dollar sign is prepended before each variable name, so that for instance the variable \(lqHOME\(rq can be examined by macros by reading the string-content of Q-Register \(lq$HOME\(rq. +Changes to these Q-Registers are currently not applied to +the corresponding environment variables. +.LP The following environment variables are initialized with default values by \*(ST if they are unset: .TP +.B HOME +Home directory of the current user. +This may be used e.g. by the \fBFG\fP command. +If unset, it defaults to the current user's home directory +as set by +.BR passwd (5) +or as determined by other platform-dependent means. +Initialization of this variable ensures that the +\(lq$HOME\(rq Q-Register is available even on Windows +and the home directory can always be re-configured. +.TP .B SCITECOCONFIG Path where \*(ST looks for configuration files. For instance, this is the path of the default profile. If unset, this variable defaults to the \fBHOME\fP -environment variable on UNIX/Linux. -If \fBHOME\fP is unset, it defaults to the current user's -home directory as set by -.BR passwd (5). +environment variable on Unix. On Windows, this variable defaults to the location of the \*(ST program executable, so that \*(ST is self-contained on Windows. @@ -181,7 +190,7 @@ defaults to the standard library installation path at .BR "@scitecolibdir@" . . .LP -Both the \fBSCITECOCONFIG\fP and \fBSCITECOPATH\fP environment +The \fBHOME\fP, \fBSCITECOCONFIG\fP and \fBSCITECOPATH\fP environment variables are canonicalized to absolute paths. Therefore it is possible to define them relative to the working directory of \*(ST when it starts up while macros diff --git a/doc/sciteco.7.template b/doc/sciteco.7.template index 4fccd33..8272b08 100644 --- a/doc/sciteco.7.template +++ b/doc/sciteco.7.template @@ -443,6 +443,13 @@ Fully completed filenames terminate the string argument, except if the \(lq{\(rq terminator is used. T} T{ +Auto complete directory +T};9;^I, Tab;T{ +Directory arguments +T};T{ +Auto complete directory beginning at the start of the argument. +T} +T{ Auto complete symbol T};9;^I, Tab;T{ Scintilla symbol arguments @@ -1022,6 +1029,26 @@ temporarily: [* ! ...change current buffer... ! ]* .EE .TP +.BR $ " (dollar)" +The process' current working directory (string part). +Its numeric part is currently unused. +The working directory will always be returned as an +absolute path with normalized forward-slash directory +separators. +It is possible to set this register using the \fB^U\fP or +\fBEU\fP commands which will change the current working +directory in a manner similar to the \fBFG\fP command. +This allows you to change the current directory temporarily +with the following idiom: +.EX +[$ ! ...change current directory... ! ]$ +.EE +As with \fBFG\fP, relative directories may be specified +but querying \(lq$\(rq will still return an absolute path. +The \(lq$\(rq register may also be edited but changing its +string contents this way has no effect on the current +working directory. +.TP .BR $ " (Escape)" Command-line replacement register. Its integer part is unused. |