Index: joe-embedded/builtins.c =================================================================== --- joe-embedded/builtins.c (revision 227) +++ joe-embedded/builtins.c (revision 234) @@ -1,843 +0,0 @@ -/* Built-in files */ - -#include "types.h" - -unsigned char *builtins[]= -{ - USTR "joerc", - USTR "-notite\n" - "-assume_color\n" - "-assume_256color\n" - "-guess_non_utf8\n" - "-guess_crlf\n" - "-guess_indent\n" - "-menu_above\n" - "-transpose\n" - "-joe_state\n" - "-restore\n" - "-search_prompting\n" - "-lmsg \\i%k%T%W%I%X %n %m%y%R %M %x\n" - "-rmsg %S Row %r Col %c %t Ctrl-K H for help\n" - "-highlight\n" - "-istep 2\n" - ":defmenu root\n" - "mode,\"overwrite\",rtn T Overtype %Zoverwrite%\n" - "mode,\"hex\",rtn % % Hex edit mode\n" - "mode,\"autoindent\",rtn I Autoindent %Zautoindent%\n" - "mode,\"wordwrap\",rtn W Word wrap %Zwordwrap%\n" - "mode,\"tab\",rtn D Tab width %Ztab%\n" - "mode,\"lmargin\",rtn L Left margin %Zlmargin%\n" - "mode,\"rmargin\",rtn R Right margin %Zrmargin%\n" - "mode,\"square\",rtn X Rectangle mode %Zsquare%\n" - "mode,\"indentc\",rtn % % Indent char %Zindentc%\n" - "mode,\"istep\",rtn % % Indent step %Zistep%\n" - "mode,\"highlight\",rtn H Highlighting %Zhighlight%\n" - "mode,\"crlf\",rtn Z CR-LF (MS-DOS) %Zcrlf%\n" - "mode,\"linums\",rtn N Line numbers %Zlinums%\n" - "mode,\"beep\",rtn B Beep %Zbeep%\n" - "mode,\"rdonly\",rtn O Read only %Zrdonly%\n" - "mode,\"syntax\",rtn Y Syntax\n" - "mode,\"encoding\",rtn E Encoding\n" - "mode,\"asis\",rtn % % Meta chars as-is\n" - "mode,\"language\",rtn V Language\n" - "mode,\"picture\",rtn P picture %Zpicture%\n" - "menu,\"more-options\",rtn % % More options...\n" - ":defmenu more-options\n" - "menu,\"^G\",rtn % % ^G options\n" - "menu,\"search\",rtn % % search options\n" - "menu,\"paragraph\",rtn % % paragraph options\n" - "menu,\"file\",rtn % % file options\n" - "menu,\"menu\",rtn % % menu options\n" - "menu,\"global\",rtn % % global options\n" - "menu,\"cursor\",rtn % % cursor options\n" - "menu,\"marking\",rtn % % marking options\n" - "menu,\"tab\",rtn % % tab/indent options\n" - ":defmenu menu\n" - "mode,\"menu_explorer\",rtn % % Menu explorer %Zmenu_explorer%\n" - "mode,\"menu_above\",rtn % % Menu position %Zmenu_above%\n" - "mode,\"menu_jump\",rtn % % Jump into menu %Zmenu_jump%\n" - "mode,\"transpose\",rtn % % Transpose menus %Ztranspose%\n" - ":defmenu ^G\n" - "mode,\"single_quoted\",rtn % % ^G ignores '...' %Zsingle_quoted%\n" - "mode,\"no_double_quoted\",rtn % % ^G no ignore \"...\" %Zno_double_quoted%\n" - "mode,\"c_comment\",rtn % % ^G ignores /*...*/ %Zc_comment%\n" - "mode,\"cpp_comment\",rtn % % ^G ignores //... %Zcpp_comment%\n" - "mode,\"pound_comment\",rtn % % ^G ignores #... %Zpound_comment%\n" - "mode,\"vhdl_comment\",rtn % % ^G ignores --... %Zvhdl_comment%\n" - "mode,\"semi_comment\",rtn % % ^G ignores ;... %Zsemi_comment%\n" - "mode,\"tex_comment\",rtn % % ^G ignores %... %Ztex_comment%\n" - "mode,\"text_delimiters\",rtn % % Text delimiters %Ztext_delimiters%\n" - ":defmenu search\n" - "mode,\"icase\",rtn % % Case insensitivity %Zicase%\n" - "mode,\"wrap\",rtn % % Search wraps %Zwrap%\n" - "mode,\"search_prompting\",rtn % % Search prompting %Zsearch_prompting%\n" - "mode,\"csmode\",rtn % % Continued search %Zcsmode%\n" - ":defmenu paragraph\n" - "mode,\"french\",rtn % % French spacing %Zfrench%\n" - "mode,\"flowed\",rtn % % Flowed text %Zflowed%\n" - "mode,\"cpara\",rtn % % Paragraph indent chars %Zcpara%\n" - ":defmenu file\n" - "mode,\"restore\",rtn % % Restore cursor %Zrestore%\n" - "mode,\"guess_crlf\",rtn % % Auto detect CR-LF %Zguess_crlf%\n" - "mode,\"guess_indent\",rtn % % Guess indent %Zguess_indent%\n" - "mode,\"guess_non_utf8\",rtn % % Guess non-UTF-8 %Zguess_non_utf8%\n" - "mode,\"guess_utf8\",rtn % % Guess UTF-8 %Zguess_utf8%\n" - "mode,\"force\",rtn % % Force last NL %Zforce%\n" - "mode,\"nobackup\",rtn % % No backup %Znobackup%\n" - ":defmenu global\n" - "mode,\"nolocks\",rtn % % Disable locks %Znolocks%\n" - "mode,\"nobackups\",rtn % % Disable backups %Znobackups%\n" - "mode,\"nomodcheck\",rtn % % Disable mtime check %Znomodcheck%\n" - "mode,\"nocurdir\",rtn % % Disable current dir %Znocurdir%\n" - "mode,\"exask\",rtn % % Exit ask %Zexask%\n" - "mode,\"nosta\",rtn % % Disable status line %Znosta%\n" - "mode,\"keepup\",rtn % % Fast status line %Zkeepup%\n" - "mode,\"break_hardlinks\",rtn % % Break hard links %Zbreak_hardlinks%\n" - "mode,\"break_links\",rtn % % Break links %Zbreak_links%\n" - "mode,\"joe_state\",rtn % % Joe_state file %Zjoe_state%\n" - "mode,\"undo_keep\",rtn % % No. undo records %Zundo_keep%\n" - "mode,\"backpath\",rtn % % Path to backup files %Zbackpath%\n" - ":defmenu cursor\n" - "mode,\"pg\",rtn % % No. PgUp/PgDn lines %Zpg%\n" - "mode,\"mid\",rtn C Center on scroll %Zmid%\n" - "mode,\"floatmouse\",rtn % % Click past end %Zfloatmouse%\n" - "mode,\"rtbutton\",rtn % % Right button %Zrtbutton%\n" - ":defmenu marking\n" - "mode,\"autoswap\",rtn % % Autoswap mode %Zautoswap%\n" - "mode,\"marking\",rtn % % Marking %Zmarking%\n" - "mode,\"lightoff\",rtn % % Auto unmask %Zlightoff%\n" - ":defmenu tab\n" - "mode,\"smarthome\",rtn % % Smart home key %Zsmarthome%\n" - "mode,\"smartbacks\",rtn % % Smart backspace %Zsmartbacks%\n" - "mode,\"indentfirst\",rtn % % To indent first %Zindentfirst%\n" - "mode,\"purify\",rtn % % Clean up indents %Zpurify%\n" - "mode,\"spaces\",rtn % % No tabs %Zspaces%\n" - "{Basic\n" - "\\i Help Screen \\|turn off with ^KH more help with ESC . (^[.) \\i\n" - "\\i \\i\\|\\uCURSOR\\u \\|\\uGO TO\\u \\|\\uBLOCK\\u \\|\\uDELETE\\u \\|\\uMISC\\u \\|\\uEXIT\\u \\|\\i \\i\n" - "\\i \\i\\|^B left ^F right \\|^U prev. screen \\|^KB begin \\|^D char. \\|^KJ reformat \\|^KX save \\|\\i \\i\n" - "\\i \\i\\|^P up ^N down \\|^V next screen \\|^KK end \\|^Y line \\|^KA center \\|^C abort \\|\\i \\i\n" - "\\i \\i\\|^Z previous word \\|^A beg. of line \\|^KM move \\|^W >word \\|^T options \\|^KZ shell \\|\\i \\i\n" - "\\i \\i\\|^X next word \\|^E end of line \\|^KC copy \\|^O word< \\|^R refresh \\|\\uFILE\\u \\|\\i \\i\n" - "\\i \\i\\|\\uSEARCH\\u \\|^KU top of file \\|^KW file \\|^J >line \\|\\uSPELL\\u \\|^KE edit \\|\\i \\i\n" - "\\i \\i\\|^KF find text \\|^KV end of file \\|^KY delete \\|^_ undo \\|^[N word \\|^KR insert\\|\\i \\i\n" - "\\i \\i\\|^L find next \\|^KL to line No. \\|^K/ filter \\|^^ redo \\|^[L file \\|^KD save \\|\\i \\i\n" - "}\n" - "{Windows\n" - "\\i Help Screen \\|turn off with ^KH prev. screen ^[, next screen ^[. \\i\n" - "\\i \\i\\|^KO Split the window in half \\|^KE Load file into window \\|\\i \\i\n" - "\\i \\i\\|^KG Make current window bigger \\|^KT Make current window smaller \\|\\i \\i\n" - "\\i \\i\\|^KN Go to the window below \\|^KP Go to the window above \\|\\i \\i\n" - "\\i \\i\\|^[V Switch to next buffer \\|^[U Switch to previous buffer \\|\\i \\i\n" - "\\i \\i\\|^C Eliminate the current window \\|^KI Show all windows / Show one window\\|\\i \\i\n" - "}\n" - "{Advanced\n" - "\\i Help Screen \\|turn off with ^KH prev. screen ^[, next screen ^[. \\i\n" - "\\i \\i\\|\\uMACROS\\u \\|\\uMISC\\u \\|\\uSCROLL\\u \\|\\uSHELL\\u \\|\\uGOTO\\u \\|\\uI-SEARCH\\u \\|\\i \\i\n" - "\\i \\i\\|^K[ 0-9 Record \\|^K SPACE status \\|^[W Up \\|^K' Window \\|^[B To ^KB \\|^[R Backwards\\|\\i \\i\n" - "\\i \\i\\|^K] Stop \\|^K\\\\ Repeat \\|^[Z Down \\|^[! Command \\|^[K To ^KK \\|^[S Forwards \\|\\i \\i\n" - "\\i \\i\\|^K 0-9 Play \\|\\uINSERT\\u \\|^K< Left \\|\\uQUOTE\\u \\|\\uDELETE\\u \\|\\uBOOKMARKS\\u \\|\\i \\i\n" - "\\i \\i\\|^K? Query \\|^] split line \\|^K> Right \\|^[' Ctrl- \\|^[Y yank \\|^[ 0-9 Goto \\|\\i \\i\n" - "\\i \\i\\|^[D Dump \\|^SPACE ins space\\| \\|^\\\\ Meta- \\|^[O line< \\|^[^[ Set \\|\\i \\i\n" - "}\n" - "{Programs\n" - "\\i Help Screen \\|turn off with ^KH prev. screen ^[, next screen ^[. \\i\n" - "\\i \\i\\|\\uGOTO\\u \\|\\uINDENT\\u \\|\\uCOMPILING\\u \\uQUICK\\u \\|\\i \\i\n" - "\\i \\i\\|^G Matching ( [ { \\|^K, less \\|^[C Compile & parse ^G find word under cursor \\|\\i \\i\n" - "\\i \\i\\|^K- Previous place \\|^K. more \\|^[G Grep & parse ^[ENTER complete word \\|\\i \\i\n" - "\\i \\i\\|^K= Next place \\| \\|^[= To next error ^[Y paste deleted text \\|\\i \\i\n" - "\\i \\i\\|^K; Tags file search \\| \\|^[- To prev. error ^[^Y cycle through deleted \\|\\i \\i\n" - "\\i \\i\\| \\| \\|^[ SP Jump to error \\|\\i \\i\n" - "}\n" - "{Search\n" - "\\i Help Screen \\|turn off with ^KH prev. screen ^[, next screen ^[. \\i\n" - "\\i \\iSpecial search sequences: \\|\\i \\i\n" - "\\i \\i \\\\^ \\\\$ matches beg./end of line \\\\? match any single char \\|\\i \\i\n" - "\\i \\i \\\\< \\\\> matches beg./end of word \\\\* match 0 or more chars \\|\\i \\i\n" - "\\i \\i \\\\c matches balanced C expression \\\\\\\\ matches a \\\\ \\|\\i \\i\n" - "\\i \\i \\\\[..] matches one of a set \\\\n matches a newline \\|\\i \\i\n" - "\\i \\i \\\\+ matches 0 or more of the character which follows the \\\\+ \\|\\i \\i\n" - "\\i \\iSpecial replace sequences: \\|\\i \\i\n" - "\\i \\i \\\\& replaced with text which matched search string \\|\\i \\i\n" - "\\i \\i \\\\0 - 9 replaced with text which matched Nth \\\\*, \\\\?, \\\\c, \\\\+, or \\\\[..] \\|\\i \\i\n" - "\\i \\i \\\\\\\\ replaced with \\\\ \\\\n replaced with newline \\|\\i \\i\n" - "}\n" - "{SearchOptions\n" - "\\i Help Screen \\|turn off with ^KH prev. screen ^[, next screen ^[. \\i\n" - "\\i \\iSearch options: \\|\\i \\i\n" - "\\i \\i r Replace \\|\\i \\i\n" - "\\i \\i k Restrict search to highlighted block, which can be rectangular \\|\\i \\i\n" - "\\i \\i b Search backward instead of forward \\|\\i \\i\n" - "\\i \\i i Ignore case \\|\\i \\i\n" - "\\i \\i a Search across all loaded files \\|\\i \\i\n" - "\\i \\i e Search across all files in Grep or Compile error list \\|\\i \\i\n" - "\\i \\i w Wrap to beginning of file for this search \\|\\i \\i\n" - "\\i \\i n Do not wrap to beginning of file for this search \\|\\i \\i\n" - "\\i \\i nnn Perform exaclty nnn replacements \\|\\i \\i\n" - "}\n" - "{Math\n" - "\\i Help Screen \\|turn off with ^KH prev. screen ^[, next screen ^[. \\i\n" - "\\i \\i \\uCOMMANDS\\u (hit ESC m for math) \\uFUNCTIONS\\u \\|\\i \\i\n" - "\\i \\i hex hex display mode sin cos tab asin acos atan \\|\\i \\i\n" - "\\i \\i dec decimal mode sinh cosh tanh asinh acosh atanh \\|\\i \\i\n" - "\\i \\i ins type result into file sqrt cbrt exp ln log \\|\\i \\i\n" - "\\i \\i eval evaluate block int floor ceil abs erg ergc \\|\\i \\i\n" - "\\i \\i 0xff enter number in hex joe(..macro..) - runs an editor macro \\|\\i \\i\n" - "\\i \\i 3e-4 floating point decimal \\uBLOCK\\u \\|\\i \\i\n" - "\\i \\i a=10 assign a variable sum cnt Sum, count \\|\\i \\i\n" - "\\i \\i 2+3:ins multiple commands avg dev Average, std. deviation \\|\\i \\i\n" - "\\i \\i e pi constants \\uOPERATORS\\u \\|\\i \\i\n" - "\\i \\i ans previous result ! ^ * / % + - < <= > >= == != && || ? :\\|\\i \\i\n" - "}\n" - "{Names\n" - "\\i Help Screen \\|turn off with ^KH prev. screen ^[, next screen ^[. \\i\n" - "\\i \\i Hit TAB at file name prompts to generate menu of file names \\|\\i \\i\n" - "\\i \\i Or use up/down keys to access history of previously entered names \\|\\i \\i\n" - "\\i \\i Special file names: \\|\\i \\i\n" - "\\i \\i !command Pipe in/out of a shell command \\|\\i \\i\n" - "\\i \\i >>filename Append to a file \\|\\i \\i\n" - "\\i \\i - Read/Write to/from standard I/O \\|\\i \\i\n" - "\\i \\i filename,START,SIZE Read/Write a part of a file/device \\|\\i \\i\n" - "\\i \\i Give START/SIZE in decimal (255), octal (0377) or hex (0xFF) \\|\\i \\i\n" - "}\n" - "{Joe\n" - "\\i Help Screen \\|turn off with ^KH prev. screen ^[, \\i\n" - "\\i \\i Send bug reports to: http://sourceforge.net/projects/joe-editor \\|\\i \\i\n" - "\\i \\i \\|\\i \\i\n" - "}\n" - ":windows Bindings common to all windows\n" - "type ^@ TO ÿ Type a character\n" - "abort ^C Abort window\n" - "abort ^K Q\n" - "abort ^K ^Q\n" - "abort ^K q\n" - "arg ^K \\ Repeat next command\n" - "explode ^K I Show all windows or show only one window\n" - "explode ^K ^I\n" - "explode ^K i\n" - "help ^K H Help menu\n" - "help ^K ^H\n" - "help ^K h\n" - "hnext ^[ . Next help window\n" - "hprev ^[ , Previous help window\n" - "math ^[ m Calculator\n" - "math ^[ M Calculator\n" - "msg ^[ h Display a message\n" - "msg ^[ H Display a message\n" - "msg ^[ ^H Display a message\n" - "nextw ^K N Goto next window\n" - "nextw ^K ^N\n" - "nextw ^K n\n" - "pgdn .kN Screen down\n" - "pgdn ^V\n" - "pgdn ^[ [ 6 ~\n" - "pgup .kP Screen up\n" - "pgup ^U\n" - "pgup ^[ [ 5 ~\n" - "play ^K 0 TO 9 Execute macro\n" - "prevw ^K P Goto previous window\n" - "prevw ^K ^P\n" - "prevw ^K p\n" - "query ^K ? Macro query insert\n" - "record ^K [ Record a macro\n" - "retype ^R Refresh screen\n" - "rtn ^M Return\n" - "shell ^K Z Shell escape\n" - "shell ^K ^Z\n" - "shell ^K z\n" - "stop ^K ] Stop recording\n" - "defmdown MDOWN Move the cursor to the mouse location\n" - "defmup MUP\n" - "defmdrag MDRAG Select a region of characters\n" - "defm2down M2DOWN Select the word at the mouse location\n" - "defm2up M2UP\n" - "defm2drag M2DRAG Select a region of words\n" - "defm3down M3DOWN Select the line at the mouse location\n" - "defm3up M3UP\n" - "defm3drag M3DRAG Select a region of lines\n" - "xtmouse ^[ [ M Introduces an xterm mouse event\n" - ":main Text editing window\n" - ":inherit windows\n" - ":def ispellfile filt,\"cat >ispell.tmp;ispell ispell.tmp /dev/tty;cat ispell.tmp;/bin/rm ispell.tmp\",rtn,retype\n" - ":def ispellword psh,nextword,markk,prevword,markb,filt,\"cat >ispell.tmp;ispell ispell.tmp /dev/tty;tr -d $SPLTMP;aspell --lang=\",language,\".\",charset,\" -x -c $SPLTMP /dev/tty;cat $SPLTMP;/bin/rm $SPLTMP\",rtn,retype\n" - ":def aspellword psh,nextword,markk,prevword,markb,filt,\"SPLTMP=ispell.tmp;cat >$SPLTMP;aspell --lang=\",language,\".\",charset,\" -x -c $SPLTMP /dev/tty;tr -d <$SPLTMP '\\\\012';/bin/rm $SPLTMP\",rtn,retype,nextword\n" - "aspellfile ^[ l\n" - "aspellword ^[ n\n" - ":def compile mwind!,mfit!,querysave,query,scratch,\"* Build Log *\",rtn,bof,markb,eof,\" \",markk,blkdel,build\n" - ":def grep_find mwind!,mfit!,scratch,\"* Grep Log *\",rtn,bof,markb,eof,\" \",markk,blkdel,grep\n" - ":def man scratch,\"* Man Page *\",rtn,bof,markb,eof,\" \",markk,blkdel,\" \",ltarw,run,\"man -P cat -S 2:3 \"\n" - "paste ^[ ] 5 2 ; Bracketed paste\n" - "insc ^[ [ 2 ~\n" - "insc ^[ [ L SCO\n" - "delch ^[ [ 3 ~\n" - "pgup ^[ [ I SCO\n" - "pgdn ^[ [ G SCO\n" - "home ^[ [ 1 ~ Putty, Linux, Cygwin\n" - "home ^[ [ H Xterm, Konsole, SCO\n" - "home ^[ O H gnome-terminal\n" - "home ^[ [ 7 ~ RxVT\n" - "eol ^[ [ 4 ~ Putty, Linux, Cygwin, ssh\n" - "eol ^[ [ F Xterm, Konsole, SCO\n" - "eol ^[ O F gnome-terminal\n" - "eol ^[ [ 8 ~ RxVT\n" - "rtarw,ltarw,begin_marking,rtarw,toggle_marking ^[ [ 1 ; 5 C Mark right Xterm\n" - "rtarw,ltarw,begin_marking,rtarw,toggle_marking ^[ [ 5 C Mark right Gnome-terminal\n" - "rtarw,ltarw,begin_marking,rtarw,toggle_marking ^[ O c Mark right RxVT Ctrl-rtarw\n" - "ltarw,rtarw,begin_marking,ltarw,toggle_marking ^[ [ 1 ; 5 D Mark left\n" - "ltarw,rtarw,begin_marking,ltarw,toggle_marking ^[ [ 5 D Mark left\n" - "ltarw,rtarw,begin_marking,ltarw,toggle_marking ^[ O d Mark left RxVT Ctrl-ltarw\n" - "uparw,dnarw,begin_marking,uparw,toggle_marking ^[ [ 1 ; 5 A Mark up\n" - "uparw,dnarw,begin_marking,uparw,toggle_marking ^[ [ 5 A Mark up\n" - "uparw,dnarw,begin_marking,uparw,toggle_marking ^[ O a Mark up RxVT Ctrl-uparw\n" - "dnarw,uparw,begin_marking,dnarw,toggle_marking ^[ [ 1 ; 5 B Mark down\n" - "dnarw,uparw,begin_marking,dnarw,toggle_marking ^[ [ 5 B Mark down\n" - "dnarw,uparw,begin_marking,dnarw,toggle_marking ^[ O b Mark down RxVT Ctrl-dnarw\n" - "blkdel,nmark ^[ [ 3 ; 5 - Gnome-terminal Ctrl-Del\n" - "blkdel,nmark ^[ [ 3 ; 5 ~ Xterm Ctrl-Del\n" - "yank ^[ [ 2 ; 5 - Gnome-terminal Ctrl-Ins\n" - "yank ^[ [ 2 ; 5 ~ Xterm Ctrl-Ins\n" - "delbol ^[ o Delete to beginning of line\n" - "delbol ^[ ^O Delete to beginning of line\n" - "dnslide ^[ z Scroll down one line\n" - "dnslide ^[ Z Scroll down one line\n" - "dnslide ^[ ^Z Scroll down one line\n" - "dnslide,dnslide,dnslide,dnslide MWDOWN\n" - "compile ^[ c Compile\n" - "compile ^[ C\n" - "compile ^[ ^C Compile\n" - "grep_find ^[ g Grep\n" - "grep_find ^[ G Grep\n" - "grep_find ^[ ^G Grep\n" - "execmd ^[ x Prompt for command to execute\n" - "execmd ^[ X Prompt for command to execute\n" - "execmd ^[ ^X Prompt for command to execute\n" - "finish ^[ ^I Complete word in document\n" - "finish ^[ ^M Complete word: used to be math\n" - "mwind,mfit,jump,bol ^[ SP\n" - "isrch ^[ s Forward incremental search\n" - "isrch ^[ S Forward incremental search\n" - "isrch ^[ ^S Forward incremental search\n" - "notmod ^[ ~ Not modified\n" - "mwind,mfit,prevw,nxterr ^[ = To next error\n" - "parserr ^[ e Parse errors in current buffer\n" - "parserr ^[ E Parse errors in current buffer\n" - "parserr ^[ ^E Parse errors in current buffer\n" - "mwind,mfit,prevw,prverr ^[ - To previous error\n" - "rsrch ^[ r Backward incremental search\n" - "rsrch ^[ R Backward incremental search\n" - "rsrch ^[ ^R Backward incremental search\n" - "run ^[ ! Run a program in a window\n" - "tomarkb ^[ b Go to beginning of marked block\n" - "tomarkb ^[ ^B Go to beginning of marked block\n" - "tomarkk ^[ k Go to end of marked block\n" - "tomarkk ^[ ^K Go to end of marked block\n" - "tomarkk ^[ K Go to end of marked block\n" - "txt ^[ i Prompt for text and insert it\n" - "txt ^[ I Prompt for text and insert it\n" - "upslide ^[ w Scroll up one line\n" - "upslide ^[ ^W Scroll up one line\n" - "upslide ^[ W Scroll up one line\n" - "upslide,upslide,upslide,upslide MWUP\n" - "yank ^[ y Undelete text\n" - "yankpop ^[ ^Y Undelete text\n" - "yank ^[ Y Undelete text\n" - "insc ^@ Ctrl-space used to insert a space\n" - "nbuf ^[ v Next buffer\n" - "nbuf ^[ V Next buffer\n" - "nbuf ^[ ^V Next buffer\n" - "pbuf ^[ u Prev buffer\n" - "pbuf ^[ U Prev buffer\n" - "pbuf ^[ ^U Prev buffer\n" - "quote8 ^\\ Enter Meta chars\n" - "quote ^[ ' Enter Ctrl chars\n" - "quote ^Q\n" - "backs ^? Backspace\n" - "backs ^H\n" - "backw ^O Backspace word\n" - "bknd ^K ' Shell window\n" - "blkcpy ^K C Copy marked block\n" - "blkcpy ^K ^C\n" - "blkcpy ^K c\n" - "blkdel ^K Y Delete marked block\n" - "blkdel ^K ^Y\n" - "blkdel ^K y\n" - "blkmove ^K M Move marked block\n" - "blkmove ^K ^M\n" - "blkmove ^K m\n" - "blksave ^K W Save marked block\n" - "blksave ^K ^W\n" - "blksave ^K w\n" - "bof ^K U Goto beginning of file\n" - "bof ^K ^U\n" - "bof ^K u\n" - "home .kh\n" - "home ^A\n" - "center ^K A Center line\n" - "center ^K ^A\n" - "center ^K a\n" - "crawll ^K < Pan left\n" - "crawlr ^K > Pan right\n" - "delch .kD Delete character\n" - "delch ^D\n" - "deleol ^J Delete to end of line\n" - "dellin ^Y Delete entire line\n" - "delw ^W Delete word to right\n" - "dnarw .kd Go down\n" - "dnarw ^N\n" - "dnarw ^[ O B\n" - "dnarw ^[ [ B\n" - "edit ^K E Edit a file\n" - "edit ^K ^E\n" - "edit ^K e\n" - "eof ^K V Go to end of file\n" - "eof ^K ^V\n" - "eof ^K v\n" - "eol .kH Go to end of line\n" - "eol .@7\n" - "eol ^E\n" - "exsave ^K X Save and exit\n" - "exsave ^K ^X\n" - "exsave ^K x\n" - "ffirst ^K F Find first\n" - "ffirst ^K ^F\n" - "ffirst ^K f\n" - "filt ^K / Filter block\n" - "fnext ^L Find next\n" - "fmtblk ^K J Format paragraphs in block\n" - "fmtblk ^K ^J\n" - "fmtblk ^K j\n" - "gomark ^[ 0 TO 9 Goto bookmark\n" - "groww ^K G Grow window\n" - "groww ^K ^G\n" - "groww ^K g\n" - "insc .kI Insert a space\n" - "insf ^K R Insert a file\n" - "insf ^K ^R\n" - "insf ^K r\n" - "lindent ^K , Indent to left\n" - "line ^K L Goto line no.\n" - "line ^K ^L\n" - "line ^K l\n" - "ltarw .kl Go left\n" - "ltarw ^B\n" - "ltarw ^[ O D\n" - "ltarw ^[ [ D\n" - "macros ^[ d Dump keyboard macros\n" - "macros ^[ ^D\n" - "markb ^K B Set beginning of marked block\n" - "markb ^K ^B\n" - "markb ^K b\n" - "markk ^K K Set end of marked block\n" - "markk ^K ^K\n" - "markk ^K k\n" - "menu,\"root\",rtn ^T Options menu\n" - "nextpos ^K = Goto next position in position history\n" - "nextword ^X Goto next word\n" - "open ^] Split line\n" - "prevpos ^K - Previous position in history\n" - "prevword ^Z Previous word\n" - "redo ^^ Redo changes\n" - "rindent ^K . Indent to right\n" - "rtarw .kr Go right\n" - "rtarw ^F\n" - "rtarw ^[ O C\n" - "rtarw ^[ [ C\n" - "run ^K ! Run a shell command\n" - "save ^K D Save file\n" - "save ^K S\n" - "save ^K ^D\n" - "save ^K ^S\n" - "save ^K d\n" - "save ^K s\n" - "setmark ^[ ^[ Set bookmark\n" - "shrinkw ^K T Shrink window\n" - "shrinkw ^K ^T\n" - "shrinkw ^K t\n" - "splitw ^K O Split window\n" - "splitw ^K ^O\n" - "splitw ^K o\n" - "stat ^K SP Show status\n" - "tag ^K ; Tags file search\n" - "tomatch ^G Goto matching parenthasis\n" - "undo ^_ Undo changes\n" - "uparw .ku Go up\n" - "uparw ^P\n" - "uparw ^[ O A\n" - "uparw ^[ [ A\n" - ":prompt Prompt windows\n" - ":inherit main\n" - "if,\"byte>size\",then,complete,complete,else,delch,endif ^D\n" - "complete ^I\n" - "dnarw,eol .kd Go down\n" - "dnarw,eol ^N\n" - "dnarw,eol ^[ O B\n" - "dnarw,eol ^[ [ B\n" - "uparw,eol .ku Go up\n" - "uparw,eol ^P\n" - "uparw,eol ^[ O A\n" - "uparw,eol ^[ [ A\n" - ":menu Selection menus\n" - ":inherit windows\n" - "pgupmenu ^[ [ I\n" - "pgdnmenu ^[ [ G\n" - "bolmenu ^[ [ 1 ~ Putty, Linux, Cygwin\n" - "bolmenu ^[ [ H Xterm, Konsole\n" - "bolmenu ^[ O H gnome-terminal\n" - "bolmenu ^[ [ 7 ~ RxVT\n" - "eolmenu ^[ [ 4 ~ Putty, Linux, Cygwin, ssh\n" - "eolmenu ^[ [ F Xterm, Konsole\n" - "eolmenu ^[ O F gnome-terminal\n" - "eolmenu ^[ [ 8 ~ RxVT\n" - "abort ^[ ^[ Why?\n" - "backsmenu ^?\n" - "backsmenu ^H\n" - "bofmenu ^K U\n" - "bofmenu ^K ^U\n" - "bofmenu ^K u\n" - "bolmenu .kh\n" - "bolmenu ^A\n" - "dnarwmenu .kd\n" - "dnarwmenu ^N\n" - "dnarwmenu ^[ [ B\n" - "dnarwmenu ^[ O B\n" - "dnarwmenu MWDOWN\n" - "eofmenu ^K V\n" - "eofmenu ^K ^V\n" - "eofmenu ^K v\n" - "eolmenu .kH\n" - "eolmenu ^E\n" - "ltarwmenu .kl\n" - "ltarwmenu ^B\n" - "ltarwmenu ^[ [ D\n" - "ltarwmenu ^[ O D\n" - "pgdnmenu .kN Screen down\n" - "pgdnmenu ^V\n" - "pgdnmenu ^[ [ 6 ~\n" - "pgupmenu .kP Screen up\n" - "pgupmenu ^U\n" - "pgupmenu ^[ [ 5 ~\n" - "rtarwmenu .kr\n" - "rtarwmenu ^F\n" - "rtarwmenu ^[ [ C\n" - "rtarwmenu ^[ O C\n" - "rtn SP\n" - "rtn ^I\n" - "rtn ^K H\n" - "rtn ^K h\n" - "rtn ^K ^H\n" - "tabmenu ^I\n" - "uparwmenu .ku\n" - "uparwmenu ^P\n" - "uparwmenu ^[ [ A\n" - "uparwmenu ^[ O A\n" - "uparwmenu MWUP\n" - "defm2down M2DOWN Hits return key\n" - ":query Single-key query window\n" - ":inherit windows\n" - ":querya Single-key query window for quoting\n" - "type ^@ TO ÿ\n" - ":querysr Search & replace query window\n" - "type ^@ TO ÿ\n" -, USTR "c.jsf.in", - USTR "=Idle\n" - "=Bad bold red\n" - "=Preproc blue\n" - "=Define bold blue\n" - "=Comment green\n" - "=IncLocal cyan\n" - "=IncSystem bold cyan\n" - "=Constant cyan\n" - "=Escape bold cyan\n" - "=Type bold\n" - "=Keyword bold\n" - "=CppKeyword bold\n" - "=Brace magenta\n" - "=Control\n" - "\n" - ":reset Idle\n" - " * first noeat\n" - " \" \\t\" reset\n" - "\n" - ":first Idle\n" - " * idle noeat\n" - " \"#\" pre recolor=-1\n" - "\n" - ":pre Preproc\n" - " * preproc noeat\n" - " \" \\t\" pre\n" - " \"a-z\" preident recolor=-1 buffer\n" - "\n" - ":preident Preproc\n" - " * preproc noeat strings\n" - " \"define\" predef\n" - " \"include\" preinc\n" - "done\n" - " \"a-z\" preident\n" - "\n" - ":preinc Preproc\n" - " * preinc\n" - " \" \\t\" preinc_ws\n" - " \"\\n\" reset\n" - " \n" - ":preinc_ws Preproc\n" - " * prebad recolor=-1\n" - " \" \\t\" preinc_ws\n" - " \"\\\"\" preinc_local recolor=-1\n" - " \"<\" preinc_system recolor=-1\n" - "\n" - ":preinc_local IncLocal\n" - " * preinc_local\n" - " \"\\\"\\n\" reset\n" - " \n" - ":preinc_system IncSystem\n" - " * preinc_system\n" - " \">\\n\" reset\n" - "\n" - ":prebad Bad \n" - " * prebad\n" - " \"\\n\" reset\n" - "\n" - "\n" - ":predef Preproc\n" - " * predef\n" - " \" \\t\" predef_ws\n" - " \"\\n\" reset\n" - " \n" - ":predef_ws Preproc\n" - " * prebad recolor=-1\n" - " \" \\t\" predef_ws\n" - " \"a-zA-Z0-9_\" predef_ident recolor=-1\n" - "\n" - ":predef_ident Define\n" - " * idle noeat\n" - " \"a-zA-Z0-9_\" predef_ident\n" - "\n" - "\n" - ":preproc Preproc\n" - " * preproc\n" - " \"\\n\" reset\n" - " \"\\\\\" preproc_cont\n" - " \"/\" preproc_slash\n" - " \n" - ":preproc_slash Preproc\n" - " * preproc noeat\n" - " \"*\" comment recolor=-2\n" - " \"/\" line_comment recolor=-2\n" - " \n" - ":preproc_cont Preproc\n" - " * preproc_cont\n" - " \"\\n\" preproc\n" - "\n" - ":idle Idle\n" - " * idle\n" - " \"\\n\" reset\n" - " \"/\" slash\n" - " \"0\" first_digit recolor=-1\n" - " \"1-9\" decimal recolor=-1\n" - " \".\" maybe_float\n" - " \"\\\"\" string recolor=-1\n" - " \"'\" char recolor=-1\n" - " \"a-zA-Z_\" ident buffer\n" - " \"\\\\\" outside_escape recolor=-1\n" - " \"{}\" brace recolor=-1\n" - " \",:;=()><[]*&|!~+\\-%^\" control recolor=-1\n" - "\n" - ":outside_escape Escape\n" - " * idle\n" - "\n" - ":brace Brace\n" - " * idle noeat\n" - "\n" - ":control Control\n" - " * idle noeat\n" - "\n" - ":slash Idle\n" - " * idle noeat recolor=-2\n" - " \"*\" comment recolor=-2\n" - " \"/\" line_comment recolor=-2\n" - "\n" - ":comment Comment\n" - " * comment\n" - " \"*\" maybe_end_comment\n" - "\n" - ":maybe_end_comment Comment\n" - " * comment\n" - " \"/\" idle\n" - " \"*\" maybe_end_comment\n" - "\n" - ":line_comment Comment\n" - " * line_comment\n" - " \"\\n\" reset\n" - "\n" - ":first_digit Constant\n" - " * idle noeat\n" - " \"xX\" hex\n" - " \".\" float\n" - " \"eE\" epart\n" - " \"0-7\" octal\n" - " \"89\" bad_number recolor=-1\n" - "\n" - ":bad_number Bad\n" - " * idle noeat\n" - " \"0-9\" bad_number\n" - "\n" - ":octal Constant\n" - " * idle noeat\n" - " \"0-7\" octal\n" - " \"89\" bad_number recolor=-1\n" - "\n" - ":hex Constant\n" - " * idle noeat\n" - " \"0-9A-Fa-f\" hex\n" - "\n" - ":decimal Constant\n" - " * idle noeat\n" - " \"0-9\" decimal\n" - " \"eE\" epart\n" - " \".\" float\n" - "\n" - ":maybe_float Constant\n" - " * idle recolor=-2 noeat\n" - " \"0-9\" float recolor=-2\n" - "\n" - ":float Constant\n" - " * idle noeat\n" - " \"eE\" epart\n" - " \"0-9\" float\n" - "\n" - ":epart Constant\n" - " * idle noeat\n" - " \"0-9+\\-\" enum\n" - "\n" - ":enum Constant\n" - " * idle noeat\n" - " \"0-9\" enum\n" - "\n" - ":string Constant\n" - " * string\n" - " \"\\\"\" idle\n" - " \"\\\\\" string_escape recolor=-1\n" - " \"%\" string_control recolor=-1\n" - "\n" - ":string_escape Escape\n" - " * string\n" - " \"x\" string_hex1\n" - " \"0-7\" string_octal2\n" - " \"\\n\" string recolor=-2\n" - "\n" - ":string_hex1 Escape\n" - " * string noeat\n" - " \"0-9a-fA-F\" string_hex2\n" - "\n" - ":string_hex2 Escape\n" - " * string noeat\n" - " \"0-9a-fA-F\" string\n" - "\n" - ":string_octal2 Escape\n" - " * string noeat\n" - " \"0-7\" string_octal3\n" - "\n" - ":string_octal3 Escape\n" - " * string noeat\n" - " \"0-7\" string\n" - "\n" - ":string_control Escape\n" - " * string\n" - " \"\\\"\" string noeat\n" - " \"\\n\" reset\n" - " \"0-9.\\-+ #hjILtz$\" string_control\n" - "\n" - ":char Constant\n" - " * char\n" - " \"\\n\" reset\n" - " \"'\" idle\n" - " \"\\\\\" char_escape recolor=-1\n" - "\n" - ":char_escape Escape\n" - " * char\n" - " \"x\" char_hex1\n" - " \"0-7\" char_octal2\n" - " \"\\n\" char recolor=-2\n" - "\n" - ":char_hex1 Escape\n" - " * char noeat\n" - " \"0-9a-fA-F\" char_hex2\n" - "\n" - ":char_hex2 Escape\n" - " * char noeat\n" - " \"0-9a-fA-F\" char\n" - "\n" - ":char_octal2 Escape\n" - " * char noeat\n" - " \"0-7\" char_octal3\n" - "\n" - ":char_octal3 Escape\n" - " * char noeat\n" - " \"0-7\" char\n" - "\n" - ":ident Idle\n" - " * idle noeat strings\n" - " \"int\" type\n" - " \"float\" type\n" - " \"long\" type\n" - " \"short\" type\n" - " \"char\" type\n" - " \"double\" type\n" - " \"signed\" type\n" - " \"unsigned\" type\n" - " \"void\" type\n" - " \"static\" type\n" - " \"register\" type\n" - " \"extern\" type\n" - " \"inline\" type\n" - " \"auto\" type\n" - " \"const\" type\n" - " \"volatile\" type\n" - " \"if\" kw\n" - " \"else\" kw\n" - " \"while\" kw\n" - " \"for\" kw\n" - " \"break\" kw\n" - " \"continue\" kw\n" - " \"do\" kw\n" - " \"case\" kw\n" - " \"default\" kw\n" - " \"switch\" kw\n" - " \"goto\" kw\n" - " \"struct\" kw\n" - " \"enum\" kw\n" - " \"return\" kw\n" - " \"sizeof\" kw\n" - " \"typedef\" kw\n" - " \"union\" kw\n" - " \"asm\" kw\n" - " \"class\" cppkw\n" - " \"public\" cppkw\n" - " \"private\" cppkw\n" - " \"protected\" cppkw\n" - " \"friend\" cppkw\n" - " \"new\" cppkw\n" - " \"delete\" cppkw\n" - " \"bool\" cppkw\n" - " \"namespace\" cppkw\n" - " \"operator\" cppkw\n" - " \"template\" cppkw\n" - " \"catch\" cppkw\n" - " \"throw\" cppkw\n" - " \"try\" cppkw\n" - " \"typeof\" cppkw\n" - "done\n" - " \"a-zA-Z0-9_\" ident\n" - "\n" - ":type Type\n" - " * idle noeat\n" - "\n" - ":kw Keyword\n" - " * idle noeat\n" - "\n" - ":cppkw CppKeyword\n" - " * idle noeat\n" -, NULL -}; - Index: joe-embedded/genbuiltins.sh =================================================================== --- joe-embedded/genbuiltins.sh (revision 0) +++ joe-embedded/genbuiltins.sh (revision 234) @@ -0,0 +1,80 @@ +#! /bin/bash +# +# Generate builtins.c for joe editor +# +# (C) David Kuehling 2010. License: GPLv2+ +# + + +sed_rc=' +# strip empty and comment lines +/^$/d +/^[ \t]/d + +# remove comments at and of option lines +s/\(-[a-z_A-Z0-9]\+\)\(\t\| [ \t]\+\).*/\1/ + +# fix includes to refer to builtin files +s/^\(:include \)\([a-z]\)/\1*\2/ +' + +sed_syntax=' +# comment lines +/^#/d +' + +sed_cstring=' +# escape chars +s/\\/\\\\/g +s/"/\\"/g +s/\r/\\r/ + +# split into one string per line +s/^.*$/\t"&\\n"/ +' + +rcfile(){ + echo " + USTR \"$(basename $1)\", + USTR " + case "$1" in + *rc) + sed="$sed_rc" + ;; + *.jsf) + sed="$sed_syntax" + ;; + *) + sed="" + ;; + esac + LANG=C sed -e "$sed" -e "$sed_cstring" "$1" + echo " ," + +} + +prolog(){ + echo "/* Built-in files */ + +#include \"types.h\" + +unsigned char *builtins[]= +{ +" +} + +epilog(){ +echo "NULL +};" + +} + +prolog + +for i in "$@"; do + rcfile $i +done + +epilog + + Property changes on: joe-embedded/genbuiltins.sh ___________________________________________________________________ Added: svn:executable + * Index: joe-embedded/Makefile.in =================================================================== --- joe-embedded/Makefile.in (revision 227) +++ joe-embedded/Makefile.in (revision 234) @@ -236,7 +236,7 @@ utils.h va.h vfile.h vs.h w.h utf8.h syntax.h i18n.h charmap.h mouse.h \ lattr.h gettext.h builtin.h -INCLUDES = -DJOERC="\"$(sysconf_joedir)/\"" -DJOEDATA="\"$(data_joedir)/\"" +INCLUDES = -DJOERC="\"\"" -DJOEDATA="\"$(data_joedir)/\"" joe_LDADD = -lm joe_SOURCES = b.c blocks.c bw.c cmd.c hash.c help.c kbd.c macro.c main.c menu.c \ path.c poshist.c pw.c queue.c qw.c rc.c regex.c scrn.c tab.c termcap.c \ @@ -249,6 +249,11 @@ all: autoconf.h $(MAKE) $(AM_MAKEFLAGS) all-recursive +builtins.c : rc/ftyperc rc/jmacsrc.in rc/joerc.in rc/jpicorc.in rc/jstarrc.in rc/rjoerc.in + make -C rc + chmod a+x genbuiltins.sh + ./genbuiltins.sh rc/ftyperc rc/jmacsrc rc/joerc rc/jpicorc rc/jstarrc rc/rjoerc > $@ + .SUFFIXES: .SUFFIXES: .c .o .obj am--refresh: