1 "jupp" resource file for Jupp3.1*nix (c) 1997-2017 Thorsten Glaser
2 Provided that these terms and disclaimer and all copyright notices
3 are retained or reproduced in an accompanying document, permission
4 is granted to deal in this work without restriction, including un-
5 limited rights to use, publicly perform, distribute, sell, modify,
6 merge, give away, or sublicence.
7 This work is provided "AS IS" and WITHOUT WARRANTY of any kind, to
8 the utmost extent permitted by applicable law, neither express nor
9 implied; without malicious intent or gross negligence. In no event
10 may a licensor, author or contributor be held liable for indirect,
11 direct, other damage, loss, or other issues arising in any way out
12 of dealing in the work, even if advised of the possibility of such
13 damage or existence of a defect, except proven that it results out
14 of said person's immediate fault when using the work as intended.
28 -lmsg \i%k%T%*\b%n\b%R
29 -rmsg R%r<%l C%c\u%o|%O\i\b%a|%A\b\i\u %u
50 #HOOK#3101 global/default flags
55 Assume it's a text file and, except in jupp, we want wordwrap on.
58 Filename with '.' is probably not a text file.
61 === Patterns with multiple wildcards
62 Order is latest match wins, so...
104 === C, C++, Objective-C
159 +#!\+\[ ]\+\[a-z/]/\+tcsh\>
163 +#!\+\[ ]\+\[a-z/]/env\+\[ ]\+tcsh\>
194 +Index: \*\n======================================================
199 +Index: \*\ndiff\*\n--- \*\n+++\[ ]
204 +\[=?]\*\n--- \*\n+++\[ ]
209 +diff\*\n--- \*\n+++\[ ]
214 +diff --git\*\nindex\*\n--- \*\n+++\[ ]
222 Not quite eMail but still RFC822
309 +#!\+\[ ]\+\[a-z/]/perl
313 +#!\+\[ ]\+\[a-z/]/env\+\[ ]perl
330 +#!\+\[ ]\+\[a-z/]/python
339 +#!\+\[ ]\+\[a-z/]/env\+\[ ]python
347 === Bourne, Korn, POSIX Shell
356 +#!\+\[ ]\+\[a-z/]/\+\[bd]\+ash\>
360 +#!\+\[ ]\+\[a-z/]/env\+\[ ]\+\[bd]\+ash\>
364 +#!\+\[ ]\+\[a-z/]/\+\[a-z]ksh\+\[0-9._-]\>
368 +#!\+\[ ]\+\[a-z/]/env\+\[ ]\+\[a-z]ksh\+\[0-9._-]\>
404 #HOOK#3102 filename matching
407 \i Help Screen turn off with ^J more help with Esc+. (^[.) \i
408 \i \i\u\bCURSOR\b\u \u\bGOTO\b\u \u\bBLOCK\b\u \u\bDELETE\b\u \u\bMISC\b\u \u\bEXIT\b\u \i \i
409 \i \i^S left ^D right ^R prev. screen ^KV move ^G char ^B reformat ^KX save \i \i
410 \i \i^E up ^X down ^C next screen ^KC copy ^Y line ^V overtype ^KQ abort \i \i
411 \i \i^A previous word ^QS beg. of line ^KY kill ^T >word ^QL refresh ^KZ shell \i \i
412 \i \i^F next word ^QD end of line ^K/ pipe ^QY >line ^O options \u\bFILE\b\u \i \i
413 \i \i\u\bSEARCH\b\u ^QR top of file ^KB begin \u\bBUFFER\b\u ^KE new \i \i
414 \i \i^QF find first ^QC end of file ^KK end ^U undo ^KR import \i \i
415 \i \i^L find next ^QP prev. place ^KD reformat ^^ redo ^KW export \i \i
419 \i Help Screen turn off with ^J prev. screen ^[, next screen ^[. \i
420 \i \i^KO split the window in half ^KE load file into new window \i \i
421 \i \i^KG make current window bigger ^KT make current window smaller \i \i
422 \i \i^KN go to the window below ^KP go to the window above \i \i
423 \i \i^KQ eliminate the current window ^KI show all windows / show one window \i \i
424 \i \i^K; run a ctags search ^K- edit scratch buffer in new window \i \i
425 \i \i Note: some commands (^KE ^K; ^K-) hide the current window; use ^KI/^KN then \i \i
426 \i \i \u\bSpecial help for XON/XOFF aware terminals:\b\u \i \i
427 \i \i You can use \b^[q\b and \b^[s\b instead of \b^Q\b and \b^S\b to initiate a command. \i \i
431 \i Help Screen turn off with ^J prev. screen ^[, next screen ^[. \i
432 \i \i\u\bMACROS\b\u \u\bMISC\b\u \u\bSCROLL\b\u \u\bSHELL\b\u \u\bGOTO\b\u \u\bI-SEARCH\b\u \i \i
433 \i \i^[( record ^Q? status ^Q. right ^K' window ^QB to ^KB ^[R backwards \i \i
434 \i \i^[) stop ^QQ repeat ^Q, left ^[! command ^QK to ^KK ^[S forwards \i \i
435 \i \i^[? query ^QM math \u\bCharSEARCH\b\u \u\bQUOTE\b\u \u\bDELETE\b\u \u\bBOOKMARKS\b\u \i \i
436 \i \i^[D dump ^[H message ^QH forwrd ` Ctrl- ^[Y yank ^K 0-9 define \i \i
437 \i \i^[ 0-9 play ^N play #0 ^QG backwd ^P Meta- ^[O word< ^Q 0-9 goto \i \i
438 \i \i \u\bIn math mode,\b\u use 0xCAFE for hex. All ops are floating point internally. \i \i
439 \i \i \u\bPredefined variables:\b\u byte col height line lines top width \i \i
443 \i Help Screen turn off with ^J prev. screen ^[, next screen ^[. \i
444 \i \i\u\bGOTO\b\u \u\bCOMPILING\b\u \u\bSLIDING\b\u \i \i
445 \i \i^Q= next merge conflict marker ^[C compile & parse errors ^W up \i \i
446 \i \i^Q] next matching brace ^[E parse errors ^Z down \i \i
447 \i \i^Q[ previous " " \u\bINDENT\b\u ^KF save, compile & upload to NXT brick \i \i
448 \i \i^Q- to column number ^K. more \u\bGOTO AFTER COMPILING\b\u \u\bINSERT MATH\b\u \i \i
449 \i \i^QI to line number ^K, less ^[N previous error ^[# equation \i \i
450 \i \i^QO to byte offset ^KA centre ^[M next error \u\bSPECIAL\b\u ^[= result \i \i
451 \i \i^K= next place ^K] kill whitespace at EOL/EOF ^[- jupp command line \i \i
455 \i Help Screen turn off with ^J prev. screen ^[, next screen ^[. \i
456 \i \i \u\bSpecial search sequences:\b\u \i \i
457 \i \i \\^ \\$ matches beg./end of line \\? match any single char \i \i
458 \i \i \\< \\> matches beg./end of word \\* match 0 or more chars \i \i
459 \i \i \\c matches balanced C expression \\\\ matches a backslash (\\) \i \i
460 \i \i \\[a-z] matches one of a set, ^ inverts \\n matches a newline \i \i
461 \i \i \\+ matches 0 or more of the character which follows the \\+ \i \i
462 \i \i \u\bSpecial replace sequences:\b\u \i \i
463 \i \i \\\\ replaced with a backslash (\\) \\n replaced with a newline \i \i
464 \i \i \\& replaced with the text which matched the search string \i \i
465 \i \i \\0 - 9 replaced with text which matched \bN+1\bth \\?, \\*, \\c, \\[a-z] or \\+ \i \i
469 \i Help Screen turn off with ^J prev. screen ^[, next screen ^[. \i
470 \i \i At file name prompts use the cursor up/down keys to access a history of \i \i
471 \i \i recently used files or the tab key to complete them. \bSpecial file names:\b \i \i
472 \i \i !command Pipe in/out of a shell command \i \i
473 \i \i >>filename Append to a file \i \i
474 \i \i - Read/Write to/from standard I/O \i \i
475 \i \i filename,START,SIZE Read/Write a part of a file/device \i \i
476 \i \i Give START/SIZE in decimal (255), octal (0377) or hex (0xFF) \i \i
477 \i \i \u\bPresentation mode:\b\u F6=fullscreen; F7=previous, F8=next win; F9=filter/again \i \i
481 \i Help Screen turn off with ^J prev. screen ^[, next screen ^[. \i
482 \i \i \bJUPP\b is based upon JOE (Joe's Own Editor) 2.8/3.x \d(GPL v1)\d by Joe H. Allen; \i \i
483 \i \i go to \uhttp://sf.net/projects/joe-editor/\u for upstream bug reports. JUPP 2.8 \i \i
484 \i \i for DOS compiled by A. Totlis, packed with LHarc 2.13; JUPP 3.x for UNIX\d(R)\d \i \i
485 \i \i at \uhttp://mirbsd.de/jupp\u and by \bThorsten "\dmirabilos\d" Glaser <\utg@mirbsd.org\u>\b \i \i
486 \i \i @(#) jupprc 2017-12-06; 3.1; autoCR-LF; UTF-8 via locale; per-file encoding \i \i
489 #HOOK#3103 additional help screens
492 \i Help Screen turn off with ^J prev. screen ^[, \uCharacter Map\u \i
493 \i \i Dec Hex \u 0123 4567 89AB CDEF 0123 4567 89AB CDEF \u Hex Dec \i \i
495 \i \i 0 00 | \u@ABC\u \uDEFG\u \uHIJK\u \uLMNO\u
\80\81\82\83 \84\85\86\87 \88\89\8a\8b \8c\8d\8e\8f | 80 128 \i \i
496 \i \i 16 10 | \uPQRS\u \uTUVW\u \uXYZ[\u \u\\]^_\u
\90\91\92\93 \94\95\96\97 \98\99\9a\9b \9c\9d\9e\9f | 90 144 \i \i
497 \i \i 32 20 | !"# $%&' ()*+ ,-./ ¡¢£ ¤¥¦§ ¨©ª« ¬®¯ | A0 160 \i \i
498 \i \i 48 30 | 0123 4567 89:; <=>? °±²³ ´µ¶· ¸¹º» ¼½¾¿ | B0 176 \i \i
499 \i \i 64 40 | @ABC DEFG HIJK LMNO ÀÁÂÃ ÄÅÆÇ ÈÉÊË ÌÍÎÏ | C0 192 \i \i
500 \i \i 80 50 | PQRS TUVW XYZ[ \\]^_ ÐÑÒÓ ÔÕÖ× ØÙÚÛ ÜÝÞß | D0 208 \i \i
501 \i \i 96 60 | `abc defg hijk lmno àáâã äåæç èéêë ìíîï | E0 224 \i \i
502 \i \i 112 70 | pqrs tuvw xyz{ |}~
\7f ðñòó ôõö÷ øùúû üýþÿ | F0 240 \i \i
507 \i \i \u\bPaste Mode\b\u turn off with \b^D\b or \b^[[201~\b \i \i
511 #HOOK#3104 common keybindings
566 msg,"Entered bracketed paste mode",rtn ^[ [ 2 0 0 ~
567 helpcard,rtn,keymap,"main",rtn,msg,rtn ^[ [ 2 0 1 ~
568 helpcard,rtn,keymap,"main",rtn ^D
573 msg,"Entered bracketed paste mode",rtn ^[ [ 2 0 0 ~
574 helpcard,rtn,keymap,"cua",rtn,msg,rtn ^[ [ 2 0 1 ~
575 helpcard,rtn,keymap,"cua",rtn ^D
580 keymap,"prompt",rtn,msg,rtn,rtn ^M
581 msg,"Entered bracketed paste mode",rtn ^[ [ 2 0 0 ~
582 keymap,"prompt",rtn,msg,rtn ^[ [ 2 0 1 ~
583 keymap,"prompt",rtn ^D
587 :def pastemain helpcard,"Paste",rtn,keymap,"Paste",rtn
588 :def conflictmarker ffirst,"\\^\\[<>=]\\[<>=]\\[<>=]\\[<>=]\\[<>=]\\[<>=]\\[<>=]\\[ \\n]",rtn,rtn,ltarw
589 :def fixwhitespace eof," ",bof,"a",qrepl,"\\[",quote,"i",quote,"k",quote,"l",quote,"m ]\\+\\[",quote,"i",quote,"k",quote,"l",quote,"m ]\\$",rtn,rtn,rtn,"r",eof,rtn,ffirst,"\\^\\[^\\n]",rtn,"b",rtn,eol,markb,bof,delch,eof,markk,blkdel,ffirst,"\\?",rtn,"b",rtn,eol,rtn
590 :def freedroidz splitw,prevw,scratch,"nbc-Output",rtn,nextw,save,markk,bol,markb,prevw,prevw,blkcpy,nextw,nextw,rtn,prevw,eol,"'",bol,qrepl,"'",rtn,rtn,"'\\\\''",rtn,"r",backs,backs,backs,bol,"LC_ALL=C; export LC_ALL; fn='",eol,"; p=--posix; sed $p -e q </dev/null >/dev/null 2>&1 || p=; r=$(sed $p -e 's
\ 1[^^]
\ 1[&]
\ 1g; s
\ 1\\^
\ 1\\\\^
\ 1g' <<EOF",rtn,"$fn",rtn,"EOF",rtn,"); (case $fn in *.nxc) ;; *) echo '==> Error: filename not *.nxc'; exit ;; esac; echo \"Compiling $fn\"; nbc -sm- -d \"$fn\" 2>&1; x=$?; if test $x = 0; then echo '==> OK'; else echo '==> Error code:' $x; fi) | tr '\\n' '
\ 1' | sed $p -e 's!
\ 1# *\\([^
\ 1]*\\)
\ 1File \"[^\"]*/\\('\"$r\"'\\)\" ; line \\([0-9]*\\)
\ 1!
\ 1\\2:\\3: \\1
\ 1!g' -e 's!
\ 1#\\([^
\ 1]*\\)
\ 1File \"\\([^\"]*\\)\" ; line \\([0-9]*\\)
\ 1!
\ 1\\2:\\3: \\1
\ 1!g' | tr '
\ 1' '\\n'",rtn,nmark,filt,"sh",rtn,rtn,"Press ^KQ to close this window!",rtn,parserr
591 :def docompile edit,rtn,filt,query,parserr
592 #HOOK#3105 main keybindings
593 begin_marking,uparw,toggle_marking ^[ [ 1 ; 2 A
594 begin_marking,dnarw,toggle_marking ^[ [ 1 ; 2 B
595 begin_marking,rtarw,toggle_marking ^[ [ 1 ; 2 C
596 begin_marking,ltarw,toggle_marking ^[ [ 1 ; 2 D
597 begin_marking,bol,toggle_marking ^[ [ 1 ; 2 H
598 begin_marking,eol,toggle_marking ^[ [ 1 ; 2 F
599 begin_marking,bof,toggle_marking ^[ [ 1 ; 6 H
600 begin_marking,eof,toggle_marking ^[ [ 1 ; 6 F
603 pastemain ^[ [ 2 0 0 ~
700 nmark,filt,uparw ^[ [ 2 0 ~
748 nextword ^[ [ 1 ; 5 C
774 prevword ^[ [ 1 ; 5 D
834 :def pasteprompt keymap,"Pasteprompt",rtn,msg,"Entered bracketed paste mode",rtn
840 pasteprompt ^[ [ 2 0 0 ~
906 #HOOK#3106 extra keybindings in CUA mode
907 :def pastecua helpcard,"Paste",rtn,keymap,"Pastecua",rtn
914 pastecua ^[ [ 2 0 0 ~