home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 7 / 07.iso / c / c083 / 20.ddi / KBDSRC.PAK / EPSILON.KB < prev    next >
Encoding:
Text File  |  1993-12-02  |  33.8 KB  |  1,194 lines

  1. Script  EPSILON;
  2.  
  3. /***********************************************************************
  4.  
  5.             Epsilon keystoke emulation for Borland C++ IDE.
  6.  
  7.         This file contains a KEYMAPR script which partially emulates the
  8. Epsilon editor in the Borland C++ IDE. A complete description of the KEYMAPR
  9. language and compiler may be found in on-line help.
  10.  
  11. Most of the simple Epsilon commands have been fully implemented.  Most
  12. of the complex command have been either partially implemented or not
  13. implemented at all.  The macro names correspond to the names in
  14. the Espilon default macro set.  Below is a list of all the default commands.
  15.  
  16. IDE Binding   Epsilon Command            Comments
  17. -----------   ---------------            -------------------------
  18. Ctrl-G        abort                      not implemented
  19. <Esc>         alt_prefix                 built into keyboard tables
  20. Ctrl-Alt-W    append_next_kill
  21. Ctrl-U        argument                   not implemented
  22. Ctrl-B        backward_character
  23. <LfAr>        backward_character
  24. Ctrl-H        backward_delete_character
  25. <BkSp>        backward_delete_character
  26. Alt-<del>     backward_kill_level        point must be on ')', '}' or ']'
  27. Ctrl-Alt-H    backward_kill_word
  28. Alt-<BkSp>    backward_kill_word
  29. Ctrl-Alt-B    backward_level             point must be on ')', '}' or ']'
  30. Alt-[         backward_paragraph         not implemented
  31. Alt-<UpAr>    was backward_paragraph, remapped to move cursor to pane above.
  32. Alt-A         backward_sentence          not implemented
  33. Ctrl-<UpAr>   backward_sentence          not implemented
  34. Alt-B         backward_word
  35. Ctrl-<LfAr>   backward_word
  36. Ctrl-A        beginning_of_line
  37. Alt-<LfAr>    was beginning_of_line, remapped to move cursor to next pane to left
  38. Alt-,         beginning_of_window
  39. <Home>        beginning_of_window
  40. <F4>          bind_to_key                not implemented
  41. Ctrl-X+Ctrl-B bufed                      not implemented
  42. Alt-C         capitalize_word
  43.               case_indirect              built into keyboard tables
  44. <F7>          cd                         not implemented
  45. Alt-S         center_line                not implemented
  46. Ctrl-L        center_window
  47. Alt-~         change_modified            not implemented
  48. Ctrl-F2       compare_windows            not implemented
  49. Ctrl-X+C      compare_windows            not implemented
  50. Alt-W         copy_region
  51. Ctrl-F7       copy_to_file
  52. Ctrl-X+L      count_lines                not implemented
  53. Ctrl-^        ctrl-prefix                not implemented
  54. Ctrl-X+Ctrl-O delete_blank_lines         not implemented
  55. Ctrl-D        delete_character
  56. <Del>         delete_character
  57. Alt-\         delete_horizontal_space
  58. F1+C          describe_command           not implemented
  59. F1+K          describe_key               not implemented
  60. Ctrl-X+D      dired                      not implemented
  61. <Tab>         do_c_indent                inserts a TAB character
  62. Ctrl-N        down_line
  63. <DnAr>        down_line
  64. Ctrl-X+)      end_kbd_macro              toggles recording mode
  65. Ctrl-E        end_of_line
  66. Alt-<RgAr>    was end_of_line, remapped to move cursor to next pane to right
  67. Alt-.         end_of_window
  68. <End>         end_of_window
  69. Ctrl-<PgUp>   enlarge_window
  70. Ctrl-X+^      enlarge_window
  71. Alt-<PgUp>    enlarge_window_horiz
  72. Ctrl-X+@      enlarge_window_horiz
  73. Ctrl-M        enter_key
  74. Ctrl-X+Ctrl-X exchange_point_and_mark
  75. Ctrl-X+Ctrl-C exit                       not implemented
  76. Ctrl-X+Ctrl-Z exit_level                 not implemented
  77. Alt-Q         fill_paragraph             not implemented
  78. Alt-)         find_delimiter             same as backward_level
  79. Ctrl-X+Ctrl-F find_file
  80. Ctrl-F        forward_character
  81. <RgAr>        forward_character
  82. Ctrl-Alt-F    forward_level              point must be on '(', '{' or '['
  83. Alt-]         forward_paragraph          not implemented
  84. Alt-<DnAr>    was forward_paragraph, remapped to move cursor to pane below
  85. Alt-E         forward_sentence           not implemented
  86. Ctrl-<DnAr>   forward_sentence           not implemented
  87. Alt-F         forward_word
  88. Ctrl-<RgAr>   forward_word
  89. Alt-<         goto_beginning
  90. Ctrl-<Home>   goto_beginning
  91. Alt->         goto_end
  92. Ctrl-<End>    goto_end
  93. Ctrl-X+G      goto_line
  94. Ctrl-X+.      goto_tag                   browser menu
  95. <F1>          help
  96. Alt-?         help
  97. Ctrl-_        help
  98. Ctrl-S        incremental_search
  99. <Tab>         indent_previous            not implemented
  100. Ctrl-Alt-\    indent_region              same as indent_rigidly
  101. Ctrl-X+Ctrl-I indent_rigidly
  102. Ctrl-X+<Tab>  indent_rigidly
  103. Alt-<Tab>     indent_under
  104. Ctrl-X+I      insert_file
  105. Ctrl-X+K      kill_buffer                not implemented
  106. Ctrl-Alt-K    kill_level                 point must be on '(', '{' or '['
  107. Ctrl-K        kill_line
  108. Ctrl-W        kill_region
  109. Alt-K         kill_sentence              not implemented
  110. Ctrl-X+0      kill_window
  111. Alt-D         kill_word
  112. Ctrl-<F4>     last_kbd_macro
  113. Ctrl-X+E      last_kbd_macro
  114. <F3>          load_bytes                 not implemented
  115. Alt-L         lower_case_word
  116. Ctrl-X+M      make
  117. Alt-H         mark_paragraph             not implemented
  118. <Space>       maybe_break_line           not implemented
  119. Ctrl-X+Alt-N  name_kbd_macro             not implemented
  120. Alt-X         named_command
  121. <F2>          named_command
  122. Ctrl-X+Ctrl-N next_error
  123. Ctrl-V        next_page
  124. <PgDn>        next_page
  125. Ctrl-<F5>     next_video                 not implemented
  126. Alt-<End>     next_window
  127. Ctrl-X+N      next_window
  128. Ctrl-X+1      one_window
  129. Ctrl-O        open_line
  130. <Ins>         overwrite_mode
  131. Ctrl-X+,      pluck_tag                  browser menu
  132. Alt-V         previous_page
  133. <PgUp>        previous_page
  134. Alt-<Home>    previous_window
  135. Ctrl-X+P      previous_window
  136. Ctrl-X+Ctrl-E push
  137. Alt-%         query_replace
  138. Ctrl-Q        quoted_insert
  139. Ctrl-X+R      redo
  140. <F10>         redo
  141. Ctrl-<F10>    redo_changes               same as redo
  142. Ctrl-X+Ctrl-R redo_changes               same as redo
  143. Alt-*         regex_replace
  144. Ctrl-Alt-S    regex_search
  145. Alt-&         replace_string
  146. Ctrl-R        reverse_incremental_search
  147. Ctrl-Alt-R    reverse_regex_search
  148. Ctrl-X+S      save_all_buffers
  149. Alt-Z         scroll_down
  150. Alt-{         scroll_left                not implemented
  151. Alt-}         scroll_right               not implemented
  152. Ctrl-Z        scroll_up
  153. Ctrl-X+B      select_buffer
  154. Ctrl-X+Alt-,  select_tag_file            not implemented
  155. Ctrl-X+F      set_fill_column            not implemented
  156. Ctrl-@        set_mark
  157. Alt-@         set_mark
  158. <F8>          set_variable               not implemented
  159. Alt-<F5>      set_video                  not implemented
  160. Ctrl-X+=      show_point                 not implemented
  161. Ctrl-<F8>     show_variable              not implemented
  162. Ctrl-<PgDn>   shrink_window
  163. Alt-<PgDn>    shrink_window_horiz
  164. Ctrl-X+2      split_window
  165. Ctrl-X+5      split_window_vertically
  166. Ctrl-X+(      start_kbd_macro            toggle macro recording
  167. Ctrl-X+Ctrl-M start_process              not implemented
  168. Ctrl-C        stop_process               not implemented
  169. Ctrl-X+Ctrl-Alt-I
  170.               tabify_region              not implemented
  171. Ctrl-X+Ctrl-<Tab>
  172.               tabify_region              not implemented
  173. Ctrl-X+Alt-.  tag_files                  not implemented
  174. Alt-M         to_indentation
  175. Ctrl-T        transpose_characters
  176. Ctrl-X+Ctrl-T transpose_lines
  177. Alt-T         transpose_words
  178. Ctrl-X+U      undo
  179. F9            undo
  180. Ctrl-<F9>     undo_changes               same as undo
  181. Ctrl-X+Ctrl-U undo_changes               same as undo
  182. Ctrl_X+Alt-I  untabify_region            not implemented
  183. Ctrl-P        up_line
  184. <UpAr>        up_line
  185. Alt-U         upper_case_word
  186. Ctrl-X+Ctrl-V visit_file                 not implemented
  187. Ctrl-X+Ctrl-W write_file
  188. Ctrl-X+W      write_region
  189. Ctrl-<F3>     write_state                not implemented
  190. Ctrl-X+W      write_region
  191. Ctrl-Y        yank
  192. Alt-Y         yank_pop                   not implemented
  193.  
  194. ********************************************************************/
  195.  
  196. /******* Compatibility Macros ********/
  197. MACRO WordLeft
  198.   CursorLeftSkipNonWord;
  199.   CursorLeftSkipWordStream;
  200.   FixScreenPos;
  201. END;
  202.  
  203. MACRO WordRight
  204.   CursorRightSkipWordStream;
  205.   CursorRightSkipNonWord;
  206.   FixScreenPos;
  207. END;
  208.  
  209. MACRO RightOfWord
  210.   CursorRightSkipWord;
  211.   CursorRightSkipNonWord;
  212.   FixScreenPos;
  213. END;
  214.  
  215. MACRO EpsilonMarkKillLine
  216.   SetBlockBeg;
  217.   IF InqEmptyLine THEN
  218.     CursorCharRight
  219.   ELSE
  220.     RightOfLine
  221.   ENDIF;
  222.   SetBlockEnd;
  223.   FixScreenPos;
  224. END;
  225.  
  226. MACRO MacMarkWord
  227.     SetNonInclusiveBlock;
  228.     HideBlock;
  229.     SetTempPos;
  230.     CursorRight;
  231.     WordLeft;
  232.     RightOfWord;
  233.     SetBlockEnd;
  234.     WordLeft;
  235.     SetBlockBeg;
  236.     HighlightBlock;
  237.     MoveToTempPos;
  238. END;
  239.  
  240. /*******************************************************************
  241.         KBDL SCRIPTS TO EMULATE EPSILON FROM THE BORLAND C++ IDE     
  242.  *******************************************************************/
  243.  
  244. /* MACRO abort                         not implemented */
  245. /* MACRO alt_prefix                 built into keyboard */
  246.  
  247. MACRO append_next_kill
  248.     ClipAppendNextCut;
  249. END;
  250.  
  251. /* MACRO argument                 not implemented */
  252.  
  253. MACRO backward_character
  254.     CursorSwitchedLeft;
  255.     ClipReplaceNextCut;
  256. END;
  257.  
  258. MACRO backward_delete_character
  259.     BackspaceDelete;
  260.     ClipReplaceNextCut;
  261. END;
  262.  
  263. MACRO backward_kill_level         /* point must be on ')', '}' or ']' */
  264.     SetNonInclusiveBlock;
  265.     CursorCharRight;
  266.     SetBlockEnd;
  267.     MatchPairBackward;
  268.     SetBlockBeg;
  269.     ClipMaybeAppendCut;
  270.     ClipAppendNextCut;
  271. END;
  272.  
  273. MACRO backward_kill_word
  274.     SetBlockEnd;
  275.     CursorLeftSkipNonWord;
  276.     CursorLeftSkipWord;
  277.     SetBlockBeg;
  278.     HighlightBlock;
  279.     ClipMaybeAppendCut;
  280.     FixScreenPos;
  281.     ClipAppendNextCut;
  282. END;
  283.  
  284. MACRO backward_level                 /* point must be on ')', '}' or ']' */
  285.     MatchPairBackward;
  286.     ClipReplaceNextCut;
  287. END;
  288.  
  289. /* MACRO backward_paragraph         not implemented */
  290. /* MACRO backward_sentence         not implemented */
  291.  
  292. MACRO backward_word
  293.     WordLeft;
  294.     ClipReplaceNextCut;
  295. END;
  296.  
  297. MACRO beginning_of_line
  298.     LeftOfLine;FixScreenPos;
  299.     ClipReplaceNextCut;
  300. END;
  301.  
  302. MACRO beginning_of_window
  303.     TopOfScreen;
  304.     ClipReplaceNextCut;
  305. END;
  306.  
  307. /* MACRO bind_to_key                 not implemented */
  308. /* MACRO bufed                         not implemented */
  309.  
  310. MACRO capitalize_word
  311.     MacMarkWord;
  312.     LowerCaseBlock;
  313.     MoveToBlockBeg;
  314.     CursorRight;
  315.     SetBlockEnd;
  316.     UpperCaseBlock;
  317.     ClipReplaceNextCut;
  318. END;
  319.  
  320. /* MACRO center_line                 not implemented */
  321.  
  322. MACRO center_window
  323.     CenterLineInWindow
  324. END;
  325.  
  326. /* MACRO change_modified         not implemented */
  327. /* MACRO compare_windows         not implemented */
  328.  
  329. MACRO copy_region
  330.     HideBlock;
  331.     SwapPrevPos;
  332.     SetBlockBeg;
  333.     SwapPrevPos;
  334.     SetBlockEnd;
  335.     HighlightBlock;
  336.     IF InqValidBlock THEN
  337.       BEGIN
  338.         ClipCopy;
  339.         ClipReplaceNextCut;
  340.       END
  341.     ELSE
  342.       BEGIN
  343.         HideBlock;
  344.         SetBlockBeg;
  345.         SwapPrevPos;
  346.         SetBlockEnd;
  347.         SwapPrevPos;
  348.         HighlightBlock;
  349.         IF InqValidBlock THEN
  350.           BEGIN
  351.             ClipCopy;
  352.             ClipReplaceNextCut;
  353.           END;
  354.         ENDIF
  355.       END
  356.     ENDIF
  357. END;
  358.  
  359. MACRO copy_to_file
  360.     SaveFileAs;
  361.     ClipReplaceNextCut;
  362. END;
  363.  
  364. /* MACRO count_lines                 not implemented */
  365. /* MACRO ctrl-prefix                 not implemented */
  366. /* MACRO delete_blank_lines         not implemented */
  367.  
  368. MACRO delete_character
  369.     DeleteChar;
  370.     ClipReplaceNextCut;
  371. END;
  372.  
  373. MACRO delete_horizontal_space
  374.     CursorLeftSkipWhite;
  375.     SetTempPos;
  376.     CursorRightSkipWhite;
  377.     SetTempEndPos;
  378.     DeleteTempBlock;
  379.     FixScreenPos;
  380.     ClipReplaceNextCut;
  381. END;
  382.  
  383. /* MACRO describe_command         not implemented */
  384. /* MACRO describe_key                 not implemented */
  385. /* MACRO dired                         not implemented */
  386.  
  387. MACRO do_c_indent                 /* inserts a TAB character */
  388.     LiteralChar(9);
  389.     ClipReplaceNextCut;
  390. END;
  391.  
  392. MACRO down_line
  393.     CursorDown;
  394.     ClipReplaceNextCut;
  395. END;
  396.  
  397. MACRO end_kbd_macro                 /* toggles recording mode */
  398.     RecordKeyMacro;
  399. END;
  400.  
  401. MACRO end_of_line
  402.     RightOfLine;FixScreenPos;
  403.     ClipReplaceNextCut;
  404. END;
  405.  
  406. MACRO end_of_window
  407.     BottomOfScreen;
  408.     ClipReplaceNextCut;
  409. END;
  410.  
  411. MACRO enlarge_window
  412.     MovePaneEdge(4);
  413. END;
  414.  
  415. MACRO enlarge_window_horiz
  416.     MovePaneEdge(5);
  417. END;
  418.  
  419. MACRO enter_key
  420.     LiteralChar(13);
  421.     ClipReplaceNextCut;
  422. END;
  423.  
  424. MACRO exchange_point_and_mark
  425.     SwapPrevPos;
  426.     FixScreenPos;
  427. END;
  428.  
  429. MACRO exit
  430.     Quit;
  431. END;
  432.  
  433. MACRO exit_level                 /* Leaves editor - Enables Menus */
  434.     Quit;
  435. END;
  436.  
  437. /* MACRO fill_paragraph                 not implemented */
  438.  
  439. MACRO find_delimiter                 /* same as backward_level */
  440.     MatchPairForward;
  441.     ClipReplaceNextCut;
  442. END;
  443.  
  444. MACRO find_file
  445.     OpenFile;
  446.     ClipReplaceNextCut;
  447. END;
  448.  
  449. MACRO forward_character
  450.     CursorSwitchedRight;
  451.     ClipReplaceNextCut;
  452. END;
  453.  
  454. MACRO forward_level                 /* point must be on '(', '{' or '[' */
  455.     MatchPairForward;
  456.     ClipReplaceNextCut;
  457. END;
  458.  
  459. /* MACRO forward_paragraph         not implemented */
  460. /* MACRO forward_sentence         not implemented */
  461.  
  462. MACRO forward_word
  463.     WordRight;
  464.     ClipReplaceNextCut;
  465. END;
  466.  
  467. MACRO goto_beginning
  468.     HomeCursor;
  469.     ClipReplaceNextCut;
  470. END;
  471.  
  472. MACRO goto_end
  473.     EndCursor;
  474.     ClipReplaceNextCut;
  475. END;
  476.  
  477. MACRO goto_line
  478.     GoToLine;
  479.     ClipReplaceNextCut;
  480. END;
  481.  
  482. MACRO goto_tag
  483.     BrowseSymbolAtCursor;
  484.     ClipReplaceNextCut;
  485. END;
  486.  
  487. MACRO incremental_search
  488.     SetNonInclusiveBlock;HideBlock;IncrementalSearch;
  489.     ClipReplaceNextCut;
  490. END;
  491.  
  492. /* MACRO indent_previous         not implemented */
  493.  
  494. MACRO indent_region                 /* same as indent_rigidly */
  495.     IndentBlock(2);
  496.     ClipReplaceNextCut;
  497. END;
  498.  
  499. MACRO indent_rigidly
  500.     IndentBlock(2);
  501.     ClipReplaceNextCut;
  502. END;
  503.  
  504. MACRO indent_under
  505.     SmartTab;
  506.     ClipReplaceNextCut;
  507. END;
  508.  
  509. MACRO insert_file
  510.     SetPrevPos;
  511.     HideBlock;
  512.     ReadBlock;
  513.     ClipReplaceNextCut;
  514. END;
  515.  
  516. /* MACRO kill_buffer                 not implemented */
  517.  
  518. MACRO kill_level                 /* point must be on '(', '{' or '[' */
  519.     SetNonInclusiveBlock;
  520.     SetBlockBeg;
  521.     MatchPairForward;
  522.     CursorCharRight;
  523.     SetBlockEnd;
  524.     ClipMaybeAppendCut;
  525.     ClipAppendNextCut;
  526. END;
  527.  
  528. MACRO kill_line
  529.     SetTempPos;
  530.     EpsilonMarkKillLine;
  531.     MoveToTempPos;
  532.     HighlightBlock;
  533.     ClipMaybeAppendCut;
  534.     ClipAppendNextCut;
  535. END;
  536.  
  537. MACRO kill_region
  538.     SwapPrevPos;
  539.     SetBlockBeg;
  540.     SwapPrevPos;
  541.     SetBlockEnd;
  542.     HighlightBlock;
  543.     ClipMaybeAppendCut;
  544.     ClipAppendNextCut;
  545. END;
  546.  
  547. /* MACRO kill_sentence                 not implemented */
  548.  
  549. MACRO kill_window
  550.     DeletePane(4);
  551.     ClipReplaceNextCut;
  552. END;
  553.  
  554. MACRO kill_word
  555.     SetBlockBeg;
  556.     CursorRightSkipWord;
  557.     CursorRightSkipWhite;
  558.     SetBlockEnd;
  559.     HighlightBlock;
  560.     ClipMaybeAppendCut;
  561.     FixScreenPos;
  562.     ClipAppendNextCut;
  563. END;
  564.  
  565. MACRO last_kbd_macro
  566.     PlaybackKeyMacro;
  567. END;
  568.  
  569. /* MACRO load_bytes                 not implemented */
  570.  
  571. MACRO lower_case_word
  572.     MacMarkWord;
  573.     LowerCaseBlock;
  574.     ClipReplaceNextCut;
  575. END;
  576.  
  577. MACRO make
  578.     MakeProject;
  579. END;
  580.  
  581. /* MACRO mark_paragraph                 not implemented */
  582. /* MACRO maybe_break_line         not implemented */
  583. /* MACRO name_kbd_macro                 not implemented */
  584.  
  585. MACRO named_command
  586.     Menu;
  587. END;
  588.  
  589. MACRO next_error
  590.     NextError;
  591.     ClipReplaceNextCut;
  592. END;
  593.  
  594. MACRO next_page
  595.     FixScreenPos;
  596.     PageScreenDown;
  597.     FixCursorPos;
  598.     ClipReplaceNextCut;
  599. END;
  600.  
  601. /* MACRO next_video                 not implemented */
  602.  
  603. MACRO next_window
  604.     MoveToPane(4);
  605.     ClipReplaceNextCut;
  606. END;
  607.  
  608. MACRO one_window
  609.     DeletePane(5);
  610.     ClipReplaceNextCut;
  611. END;
  612.  
  613. MACRO open_line
  614.     LiteralChar(13);
  615.     CursorSwitchedLeft;
  616.     ClipReplaceNextCut;
  617. END;
  618.  
  619. MACRO overwrite_mode
  620.     ToggleInsert;
  621. END;
  622.  
  623. MACRO pluck_tag
  624.     BrowseSymbolAtCursor;
  625. END;
  626.  
  627. MACRO previous_page
  628.     FixScreenPos;
  629.     PageScreenUp;
  630.     FixCursorPos;
  631.     ClipReplaceNextCut;
  632. END;
  633.  
  634. MACRO previous_window
  635.     MoveToPane(5);
  636.     ClipReplaceNextCut;
  637. END;
  638.  
  639. MACRO push
  640.     Menu;
  641. END;
  642.  
  643. MACRO query_replace
  644.     Replace;
  645.     ClipReplaceNextCut;
  646. END;
  647.  
  648. MACRO quoted_insert
  649.     LiteralChar;
  650.     ClipReplaceNextCut;
  651. END;
  652.  
  653. MACRO _redo
  654.     ReDo;
  655.     ClipReplaceNextCut;
  656. END;
  657.  
  658. MACRO redo_changes                 /* same as redo */
  659.     ReDo;
  660.     ClipReplaceNextCut;
  661. END;
  662.  
  663. MACRO regex_replace
  664.     Replace;
  665.     ClipReplaceNextCut;
  666. END;
  667.  
  668. MACRO regex_search
  669.     SearchMenu;
  670.     ClipReplaceNextCut;
  671. END;
  672.  
  673. MACRO replace_string
  674.     Replace;
  675.     ClipReplaceNextCut;
  676. END;
  677.  
  678. MACRO reverse_incremental_search
  679.     SearchMenu;
  680.     ClipReplaceNextCut;
  681. END;
  682.  
  683. MACRO reverse_regex_search
  684.     SearchMenu;
  685.     ClipReplaceNextCut;
  686. END;
  687.  
  688. MACRO save_all_buffers
  689.     SaveAll;
  690.     ClipReplaceNextCut;
  691. END;
  692.  
  693. MACRO save_file
  694.     SaveFile;
  695.     ClipReplaceNextCut;
  696. END;
  697.  
  698. MACRO scroll_down
  699.     ScrollScreenDown;
  700.     ClipReplaceNextCut;
  701. END;
  702.  
  703. /* MACRO scroll_left                 not implemented */
  704. /* MACRO scroll_right                 not implemented */
  705.  
  706. MACRO scroll_up
  707.     ScrollScreenUp;
  708.     ClipReplaceNextCut;
  709. END;
  710.  
  711. /* MACRO select_buffer                 not implemented */
  712. /* MACRO select_tag_file         not implemented */
  713. /* MACRO set_fill_column         not implemented */
  714.  
  715. MACRO set_mark
  716.     HideBlock;
  717.     SetPrevPos;
  718. END;
  719.  
  720. /* MACRO set_variable                 not implemented */
  721. /* MACRO set_video                 not implemented */
  722. /* MACRO show_point                 not implemented */
  723. /* MACRO show_variable                 not implemented */
  724.  
  725. MACRO shrink_window
  726.     MovePaneEdge(6);
  727. END;
  728.  
  729. MACRO shrink_window_horiz
  730.     MovePaneEdge(7);
  731. END;
  732.  
  733. MACRO split_window
  734.     CreatePane(0);
  735. END;
  736.  
  737. MACRO split_window_vertically
  738.     CreatePane(2);
  739. END;
  740.  
  741. MACRO start_kbd_macro                 /* toggle macro recording */
  742.     RecordKeyMacro;
  743. END;
  744.  
  745. /* MACRO start_process                 not implemented */
  746. /* MACRO stop_process                 not implemented */
  747. /* MACRO tabify_region                 not implemented */
  748. /* MACRO tag_files                 not implemented */
  749. MACRO to_indentation
  750.     FirstNonBlank;
  751.     ClipReplaceNextCut;
  752. END;
  753.  
  754. MACRO transpose_characters
  755.     SetBlockBeg;
  756.     CursorSwitchedRight;
  757.     SetBlockEnd;
  758.     HighlightBlock;
  759.     CursorSwitchedLeft;
  760.     CursorSwitchedLeft;
  761.     MoveBlock;
  762.     HideBlock;
  763.     ClipReplaceNextCut;
  764. END;
  765.  
  766. MACRO transpose_lines
  767.     LeftOfLine;
  768.     SetBlockBeg;
  769.     RightOfLine;
  770.     CursorCharRight;
  771.     SetBlockEnd;
  772.     HighlightBlock;
  773.     CursorUp;
  774.     CursorUp;
  775.     MoveBlock;
  776.     HideBlock;
  777.     FixScreenPos;
  778.     ClipReplaceNextCut;
  779. END;
  780.  
  781. MACRO transpose_words
  782.     CursorRightSkipNonWord;
  783.     SetBlockBeg;
  784.     CursorRightSkipWord;
  785.     SetBlockEnd;
  786.     HighlightBlock;
  787.     CursorLeftSkipWord;
  788.     CursorLeftSkipNonWord;
  789.     CursorLeftSkipWord;
  790.     MoveBlock;
  791.     HideBlock;
  792.     FixScreenPos;
  793.     ClipReplaceNextCut;
  794. END;
  795.  
  796. MACRO _undo
  797.     Undo;
  798.     ClipReplaceNextCut;
  799. END;
  800.  
  801. MACRO undo_changes                 /* same as undo */
  802.     Undo;
  803.     ClipReplaceNextCut;
  804. END;
  805.  
  806. /* MACRO untabify_region                 not implemented */
  807.  
  808. MACRO up_line
  809.     CursorUp;
  810.     ClipReplaceNextCut;
  811. END;
  812.  
  813. MACRO upper_case_word
  814.     MacMarkWord;
  815.     UpperCaseBlock;
  816.     ClipReplaceNextCut;
  817. END;
  818.  
  819. /* MACRO visit_file                 not implemented */
  820.  
  821. MACRO write_file
  822.     SaveFile;
  823. END;
  824.  
  825. MACRO write_region
  826.     HideBlock;
  827.     SwapPrevPos;
  828.     SetBlockBeg;
  829.     SwapPrevPos;
  830.     SetBlockEnd;
  831.     HighlightBlock;
  832.     WriteBlock;
  833.     ClipReplaceNextCut;
  834. END;
  835.  
  836. /* MACRO write_state                 not implemented */
  837.  
  838. MACRO yank
  839.     ClipPaste;
  840.     ClipReplaceNextCut;
  841. END;
  842.  
  843. /**** key bindings ******/
  844. KEYBOARD System
  845. F1 : Help;
  846. F5 : ToggleBreakpoint; : ToggleBreakpoint
  847. F8 : Step;             : Step
  848. F9 : MakeProject;      : MakeProject
  849.  
  850. shift-F4: WindowTileHorz;
  851. /* shift-F5: WinCascade */
  852.  
  853. alt-F5 : InspectAtCursor; : InspectAtCursor
  854. alt-F7 : PrevError;    : PrevError
  855. alt-F8 : NextError;    : NextError
  856. alt-F9 : CompileFile;  : CompileFile
  857. alt-F10: LocalMenu;
  858.  
  859. ctrl-F2       : TerminateProgram; : TerminateProgram
  860. ctrl-F5       : AddWatch;     : AddWatch
  861. Ctrl-F7       : copy_to_file; : SaveFileAs
  862. ctrl-F9       : RunProgram;   : RunProgram
  863.  
  864. Ctrl-X+(      : start_kbd_macro;         /* toggle macro recording */
  865. Ctrl-X+)      : end_kbd_macro;                 /* toggles recording mode */
  866. /* Ctrl-F4       : last_kbd_macro; */
  867. Ctrl-X+e      : last_kbd_macro;
  868. Ctrl-X+E      : last_kbd_macro;
  869.  
  870. Ctrl-X+Ctrl-S : save_file;    : SaveFile
  871. Ctrl-X+Ctrl-W : write_file;
  872. /* Ctrl-X+Ctrl-C : exit_level;   : Quit */
  873.  
  874. /* ---- Pane mgmt keys ------------------ */
  875. Ctrl-PgUp     : enlarge_window;
  876. /* Ctrl-X+^      : enlarge_window; parser failure */
  877. Alt-PgUp      : enlarge_window_horiz;
  878. /* Ctrl-X+@      : enlarge_window_horiz; parser failure */
  879. Ctrl-X+0      : kill_window;
  880. Alt-End       : next_window;
  881. Esc+End       : next_window;
  882. Ctrl-X+n      : next_window;
  883. Ctrl-X+N      : next_window;
  884. Ctrl-X+1      : one_window;
  885. Alt-Home      : previous_window;
  886. Esc+Home      : previous_window;
  887. Ctrl-X+p      : previous_window;
  888. Ctrl-X+P      : previous_window;
  889. Ctrl-PgDn     : shrink_window;
  890. Alt-PgDn      : shrink_window_horiz;
  891. Ctrl-X+2      : split_window;
  892. Ctrl-X+5      : split_window_vertically;
  893. END;
  894.  
  895. KEYBOARD Editor
  896. star  : LiteralChar('*');
  897. minus : LiteralChar('-');
  898. plus  : LiteralChar('+');
  899. enter : LiteralChar(13);
  900. space : LiteralChar(' ');
  901.  
  902.  
  903. /* Ctrl-G       : abort;                 not implemented */
  904. /* Esc          : alt_prefix;                 built into keyboard tables */
  905. Ctrl-Alt-w   : append_next_kill;
  906. Esc+Ctrl-w   : append_next_kill;
  907. /* Ctrl-U       : argument;                 not implemented */
  908. Ctrl-B        : backward_character;
  909. LfAr              : backward_character;
  910. Ctrl-H        : backward_delete_character;
  911. BkSp              : backward_delete_character;
  912. Alt-Del       : backward_kill_level;         /* point must be on ')', '}' or ']' */
  913. Esc+Del       : backward_kill_level;         /* point must be on ')', '}' or ']' */
  914. Ctrl-Alt-H    : backward_kill_word;
  915. Alt-BkSp      : backward_kill_word;
  916. Esc+BkSp      : backward_kill_word;
  917. Esc+Ctrl-H    : backward_kill_word;
  918. Ctrl-Alt-B    : backward_level;                 /* point must be on ')', '}' or ']' */
  919. Esc+Ctrl-B    : backward_level;                 /* point must be on ')', '}' or ']' */
  920. /* Alt-[         : backward_paragraph;         not implemented */
  921. Alt-UpAr      : MoveToPane(0);
  922. /* Alt-A         : backward_sentence;         not implemented */
  923. /* Ctrl-UpAr     : backward_sentence;         not implemented */
  924. Alt-b         : backward_word;
  925. Esc+@b         : backward_word;
  926. Ctrl-LfAr     : backward_word;
  927. Ctrl-A        : beginning_of_line;
  928. Alt-LfAr      : MoveToPane(2);
  929. Esc+LfAr      : beginning_of_line;
  930. Alt-,              : beginning_of_window;
  931. Esc+,              : beginning_of_window;
  932. Home          : beginning_of_window;
  933. /* F4            : bind_to_key;                 not implemented */
  934. /* Ctrl-X+Ctrl-B : bufed;                 not implemented */
  935. Alt-c         : capitalize_word;
  936. Esc+@c        : capitalize_word;
  937. /* Alt-S         : center_line;                 not implemented */
  938. Ctrl-L        : center_window;
  939. /* Alt-~         : change_modified;         not implemented */
  940. /* Ctrl-F2       : compare_windows;         not implemented */
  941. /* Ctrl-X+@C     : compare_windows;         not implemented */
  942. Alt-w        : copy_region;
  943. Esc+@w       : copy_region;
  944. /* Ctrl-X+@L     : count_lines;                 not implemented */
  945. /* Ctrl-^        : ctrl-prefix;                 not implemented */
  946. /* Ctrl-X+Ctrl-O : delete_blank_lines;         not implemented */
  947. Ctrl-D        : delete_character;
  948. Del           : delete_character;
  949. Alt-\              : delete_horizontal_space;
  950. Esc+\              : delete_horizontal_space;
  951. /* Ctrl-X+d   : dired;                   not implemented */
  952. /* Ctrl-X+D   : dired;                   not implemented */
  953. /* F1+C              : describe_command;         not implemented */
  954. /* F1+K              : describe_key;                 not implemented */
  955. /* Ctrl-X+@D     : dired;                 not implemented */
  956. Tab           : do_c_indent;                 /* inserts a TAB character */
  957. Ctrl-N        : down_line;
  958. DnAr              : down_line;
  959. Ctrl-X+)      : end_kbd_macro; /* N.B. must duplicate this due to quirk in keymap processor */
  960. Ctrl-E        : end_of_line;
  961. Alt-RgAr      : MoveToPane(3);
  962. Esc+RgAr      : end_of_line;
  963. Alt-.         : end_of_window;
  964. Esc+.         : end_of_window;
  965. End           : end_of_window;
  966. /* Ctrl-X+^      : enlarge_window; parser failure */
  967. /* Ctrl-X+@      : enlarge_window_horiz; parser failure */
  968. Ctrl-M              : enter_key;
  969. Ctrl-X+Ctrl-X : exchange_point_and_mark;
  970. /* Ctrl-X+Ctrl-C : exit; */
  971. /* Ctrl-X+Ctrl-Z : exit_level; */
  972. /* Alt-Q         : fill_paragraph;         not implemented */
  973. Alt-)              : find_delimiter;                 /* same as backward_level */
  974. Esc+)              : find_delimiter;                 /* same as backward_level */
  975. Ctrl-X+Ctrl-F : find_file;
  976. Ctrl-F        : forward_character;
  977. RgAr              : forward_character;
  978. Ctrl-Alt-F    : forward_level;                 /* point must be on '(', '{' or '[' */
  979. Esc+Ctrl-F    : forward_level;                 /* point must be on '(', '{' or '[' */
  980. /* Alt-]         : forward_paragraph;         not implemented */
  981. Alt-DnAr      : MoveToPane(1);
  982. /* Alt-E         : forward_sentence;         not implemented */
  983. /* Ctrl-DnAr     : forward_sentence;         not implemented */
  984. Alt-f        : forward_word;
  985. Esc+@f       : forward_word;
  986. Ctrl-RgAr     : forward_word;
  987. Alt-<         : goto_beginning;
  988. Esc+<         : goto_beginning;
  989. Ctrl-Home     : goto_beginning;
  990. Alt->         : goto_end;
  991. Esc+>         : goto_end;
  992. Ctrl-End      : goto_end;
  993. Ctrl-X+g     : goto_line;
  994. Ctrl-X+G     : goto_line;
  995. Ctrl-X+.      : goto_tag;
  996. Alt-?              : help;
  997. Esc+?              : help;
  998. Ctrl-_              : help;
  999. Ctrl-S              : incremental_search;
  1000. /* Tab           : indent_previous;         not implemented */
  1001. Ctrl-Alt-\    : indent_region;                 /* same as indent_rigidly */
  1002. Esc+Ctrl-\    : indent_region;                 /* same as indent_rigidly */
  1003. Ctrl-X+Ctrl-I : indent_rigidly;
  1004. Ctrl-X+Tab    : indent_rigidly;
  1005. Alt-Tab       : indent_under;
  1006. Esc+Tab       : indent_under;
  1007. Ctrl-X+i      : insert_file;
  1008. Ctrl-X+I      : insert_file;
  1009. /* Ctrl-X+@K     : kill_buffer;                 not implemented */
  1010. Ctrl-Alt-K    : kill_level;                 /* point must be on '(', '{' or '[' */
  1011. Esc+Ctrl-K    : kill_level;                 /* point must be on '(', '{' or '[' */
  1012. Ctrl-K        : kill_line;
  1013. Ctrl-W        : kill_region;
  1014. /* Alt-K         : kill_sentence;         not implemented */
  1015. Ctrl-X+0      : kill_window;  /* N.B. must duplicate this due to quirk in keymap processor */
  1016. Alt-d        : kill_word;
  1017. Esc+@d        : kill_word;
  1018. Ctrl-X+e      : last_kbd_macro; /* N.B. must duplicate this due to quirk in keymap processor */
  1019. Ctrl-X+E      : last_kbd_macro; /* N.B. must duplicate this due to quirk in keymap processor */
  1020. /* F3            : load_bytes;                 not implemented */
  1021. Alt-l              : lower_case_word;
  1022. Esc+@l              : lower_case_word;
  1023. Ctrl-X+m     : make;
  1024. Ctrl-X+M     : make;
  1025. /* Alt-H         : mark_paragraph;         not implemented */
  1026. /* Space         : maybe_break_line;         not implemented */
  1027. /* Ctrl-X+Alt-N  : name_kbd_macro;         not implemented */
  1028. Alt-x        : named_command;
  1029. Esc+@x        : named_command;
  1030. F2              : named_command;
  1031. Ctrl-X+Ctrl-N : next_error;
  1032. Ctrl-V        : next_page;
  1033. PgDn              : next_page;
  1034. /* Ctrl-F5       : next_video;                 not implemented */
  1035. Esc+End       : next_window;  /* N.B. must duplicate this due to quirk in keymap processor */
  1036. Ctrl-X+n      : next_window;  /* N.B. must duplicate this due to quirk in keymap processor */
  1037. Ctrl-X+N      : next_window;  /* N.B. must duplicate this due to quirk in keymap processor */
  1038. Ctrl-X+1      : one_window;   /* N.B. must duplicate this due to quirk in keymap processor */
  1039. Ctrl-O        : open_line;
  1040. Ins              : overwrite_mode;
  1041. Ctrl-X+,      : pluck_tag;
  1042. Alt-v        : previous_page;
  1043. Esc+@v        : previous_page;
  1044. PgUp              : previous_page;
  1045. Esc+Home      : previous_window;  /* N.B. must duplicate this due to quirk in keymap processor */
  1046. Ctrl-X+p      : previous_window;  /* N.B. must duplicate this due to quirk in keymap processor */
  1047. Ctrl-X+P      : previous_window;  /* N.B. must duplicate this due to quirk in keymap processor */
  1048. Ctrl-X+Ctrl-E : push;
  1049. Alt-%      : query_replace;
  1050. Esc+%      : query_replace;
  1051. Ctrl-Q        : quoted_insert;
  1052. Ctrl-X+r     : _redo;
  1053. Ctrl-X+R     : _redo;
  1054. F10           : _redo;
  1055. Ctrl-F10      : redo_changes;                 /* same as redo */
  1056. Ctrl-X+Ctrl-R : redo_changes;                 /* same as redo */
  1057. Alt-*              : regex_replace;
  1058. Esc+*              : regex_replace;
  1059. Ctrl-Alt-S    : regex_search;
  1060. Esc+Ctrl-S    : regex_search;
  1061. Alt-&              : replace_string; : Replace
  1062. Esc+&              : replace_string;
  1063. Ctrl-R              : reverse_incremental_search;
  1064. Ctrl-Alt-R    : reverse_regex_search;
  1065. Esc+Ctrl-R    : reverse_regex_search;
  1066. Ctrl-X+s     : save_all_buffers;
  1067. Ctrl-X+S     : save_all_buffers;
  1068. Ctrl-X+Ctrl-S : save_file;  /* N.B. must duplicate this due to quirk in keymap processor */
  1069. Alt-Z         : scroll_down;
  1070. Esc+Z         : scroll_down;
  1071. /* Alt-{         : scroll_left;                 not implemented */
  1072. /* Alt-}         : scroll_right;         not implemented */
  1073. Ctrl-Z        : scroll_up;
  1074. Ctrl-X+B      : BufferList; : BufferList
  1075. Ctrl-X+b      : BufferList;
  1076. /* Ctrl-X+Alt,   : select_tag_file;         not implemented */
  1077. /* Ctrl-X+F      : set_fill_column;         not implemented */
  1078. Ctrl-@        : set_mark;
  1079. Ctrl-Shift-2  : set_mark;
  1080. Ctrl-2  : set_mark;
  1081. Alt-@         : set_mark;
  1082. Alt-2   : set_mark;
  1083. Alt-Shift-2   : set_mark;
  1084. Esc+@@        : set_mark;
  1085. /* F8            : set_variable;         not implemented */
  1086. /* Alt-F5        : set_video;                 not implemented */
  1087. /* Ctrl-X+=      : show_point;                 not implemented */
  1088. /* Ctrl-F8       : show_variable;         not implemented */
  1089. Ctrl-X+2      : split_window;  /* N.B. must duplicate this due to quirk in keymap processor */
  1090. Ctrl-X+5      : split_window_vertically; /* N.B. must duplicate this due to quirk in keymap processor */
  1091. Ctrl-X+(      : start_kbd_macro; /* N.B. must duplicate this due to quirk in keymap processor */
  1092. /* Ctrl-X+Ctrl-M : start_process;         not implemented */
  1093. /* Ctrl-C              : stop_process;         not implemented */
  1094. /* Ctrl-X+Ctrl-Alt-I
  1095.               : tabify_region;                 not implemented */
  1096. /* Ctrl-X+Alt-Tab
  1097.               : tabify_region;                 not implemented */
  1098. /* Ctrl-X+Alt-.  : tag_files;                 not implemented */
  1099. Alt-m        : to_indentation;
  1100. Esc+m        : to_indentation;
  1101. Esc+M        : to_indentation;
  1102. Ctrl-T              : transpose_characters;
  1103. Ctrl-X+Ctrl-T : transpose_lines;
  1104. Alt-t        : transpose_words;
  1105. Esc+t        : transpose_words;
  1106. Esc+T        : transpose_words;
  1107. Ctrl-X+u     : _undo;
  1108. Ctrl-X+U     : _undo;
  1109. F9            : _undo;
  1110. Ctrl-F9       : undo_changes;                 /* same as undo */
  1111. Ctrl-X+Ctrl-U : undo_changes;                 /* same as undo */
  1112. /* Ctrl_X+Alt-I  : untabify_region;         not implemented */
  1113. Ctrl-P        : up_line;
  1114. UpAr              : up_line;
  1115. Alt-U              : upper_case_word;
  1116. Esc+U              : upper_case_word;
  1117. /* Ctrl-X+Ctrl-V : visit_file;                 not implemented */
  1118. Ctrl-X+Ctrl-W : write_file; /* N.B. must duplicate this due to quirk in keymap processor */
  1119. Ctrl-X+w     : write_region;
  1120. Ctrl-X+W     : write_region;
  1121. /* Ctrl-F3       : write_state;                 not implemented */
  1122. Ctrl-Y        : yank;
  1123. END;
  1124.  
  1125. KEYBOARD MessageWindow
  1126. space : MsgViewSrc; : MsgViewSrc
  1127. enter : MsgEditSrc; : MsgEditSrc
  1128. END;
  1129.  
  1130. KEYBOARD BreakpointView
  1131. ctrl-P : DebugDetailBreakList; : DebugDetailBreakList
  1132. ctrl-I : DebugInspectBreakList; : DebugInspectBreakList
  1133. ctrl-E : DebugEditBreakList; : DebugEditBreakList
  1134. ctrl-R : DebugRemoveBreakList; : DebugRemoveBreakList
  1135. ctrl-A : DebugAddAtLineBreakList; : DebugAddAtLineBreakList
  1136. /*
  1137. ctrl-W : DebugAddWinMsg; : DebugAddWinMsgBreakList
  1138. */
  1139. END;
  1140.  
  1141. KEYBOARD CallStack
  1142. ctrl-I : DebugInspectCallStack; : DebugInspectCallStack
  1143. ctrl-E : DebugEditCallStack; : DebugEditCallStack
  1144. END;
  1145.  
  1146. KEYBOARD DataInspector
  1147. ctrl-R : DebugRangeInspect; : DebugRangeInspect
  1148. ctrl-C : DebugChange; : DebugChange
  1149. ctrl-I : DebugInspectData; : DebugInspectData
  1150. ctrl-D : DebugDescend; : DebugDescend
  1151. ctrl-N : DebugNewExpr; : DebugNewExpr
  1152. ctrl-T : DebugTypecast; : DebugTypecast
  1153. END;
  1154.  
  1155. KEYBOARD DebugLog
  1156. ctrl-C : DebugCaptureLog; : DebugCaptureLog
  1157. ctrl-O : DebugLogOptions; : DebugLogOptions
  1158. ctrl-A : DebugCommentLog; : DebugCommentLog
  1159. ctrl-E : DebugEraseLog; : DebugEraseLog
  1160. END;
  1161.  
  1162. KEYBOARD RegisterView
  1163. ctrl-H : DebugHexReg; : DebugHexReg
  1164. ctrl-D : DebugDecimalReg; : DebugDecimalReg
  1165. ctrl-W : DebugWordReg; : DebugWordReg
  1166. ctrl-U : DebugDWordReg; : DebugDWordReg
  1167. END;
  1168.  
  1169. KEYBOARD WatchView
  1170. ctrl-P : DebugDetailWatchList; : DebugDetailWatchList
  1171. ctrl-R : DebugRemoveWatchList; : DebugRemoveWatchList
  1172. ctrl-A : DebugAddWatchList; : DebugAddWatchList
  1173. END;
  1174.  
  1175. KEYBOARD ProjectWindow
  1176. enter    : ProjectNodeAction;
  1177. plus     : ProjectExpandNode;
  1178. minus    : ProjectCollapseNode;
  1179. space    : ProjectNodeToggle;
  1180. esc      : ProjectEndNodeSearch;
  1181. upar     : ProjectNodeUp;
  1182. dnar     : ProjectNodeDown;
  1183. home     : ProjectFirstNode;
  1184. end      : ProjectLastNode;
  1185. pgup     : ProjectPrevPage;
  1186. pgdn     : ProjectNextPage;
  1187. alt-lfar : ProjectPromoteNode;
  1188. alt-rgar : ProjectDemoteNode;
  1189. alt-upar : ProjectMoveUp;
  1190. alt-dnar : ProjectMoveDown;
  1191. END;
  1192.  
  1193.  
  1194.