aboutsummaryrefslogtreecommitdiffhomepage
path: root/doc
diff options
context:
space:
mode:
authorRobin Haberkorn <robin.haberkorn@googlemail.com>2015-06-02 15:38:00 +0200
committerRobin Haberkorn <robin.haberkorn@googlemail.com>2015-06-02 15:38:00 +0200
commit02d414b3ab447e637fef776e387aa5a07293738a (patch)
tree60d5db01e9e0cc15f1f8e84abb14138cb0ca54a3 /doc
parent6c62ccc436d972a872616c187d460ed61c8bc0d2 (diff)
downloadsciteco-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.in25
-rw-r--r--doc/sciteco.7.template27
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.