aboutsummaryrefslogtreecommitdiffhomepage
path: root/doc/sciteco.7.template
AgeCommit message (Collapse)AuthorFilesLines
2015-06-14handle environment variables more consistentlyRobin Haberkorn1-10/+41
* the registers beginning with "$" are exported into sub-process environments. Therefore macros can now modify the environment (variables) of commands executed via EC/EG. A variable can be modified temporarily, e.g.: [[$FOO] ^U[$FOO]bar$ EC...$ ][$FOO] * SciTECO accesses the global environment registers instead of using g_getenv(). Therefore now, tilde-expansion will always use the current value of the "$HOME" register. Previously, both register and environment variable could diverge. * This effectively fully maps the process environment to a subset of Q-Registers beginning with "$". * This hasn't been implemented by mapping those registers to special implementations that updates the process environment directly, since g_setenv() is non-thread-safe on UNIX and we're expected to have threads soon - at least in the GTK+ UI.
2015-06-12support UNIX-shell-like tilde-expansions in file names and directoriesRobin Haberkorn1-9/+73
* expands to the value of $HOME (the env variable instead of the register which currently makes a slight difference). * supported for tab-completions * supported for all file-name accepting commands. The expansion is done centrally in StateExpectFile::done(). A new virtual method StateExpectFile::got_file() has been introduced to pass the expanded/processed file name to command implementations. * sciteco(7) has been updated: There is now a separate section on file name arguments and file name handling in SciTECO. This information is important but has been scattered across the document previously. * optimized is_glob_pattern() in glob.h
2015-06-02throw error when trying to set or append the string part of "*" and ↵Robin Haberkorn1-0/+2
appending to "$" * these operations are unsupported and there is no benefit in ignoring them silently. It only confused the user.
2015-06-02added <FG> command and special Q-Register "$" to set and get the current ↵Robin Haberkorn1-0/+27
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)
2015-05-29Modified ^W in string (and file name) arguments: ensure that we always rub ↵Robin Haberkorn1-2/+2
out beyond empty arguments * it was annoying not to be able to rub out anything with ^W if the current string argument was empty. * Now, the special file name and string argument handling for ^W is effective only if the current argument is non-empty, else we fall back to the rub-out-command behaviour. * So now, if you press ^W in a string argument, it is rubbed out until empty and on the next ^W press, the entire command will be rubbed out.
2015-05-29support specialized ^W immediate editing command in file name argumentsRobin Haberkorn1-0/+17
* the rubout/reinsert-word behaviour of misc. string arguments is suboptimal for file name arguments as it depends on Scintilla's word characters. By default, the directory separators are not considered word characters, but this could be changed by the user. * The behaviour of ^W in file name arguments is now fixed and independant from the Scintilla configuration: It always rubs out or re-inserts one hierarchy level of the file name.
2015-05-25extended <EN> command and used it to optimize "lexer.test..." macrosRobin Haberkorn1-1/+3
* EN may now be used for matching file names (similar to fnmatch(3)). This is used to check the current buffers file extension in the lexer configuration macros instead of using expensive Q-Register manipulations. This halves the overall startup time - it is now acceptable even with the current amount of lexer configurations. * EN may now be used for checking file types. session.tes has been simplified. * BREAKS macro portability (EN now has 2 string arguments). * The Globber class has been extended to allow filtering of glob results by file type.
2015-03-16implemented function key masking (context-sensitive function key macros)Robin Haberkorn1-0/+33
* fnkeys.tes has been updated to enable the command line editing macros (cursor keys, etc.) only in the "start" state. This avoids the annoying effect of inserting the macros into string arguments where they have no effect and must be rubbed out again.
2015-03-16documented the automatic EOL translation featureRobin Haberkorn1-4/+55
2015-03-10added the <"I> conditional for checking a directory separatorRobin Haberkorn1-1/+12
* It is still useful to have this in macros since you may want to work with non-normalized file names. For instance, env variables (including $SCITECOPATH and $SCITECOCONFIG) may (and will probably) include backward-slash separators on Windows
2015-03-10always normalize directory separators to "/" in the "*" Q-RegisterRobin Haberkorn1-1/+9
* on Windows, this register contained backward slashes. This means that macros working with that register had to cope with both forward and backward slashes. * The file names are still displayed in the native style by the UI * This approach also has disadvantages: What if the user wants to insert the current file name somewhere where "\" is expected? However, this seems to be an unlikely case and the use can still replace the "/" with "\" again. * Avoid some virtual method calls in QRegisterBufferInfo
2015-03-07sciteco(7): Use em-dash (\[em]) characters instead of "-" in sentencesRobin Haberkorn1-6/+6
this looks better in Unicode terminals
2015-03-07Curses UI: fixed translation of the backspace keyRobin Haberkorn1-1/+5
* for historic reasons, the backspace key can be transmitted as ^H by the terminal. Some terminal emulators might do that - these are fixed by this commit. * Use CTL_KEY('H') instead of standard C '\b' as the former is less ambiguous given the confusion around the backspace character.
2015-03-02updated documentation: cover undo/redo, the new ^G editing command and ↵Robin Haberkorn1-13/+118
removal of ^T
2015-02-11implemented support for different indention stylesRobin Haberkorn1-1/+11
* the ^I command was altered to insert indention characters rather than plain tabs always. * The <TAB> immediate editing command was added for all insertion arguments (I, ^I but also FR and FS) * documentation was extended for a discussion of indention
2014-12-09support filename auto completions with forward-slash directory separators on ↵Robin Haberkorn1-0/+12
Windows * this is actually UNTESTED on Windows
2014-12-09Curses: support cycling through long lists of possible auto-completions and ↵Robin Haberkorn1-1/+9
optimized screen refreshing/redrawing * pressing e.g. TAB when the popup is showing a list of auto-completions will show the next page, eventually beginning at the first one again. * do not redraw curses windows in the UI methods directly. this resulted in flickering during command-line editing macros and ordinary macro calls because the physical screen was updated immediately. Instead, window refreshing and updated is done centrally in event_loop_iter() only after a key has been processed. Also we use wnoutrefresh() and doupdate() to send as little to the terminal (emulator) as possible.
2014-12-08do not show possible completions for hidden files and directoriesRobin Haberkorn1-1/+12
* added platform-dependant file_is_visible() function
2014-11-24implemented pQq and :Qq commandsRobin Haberkorn1-1/+1
2014-11-22allow setting the "*" register as an alternative to nEBRobin Haberkorn1-1/+18
this is more consistent with SciTECO's idea of abstract registers and allows the currend buffer to be saved on the Q-Register stack. This allows the idiom: [* ! ...change current buffer... ! ]*
2014-11-21updated documentation on ED (buffer editing) hooksRobin Haberkorn1-13/+56
2014-11-17updated sciteco(7): information on Scintilla views versus documentsRobin Haberkorn1-3/+30
2014-11-14added ^# (XOR) operatorRobin Haberkorn1-3/+6
also changed precedence of + operator (higher than minus). the effects of this should be minimal
2014-11-10support new "~" conditional: useful for implying default parameters in macrosRobin Haberkorn1-8/+27
2014-11-09documented EC and EG commandsRobin Haberkorn1-0/+3
2014-11-02changed syntax for long Q-Register names: use [] brackets instead of {}Robin Haberkorn1-4/+4
this breaks many existing scripts, and means you may have to rebuild SciTECO with ./configure --enable-bootstrap The syntax of SciTECO might change in backwards-incompatible until version 1.0 is released.
2013-03-19fixed minor Troff error: ".." is not allowedRobin Haberkorn1-1/+1
2013-03-17^E\ string building character to format numberRobin Haberkorn1-0/+7
* new Expressions::format() * may be used format numbers as part of arrays (Q-Register names)
2013-03-17document buffer editing hooks (ED hooks)Robin Haberkorn1-0/+51
2013-03-16written section about buffer ring in language manualRobin Haberkorn1-0/+37
2013-03-16explain caret-control-character equivalence for commands and no-ops in more ↵Robin Haberkorn1-1/+13
detail
2013-03-16wrote introduction (typographic conventions) for command referenceRobin Haberkorn1-0/+31
2013-03-16fixed spelling of Video TECORobin Haberkorn1-5/+6
2013-03-16written section about flow-control constructs in language reference manualRobin Haberkorn1-1/+185
2013-03-16wrote language reference sections about string building and pattern match ↵Robin Haberkorn1-1/+159
characters
2013-03-16manual chapters: Expressions, Command Syntax, Q-RegistersRobin Haberkorn1-0/+260
2013-03-16generate-docs: marker looks like a Troff request nowRobin Haberkorn1-1/+1
it is customary for Troff preprocessors to interpret special preprocessor requests instead of special comments
2013-03-16elaborate on auto-completions in sciteco(7)Robin Haberkorn1-0/+14
2013-03-16wrote introduction, key translation and immedite editing sections for ↵Robin Haberkorn1-0/+334
sciteco(7) manual * images are generated by grohtml. they are not listed in the Automake rules but instead all sciteco.*.png images are installed and cleaned
2013-03-16outline of remaining language referenceRobin Haberkorn1-0/+43
2013-03-16completed documentation of all commands in parser.cppRobin Haberkorn1-1/+21
* also updated sciteco(7): add SEE ALSO and AUTHORS
2013-03-16first draft of TECO command documentation generatorRobin Haberkorn1-0/+12
* the language reference is a manually written man-page template * containing special references for generated documentation (\#$...) * SciTECO script generate-docs.tes extracts TECO comments (/*$ ... */) from all source files and transforms them to Troff requests that are inserted into the document template. * TECO doc comments are a rather sophisticated markup: * first part until empty line is called header: simplified command syntax descriptions * the rest is called body: <identifier> is automatically underlined, empty lines generate new paragraphs, lines beginning with "-" or numbers denote an indented unordered or numbered list item. * regular Troff requests/macros can be used for more sophisticated markup * since Autoconf substitutions are performed on the generated man-page, @VARIABLEs@ may be used in doc comments as well