From c8e727f706048e0a364bf88d4b905d3edd3c3a63 Mon Sep 17 00:00:00 2001 From: Peter Stephenson Date: Fri, 1 Jun 2001 13:58:53 +0000 Subject: `Final' tweaks for docs for 4.0.1 --- Etc/FEATURES | 60 +++++++++++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 47 insertions(+), 13 deletions(-) (limited to 'Etc/FEATURES') diff --git a/Etc/FEATURES b/Etc/FEATURES index 4734d80f8..95a0d617c 100644 --- a/Etc/FEATURES +++ b/Etc/FEATURES @@ -9,6 +9,7 @@ can emulate ksh or POSIX sh short for loops, ex: for i (*.c) echo $i select shell functions +autoloaded functions (loaded from a file when they are first referenced) conditional expressions (test builtin, [ ... ], and ksh-style [[ ... ]]) global aliases (may be expanded anywhere on the line) directory stack access with ~num @@ -22,6 +23,12 @@ advanced globbing: ls *.(c|pro) matches *.c and *.pro ls *(R) matches only world-readable files ls *.c~lex.c matches all .c files except lex.c + ls (#a1)README matches README with one error, e.g. RADME, REEDME, RAEDME + ls (#ia1)README same but case insensitive +qualifiers in parentheses after globbing expression: + ls *(*@) matches executable files/directories or symlinks + ls *(L0f.go-w.) matches all zero-length files not group or world writable + ls *(om[2]) matches the two most recently modified files null command shorthands: "< file" is same as "more file" is same as "cat >file" @@ -34,35 +41,52 @@ job control csh-style history full vi line editing, including "c2w" and "y$" and such things full emacs line editing +line editor is programmable via shell functions + - access and manipulate editor state via builtins and parameters + - user-defined `widgets' behave like other editor functions + - keymap customisation + - example functions provided incremental history search magic-space history spelling correction array parameters +associative array parameters +tie parameters a la path/PATH, e.g. ld_library_path/LD_LIBRARY_PATH $MACHTYPE, $VENDOR and $OSTYPE identify the host machine $LINENO, $RANDOM, $SECONDS, $cdpath, $COLUMNS, $fignore, $HISTCHARS, $mailpath $UID, $EUID, $GID, $EGID and $USERNAME can be assigned to with autocd option, typing a directory name by itself is the same as typing "cd dirname" -menu completion: pressing TAB repeatedly cycles through the possible matches incremental path hashing automatic process time reporting for commands that run over a certain limit -full tcsh-style prompt substitution +full tcsh-style prompt substitution plus conditional prompt expressions utmp login/logout reporting with histverify option, performing csh-style history expansions causes the input line to be brought up for editing instead of being executed with sunkeyboardhack option, accidentally typed trailing ` characters are removed from the input line (for those of you with Sun keyboards :-) ) -autoloaded functions (loaded from a file when they are first referenced) "cd old new" replaces "old" with "new" in directory string -generalized argument completion, including: - - command name completion - - filename and path completion - - hostname completion - - key binding completion - - option completion - - variable name completion - - user-specified keyword completion - - anything else you can think of +generalized argument completion, new system based on shell functions: + - highly context sensitive + - large (and I mean large) set of completions supplied, from a2ps to zstyle + - partial file path completion + - spelling correction and approximate completion of any completable word + - highly configurable expansion of shell arguments + - completion list colouring [`colorizing' for you lot over there] + - selection of completion elements with the cursor + - full scrolling of lists (in optional module) + - completion of words from the history list + - `styles' feature for versatile configuration + - `tags' feature for choosing completions preferentially + - `match' specifications, allowing e.g. + - variant forms: NO_glob, noglob, _NOGLOB_ all from the keyword glob + - partial-word matches with arbitrary anchors, e.g. + z_t.c -> zle_tricky.c + c.u.s -> comp.unix.shell + - complete control over case-insensitive matching + - can be defined globally or for individual completions + - bindable special completion functions +menu completion: pressing TAB repeatedly cycles through the possible matches prompt on right side of screen directory stacks history datestamps and execution time records @@ -71,4 +95,14 @@ tty mode freezing up to 9 startup files (but you only need 1 or 2) really 8-bit clean, and we mean it this time which -a cmd lists all occurrences of "cmd" in the path -dynamically loadable binary modules +floating point support +dynamically loadable binary modules, supplied modules include + - an FTP client which runs in the shell, with function suite + - math functions + - builtin interface to the `stat' system command + - builtin versions of standard commands (mv, ln, etc.) for emergencies + - special parameters to access internal state of hash tables etc. + - special associative array to access contents of files directly + - profiler for shell functions + - a pseudo-terminal handler, for purposes like `expect' + - builtins for interaction with termcap and terminfo -- cgit 1.4.1