home *** CD-ROM | disk | FTP | other *** search
/ The Devil's Doorknob BBS Capture (1996-2003) / devilsdoorknobbbscapture1996-2003.iso / Dloads / OTHERUTI / TCPP30-3.ZIP / DOC.ZIP / EPSILON.TEM < prev    next >
Text File  |  1992-02-18  |  10KB  |  491 lines

  1. Script  EPSILON;
  2.  
  3.  
  4. /***********************************************************************
  5.  
  6.             Epsilon editor emulation for Borland C++ IDE.
  7.  
  8.     This file contains a Turbo Editor Macro Language (TEML)
  9. script which emulates the Epsilon programmer's editor in the Borland
  10. C++ IDE.  A complete description of the TEML language and the Turbo
  11. Editor Macro Compiler (TEMC) can be found in the file "UTIL.DOC".
  12.  
  13.     The TEMC compiler can be invoked from the DOS command line at
  14. follows:
  15.  
  16.       temc [-c] epsilon.tem <IDE configuration file>
  17.  
  18. The optional -c switch can also be specified as /c, and can appear in
  19. any argument position on the command line. If you use this option,
  20. any existing command table in your configuration file is thrown away
  21. before the script file is merged with those already defined. The
  22. configuration file extensions is assumed to be .TC.  The configuration
  23. file need not exist. If it does not exist, it is created. 
  24. tcconfig.tc is the main configuration file.
  25.  
  26. Most of the simple Epsilon commands have been fully implemented.  Most
  27. of the complex command have been either partially implemented or not
  28. implemented at all.  The TEML macros names correspond to the names in
  29. the Espilon default macro set.  Below is a list of the commands that
  30. have been fully or partially implemented.
  31.  
  32. IDE Binding   Epsilon Command            Comments
  33. -----------   ---------------            -------------------------
  34. Ctrl-B        backward_character         
  35. Ctrl-H        backward_delete_character  
  36. Alt-B         backward_word      
  37. Ctrl-A        beginning_of_line      
  38. Home          beginning_of_window    
  39. Ctrl-L        center_window      
  40. Alt-W         copy_region        
  41. Esc+@w        copy_region        
  42. Ctrl-D        delete_character
  43. Ctrl-N        down_line
  44. Tab           do_c_indent
  45. Ctrl-E        end_of_line
  46. End           end_of_window
  47. Ctrl-X+Ctrl-X exchange_point_and_mark
  48. Ctrl-X+Ctrl-C Quit;
  49. Ctrl-X+Ctrl-Z exit_level                 Leaves editor - Enables Menus
  50. Ctrl-X+Ctrl-F find_file
  51. Ctrl-F        forward_character
  52. Alt-F         forward_word
  53. Esc+@f        forward_word
  54. Ctrl-Home     goto_beginning
  55. Esc+<         goto_beginning
  56. Ctrl-End      goto_end
  57. Esc+>         goto_end
  58. Ctrl-X+@i     insert_file
  59. Ctrl-K        kill_line                  Uses Block-copy - Allowing yanking
  60. Ctrl-W        kill_region
  61. Ctrl-X+0      kill_window
  62. Alt-D         kill_word                  Does not allow for yanking
  63. Esc+d         kill_word
  64. Esc+D         kill_word
  65. Ctrl-X+@m     make
  66. Alt-X         named_command
  67. Ctrl-X+Ctrl-N next_error                
  68. Ctrl-V        next_page
  69. Ctrl-O        open_line
  70. Alt-V         previous_page
  71. Esc+@v        previous_page
  72. Ctrl-Q        quoted_insert
  73. Ctrl-X+@r     redo
  74. F10           redo
  75. Ctrl-S+Ctrl-S RepeatSearch
  76. Ctrl-X+@u     undo
  77. F9            undo
  78. Ctrl-X+Ctrl-S save_file
  79. Alt-Z         scroll_down
  80. Esc+@z        scroll_down
  81. Ctrl-Z        scroll_up
  82. Ctrl-X+Ctrl-M set_mark
  83. Ctrl-S        string_search
  84. Ctrl-P        up_line
  85. Ctrl-X+@w     write_region
  86. Ctrl-Y        yank
  87. Alt-Y         yank_pop                   Displays the Clipboard
  88.  
  89. ********************************************************************/
  90.  
  91. /*******************************************************************
  92.         TEML SCRIPTS TO EMULATE EPSILON FROM THE BORLAND C++ IDE     
  93.  *******************************************************************/
  94.  
  95.  
  96. macro   backward_character
  97.     CursorSwitchedLeft;
  98. end;
  99.  
  100.  
  101. macro   backward_delete_character
  102.     BackSpaceDelete;
  103. end;
  104.  
  105.  
  106. macro   backward_word
  107.     WordLeft;
  108. end;
  109.  
  110.  
  111. macro   beginning_of_line
  112.     LeftOfLine;
  113. end;
  114.  
  115.  
  116. macro   beginning_of_window
  117.     TopOfScreen;
  118. end;
  119.  
  120.  
  121. macro   center_window
  122.     SetTempPos;
  123.     ScrollScreenUp;
  124.     CenterFixScreenPos;
  125.     ScrollScreenDown;
  126.     CenterFixScreenPos;
  127.     PageScreenUp;
  128.     CenterFixScreenPos;
  129.     PageScreenDown;
  130.     CenterFixScreenPos;
  131.     MoveToTempPos;
  132. end;
  133.  
  134.  
  135. macro   copy_region
  136.     HideBlock;
  137.     SwapPrevPos;
  138.     SetBlockBeg;
  139.     SwapPrevPos;
  140.     SetBlockEnd;
  141.     HighlightBlock;
  142.     ClipCopy;
  143. end;
  144.  
  145.  
  146. macro   delete_character
  147.     DeleteChar;
  148. end;
  149.  
  150.  
  151. macro   do_c_indent
  152.     LiteralChar( 9 );
  153. end;
  154.  
  155.  
  156. macro   down_line
  157.     CursorDown;
  158. end;
  159.  
  160.  
  161. macro   end_of_line
  162.     RightOfLine;
  163. end;
  164.  
  165.  
  166. macro   end_of_window
  167.     BottomOfScreen;
  168. end;
  169.  
  170.  
  171. macro   exchange_point_and_mark
  172.     SwapPrevPos;
  173.     CenterFixScreenPos;
  174. end;
  175.  
  176.  
  177. macro   exit_level
  178.     Quit;
  179. end;
  180.  
  181.  
  182. macro   find_delimiter
  183.     MatchPairForward;
  184. end;
  185.  
  186.  
  187. macro   find_file
  188.     OpenFile;
  189. end;
  190.  
  191.  
  192. macro   forward_character
  193.     CursorSwitchedRight;
  194. end;
  195.  
  196.  
  197. macro   forward_level
  198.     MatchPairForward;
  199. end;
  200.  
  201.  
  202. macro   forward_word
  203.     WordRight;
  204. end;
  205.  
  206.  
  207. macro   goto_beginning
  208.     HomeCursor;
  209. end;
  210.  
  211.  
  212. macro   goto_end
  213.     EndCursor;
  214. end;
  215.  
  216.  
  217. macro   insert_file
  218.     SetPrevPos;
  219.     HideBlock;
  220.     ReadBlock;
  221. end;
  222.  
  223.  
  224. /*  The kill_line Macro does not use the built-in DeleteToEOL TEML macro    */
  225. /*  but rather makes a highlighted block out the line, cuts the block into  */
  226. /*  the clipboard, thereby allowing 'yank'ing of deleted lines.  This method*/
  227. /*  however, requires that delete_character be used when empty lines ( lines*/
  228. /*  containing only a LineFeed character ) are to be deleted...             */
  229. macro   kill_line
  230.     SetTempPos;
  231.     SetBlockBeg;
  232.     end_of_line;
  233.     SetBlockEnd;
  234.     MoveToTempPos;
  235.     HighlightBlock;
  236.     ClipCut;
  237. end;
  238.  
  239.  
  240. macro   kill_region
  241.     SwapPrevPos;
  242.     SetBlockBeg;
  243.     SwapPrevPos;
  244.     SetBlockEnd;
  245.     HighlightBlock;
  246.     ClipCut;
  247. end;
  248.  
  249.  
  250. macro   kill_window
  251.     CloseWindow;
  252. end;
  253.  
  254.  
  255. macro   kill_word
  256.     DeleteWord;
  257. end;
  258.  
  259.  
  260. macro   make
  261.     MakeProject;
  262. end;
  263.  
  264.  
  265. macro   named_command
  266.     Menu;
  267. end;
  268.  
  269.  
  270. macro   next_error
  271.     NextError;
  272. end;
  273.  
  274.  
  275. macro   next_page
  276.     PageDown;
  277. end;
  278.  
  279.  
  280. macro   next_window
  281.     NextWindow;
  282. end;
  283.  
  284.  
  285. macro   open_line
  286.     LiteralChar( 13 );
  287.     CursorSwitchedLeft;
  288. end;
  289.  
  290.  
  291. macro   previous_page
  292.     PageUp;
  293. end;
  294.  
  295.  
  296. macro   query_replace
  297.     Replace;
  298. end;
  299.  
  300.  
  301. macro   quoted_insert
  302.     LiteralChar;
  303. end;
  304.  
  305.  
  306. macro   save_file
  307.     SaveFile;
  308. end;
  309.  
  310.  
  311. macro   scroll_down
  312.     ScrollScreenDown;
  313.     FixCursorPos;
  314. end;
  315.  
  316.  
  317. macro   scroll_up
  318.     ScrollScreenUp;
  319.     FixCursorPos;
  320. end;
  321.  
  322.  
  323. macro   set_mark
  324.     HideBlock;
  325.     SetPrevPos;
  326. end;
  327.  
  328.  
  329. macro   string_search
  330.     SearchMenu;
  331. end;
  332.  
  333.  
  334. macro   up_line
  335.     CursorUp;
  336. end;
  337.  
  338.  
  339. macro   write_region
  340.     HideBlock;
  341.     SwapPrevPos;
  342.     SetBlockBeg;
  343.     SwapPrevPos;
  344.     SetBlockEnd;
  345.     HighlightBlock;
  346.     WriteBlock;
  347. end;
  348.  
  349.  
  350. macro   yank
  351.     HideBlock;
  352.     ClipPaste;
  353. end;
  354.  
  355.  
  356. macro   yank_pop
  357.     ClipShow;
  358. end;
  359.  
  360.  
  361.  
  362. Ctrl-B          :backward_character;
  363.  
  364. Ctrl-H          :backward_delete_character;
  365.  
  366. Alt-B           :backward_word;
  367.  
  368. Ctrl-A          :beginning_of_line;
  369.  
  370. Home            :beginning_of_window;
  371.  
  372. Ctrl-L          :center_window;
  373.  
  374. Alt-W           :copy_region;
  375. Esc+@w          :copy_region;
  376.  
  377. Ctrl-D          :delete_character;
  378.  
  379. Ctrl-N          :down_line;
  380.  
  381. Tab             :do_c_indent;
  382.  
  383. Ctrl-E          :end_of_line;
  384.  
  385. End             :end_of_window;
  386.  
  387. Ctrl-X+Ctrl-X   :exchange_point_and_mark;
  388.  
  389. Ctrl-X+Ctrl-C   :Quit;
  390.  
  391. Ctrl-X+Ctrl-Z   :exit_level;
  392.  
  393. Ctrl-X+Ctrl-F   :find_file;
  394.  
  395. Ctrl-F          :forward_character;
  396.  
  397. Alt-F           :forward_word;
  398. Esc+@f          :forward_word;
  399.  
  400. Ctrl-Home       :goto_beginning;
  401. Esc+<           :goto_beginning;
  402.  
  403.  
  404. Ctrl-End        :goto_end;
  405. Esc+>           :goto_end;
  406.  
  407.  
  408. Ctrl-X+@i       :insert_file;
  409.  
  410. Ctrl-K          :kill_line;
  411.  
  412. Ctrl-W          :kill_region;
  413.  
  414.  
  415. Ctrl-X+0        :kill_window;
  416.  
  417. Alt-D           :kill_word;
  418. Esc+d           :kill_word;
  419. Esc+D           :kill_word;
  420.  
  421. Ctrl-X+@m       :make;
  422.  
  423.  
  424. /* The following is a non-Epsilon MACRO which can be usefully combined with */
  425. /* the insert_file macro to compensate for the fact that TEML's ReadBlock   */
  426. /* internal MACRO leaves point at the beginning of the block just read.     */
  427. /* Epsilon leaves point at the end of the block inserted.  This MACRO allows*/
  428. /* one to quickly move to the end of the block inserted...                  */
  429. Ctrl-X+Ctrl-K   :Begin
  430.                     MoveToBlockEnd;
  431.                     center_window;
  432.                     HideBlock;
  433.                  End;
  434.  
  435. Alt-X           :named_command;
  436.  
  437. Ctrl-X+Ctrl-N   :next_error;
  438.  
  439. Ctrl-V          :next_page;
  440.  
  441. Ctrl-O          :open_line;
  442.  
  443. Alt-V           :previous_page;
  444. Esc+@v          :previous_page;
  445.  
  446. Ctrl-Q          :quoted_insert;
  447.  
  448. Ctrl-X+@r       :redo;
  449. F10             :redo;
  450.  
  451. Ctrl-S+Ctrl-S   :RepeatSearch;
  452.  
  453. Ctrl-X+@u       :undo;
  454. F9              :undo;
  455.  
  456. Ctrl-X+Ctrl-S   :save_file;
  457.  
  458. Alt-Z           :scroll_down;
  459. Esc+@z          :scroll_down;
  460.  
  461. Ctrl-Z          :scroll_up;
  462.  
  463. Ctrl-X+Ctrl-M   :set_mark;
  464.  
  465. Ctrl-S          :string_search;
  466.  
  467. Ctrl-P          :up_line;
  468.  
  469. Ctrl-X+@w       :write_region;
  470.  
  471. Ctrl-Y          :yank;
  472.  
  473. Alt-Y           :yank_pop;
  474.  
  475. /* These need to be redefined or TEMC needs to be changed to accept them
  476. Alt-,           :beginning_of_window
  477. Alt-.           :end_of_window;
  478. Alt-)           :find_delimiter;
  479. Ctrl-Alt-F      :forward_level;
  480. Alt-<           :goto_beginning;
  481. Alt->           :goto_end;
  482. Alt-End         :next_window;
  483. Esc+End         :next_window;
  484. Alt-%           :query_replace;
  485. Esc+%           :query_replace;
  486. Ctrl-@          :set_mark;
  487. */
  488.  
  489.  
  490.  
  491.