dos_compilers/Borland Turbo Pascal v7/BIN/EPSILON.TEM
2024-07-02 08:21:37 -07:00

410 lines
7.9 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Script EPSILON;
/***********************************************************************
Epsilon editor emulation for Borland/Turbo Pascal IDE.
This file contains a Turbo Editor Macro Language (TEML)
script which emulates the Epsilon programmer's editor in the Borland/Turbo
Pascal IDE. A complete description of the TEML language and the Turbo
Editor Macro Compiler (TEMC) can be found in the file "TEMC.DOC".
The TEMC compiler can be invoked from the DOS command line at
follows:
temc [-c] epsilon.tem <IDE configuration file><.CMD><.TP>
The optional -c switch can also be specified as /c, and can appear in
any argument position on the command line. If you use this option,
any existing command table in your configuration file is thrown away
before the script file is merged with those already defined. The
configuration file extension must be specified as TEMC will modify both DOS
and Windows IDEs config files. Specify .CMD or .TP extentions for Windows
or DOS IDE, respectively. If the .CMD file does not exist, it will be
created. The .TP file must exist, or an error is displayed.
Most of the simple Epsilon commands have been fully implemented. Most
of the complex command have been either partially implemented or not
implemented at all. The TEML macros names correspond to the names in
the Espilon default macro set. Below is a list of the commands that
have been fully or partially implemented.
IDE Binding Epsilon Command Comments
----------- --------------- -------------------------
Ctrl-B backward_character
Ctrl-H backward_delete_character
Alt-B backward_word
Ctrl-A beginning_of_line
Home beginning_of_window
Ctrl-L center_window
Ctrl-D delete_character
Ctrl-N down_line
Tab do_c_indent
Ctrl-E end_of_line
End end_of_window
Ctrl-X+Ctrl-X exchange_point_and_mark
Ctrl-X+Ctrl-C Quit;
Ctrl-X+Ctrl-Z exit_level Leaves editor - Enables Menus
Ctrl-X+Ctrl-F find_file
Ctrl-F forward_character
Ctrl-Home goto_beginning
Ctrl-End goto_end
Ctrl-X+@i insert_file
Ctrl-K kill_line Uses Block-copy - Allowing yanking
Ctrl-W kill_region
Ctrl-X+0 kill_window
Ctrl-X+Ctrl-N next_error
Ctrl-V next_page
Ctrl-O open_line
Alt-V previous_page
Ctrl-Q quoted_insert
Ctrl-X+@r redo
Ctrl-S+Ctrl-S RepeatSearch
Ctrl-X+@u undo
Ctrl-X+Ctrl-S save_file
Alt-Z scroll_down
Ctrl-Z scroll_up
Ctrl-X+Ctrl-M set_mark
Ctrl-S string_search
Ctrl-P up_line
Ctrl-X+@w write_region
Ctrl-Y yank
Alt-Y yank_pop Displays the Clipboard
********************************************************************/
/*******************************************************************
TEML SCRIPTS TO EMULATE EPSILON FROM THE BORLAND PASCAL IDE
*******************************************************************/
macro backward_character
CursorSwitchedLeft;
end;
macro backward_delete_character
BackSpaceDelete;
end;
macro backward_word
WordLeft;
end;
macro beginning_of_line
LeftOfLine;
end;
macro beginning_of_window
TopOfScreen;
end;
macro center_window
SetTempPos;
ScrollScreenUp;
CenterFixScreenPos;
ScrollScreenDown;
CenterFixScreenPos;
PageScreenUp;
CenterFixScreenPos;
PageScreenDown;
CenterFixScreenPos;
MoveToTempPos;
end;
macro delete_character
DeleteChar;
end;
macro do_c_indent
LiteralChar( 9 );
end;
macro down_line
CursorDown;
end;
macro end_of_line
RightOfLine;
end;
macro end_of_window
BottomOfScreen;
end;
macro exchange_point_and_mark
SwapPrevPos;
CenterFixScreenPos;
end;
macro exit_level
Quit;
end;
macro find_delimiter
MatchPairForward;
end;
macro find_file
OpenFile;
end;
macro forward_character
CursorSwitchedRight;
end;
macro forward_level
MatchPairForward;
end;
macro goto_beginning
HomeCursor;
end;
macro goto_end
EndCursor;
end;
macro insert_file
SetPrevPos;
HideBlock;
ReadBlock;
end;
/* The kill_line Macro does not use the built-in DeleteToEOL TEML macro */
/* but rather makes a highlighted block out the line, cuts the block into */
/* the clipboard, thereby allowing 'yank'ing of deleted lines. This method*/
/* however, requires that delete_character be used when empty lines ( lines*/
/* containing only a LineFeed character ) are to be deleted... */
macro kill_line
SetTempPos;
SetBlockBeg;
end_of_line;
SetBlockEnd;
MoveToTempPos;
HighlightBlock;
ClipCut;
end;
macro kill_region
SwapPrevPos;
SetBlockBeg;
SwapPrevPos;
SetBlockEnd;
HighlightBlock;
ClipCut;
end;
macro kill_window
CloseWindow;
end;
macro next_error
NextError;
end;
macro next_page
PageDown;
end;
macro next_window
NextWindow;
end;
macro open_line
LiteralChar( 13 );
CursorSwitchedLeft;
end;
macro previous_page
PageUp;
end;
macro query_replace
Replace;
end;
macro quoted_insert
LiteralChar;
end;
macro save_file
SaveFile;
end;
macro scroll_down
ScrollScreenDown;
FixCursorPos;
end;
macro scroll_up
ScrollScreenUp;
FixCursorPos;
end;
macro set_mark
HideBlock;
SetPrevPos;
end;
macro string_search
SearchMenu;
end;
macro up_line
CursorUp;
end;
macro write_region
HideBlock;
SwapPrevPos;
SetBlockBeg;
SwapPrevPos;
SetBlockEnd;
HighlightBlock;
WriteBlock;
end;
macro yank
HideBlock;
ClipPaste;
end;
macro yank_pop
ClipShow;
end;
Ctrl-B :backward_character;
Ctrl-H :backward_delete_character;
Alt-B :backward_word;
Ctrl-A :beginning_of_line;
Home :beginning_of_window;
Ctrl-L :center_window;
Ctrl-D :delete_character;
Ctrl-N :down_line;
Tab :do_c_indent;
Ctrl-E :end_of_line;
End :end_of_window;
Ctrl-X+Ctrl-X :exchange_point_and_mark;
Ctrl-X+Ctrl-C :Quit;
Ctrl-X+Ctrl-Z :exit_level;
Ctrl-X+Ctrl-F :find_file;
Ctrl-F :forward_character;
Ctrl-Home :goto_beginning;
Ctrl-End :goto_end;
Ctrl-X+@i :insert_file;
Ctrl-K :kill_line;
Ctrl-W :kill_region;
Ctrl-X+0 :kill_window;
Ctrl-X+@m :make;
/* The following is a non-Epsilon MACRO which can be usefully combined with */
/* the insert_file macro to compensate for the fact that TEML's ReadBlock */
/* internal MACRO leaves point at the beginning of the block just read. */
/* Epsilon leaves point at the end of the block inserted. This MACRO allows*/
/* one to quickly move to the end of the block inserted... */
Ctrl-X+Ctrl-K :Begin
MoveToBlockEnd;
center_window;
HideBlock;
End;
Ctrl-X+Ctrl-N :next_error;
Ctrl-V :next_page;
Ctrl-O :open_line;
Alt-V :previous_page;
Ctrl-Q :quoted_insert;
Ctrl-X+@r :redo;
Ctrl-S+Ctrl-S :RepeatSearch;
Ctrl-X+@u :undo;
Ctrl-X+Ctrl-S :save_file;
Alt-Z :scroll_down;
Ctrl-Z :scroll_up;
Ctrl-X+Ctrl-M :set_mark;
Ctrl-S :string_search;
Ctrl-P :up_line;
Ctrl-X+@w :write_region;
Ctrl-Y :yank;
Alt-Y :yank_pop;