aboutsummaryrefslogtreecommitdiffhomepage
path: root/doc/sciteco.7.template
diff options
context:
space:
mode:
Diffstat (limited to 'doc/sciteco.7.template')
-rw-r--r--doc/sciteco.7.template125
1 files changed, 99 insertions, 26 deletions
diff --git a/doc/sciteco.7.template b/doc/sciteco.7.template
index 4736be2..cb718e0 100644
--- a/doc/sciteco.7.template
+++ b/doc/sciteco.7.template
@@ -680,6 +680,16 @@ work as an immediate editing command in the GUI or as a signal
dispatched from an associated console or from another process.
T}
T{
+.SCITECO_TOPIC ^L redraw
+Redraw
+T};12;^L;T{
+Everywhere
+T};T{
+Enforces a complete redraw of the entire window.
+This is useful when the display becomes corrupted,
+especially when using the Curses UI.
+T}
+T{
.SCITECO_TOPIC interrupt
Interrupt
T};3;^C;T{
@@ -864,8 +874,9 @@ areas\fP.
.IP \(bu
The \fIcommand line area\fP, showing the currently effective
and rubbed-out command line as it is edited.
-This is currently a single line of text that is scrolled
-automatically.
+This is a single line by default, but can be configured with \(lq5EJ\(rq.
+Since it is also a Scintilla view, it can be further customized by
+running \(lq0,2048ED\(rq and invoking Scintilla messages using \fBES\fP.
.
.SS Colors and Theming
.SCITECO_TOPIC colors theming
@@ -982,6 +993,7 @@ The integer storage size may be changed at \*(ST build time
however.
In this specific build, integers are @TECO_INTEGER@-bit.
.LP
+.SCITECO_TOPIC bool boolean
Some commands expect or return booleans, most often signifying
success or failure.
Booleans are also integers but unlike in ordinary (sane) languages
@@ -1251,12 +1263,12 @@ stack are discarded.
This way, \fPED\fP hooks should not interfere with
the stack-semantics of commands triggering them.
.LP
-Possible arguments to the \(lqED\(rq macro begin with 1 and
+Possible arguments to the \(lqED\(rq macro begin with 0 and
are defined consecutively so the macro can branch to the
operation using a computed goto.
The different values are defined as follows:
.TP
-.B 1
+.B 0
A file has been \fBadded\fP to the buffer ring.
It may or may not already exist in the file system.
This file is \*(ST's current document when this hook
@@ -1264,7 +1276,7 @@ executes.
Scintilla lexing may be configured in this hook \(em it
usually only has to be done once.
.TP
-.B 2
+.B 1
A buffer has been \fBedited\fP (made the current file).
This hook is not executed when a file is freshly added
to the buffer ring, since this can be simulated easily
@@ -1272,13 +1284,13 @@ by branching within the \(lqED\(rq macro.
In this hook you may want to define language-specific
auxiliary macros, for instance.
.TP
-.B 3
+.B 2
A buffer is about to be \fBclosed\fP (removed from the
buffer ring).
The buffer that is about to be closed, is still the
current document when this hook runs.
.TP
-.B 4
+.B 3
\*(ST is about to \fBquit\fP, i.e. exit normally.
This is \*(ST's equivalent of
.BR atexit (3)
@@ -1383,13 +1395,16 @@ return 0 instead.
.LP
.SCITECO_TOPIC ::
Two colons (\fB::\fP) can sometimes further modify a command's behavior \(em
-currently it is used by the \fB::S\fP search comparison command
-and a few related search-and-replace operations.
+currently it is used by the timestamp command \fB::^H\fP,
+the \fB::S\fP search comparison command and a few related search-and-replace operations.
.LP
.SCITECO_TOPIC @ at
When put in front of a command with string arguments,
the at (\fB@\fP) modifier always allows the string termination character
to be changed for that particular command.
+\# This particular bit of syntax is TECO-64 inspired.
+Whitespace characters (as by \*(ST's understanding of no-op characters)
+are ignored immediately after the command name if it was \fB@\fP-modified.
The alternative termination character must be specified just before
the first string argument.
For instance:
@@ -1398,13 +1413,13 @@ For instance:
@FS/foo/bar/
.SCITECO_TT_END
.EE
-Any character may be used as an alternative termination character.
+Any non-whitespace character may be used as an alternative termination character
+and is matched case-insensitively.
There is one special case, though.
If specified as the opening curly brace (\fB{\fP), a string argument
will continue until the closing curly brace (\fB}\fP).
Curly braces must be balanced and after the closing curly brace
-the termination character is reset to Escape and another one may
-be chosen.
+a new termination character may be chosen after optional whitespace.
This feature is especially useful for embedding TECO code in
string arguments, as in:
.SCITECO_TT
@@ -1414,6 +1429,16 @@ string arguments, as in:
}
.SCITECO_TT_END
.EE
+Since whitespace is ignored in front of the alternative escape character,
+this could have also been written as:
+.SCITECO_TT
+.EX
+@^Um
+{
+ @FS {foo} /bar/
+}
+.SCITECO_TT_END
+.EE
The termination character can be \fIquoted\fP if you want to handle
it like any regular character.
For instance, you could write \(lqS^Q\fB$$\fP\(rq to search for the
@@ -1548,7 +1573,6 @@ 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.
-Appending to the \(lq$\(rq register is unsupported.
The register is initialized automatically on startup.
.TP
.BR $ " (Escape)"
@@ -1590,6 +1614,11 @@ The existence of a clipboard register can thus be checked
in macros to determine whether getting and modifying that
particular clipboard is supported natively.
.br
+The default clipboard \(lq~\(rq refers to the clipboard selection
+if there are multiple clipboards.
+You can set bit 10 of the \fBED\fP flags to change it to the
+primary clipboard.
+.br
\*(ST supports two ways of driving the clipboard on ncurses.
.SCITECO_TOPIC OSC-52 xterm
First of all, there is built-in support for OSC-52 escape sequences,
@@ -1637,8 +1666,28 @@ EOL normalization will take place (if enabled), so that pasting
clipboards does not introduce unexpected EOL sequences.
The Q-Register view's EOL mode will \fBnot\fP be guessed from
the original clipboard contents, though.
-The numeric parts of the clipboard registers are currently
-not used by \*(ST.
+The numeric parts of the clipboard registers are
+currently not used by \*(ST.
+.TP
+.SCITECO_TOPIC ^Ax
+.BI ^A x
+An argument passed on the operating system's command line.
+\fIx\fP can be an integer beginning with 0.
+.B ^A0
+is the name of the program, as passed via \(lqargv[0]\(rq to
+C programs, and is guaranteed to always exist.
+All remaining registers for \fIx\fP larger than or equal to 1
+represent the command-line parameters after all the built-in
+options as reported by \(lq@PACKAGE@ --help\(rq.
+In other words all the options processed by the \*(ST main program
+including the file names after \(lq--mung\(rq are automatically
+excluded from the
+.BI ^A x
+array.
+The numeric parts of the argument registers are
+currently not used by \*(ST.
+For more details, see
+.BR sciteco (1).
.TP
.BI ^K key
Key macro registers as documented in section
@@ -1786,6 +1835,12 @@ character and their case is insignificant.
In the following list of supported expressions, the caret-notation
thus refers to the corresponding control code:
.TP
+.SCITECO_TOPIC ^P
+.B ^P
+Disable interpretation of all further string building characters,
+so all following characters will be taken verbatim.
+There is no way to escape the string terminator after \(lq^P\(rq.
+.TP
.SCITECO_TOPIC ^Qc ^Rc quote
.BI ^Q c
.TQ
@@ -1839,6 +1894,19 @@ Operations on registers (\fBEU\fP) similarily consult the
register's encoding.
Everything else expects Unicode codepoints.
.TP
+.SCITECO_TOPIC ^E< ^E<>
+.BI ^E< code >
+Expands to the character, specified by \fIcode\fP.
+\# This is Video-TECO-like. TECO-11 only accepts octal codes AFAIK.
+It is read in decimal by default, but can be given in hexadecimal if lead by \(lq0x\(rq
+or octal if given with a leading \(lq0\(rq.
+The current radix as specified by \fB^R\fP does not influence parsing.
+These semantics are compatible with libc's
+.BR stroull (3).
+The sequence \(lq^E<0x41>\(rq for instance expands to the character \(lqA\(rq.
+The interpretation of this code as bytes or Unicode codepoints depends on the context
+just like for \fB^EU\fP.
+.TP
.SCITECO_TOPIC ^EQ ^EQq
.BI ^EQ q
Expands to the string contents of the Q-Register specified by
@@ -2118,13 +2186,15 @@ in classic TECOs.
.
.SS Gotos and Labels
.
-The most basic flow control command in \*(ST is the Go-to command.
+An important flow control command in \*(ST is the Go-to command.
Since it is really an ordinary command, exceptional only in setting
the program counter and influencing parsing, it is described in this
document's command reference.
-\*(ST can perform simple unconditional and computed gotos.
+\*(ST can perform simple unconditional and computed gotos
+which are just as powerful as switch-case statements in other
+languages.
.LP
-.SCITECO_TOPIC label
+.SCITECO_TOPIC "!" label
Labels are symbolic and are defined with the following syntax:
.br
.BI ! label !
@@ -2153,7 +2223,7 @@ In addition to labels and unlike most classic TECO dialects,
\*(ST also supports true comments.
True comments are parsed faster than labels and do not
take up memory in goto tables.
-.SCITECO_TOPIC "block comment"
+.SCITECO_TOPIC "!*" "block comment"
One form of comments is the block comment:
.br
.BI !* comment *!
@@ -2165,7 +2235,8 @@ They are analoguous to C's
.BI /* ... */
comments.
.LP
-.SCITECO_TOPIC "EOL comment"
+\# This form of comment was originally in TECO-64.
+.SCITECO_TOPIC "!!" "EOL comment"
The second form of real comments are end-of-line comments,
which are analogous to C++'s \fB//\fP comments:
.br
@@ -2444,12 +2515,14 @@ The same conventions are used elsewhere in this manual.
.
.SH COMPATIBILITY
.
-\*(ST is not compatible with any particular TECO dialect,
-but is quite similar to
-.BR "Video TECO" .
-Most Video TECO and many Standard TECO programs should
+\*(ST strives to be compatible with \(lqstandard\(rq DEC TECO-11 whereever this
+does not hinder \*(ST's nature as an interactive modern editor.
+In questions concerning multiple buffers and interactivity
+\*(ST draws inspiration from Video TECO.
+Most Video TECO and many \(lqstandard\(rq TECO macros should
be portable with little or no changes.
-This manual mentions differences on several occasions.
+\*(ST however conciously deviates from both dialects to preserve
+features considered intrinsic and defining to the project.
.
.
.SH SEE ALSO
@@ -2488,7 +2561,7 @@ Overview of CSS in GTK
.SH AUTHOR
.
This manpage and the \*(ST program was written by
-.MT robin.haberkorn@googlemail.com
+.MT rhaberkorn@fmsbw.de
Robin Haberkorn
.ME .
\# EOF \ No newline at end of file