home *** CD-ROM | disk | FTP | other *** search
/ C!T ROM 5 / ctrom5b.zip / ctrom5b / DOS / TEKST / AURORA2 / BRKBD.AML < prev    next >
Text File  |  1995-04-28  |  23KB  |  639 lines

  1.  
  2. // ───────────────────────────────────────────────────────────────────
  3. // The Aurora Editor v2.0
  4. // Copyright 1993-1995 nuText Systems. All Rights Reserved Worldwide.
  5. //
  6. // Brief Keyboard definitions (included by MAIN.AML)
  7. //
  8. // If you have made any changes, save this file and select 'Recompile
  9. // the Editor' from the Set menu. Exit and re-enter the editor for
  10. // your changes to take effect.
  11. // ───────────────────────────────────────────────────────────────────
  12.  
  13. // ───────────────────────────────────────────────────────────────────
  14. //  Edit and File Manager windows
  15. // ───────────────────────────────────────────────────────────────────
  16.  
  17.   object  edit_fmgr
  18.  
  19.   // Controls
  20.   function  '≡'                                // close window
  21.     close
  22.   end
  23.  
  24.   // Menu activation
  25.   key  <esc>           gotobar                 // to last menu bar item (br)
  26.   key  <f10>           gotobar                 // to last menu bar item (br)
  27.   key  <alt h>         gotomenu "help"         // goto help pull-down menu (br)
  28.  
  29.   // Scroll
  30.   key  <pgdn>          pagedown                // scroll down (br)
  31.   key  <pgup>          pageup                  // scroll up (br)
  32.   key  <ctrl home>     row (getviewtop)        // to page top (br)
  33.   key  <ctrl end>      row (getviewbot)        // to page bottom (br)
  34.   key  <ctrl pgup>     row 1                   // to file top (br)
  35.   key  <ctrl pgdn>     row (getlines)          // to file bottom (br)
  36.   key  <ctrl c>        adjustrow               // center cursor (br)
  37.   key  <ctrl t>        adjustrow 1             // scroll to page top (br)
  38.   key  <ctrl b>        adjustrow (getviewrows) // scroll to page bottom (br)
  39.  
  40.   // scroll up one line (br)
  41.   key  <ctrl e>
  42.     rollrow -1
  43.     if getrow < getviewbot then
  44.       down
  45.     end
  46.   end
  47.  
  48.   // scroll down one line (br)
  49.   key  <ctrl d>
  50.     rollrow 1
  51.     if getrow > getviewtop then
  52.       up
  53.     end
  54.   end
  55.  
  56.   // File
  57.   key  <ctrl n>        opennew                 // new edit window
  58.   key  <alt e>         askopen                 // open prompt (br)
  59.   key  <alt b>         filelist                // file list (br)
  60.   key  <ctrl ->        close                   // close window (br)
  61.   key  <alt x>         closeall                // close all windows (br)
  62.   key  <shift f1>      quickref 'qw'           // quick function reference
  63.   key  <shift f2>      quickref 'fw'           // function reference
  64.  
  65.   // Window
  66.   key  <f1>            winlist                 // window list
  67.   key  <ctrl z>        maximize                // maximize window (br)
  68.   key  <alt f2>        maximize                // maximize window (br)
  69.   key  <ctrl a>        nextwindow              // next window
  70.   key  <f12>           prevwindow              // prev window
  71.   key  <shift f3>      tile 'v'                // tile vertical
  72.   key  <shift f4>      tile 'h'                // tile horizontal
  73.   key  <shift f5>      cascade                 // cascade
  74.   key  <ctrl o><q>     close                   // close window
  75.  
  76.   // Search
  77.   key  <ctrl s>        askscan                 // file scan prompt
  78.   key  <ctrl 6>        cyclebook               // cycle through bookmarks
  79.  
  80.   // go to bookmark
  81.   key  <alt j>         askbook "Go to bookmark [0-9]"
  82.  
  83.   // Print
  84.   key  <ctrl p>        print                   // print
  85.   key  <alt p>         print 'b'               // print block (br)
  86.  
  87.   // Set
  88.   key  <ctrl f1>       togglemode              // toggle video mode
  89.  
  90.   // Macro
  91.   key  <alt f7>        askopenkey              // open key macro (br)
  92.   key  <alt f8>        asksavekey              // save key macro (br)
  93.   key  <ctrl v>        askeval                 // macro command prompt
  94.   key  <alt f9>        askrun                  // DOS command prompt
  95.   key  <alt z>         shell                   // exit to DOS (br)
  96.   key  <shift f12>     pickmacro               // macro picklist
  97.  
  98.   // display version
  99.   key  <alt v>         say "Version is: " + getversion
  100.  
  101.   // undefined or unnamed keys
  102.   key <otherkey> (keycode)
  103.     say  (getkeyname (keycode)) + " not defined "
  104.   end
  105.  
  106.  
  107. // ───────────────────────────────────────────────────────────────────
  108. //  Prompts and Edit windows
  109. // ───────────────────────────────────────────────────────────────────
  110.  
  111.   object  prompt
  112.  
  113.   // Controls
  114.   function  '≡'                                // close window
  115.     close
  116.   end
  117.  
  118.   function  '*'                                // simulate <enter>
  119.     call <enter>                               //  (2-line box only)
  120.   end
  121.  
  122.   // Cursor
  123.   key  <left>          left                    // move cursor left (br)
  124.                        smark                   // cua marking
  125.  
  126.   key  <right>         right                   // move cursor right (br)
  127.                        smark                   // cua marking
  128.  
  129.   key  <home>          col 1                   // to column one (br)
  130.                        smark                   // cua marking
  131.  
  132.   key  <end>           col  getlinelen + 1     // to end of line (br)
  133.                        smark                   // cua marking
  134.  
  135.   // Scroll
  136.   key  <alt left>      rollcol -(getviewcols - 1)   // page left
  137.   key  <alt right>     rollcol   getviewcols - 1    // page right
  138.  
  139.   // Editing
  140.   key  <alt i>         setting 'I' TOGGLE      // toggle insert mode (br)
  141.  
  142.   // delete character/block (br)
  143.   key  <del>
  144.     if getmarkbuf == getcurrbuf then
  145.       deleteblock2
  146.     else
  147.       if wintype? "edit" then
  148.         send "delchar2"
  149.       else
  150.         delchar
  151.       end
  152.     end
  153.   end
  154.  
  155.   key  <backspace>     backsp                  // delete left character (br)
  156.   key  <alt k>         delchar (getlinelen)    // erase to end of line (br)
  157.   key  <ctrl k>        delchar getcol - 1 1    // erase to beginning of line (br)
  158.   key  <alt q>         literal                 // enter literal character (br)
  159.   key  <alt =>         asciilist               // display ascii chart
  160.  
  161.   // Block
  162.   key  <alt a>         destroymark             // mark character (br)
  163.                        markchar
  164.  
  165.   key  <alt c>         destroymark             // mark column (br)
  166.                        markcolumn
  167.  
  168.   key  <alt m>         destroymark             // mark stream (br)
  169.                        markstream
  170.  
  171.   // paste from clipboard to prompt (br)
  172.   key  <ins>
  173.                        usemark _ClipName
  174.                        instext (getmarktext)
  175.                        usemark
  176.                        col  getlinelen + 1
  177.  
  178.   // copy from prompt to clipboard (br)
  179.   key  <grey+>         copy
  180.  
  181.   // Prompt history
  182.   key  <up>            prevhist                // retrieve prev prompt
  183.   key  <down>          nexthist                // retrieve next prompt
  184.   key  <pgup>          askhistory              // history popup menu
  185.   key  <pgdn>          askhistory              // history popup menu
  186.  
  187.   // Exit
  188.   key  <esc>           close                   // quit prompt
  189.   key  <ctrl ->        close
  190.  
  191.   // non-function keys
  192.   key  <char> (character)                      // typeable keys
  193.     write character
  194.   end
  195.  
  196.   // filename completion
  197.   key  <ctrl tab>      askcomplete             // filename completion
  198.   key  <tab>           askcomplete             // filename completion
  199.   end
  200.  
  201.  
  202. // ───────────────────────────────────────────────────────────────────
  203. //  Edit windows
  204. // ───────────────────────────────────────────────────────────────────
  205.  
  206.   object  edit
  207.  
  208.   // Controls
  209.   function  '≡'
  210.     close                                      // close window
  211.   end
  212.  
  213.   // Menu
  214.   key  <esc>           gotobar                 // to last menu bar item (br)
  215.  
  216.   // Cursor
  217.   key  <up>            up                      // move cursor up (br)
  218.                        smark                   // cua marking
  219.  
  220.   key  <down>          down                    // move cursor down (br)
  221.                        smark                   // cua marking
  222.  
  223.   // brief <home> key emulation (br)
  224.   key <home>
  225.     col 1                                      // goto column 1
  226.     smark                                      // cua marking
  227.     keycode = getkey                           // get next key
  228.     if keycode == <home> then                  // <home> pressed 2nd time?
  229.       row (getviewtop)                         // goto to page top
  230.       smark                                    // cua marking
  231.       keycode = getkey                         // get next key
  232.       if keycode == <home> then                // <home> pressed 3rd time?
  233.         row 1                                  // goto to top of file
  234.         smark                                  // cua marking
  235.       else
  236.         queuekey keycode                       // execute key normally
  237.       end
  238.     else
  239.       queuekey keycode                         // execute key normally
  240.     end
  241.   end
  242.  
  243.   // brief <end> key emulation (br)
  244.   key <end>
  245.     col  getlinelen + 1                        // goto end-of-line
  246.     smark                                      // cua marking
  247.     keycode = getkey                           // get next key
  248.     if keycode == <end> then                   // <end> pressed 2nd time?
  249.       row (getviewbot)                         // goto to page bottom
  250.       smark                                    // cua marking
  251.       keycode = getkey                         // get next key
  252.       if keycode == <end> then                 // <end> pressed 3rd time?
  253.         row (getlines)                         // goto to bottom of file
  254.         smark                                  // cua marking
  255.       else
  256.         queuekey keycode                       // execute key normally
  257.       end
  258.     else
  259.       queuekey keycode                         // execute key normally
  260.     end
  261.   end
  262.  
  263.   key  <alt home>      col (getviewleft)       // leftedge (br)
  264.   key  <alt end>       col (getviewright)      // rightedge (br)
  265.  
  266.   key  <enter>         enter                   // enter key (br)
  267.   key  <greyenter>     enter                   // keypad enter key
  268.   key  <backspace>     backsp                  // delete left char (br)
  269.   key  <alt backspace> delword _CSet           // delete right word (br)
  270.   key  <tab>           tabright                // tab right (br)
  271.   key  <shift tab>     tableft                 // tab left (br)
  272.  
  273.   key  <ctrl left>     prevword                // find left word (br)
  274.                        smark
  275.  
  276.   key  <ctrl right>    nextword                // find right word (br)
  277.                        smark
  278.  
  279.   // Scroll
  280.   key  <pgdn>          pagedown                // scrolldown (br)
  281.                        display
  282.                        smark
  283.  
  284.   key  <pgup>          pageup                  // scrollup (br)
  285.                        display
  286.                        smark
  287.  
  288.   key  <ctrl home>     row (getviewtop)        // to page top (br)
  289.                        smark
  290.  
  291.   key  <ctrl end>      row (getviewbot)        // to page bottom (br)
  292.                        smark
  293.  
  294.   key  <ctrl pgup>     row 1                   // to file top (br)
  295.                        smark
  296.  
  297.   key  <ctrl pgdn>     row (getlines)          // to file bottom (br)
  298.                        smark
  299.  
  300.   // File
  301.   key  <alt r>         askinsert               // open and insert prompt (br)
  302.   key  <ctrl ]>        openword                // open file at cursor
  303.   key  <alt o>         askname                 // rename prompt (br)
  304.   key  <alt n>         nextfile                // next file (br)
  305.   key  <alt ->         prevfile                // prev file (br)
  306.   key  <ctrl ->        close                   // close file/window (br)
  307.   key  <ctrl x>        closeall 's'            // saveall & closeall (br)
  308.   key  <alt f>         say "File is: " + getbufname  // display filename (br)
  309.  
  310.   // Window
  311.  
  312.   // create window (br)
  313.   key  <f3>
  314.     say "Select side for new window (use cursor keys)"
  315.     case getkey
  316.       when <left>, <right>
  317.         splitwin 'v'
  318.       when <up>, <down>
  319.         splitwin 'h'
  320.     end
  321.     display
  322.   end
  323.  
  324.   // delete window (br)
  325.   key  <f4>
  326.     if getwincount > 1 then
  327.       deletewin
  328.     end
  329.   end
  330.  
  331.   key  <ctrl o><w>     copywin                 // copy window
  332.   key  <ctrl f8>       toolbar                 // display tool bar
  333.   key  <alt f1>        togglestyle             // toggle window style
  334.  
  335.   // Block
  336.   key  <alt l>         destroymark             // mark line (br)
  337.                        markline
  338.  
  339.   key  <ctrl o><d>     deleteblock2            // delete block
  340.   key  <shift f7>      shiftblock -1           // unindent block
  341.   key  <shift f8>      shiftblock  1           // indent block
  342.   key  <ctrl o><f>     fillblock2              // fill block with string
  343.   key  <ctrl o><r>     formatblock2 "kr"       // reformat block
  344.   key  <alt y>         formatblock2 "rj"       // reformat & right just block
  345.   key  <alt w>         saveblock2              // save block (br)
  346.   key  <ctrl o><s>     sortblock2              // sort block
  347.   key  <ctrl o><u>     caseblock               // change block to uppercase
  348.   key  <shift f9>      quote                   // quote a block
  349.   key  <ctrl k><c>     justblock2 'c'          // center a block
  350.  
  351.   // Search
  352.  
  353.   // brief-style find/replace (always uses command-line prompts)
  354.   function  findbr (tran reverse)
  355.     find_str = ask (if? reverse '' '') +
  356.                    (if? tran " Pattern:" " Search for:") "_find1" '' '' 'c'
  357.     if find_str then
  358.       addhistory "_find1" find_str
  359.       if tran then
  360.         tran_str = ask "Replacement:" "_find2" '' '' 'c'
  361.         if not tran_str then
  362.           return
  363.         end
  364.         addhistory "_find2" tran_str
  365.         search_str = joinstr '' find_str tran_str _SearchOpt + reverse
  366.         addhistory "_repl" search_str
  367.       else
  368.         search_str = joinstr '' find_str _SearchOpt + reverse
  369.       end
  370.       search2 search_str
  371.       addhistory "_find" search_str
  372.     end
  373.   end
  374.  
  375.   key  <f5>            findbr                  // search forward (br)
  376.   key  <alt s>         findbr                  // search forward (br)
  377.   key  <alt f5>        findbr '' 'r'           // search backward (br)
  378.   key  <shift f5>      findlast                // search again (br)
  379.  
  380.   key  <f6>            findbr 't'              // translate forward (br)
  381.   key  <alt t>         findbr 't'              // translate forward (br)
  382.   key  <alt f6>        findbr 't' 'r'          // translate backward (br)
  383.   key  <shift f6>                              // translate again (br)
  384.     search2 (gethiststr "_repl")
  385.   end
  386.  
  387.   // toggle a default search option
  388.   function  toggleopt (option)
  389.     search_opt = _SearchOpt
  390.     setobj _SearchOpt  (if pos option search_opt then
  391.                           sub option '' search_opt
  392.                         else
  393.                           search_opt + option
  394.                         end)  "prf"
  395.   end
  396.  
  397.   function  togglecase
  398.     toggleopt 'i'
  399.     say "Case sensitivity " + (if? (pos 'i' _SearchOpt) "Off" "On")
  400.   end
  401.  
  402.   function  toggleregx
  403.     toggleopt 'x'
  404.     say "Regular expressions " + (if? (pos 'x' _SearchOpt) "On" "Off")
  405.   end
  406.  
  407.   key  <ctrl f5>       togglecase              // case sens toggle (br)
  408.   key  <ctrl f6>       toggleregx              // reg expression toggle (br)
  409.  
  410.   key  <ctrl i>        isearch                 // incremental search
  411.   key  <ctrl h>        askfindo                // find occurrences
  412.  
  413.   // goto routine (br)
  414.   function  gotoroutine
  415.     string = case  getext (getbufname)
  416.                when ".C", ".CPP"
  417.                  "^[a-zA-Z_].*\(.*[~;]$"
  418.                when ".AML"
  419.                  "^ *{function}|{key}.*$"
  420.                when ".PAS"
  421.                  "{procedure}|{function} +[a-zA-Z_]"
  422.                when ".PRG", ".SPR", ".MPR", ".QPR", ".FMT", ".FRG", ".LBG", ".CH"
  423.                  "^{procedure}|{function} +[a-zA-Z_]"
  424.                otherwise
  425.                  ""
  426.              end
  427.     if string then
  428.       findo string + "/ix"
  429.     else
  430.       say "File extension not supported"
  431.     end
  432.   end
  433.  
  434.   key  <ctrl g>       gotoroutine              // goto language routine (br)
  435.  
  436.   // set bookmarks (br)
  437.   key  <alt 1>         placebook '1'
  438.   key  <alt 2>         placebook '2'
  439.   key  <alt 3>         placebook '3'
  440.   key  <alt 4>         placebook '4'
  441.   key  <alt 5>         placebook '5'
  442.   key  <alt 6>         placebook '6'
  443.   key  <alt 7>         placebook '7'
  444.   key  <alt 8>         placebook '8'
  445.   key  <alt 9>         placebook '9'
  446.   key  <alt 0>         placebook '0'
  447.  
  448.   key  <ctrl 2>        quickbook               // set quick bookmark
  449.   key  <alt g>         askrow                  // go to line prompt (br)
  450.   key  <ctrl [>        gotomatch2              // find matching char
  451.  
  452.   // Fold
  453.   key  <alt \>                                 // open or close fold
  454.     if fold? then
  455.        openfold
  456.     else
  457.        closefold
  458.     end
  459.   end
  460.   key  <alt [>         foldall 'os'            // open all folds
  461.   key  <alt ]>         foldall 'cs'            // close all folds
  462.  
  463.   // Edit
  464.   key  <alt u>         undo                    // undo last change (br)
  465.   key  <grey*>         undo                    // undo last change (br)
  466.   key  <ctrl u>        redo                    // undo last change (br)
  467.  
  468.   key  <ctrl enter>    insline                 // insert line (br)
  469.                        down
  470.                        col 1
  471.  
  472.   key  <alt d>         delline                 // delete line (br)
  473.  
  474.   key  <ctrl o><t>     timestamp               // date/time stamp
  475.   key  <ctrl o><x>     tabfile                 // expand tabs
  476.   key  <ctrl \>        hiliteword              // highlight words
  477.  
  478.   // Clipboard
  479.   key  <grey->         cut                     // cut (br)
  480.   key  <ctrl grey->    cut 'a'                 // cut append
  481.   key  <grey+>         copy                    // copy (br)
  482.   key  <ctrl grey+>    copy 'a'                // copy append
  483.   key  <ins>           paste                   // paste (br)
  484.   key  <ctrl grey*>    paste 'o'               // paste over
  485.   key  <ctrl grey/>    clear                   // clear clipboard
  486.  
  487.   // Set
  488.   key  <alt f3>        setting 'A' TOGGLE      // autoindent toggle (br)
  489.   key  <ctrl w>        setting 'B' TOGGLE      // toggle file backup (br)
  490.   key  <alt f4>        setting 'T' TOGGLE      // text translate toggle
  491.  
  492.   // Macro
  493.   key  <alt f10>       compilemacro2 (getbufname)  // compile current file (br)
  494.   key  <shift f11>     runmacro2 (getbufname)      // run current file
  495.  
  496.   // non-function (typeable) keys
  497.   key  <char> (character)                      // typeable keys
  498.     write character
  499.   end
  500.  
  501.   // Other
  502.   key  <ctrl r>        askrepkey               // repeat entered keys (br)
  503.  
  504.   // invoke a spell checker from within an edit window
  505.   // (replace 'jspell ' with your favorite spell checker)
  506.   key  <f11>
  507.     save                                       // save the current file
  508.     run  "jspell " + getbufname  "ck"          // call spellchecker
  509.     reopen                                     // reopen current file
  510.   end
  511.  
  512.  
  513. // ───────────────────────────────────────────────────────────────────
  514. //  File Manager windows
  515. // ───────────────────────────────────────────────────────────────────
  516.  
  517.   object  fmgr
  518.  
  519.   // Menu activation
  520.   key  <tab>           gotobar2                // to drive menu bar
  521.  
  522.   // Cursor
  523.   key  <left>          rollcol -1              // scroll left one column
  524.   key  <right>         rollcol  1              // scroll right one column
  525.   key  <home>          col 1                   // scroll to column one
  526.  
  527.   // move cursor up
  528.   key  <up>
  529.     if shiftkey? then
  530.       fmark
  531.     end
  532.     up
  533.   end
  534.  
  535.   //move cursor down
  536.   key  <down>
  537.     if shiftkey? then
  538.       fmark
  539.     end
  540.     down
  541.   end
  542.  
  543.   // file manager commands (single character command codes)
  544.   key  <char> (c)
  545.  
  546.     // toggle file mark
  547.     if c == ' ' then
  548.       fmark
  549.  
  550.     // <shift-character> commands
  551.     elseif shiftkey? then
  552.       case  locase c
  553.         when 'o'     fopen 'o'                   // open file/directory
  554.         when 'e'     fopen 'e'                   // open file/directory
  555.         when 'z'     fopen "ze"                  // open maximized
  556.         when 'b'     fopen 'b'                   // open binary file
  557.         when 'y'     fopen "be"                  // open binary in one window
  558.         when 'k'     openkey2 (getffile)         // open key macro file
  559.         when 'm'     fmove                       // move file
  560.         when 'c'     fcopy                       // copy file
  561.         when 'd'     fdelete                     // delete file
  562.         when 'n'     frename                     // rename file
  563.         when 'r'     frun 'c'                    // run program/batch file
  564.         when 'p'     fprint                      // print file
  565.         when 'a'     fattr                       // change file attributes
  566.         when 't'     ftouch                      // touch file
  567.  
  568.         // spell checker
  569.         when 's'     run "jspell " + getffile  "ck"
  570.  
  571.         // unarchive .ZIP or .LZH files
  572.         when 'u'
  573.           f = getffile
  574.           run (if? (pos ".lzh" f 'i') "lha e " "pkunzip ") + f  "ck"
  575.           reopen
  576.  
  577.         // view .ZIP or .LZH archives
  578.         when 'v'
  579.           f = getffile
  580.           runcap (if? (pos ".lzh" f 'i') "lha v " "pkunzip -v ") + f
  581.       end
  582.  
  583.     // hotkey to files
  584.     else
  585.       onhotkey c
  586.     end
  587.  
  588.   // File
  589.   key  <ctrl backspace>   fup                  // parent directory
  590.  
  591.   // Mark
  592.   key  <alt m>         fmark "ma"              // mark all files
  593.   key  <alt u>         fmark "ua"              // unmark all
  594.  
  595.   // Command
  596.   key  <enter>         fopen '1'               // open file (one only)
  597.   key  <ctrl enter>    fopen 'q'               // open file (close fmgr)
  598.   key  <del>           fdelete                 // delete file
  599.  
  600.   // Sort
  601.   key  <alt n>         fsort 'n'               // sort by name
  602.   key  <alt s>         fsort 's'               // sort by size
  603.   key  <alt d>         fsort 'd'               // sort by date/time
  604.   key  <alt o>         fsort 'o'               // no sort (DOS order)
  605.  
  606.   // Print
  607.   key  <ctrl p>        print                   // print fmgr contents
  608.   end
  609.  
  610.  
  611. // ───────────────────────────────────────────────────────────────────
  612. //  Movable/Sizable windows
  613. // ───────────────────────────────────────────────────────────────────
  614.  
  615.   object  win
  616.  
  617.   key  <f2>            sizekey                 // move/size with kbd (br)
  618.   key  <ctrl f2>       pankey                  // pan video with kbd
  619.  
  620.   key  <alt ins>       sizewin -2 -1 -2 -1 2   // move window northwest
  621.   key  <alt del>       sizewin  2  1  2  1 2   // move window southeast
  622.   end
  623.  
  624.  
  625. // ───────────────────────────────────────────────────────────────────
  626. //  All windows
  627. // ───────────────────────────────────────────────────────────────────
  628.  
  629.   object  mon
  630.  
  631.   // key macros (br)
  632.   key  <f7>            record                  // toggle record setting
  633.   key  <f8>            play                    // play scrap key macro
  634.  
  635.   // define multi-key prefixes
  636.   key  <ctrl o>        prefix <ctrl o>         // define <ctrl o> prefix
  637.   key  <ctrl q>        prefix <ctrl q>         // define <ctrl q> prefix
  638.  
  639.