diff options
author | Steve Slaven <bpk@hoopajoo.net> | 2019-11-05 06:26:14 (GMT) |
---|---|---|
committer | Steve Slaven <bpk@hoopajoo.net> | 2019-11-05 06:26:14 (GMT) |
commit | 9c4c0a1e366b9d932e4ab2ce03a0e80126d93d9b (patch) | |
tree | 928e4c6f49ac50f7e69777b00073df37d7d11e3f /powwow.help | |
parent | eb9898c7fcc017a35c240c1bd83c8a8ff451431a (diff) | |
download | powwow-9c4c0a1e366b9d932e4ab2ce03a0e80126d93d9b.zip powwow-9c4c0a1e366b9d932e4ab2ce03a0e80126d93d9b.tar.gz powwow-9c4c0a1e366b9d932e4ab2ce03a0e80126d93d9b.tar.bz2 |
reorganizing files
Diffstat (limited to 'powwow.help')
-rw-r--r-- | powwow.help | 590 |
1 files changed, 0 insertions, 590 deletions
diff --git a/powwow.help b/powwow.help deleted file mode 100644 index 82c7399..0000000 --- a/powwow.help +++ /dev/null @@ -1,590 +0,0 @@ -@alias -#alias [name[=[command]]] - -Aliases are abbreviations for longer, frequently used commands. -As all powwow commands, they are only recognized at the beginning -of a line or directly after a semicolon, an open or a closed brace. -When an alias is used, the first word following the alias name -is placed in the variable $1, the second in $2, etc... up to $9. -also, the whole string following alias name is placed in $0. - -Then, before executing <command>, every $n in <command> is replaced by its -value. Examples: - -#alias summ=cast 'summon' $0 (then "summ thor" is replaced by - "cast 'summon' thor") -#alias cs=cast '$1' $2 ("cs summon thor" is expanded to - "cast 'summon' thor") -#alias summ (lets you edit the definition of summ) -#alias summ= (removes the alias summ) -#alias (displays all defined aliases) -#alias ws={wake;stand} (note that you must use braces) - -Aliases are saved automatically if you started powwow with a file name as -argument. Aliases are not expanded in verbatim mode. -@action -#action [[<|=|>|%][+|-]label] [{pattern | (expression)}=[command]] - -When 'pattern' is found in a line from the remote host, the 'command' is -automatically executed. If the pattern contains $n, powwow matches one word -of the remote line and puts it in the variable $n. Instead, if pattern contains -&n, powwow places the shortest possible text (can be more than one word, less, -or even one word) in the corresponding $n (NOT in &n). - -As in #alias, before executing <command>, every $n in <command> is replaced -by its value. If the first character of the pattern is ^ (caret), the match -will only be possible at the beginning of a line. -If 'label' is specified, the action is labeled; otherwise it is numbered. -The match is case-sensitive. Examples: - -#action >fount ^There is a fountain here={#print;drink water} -#action -fount (turns off action) -#action +fount (turns it back on) -#action =fount (lets you edit it) -#action <fount (removes action) - -If you use % instead of >, you define an action that uses an Extended POSIX -regexp to match instead of the standard matcher. - -#action %first ^([[:alpha:]]+) ([[:digit:]]+)=#print $2 counted $3. - (matches abc 123) - -Note that if the pattern starts with '(', it is evaluated, which means that -a regexp that starts with '(' has to be surrounded by ("...") - -#action %second ("(..+)-\\1")=#print Double $1 - (matches xyz-xyz) -For regexp actions, $0 = the line, $1 = the whole match and $2... contain the -submatches. -@bind -#bind [edit|key[=[command]]] - -You can bind most function keys and control keys to enter a command for you -when the key is pressed. You cannot (yet) redefine a key already used for an -editing function (such as the arrow keys). 'key' is the name of the key you -want to define; When defining a new key, you will be asked to press it so -powwow can record the control sequence your terminal sends. Examples: - -#bind (lists all key bindings) -#bind f1=recite scroll of recall (you'll have to press f1 then) -#bind f1=cast 'sanctuary' (change exiting definition) -#bind f1 (lets you edit the definition) -#bind f1= (removes the key) -#bind edit (lists editing keys) - -By default, the vt100 numeric keypad is partially used to walk around -@key -#key name - -If 'name' is the name of one of the key defined with #bind, #key executes the -corresponding command. Example: - -#bind f1=flee (binds the f1 key to the 'flee' command) -At any time, then, you can either: -- Press your f1 key on you keyboard -- Execute the command '#key f1' -and powwow will execute the command 'flee' for you. -@reset -#reset {all|list-name} - -Argument: Effect: -all clear everything (apply all lines below this) -alias clear all aliases -action clear all actions -bind clear all key bindings and restart with default - settings. Note that also editing keys are resetted - to default function. -at clear all delayed commands -in (same thing) -mark clear all markers -var clear all variables -@mark -#mark [text[=[attribute]]] - -This command highlights a text in your output in the way you choose -(if your terminal supports it). Attributes: -one or more of bold, blink, inverse, underline and/or -[<foreground>] [on <background>], where the colors are: -black, red, green, yellow, blue, magenta, cyan, white and -BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE, none. -Wildcards are allowed ($ for a single word, & for any string). Examples: - -#mark Sizzler=bold (mark Sizzler in bold) -#mark Sizzler (lets you edit the above definition) -#mark Sizzler= (Sizzler is no longer put in bold) -#mark (lists all markers) -#mark *&*=inverse (mark in reverse any string in * *) -@module -#module [module name] - -This loads a shared library module by name, if supported by your system. The -name of the module should be included in the documentation that came with the -powwow extension, for example to load the perl module you would use: - -#module perl - -Which gives you the perl command that can be used like: - -#perl powwow::exec( "say it is " . scalar(localtime()) ) - -The commands added and their syntax varies depending on the module. - -@history -#history [number] - -#history alone shows you the last commands in history, up to the number -of lines in your screen. -#history -n shows the last n commands in history, and -#history n executes the n-th command of the history. - -#history commands are not placed in history. -@hilite -#hilite [attribute] - -This sets the attribute of your entered text to the given attribute. -Just #hilite turns it off. - -Attributes: one or more of bold, blink, inverse, underline and/or -[<foreground>] [on <background>], where the colors are: -black, red, green, yellow, blue, magenta, cyan, white and -BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE, none. -@host -#host [hostname port] - -Sets the default host that powwow shall try to connect to when you use -#connect. -If you type #host without any arguments, the current host and port are -shown (provided that you have specified them). -@color -#color [attrib] - -(This command exists only if BUG_TELNET is defined, to cope with - deficiencies of NCSA telnet 2.2) -Set your standard foreground and background to the colours you specify. -#color sets default colors -@connect -#connect [session-id [initstr] [address port]] - -Connect a new session. - -To connect your first session, use: -#connect main <address> <port> -where <address> and <port> indicate the host you want to connect to. - -If no address/port is defined, you either get connected to the default -host and port (if you have no open connection) or a list of open -connections is shown. - -Last opened session will be the default one. - -If <initstr> is specified, it is sent to host on connection. -@keys -Default editing keys: - -^A &begin-of-line -^E &end-of-line -^B &prev-char M-b &prev-word -^F &next-char M-f &next-word -^P &prev-line -^N &next-line -^D &del-char-right M-d &del-word-right -BS &del-char-left M-BS &del-word-left -^K &kill-to-eol M-k &redraw-line-noprompt -^L &redraw-line M-l &downcase-word -^T &transpose M-t &transpose-words -^Q &clear-line - M-u &upcase-word -^W &to-history -^Z &suspend -Tab &complete-word M-Tab &complete-line -Ret &enter-line -LF &enter-line - -not assigned: &insert-string - -M-<key> means press escape and then <key>, or press meta/alt key at the same -time as <key>. ^ means control. -If your terminal has arrow keys, they are set for default to move cursor and to -step around history. -@wrap -#wrap [on|off] - -Normally, powwow wraps words that would have been cut by the right -margin to the next line. This command lets you turn it off and on. -@compact -#compact [on|off] - -Normally, powwow does not touch the prompts on screen while you play. -In #compact mode, instead, lines containing only a prompt are deleted when -further messages arrive from the remote host. -@echo -#echo [on|off] - -Normally, powwow echoes on your screen each command sent to remote -host but not directly typed (example: aliases and actions sending text -to the MUD). When #echo is off, such commands are still sent to host, -but not echoed on screen. -@info -#info [on|off] - -Normally, powwow prints on screen some messages each time you -define/edit/delete an #alias, #action, #bind and similar. -When #info is off, those messages are not typed at all. -(But errors are still printed on screen) -@debug -#debug [on|off] - -Normally, powwow does not print on screen the command lines it -executes. When #debug is on, every line executed by powwow is also -echoed on screen (warning: this prints LOTS of lines on your screen) -@delim -#delim [normal|program|{custom <chars>} - -By default, when powwow adds words to the word completion buffer, -it uses only SPACE (' ') and SEMI-COLON (';') as delimeters. You -can change this behaviour by specifying "program" or "custom" mode. -The "program" mode uses ' <>!=(),.;"'{}[]+-/*%=' as separators, which -is suitable if you are doing some kind of on-line programming. -You can also make a customized setting with the "custom" mode (space -is always used as a delimeter). -This setting also affects &transpose-words (usually bound as M-t) -@for -#for ([init];check;[loop]) command - -Directly copied from C language, this command evaluates 'init' -(if specified), then repeats the following cycle: - 1) evaluate 'check', if result is 0 (false) stop repetition - 2) execute 'command' - 3) evaluate 'loop' (if specified) - 4) restart from 1) - -As with #while, #for performs the parameter substitution in 'command'. Example: -#for (@0=32; @0<=47; @0++) read @0 (read messages 32-47) -@at -@in -#at [label [(time-expression) [command]]] -or -#in [label [(delay in millisec.) [command]]] - -If you want to tell powwow to execute the command 'kill wolf' -2 seconds after you type it, use this command: -#in attack (2000) kill wolf - -If you do not specify the command, powwow assumes the label is already -defined, and changes its delay. -A delay less than zero means the delayed label is disabled. -A delay of zero deletes the delayed label. - -If you specify only a label, powwow lists it. -If you specify nothing, all delayed labels are listed. - -The #at command is almost the same as #in, but assumes the expression -in ( ) is a time. -For example (114520) means 11:45:20 and ("114520") is the same. - -After executing a delayed command, powwow does not delete it, but simply -disables it. -@stop -#stop - -Disables all delayed commands (not delete). -Useful if you start an infinite loop with a self-reactivating delayed command -@add -#add {text|(expression)} - -Add the text or result of expression (calculator is used to evaluate the -expression) to the word completion list. Example: - -#action >reply ^$1 tells you={#print;#add $1} - (from now on, you can use TAB to complete that name) -@addstatic -#addstatic {text|(expression)} - -Add the text or result of expression (calculator is used to evaluate the -expression) to the static word completion list. Example: - -#addstatic Tintin Milou (from now on you can always use Tab to complete - these two names) - -Note that the static list is not saved when you run #save, and its -words will never be overwritten as new words are added. - -It is best used from your #init command, for example: - -#init ={#identify;#exe <static-completions} - -If the 'static-completions' file contains a number of #addstatic -commands, all those words will always be possible to Tab-complete on. - -@option -#option [+-=]<option> | list - -This command lets you list or change various options of powwow. - - #option lists all current option settings - #option list long list of current options - #option =<option> edit current setting of <option> - #option +<option> enable <option> - #option -<option> disable <option> - #option <option> toggle <option> - -@put -#put {text|(expression)} - -If a text is specified, powwow puts it in history. If an expression is -specified, powwow uses the inline calculator to evaluate it, and then puts the -result in history. -@() -@ () -#(expression) or # (expression) - -Evaluate expression with calculator, and trash result. Examples: - -#(@7=45) (set value of variable @7 to 45) -#alias set=#($-1 = \$0) (copy parameter $0 of the alias into $-1) -@print -#print [<|!][string|(expression)] - -If a string is specified, powwow simply prints it on screen. If an expression -is specified, powwow uses the inline calculator to evaluate it, and then -prints the result. - -If a #print without arguments is found, powwow prints the value of the -variable $0 (this is a special feature of #print, and is not present in #send, -#exe, #emulate or #var). - -If < precedes the text or expression, #print assumes text (or result of -expression) to be name of a file, and displays the contents of that file. - -Instead if ! precedes the text or expression, #print assumes text (or result of -expression) to be a Bourne shell command, whose output is displayed. -Examples: - -#action disint ^&1 disintegrates &2=#print $1 DISINTEGRATES $2 -#action disint ^&1 disintegrates &2=#print (\$1+" DISINTEGRATES "+\$2) -#print <mytext (display a text on screen) -#print !more mytext (same thing, but uses 'more' as text viewer) -#print (@-7) (print value of variable on screen) -#print <($2) (display the contents of file whose name is in - variable $2) - -Further feature (supported also by #send, #exe, #emulate and #var): -If < or ! is specified, and you use an expression after it, you can also -specify starting and ending line of the file/command output that you want -to use (the other lines will be ignored), in this way: - -#print {<|!}(string-expr;[start];[end]) -@send -#send [<|!]{text|(string-expr)} - -The simplest use of #send is to evaluate an expression and to send -the result to the MUD. More generally, #send is very similar to #print, -with the only difference that the final text is sent to the MUD rather -than displayed on screen. -The meaning of < and ! is the same, and #send do the expected things -when they are used. Examples: - -#send <mytext (stuff a text into the mud) -#send !awk ' {print "tell arthur " $0} ' file (say a file to your friend) -#send ("say I have been playing for " + %(timer/86400000) + " hours") -@exe -#exe [<|!]{text|(expression)} - -Evaluate the expression and get result, then execute result as if typed from -keyboard. If < or ! is specified, #exe behaves exactly like #print, but -executes the final text as if typed. Examples: - -#exe ("sigh") (is the same as typing sigh from keyboard) -#bind control_s=#exe ("#capture emergency" + %(@-7++)) - (each time you press control_s, a different - file is opened as capture) -#exe <mytext (read the file mytext and execute it) -@emulate -#emulate [<|!]{text|(expression)} - -Evaluate the expression and get result, then parse result as if received from -remote host. If < or ! is specified, #emulate behaves exactly like #print, -but parses the final text as if received from host. Examples: - -#emulate The assassin is dead! R.I.P. (powwow reacts in the same way as - if received the text from remote host) -#emulate <mytext (read the file mytext and parse it as - if received) -@var -#var $number = [<|!]{text|(expression)} -#var @number = [<|!]{text|(expression)} - -Evaluate the expression and get result, then put result in the indicated -variable. If < or ! is specified, #var behaves exactly like #print, but puts -the final text in the variable. -You can also use an expression instead of 'number'. Examples: - -#var @(-1*4) = 27 (same as #(@(-1*4)=27) ) -#var @1=!echo '5.6+6.48' | bc -l (use bc calculator and put result in @1) -#var $test = this is a very very very long text (you do not need quotes) -#var $-6 = ("a short text") (since there are parentheses, you must - also use quotes as in calculator) -#var $-1 = <myfile (if myfile is longer than 1024 bytes, - powwow will read only the first 1024) - -#var variable -will let you edit the current value of the variable - -#var variable= -will delete the variable -@write -#write [>|!](text;name) - -Evaluate expression and get result, then append result to 'name' file. -If > is specified, 'name' file is truncated before actually writing result. - -If ! is specified, 'name' shell command is executed, and result is written -to its standard input. Examples: - -#write ($test; "myfile") (append contents of $test to the end of myfile) -#write !("55+12"; "bc -l") (eval 55+12 using bc program) -@if -#if (expression) command1 [#else command2] - -Evaluate the expression: if result is 'true' execute command1, -otherwise (if there is an #else) execute command2. -If expression is false and there is no #else, execute nothing. -remember that you must use braces {} if command1 or command2 -contain more than one instruction. -@settimer -#settimer (expr) - -Evaluate the expression and get result, then set 'timer' to restart from the -corresponding number of milliseconds. Examples: - -#settimer (0) (reset internal timer to 0) -#settimer (20000) (make internal timer restart from 20000 milliseconds) -@while -#while (expression) command - -This construct repeats a command while expression keeps true. As with #alias, -#action and #for, the $n and @n in command are replaced by their values. -Examples: - -#while (@0<13) {read @0;#(\@0++)} (read messages 0-12) - (As you can see, the last @0 is escaped to avoid it to be - substituted with its value - we want to decrease the variable!) -@math -The inline calculator is used to evaluate expressions inside -#(), #print (), #exe (), #send (), #if (), #while (), #for (), #do (), etc. -and (if you use this syntax) expressions in pattern of #actions - -The inline calculator recognizes the following objects: - -numbers (only integers are supported) - decimal numbers: - simply write them. - - hexadecimal numbers: - use '#' as prefix: #F is 15, #a0 is 160, and so on - - numbers in any other base: - use base# as prefix: 2#101 is 5, 7#14 is 11... - - if you use negative non-decimal numbers, you must put '-' - before the base: -2#101 is -5, 2#-101 causes an error. - -quoted-strings (i.e.: strings in " "). -NOTE: powwow unescapes them when they are evaluated - -timer (number of milliseconds since last timer reset) - -map (string containing the map shown by #map command) - -variables: - @n with n within -50 and 9, are numeric-variables - $n with n within -50 and 9, are string-variables - - Variables with negative index (@-1...@-50 and $-1...$-50) are global, - while variables with positive or zero index are parameters: they are local to - the #alias, #action, #while or #for powwow is executing, and each time - powwow executes one of these commands, a new set of parameters is created. - - @name are numeric-variables - $name are string-variables - - Every character of the name must be either: - a letter (uppercase or lowercase) - an underscore '_' - a number - Exception: the first char of the name must NOT be a number - -operators between numbers: - ++ -- + - - * / % - + - - << >> - < <= > >= == != - & | ^ - && || ^^ - = *= /= %= += -= <<= >>= &= ^= |= &&= ^^= ||= - , - ( ) -(no help on these operators, see a C-language manual) -(note: unlike C, operators && and || always eval both arguments) -(also, % and %= always return non-negative values) - -random number generator: - - rand positive-number (return a random number between 0 and n-1) - -operators between strings: - + chain two strings - = assign a string to a string-variable - += append a string to a string-variable - - compare two strings: result -1 if s1<s2, +1 if s1>s2, - 0 if s1==s2 - < <= > >= == != compare two strings - .? number of chars in a string - :? number of words in a string - ? position of first occurrence of second string in the first - * convert first char of a string into its ASCII code or vice versa - % convert string into its numeric value or vice versa - -operators between a string and a number: - (string is first argument) - : n-th word of a string - . n-th char of a string - :< :> <: >: .< .> <. >. return part of a string, in this way: - : before > or < means 'mark the n-th word from start' - . before > or < means 'mark the n-th char from start' - : after > or < means 'mark the n-th word from end' - . after > or < means 'mark the n-th char from end' - > means: return from marked word/char to end - < means: return from start to marked word/char - -Examples: - -#print($5="Hello, world") (assign "Hello, world" to $5 and print it) - -#action >+exp ^You have scored $1 exp={#print;#print ("You gained " + - %($1 - @-5) + " exp. points since last score"); #(@-5 = $1)} - (when you type 'score' in MUME, one of the lines you get is: - You have scored xxx experience points ... ) -@warranty - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. |