home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 5 Edit / 05-Edit.zip / ftes46b5.zip / ftes46b5 / config / ui_mew.fte < prev    next >
Text File  |  1997-06-01  |  31KB  |  870 lines

  1. # mew_ui.fte
  2. # FTE configuration file to mimic the Multi Edit for Windows UI
  3. #
  4.  
  5. # Basic Commands (Global) #FOLD00
  6. menu Window { #FOLD01
  7.     item "Split &Horizontal\tCtrl+F4" { WinHSplit }
  8.     item "&Close view\tCtrl+Alt+F4" { WinClose }
  9.     item "Close &other views\tF5" { WinZoom }
  10.     item;
  11.     item "Sa&ve Desktop" { DesktopSave }
  12.     item "Save Desktop &As" { DesktopSaveAs }
  13.     item;
  14.     item "&Routines\tCtrl+I" { ListRoutines }
  15.     item "&Buffers\tAlt+0" { ViewBuffers }
  16.     item "&Directory\tC+M" { DirOpen }
  17. }
  18.  
  19. menu Help { #FOLD01
  20.     item "&Keyboard" { ViewModeMap }
  21.     item;
  22.     item "&About..." { ShowVersion }
  23. }
  24.  
  25. eventmap MODEL { #FOLD01
  26.     key       [F1]      { ViewModeMap }
  27.     key     [C+F2]      { FileSaveAll }
  28.     key       [F3]      { FileOpen }
  29.     key       [F4]      { WinNext }
  30. #    key     [C+F4]      { WinHSplit }
  31.     key     [S+F4]      { WinPrev }
  32. #    key     [C+F4]      { WinClose }
  33.     key      [A+Z]      { WinZoom }
  34.     key       [F6]      { FileNext }
  35.     key     [S+F6]      { FilePrev }
  36.     key   [A+S-F6]      { FileLast }
  37.     key       [F10]     { MainMenu }
  38.     key     [C+F4]      { FileClose }
  39.     key     [C+F9]      { RunProgram }
  40.     key     [A+F9]      { RunProgram "" }
  41.     key     [S+F10]     { LocalMenu }
  42.     
  43.     key   [C+G-Up]      { WinPrev }
  44.     key   [C+G-Down]    { WinNext }
  45.     
  46.     key   [A+G-PgUp]    { WinPrev; MovePageUp; WinNext }
  47.     key   [A+G-PgDn]    { WinNext; MovePageDown; WinPrev }
  48.     key [A+C+G-PgUp]    { WinNext; MovePageUp; WinPrev }
  49.     key [A+C+G-PgDn]    { WinPrev; MovePageDown; WinNext }
  50.     
  51.     key     [A+X]       { ExitEditor }
  52.     
  53.     key   [C+S+G-Up]    { WinResize -1 }
  54.     key   [C+S+G-Down]  { WinResize +1 }
  55.     
  56.     # this is also useful for 'grep -n' etc. if configured
  57.     key       [F9]      { FileSaveAll; Compile "make"; ViewMessages }
  58.     key       [F11]     { CompilePrevError }
  59.     key       [F12]     { CompileNextError }
  60.     key       [S+F9]    { ViewMessages }
  61.     
  62.     key     [C+F6]      { ViewBuffers }
  63.     key     [A+1]       { SwitchTo 1 }
  64.     key     [A+2]       { SwitchTo 2 }
  65.     key     [A+3]       { SwitchTo 3 }
  66.     key     [A+4]       { SwitchTo 4 }
  67.     key     [A+5]       { SwitchTo 5 }
  68.     key     [A+6]       { SwitchTo 6 }
  69.     key     [A+7]       { SwitchTo 7 }
  70.     key     [A+8]       { SwitchTo 8 }
  71.     key     [A+9]       { SwitchTo 9 }
  72. }
  73. # List Viewers #FOLD00
  74. eventmap MLIST: MODEL {
  75.     key     [G-Left]    { MoveLeft }
  76.     key     [G-Right]   { MoveRight }
  77.     key     [G-Up]      { MoveUp }
  78.     key     [G-Down]    { MoveDown }
  79.     key     [G-Home]    { MoveFileStart }
  80.     key   [C+G-Home]    { MovePageStart }
  81.     key     [G-End]     { MoveFileEnd }
  82.     key   [C+G-End]     { MovePageEnd }
  83.     key     [G-PgUp]    { MovePageUp }
  84.     key   [C+G-PgUp]    { MoveFileStart }
  85.     key     [G-PgDn]    { MovePageDown }
  86.     key   [C+G-PgDn]    { MoveFileEnd }
  87.     key   [C+G-Left]    { ScrollLeft }
  88.     key   [C+G-Right]   { ScrollRight }
  89.     
  90.     key     [G-Enter]   { Activate }
  91.     key     [Space]     { ActivateInOtherWindow }
  92.     key     [S+G-Enter] { CloseActivate }
  93.  
  94.     key     [C+R]       { Rescan }
  95. }
  96. # Directory Browser  #FOLD00
  97. menu Directory { #FOLD01
  98.     item    "&Reload\tCtrl+R"         { Rescan }
  99.     item    "&Close\tCtrl+F10"        { FileClose }
  100.     item;
  101.     item    "&Open file...\tF3"       { FileOpen }
  102.     item;
  103.     item    "&Next\tF6"               { FileNext }
  104.     item    "&Previous\tShift+F6"     { FilePrev }
  105.     item;
  106.     item    "E&xit\tAlt+X"            { ExitEditor }
  107. }                              
  108.  
  109. menu Navigate { #FOLD01
  110.     item "Go &< level\tCtrl+PgUp"     { DirGoUp }
  111.     item "Go &> level\tCtrl+PgDn"   { DirGoDown }
  112.     item "Go to &\\\tCtrl+\\"          { DirGoRoot }
  113.     item "&/ Goto Dir\t/"    { DirGoto }
  114.     item;
  115.     item '&A:\\' { DirGoto 'A:\\' }
  116.     item '&B:\\' { DirGoto 'B:\\' }
  117.     item '&C:\\' { DirGoto 'C:\\' }
  118.     item '&D:\\' { DirGoto 'D:\\' }
  119.     item '&E:\\' { DirGoto 'E:\\' }
  120.     item '&F:\\' { DirGoto 'F:\\' }
  121.     item '&G:\\' { DirGoto 'G:\\' }
  122.     item '&H:\\' { DirGoto 'H:\\' }
  123.     item '&I:\\' { DirGoto 'I:\\' }
  124. }
  125.  
  126. menu DirMain { #FOLD01
  127.     submenu "&Directory", Directory;
  128.     submenu "&Navigate", Navigate;
  129.     submenu "&Tools", Tools;
  130.     submenu "&Window",  Window;
  131. }
  132.  
  133. eventmap DIRECTORY: MLIST { #FOLD01
  134.     MainMenu = 'DirMain';
  135.     
  136.     key [C+G-PgUp]      { DirGoUp }
  137.     key [C+G-PgDn]      { DirGoDown }
  138.     key [C+\\]          { DirGoRoot }
  139.     key [/]             { DirGoto }
  140.     key [\\]            { DirGoto }
  141.     key [Esc]           { FileClose 0 }
  142.     
  143.     key     [A+D]       { MainMenu 'D' }
  144.     key     [A+N]       { MainMenu 'N' }
  145.     key     [A+W]       { MainMenu 'W' }
  146.     key     [A+T]       { MainMenu 'T' }
  147. }
  148. # Buffer List #FOLD00
  149. eventmap BUFFERS: MLIST {
  150.     key  [Esc]   { FileClose 0 } # 0 = do not open directory when last closed, overrides OpenAfterClose default.
  151.  
  152.     key  [C+C]   { BufListFileClose }
  153.     key  [F2]    { BufListFileSave }
  154. }
  155.  
  156. # Routine List #FOLD00
  157. eventmap ROUTINES: MLIST {
  158.     key  [Esc]   { FileClose }
  159. }
  160.  
  161. # Message List #FOLD00
  162. menu Messages {
  163.     item "&Close\tCtrl+F10"        { FileClose }
  164.     item;
  165.     item "&Next\tF6"               { FileNext }
  166.     item "&Previous\tShift+F6"     { FilePrev }
  167.     item;
  168.     item "E&xit\tAlt+X"            { ExitEditor }
  169. }
  170.  
  171. menu MsgMain {
  172.     submenu "&Messages", Messages;
  173.     submenu "&Tools", Tools;
  174.     submenu "&Window", Window;
  175. }
  176.  
  177. eventmap MESSAGES: MLIST {
  178.     MainMenu = "MsgMain";
  179.     
  180.     key     [A+M]       { MainMenu 'M' }
  181.     key     [A+T]       { MainMenu 'T' }
  182.     key     [A+W]       { MainMenu 'W' }
  183.  
  184.     key     [C+C]       { ChildClose } # does NOT kill, just closes pipe
  185. }
  186.  
  187. # Event Map View #FOLD00
  188. eventmap EVENTMAPVIEW: MLIST {
  189.     key [Esc] { FileClose 0 }
  190. }
  191.  
  192. # Editor - Editing Modes #FOLD00
  193. # PLAIN #FOLD01
  194. # menus  #FOLD02
  195. menu MChangeMode { #FOLD03
  196.     item "&Plain"      { ChangeMode 'PLAIN' }
  197.     item "&Text"       { ChangeMode 'TEXT' }
  198.     item "&C"          { ChangeMode 'C' }
  199.     item "&EMail"      { ChangeMode 'MSG' }
  200.     item "&HTML"       { ChangeMode 'HTML' }
  201.     item "&IPF"        { ChangeMode 'IPF' }
  202.     item "&Ada"        { ChangeMode 'Ada' }
  203.     item "&REXX"       { ChangeMode 'REXX' }
  204.     item "MAKE"        { ChangeMode 'MAKE' }
  205.     item "&FTE"        { ChangeMode 'FTE' }
  206.     item "Resource"    { ChangeMode 'RESOURCE' }
  207.     item "&DIFF"       { ChangeMode 'DIFF' }
  208.     item "&MERGE"      { ChangeMode 'MERGE' }
  209.     item "SH"          { ChangeMode 'SH' }
  210.     item "PER&L"       { ChangeMode 'PERL' }
  211.     item "PASCAL"      { ChangeMode 'PASCAL' }
  212.     item "&JAVA"       { ChangeMode 'JAVA' }
  213.     item "TE&X"        { ChangeMode 'TEX' }
  214.     item "&BIN"        { ChangeMode 'BIN' }
  215. }
  216.  
  217. menu MOpenInMode { #FOLD03
  218.     item "&Plain"      { FileOpenInMode 'PLAIN' }
  219.     item "&Text"       { FileOpenInMode 'TEXT' }
  220.     item "&C"          { FileOpenInMode 'C' }
  221.     item "&EMail"      { FileOpenInMode 'MSG' }
  222.     item "&HTML"       { FileOpenInMode 'HTML' }
  223.     item "&IPF"        { FileOpenInMode 'IPF' }
  224.     item "&Ada"        { FileOpenInMode 'Ada' }
  225.     item "&REXX"       { FileOpenInMode 'REXX' }
  226.     item "MAKE"        { FileOpenInMode 'MAKE' }
  227.     item "&FTE"        { FileOpenInMode 'FTE' }
  228.     item "Resource"    { FileOpenInMode 'RESOURCE' }
  229.     item "&DIFF"       { FileOpenInMode 'DIFF' }
  230.     item "&MERGE"      { FileOpenInMode 'MERGE' }
  231.     item "SH"          { FileOpenInMode 'SH' }
  232.     item "PER&L"       { FileOpenInMode 'PERL' }
  233.     item "PASCAL"      { FileOpenInMode 'PASCAL' }
  234.     item "&JAVA"       { FileOpenInMode 'JAVA' }
  235.     item "TE&X"        { FileOpenInMode 'TEX' }
  236.     item "&BIN"        { FileOpenInMode 'BIN' }
  237. }
  238.  
  239. menu File { #FOLD03
  240.     item    "&Open...\tF3"            { FileOpen }
  241.     submenu "Open in &Mode...\tCtrl+F3", MOpenInMode;
  242. #    item    "Open &Binary"            { FileOpenInMode 'BIN' }
  243.     item    "&Reload\tShift+F3"           { FileReload }
  244.     item    "&Save\tF2"               { FileSave }
  245.  
  246.     # OpenDoc UI Guide recomments using Write To only, not Save As, hmm.
  247.     item    "Save &As...\tCtrl+F2"       { FileSaveAs }
  248.     item    "Save Al&l"                  { FileSaveAll }
  249.     item    "Write &To..."               { FileWriteTo }
  250. #    item    "Sa&ve and Close\tAlt+F2"   { FileSave; FileClose }
  251.     item    "Prin&t"                  { FilePrint } 
  252.     item    "&Close\tCtrl+F4"           { FileClose }
  253.     item;
  254.     item    "&Next\tF6"               { FileNext }
  255.     item    "&Previous\tShift+F6"         { FilePrev }
  256.     item;
  257.     item    "E&xit\tAlt+X"              { ExitEditor }
  258. }                              
  259.                                
  260. menu Edit { #FOLD03
  261.     item "&Undo\tAlt+BackSp" { Undo }
  262.     item "&Redo\tAlt+Enter" { Redo }
  263.     item;                                
  264.     item "Cu&t\tShift+Del" { BlockCut }
  265.     item "&Copy\tCtrl+Ins" { BlockCopy }
  266.     item "&Append\tAlt+Ins" { BlockCopyAppend }
  267.     item "Cut a&nd Append\tCtrl+Num-" { BlockCutAppend }
  268.     item "&Paste\tShift+Ins" { BlockPasteStream }
  269. #    item;                        
  270. #    item "&Insert line\tShift+Enter" { LineInsert }
  271. #    item "&Delete line\tAlt+Shift+BackSp" { KillLine }
  272. #    item "&Split line\tCtrl+Enter" { LineSplit }
  273. #    item "&Join line\tCtrl+J" { LineJoin }
  274. #    item "Dup&licate line\tCtrl+D" { LineDuplicate }
  275. #    item "Delete to line &end\tAlt+End" { KillToLineEnd }
  276. #    item "Delete to li&ne start\tCtrl+Shift+BackSp" { KillToLineStart }
  277. #    item;                        
  278. #    item "&Quote Literal...\tCtrl+Q" { InsertChar }
  279. }
  280.  
  281. menu Translate { #FOLD03
  282.     item "&Uppercase"         { BlockCaseUp }
  283.     item "&Lowercase"         { BlockCaseDown }
  284.     item "&Togglecase"        { BlockCaseToggle }
  285.     item "&Rot13"             { BlockTrans 'A-Za-z' 'N-ZA-Mn-za-m' }
  286.     item;
  287.     item "User &specified..." { BlockTrans }
  288. }
  289.  
  290. menu Block { #FOLD03
  291.     item "&Delete Block\tCtrl+F8" { BlockKill }
  292.     item;
  293.     item "Save &Block to Disk...\tShift+F2"   { BlockWrite }
  294.     item "&Indent\tAlt+F3"        { BlockIndent }
  295.     item "&Unindent\tAlt+F2"      { BlockUnindent }
  296.     item;
  297.     item "Mark &Lines of Text\tF7"        { BlockMarkLine }
  298.     item "Mark &Stream of Text\tCtrl+F7"   { BlockMarkStream }
  299.     item "Mark C&olumns of Text\tShift+F7" { BlockMarkColumn }
  300.     item "Turn Marking O&ff\tEsc"          { BlockUnmark }
  301.     item;
  302. #    item "Select Wor&d"   { BlockSelectWord }
  303. #    item "Selec&t Line"   { BlockSelectLine }
  304. #    item;
  305.     item "&Read..."              { BlockRead }
  306.     item "&Print"                { BlockPrint }
  307.     item;
  308.     item "Sor&t"                 { BlockSort }
  309.     item "Sort Re&verse"         { BlockSortReverse }
  310.     submenu "Translat&e",        Translate;
  311. }
  312.  
  313. menu Search { #FOLD03
  314.     item "&Search...\tF5" { Find }
  315.     item "Search and &Replace...\tShift+F5" { FindReplace }
  316.     item "&Again\tCtrl+F5" { FindRepeat }
  317.     item "&Incremental Search\tAlt+I" { IncrementalSearch }
  318.     item "Repeat last find re&verse\tCtrl+Shift+F5" { FindRepeatReverse }
  319.     item "Repeat last find &once\tCtrl+N" { FindRepeatOnce }
  320.     item;
  321.     item "&Place Bookmark..." { PlaceBookmark }
  322.     item "Goto &Bookmark..." { GotoBookmark }
  323.     item;
  324.     item "&Match paren\tAlt+-" { MatchBracket }
  325.     item "Search Prev Word\tAlt+," { SearchWordPrev }
  326.     item "Search Next Word\tAlt+." { SearchWordNext }
  327.     item "&Highlight Current Word\tAlt+/" { HilitWord }
  328.     item "Goto Line &Number...\tAlt+F5" { MoveToLine }
  329. }               
  330.  
  331. menu Fold { #FOLD03
  332.     item "&Create fold\tAlt+Gray++" { FoldCreate }
  333.     item "Create folds by ®exp..." { FoldCreateByRegexp }
  334.     item "&Destroy fold\tAlt+Gray+-" { FoldDestroy }
  335.     item;
  336.     item "&Open fold\tCtrl+Gray++" { FoldOpen }
  337.     item "Open &nested folds\tCtrl+Gray+*" { FoldOpenNested }
  338.     item "C&lose fold\tCtrl+Gray+-" { FoldClose }
  339.     item "&Toggle fold open/close\tCtrl+Gray+/" { FoldToggleOpenClose }
  340.     item;
  341.     item "&Promote fold\tShift+Gray+-" { FoldPromote }
  342.     item "De&mote fold\tShift+Gray++" { FoldDemote }
  343.     item;
  344.     item "Open &all folds\tAlt+Gray+*" { FoldOpenAll }
  345.     item "Close all &folds\tAlt+Gray+/" { FoldCloseAll }
  346.     item "Destro&y all folds" { FoldDestroyAll }
  347. }
  348.  
  349. menu Options { #FOLD03
  350.     submenu "Change &mode\tC+O C+M", MChangeMode;
  351.     item;
  352.     item "&Insert mode\tC+O C+I" { ToggleInsert }
  353.     item "&Auto indent\tC+O C+A" { ToggleAutoIndent }
  354.     item "&Case sensitive\tC+O C+C" { ToggleMatchCase }
  355.     item "Trim &EOL spaces\tC+O C+E" { ToggleTrim }
  356.     item "&Read only\tC+O C+R" { ToggleReadOnly }
  357.     item "&Undo/Redo\tC+O C+U" { ToggleUndo }
  358.     item "&Show markers\tC+O C+." { ToggleShowMarkers; WinRefresh }
  359.     item;
  360.     item "&Word wrap\tC+O C+W" { ToggleWordWrap }
  361.     item "&Left margin...\tC+O A+[" { ChangeLeftMargin }
  362.     item "Ri&ght margin...\tC+O A+]" { ChangeRightMargin }
  363.     item;
  364.     item "&Tab size...\tC+O C+T" { ChangeTabSize; WinRefresh }
  365.     item "S&how tabs\tC+O   Tab" { ToggleShowTabs; WinRefresh }
  366.     item "E&xpand tabs\tC+O C+Tab" { ToggleExpandTabs; WinRefresh }
  367.     item "&Print to...               " { SetPrintDevice }
  368. }                    
  369.  
  370. menu Tools {
  371.     item "&Compile\tF9" { FileSaveAll; Compile "make" }
  372.     item "&Grep" { Compile "grep -n " }
  373.     item;
  374.     item "&Shell\tAlt+F9" { RunProgram "" }
  375.     item;
  376.     item "Go to prev &error\tF11" { CompilePrevError }
  377.     item "Go to &next error\tF12" { CompileNextError }
  378.     item;
  379.     item "&Messages\tS+F9" { ViewMessages }
  380.     item;
  381.     item "&ASCII Table...\tCtrl+Shift+A" { ASCIITable }
  382.     item;
  383.     submenu "Customi&ze", Options;
  384. }
  385.  
  386. menu Text { 
  387.     submenu "C&ollapse...",    Fold;
  388. }
  389.  
  390. menu Main {  #FOLD03
  391.     submenu "&File",    File;
  392.     submenu "&Edit",    Edit;
  393.     submenu "&Block",   Block;
  394.     submenu "&Search",  Search;
  395.     submenu "&Text",    Text;
  396.     submenu "&Macro",   Macro;
  397.     submenu "T&ools",   Tools;
  398.     submenu "&Window",  Window;
  399.     submenu "&Help",    Help;
  400. }
  401.  
  402. menu Local { #FOLD03
  403.     item "&Unmark\tEsc"   { BlockUnmark }
  404.     item "Cu&t\tShift+Del" { BlockCut }
  405.     item "&Copy\tCtrl+Ins" { BlockCopy }
  406.     item "&Paste\tShift+Ins" { BlockPasteStream }
  407.     item "P&aste Column\tAlt+Ins" { BlockPasteColumn }
  408.     item;
  409.     item "Delete &line\tCtrl+Y"   { KillLine }
  410.     item "Delete to &EOL\tAlt+End" { KillToLineEnd }
  411.     item;
  412.     item "&Save\tF2"    { FileSave }
  413.     item "Cl&ose\tC+F10" { FileClose }
  414. }
  415.  
  416. eventmap PLAIN: MODEL { #FOLD02
  417. # keymap for plaintext mode
  418.     MainMenu   = 'Main';    # menu for menubar
  419.     LocalMenu  = 'Local';   # local menu
  420.  
  421.  
  422.  
  423. #-------------------------------------------------------------------
  424. #
  425. #   The first section implements the keys promised by the menus
  426. #
  427. #---- The FILE menu
  428.     key       [F3]      { FileOpen }
  429.     key     [C+F3]      { FileOpenInMode }
  430.     key     [S+F3]      { FileReload; WinRefresh }
  431.     key       [F2]      { FileSave }
  432.     key     [C+F2]      { FileSaveAs }
  433.     key     [C+F4]      { FileClose }
  434. #---- The EDIT menu
  435.     key [A+BackSp]      { Undo }
  436.     key  [A+Enter]      { Redo }
  437.     key  [S+G-Del]      { BlockCut }
  438.     key  [C+G-Ins]      { BlockCopy }
  439.     key  [A+G-Ins]      { BlockCopyAppend }
  440.     key    [C+G+-]      { BlockCutAppend }
  441.     key  [S+G-Ins]      { BlockPasteStream }
  442. #---- The BLOCK menu
  443.     key     [C+F8]      { BlockKill }
  444.     key     [A+F3]      { BlockIndent }
  445.     key     [A+F2]      { BlockUnindent }
  446.     key       [F7]      { BlockMarkLine }
  447.     key     [C+F7]      { BlockMarkStream }
  448.     key     [S+F7]      { BlockMarkColumn }
  449.     key      [Esc]      { BlockMarkStream; BlockUnmark }
  450. #---- The SEARCH menu
  451.     key       [F5]      { Find }
  452.     key     [S+F5]      { FindReplace }
  453.     key     [C+F5]      { FindRepeat }
  454.     key      [A+I]      { IncrementalSearch }
  455.     key     [A+F5]      { MoveToLine }
  456. #---- The TEXT menu
  457. #---- The MACRO menu
  458. #---- The TOOLS menu
  459. #---- The WINDOW menu
  460. #---- The HELP menu
  461.     
  462. #-------------------------------------------------------------------
  463.     
  464.     key   [A+S-F2]      { FileSave; FileClose }
  465. #    key       [F7]      { BlockBegin }
  466. #    key     [S+F7]      { MoveBlockStart }
  467.     key       [F8]      { BlockEnd }
  468.     key     [S+F8]      { MoveBlockEnd }
  469.     key     [G-Left]    { MoveLeft }
  470.     key   [C+G-Left]    { MoveWordPrev }
  471.     key     [G-Right]   { MoveRight }
  472.     key   [C+G-Right]   { MoveWordNext }
  473.     key     [G-Up]      { MoveUp }
  474.     key     [G-Down]    { MoveDown }
  475.     key     [G-Home]    { MoveLineStart }
  476.     key   [C+G-Home]    { MovePageStart }
  477.     key     [G-End]     { MoveLineEnd }
  478.     key   [C+G-End]     { MovePageEnd }
  479.     key     [G-PgUp]    { MovePageUp }
  480.     key   [C+G-PgUp]    { MoveFileStart }
  481.     key     [G-PgDn]    { MovePageDown }
  482.     key   [C+G-PgDn]    { MoveFileEnd }
  483.     key   [A+G-Up]      { ScrollUp }
  484.     key   [A+G-Down]    { ScrollDown }
  485.     key   [A+G-Left]    { ScrollLeft }
  486.     key   [A+G-Right]   { ScrollRight }
  487.     
  488.     key   [S+G-Left]    { BlockExtendBegin; MoveLeft;     BlockExtendEnd }
  489.     key   [S+G-Right]   { BlockExtendBegin; MoveRight;    BlockExtendEnd }
  490.     key [C+G-S+Left]    { BlockExtendBegin; MoveWordPrev;  BlockExtendEnd }
  491.     key [C+G-S+Right]   { BlockExtendBegin; MoveWordNext;  BlockExtendEnd }
  492.     key   [G-S+Up]      { BlockExtendBegin; MoveUp;        BlockExtendEnd }
  493.     key   [G-S+Down]    { BlockExtendBegin; MoveDown;      BlockExtendEnd }
  494.     key   [G-S+Home]    { BlockExtendBegin; MoveLineStart; BlockExtendEnd }
  495.     key   [G-S+End]     { BlockExtendBegin; MoveLineEnd;   BlockExtendEnd }
  496.     key [C+G-S+Home]    { BlockExtendBegin; MovePageStart; BlockExtendEnd }
  497.     key [C+G-S+End]     { BlockExtendBegin; MovePageEnd;   BlockExtendEnd }
  498.     key   [G-S+PgUp]    { BlockExtendBegin; MovePageUp;    BlockExtendEnd }
  499.     key   [G-S+PgDn]    { BlockExtendBegin; MovePageDown;  BlockExtendEnd }
  500.     key [C+G-S+PgUp]    { BlockExtendBegin; MoveFileStart; BlockExtendEnd }
  501.     key [C+G-S+PgDn]    { BlockExtendBegin; MoveFileEnd;   BlockExtendEnd }
  502.     key [A+G-S+Up]      { BlockExtendBegin; ScrollUp;      BlockExtendEnd }
  503.     key [A+G-S+Down]    { BlockExtendBegin; ScrollDown;    BlockExtendEnd }
  504.     key [A+G-S+Left]    { BlockExtendBegin; ScrollLeft;    BlockExtendEnd }
  505.     key [A+G-S+Right]   { BlockExtendBegin; ScrollRight;   BlockExtendEnd }
  506.     key [A+G-C+Up]      { MovePrevEqualIndent }
  507.     key [A+G-C+Down]    { MoveNextEqualIndent }
  508.     key [A+G-C+Left]    { MovePrevTab }
  509.     key [A+G-C+Right]   { MoveNextTab }
  510.     key   [A+G-Ins]     { BlockPasteColumn }
  511.     key [A+G-S+Ins]     { BlockPasteLine }
  512.     key     [G-Enter]   { LineNew }
  513.     key       [BackSp]  { BackSpace }
  514.     key     [G-Ins]     { ToggleInsert }
  515.     key     [G-Del]     { Delete }
  516.     key       [Tab]     { InsertTab }
  517.     key     [S+Tab]     { InsertSpacesToTab 10 }
  518.     key     [C+Tab]     { CompleteWord }
  519. #    key     [C+Tab]     { InsertTab }
  520.     key     [C+BackSp]  { KillWordPrev }
  521.     key   [C+S+BackSp]  { KillToLineStart }
  522.     key   [C+G-Enter]   { LineSplit }
  523.     key   [G-S+Enter]   { LineInsert }
  524.     key   [A+G-Enter]   { LineAdd }
  525.     key   [A+G-Del]     { KillWord }
  526.     key   [A+G-End]    { KillToLineEnd }
  527.     key   [A+S+BackSp]  { KillLine }
  528.     key      [C+G-Del]    { KillWord }
  529.     
  530.     key     [C+A_1]     { GotoBookmark "1" }
  531.     key     [C+A_2]     { GotoBookmark "2" }
  532.     key     [C+A_3]     { GotoBookmark "3" }
  533.     key     [C+A_4]     { GotoBookmark "4" }
  534.     key     [C+A_5]     { GotoBookmark "5" }
  535.     key     [C+A_6]     { GotoBookmark "6" }
  536.     key     [C+A_7]     { GotoBookmark "7" }
  537.     key     [C+A_8]     { GotoBookmark "8" }
  538.     key     [C+A_9]     { GotoBookmark "9" }
  539.     key     [C+A_0]     { GotoBookmark "0" }
  540.     
  541.     key     [C+P_1]     { PlaceBookmark "1" }
  542.     key     [C+P_2]     { PlaceBookmark "2" }
  543.     key     [C+P_3]     { PlaceBookmark "3" }
  544.     key     [C+P_4]     { PlaceBookmark "4" }
  545.     key     [C+P_5]     { PlaceBookmark "5" }
  546.     key     [C+P_6]     { PlaceBookmark "6" }
  547.     key     [C+P_7]     { PlaceBookmark "7" }
  548.     key     [C+P_8]     { PlaceBookmark "8" }
  549.     key     [C+P_9]     { PlaceBookmark "9" }
  550.     key     [C+P_0]     { PlaceBookmark "0" }
  551.     
  552.     key     [C+S+F5]    { FindRepeatReverse }
  553.     key     [C+C]       { MoveToColumn }
  554.     key     [C+D]       { LineDuplicate }
  555.     key     [C+I]       { ListRoutines }
  556.     key     [C+J]       { LineJoin }
  557.     key     [C+M]       { DirOpen }
  558.     key     [C+N]       { FindRepeatOnce }
  559.     key     [C+Q]       { InsertChar }
  560.     key     [C+T]       { KillWord }
  561.     key     [C+Y]       { KillLine }
  562.     key     [C+E]       { LineTrim }
  563.     key     [A+B]       { MainMenu 'B' }
  564.     key     [A+C]       { BlockCopy }
  565.     key     [A+D]       { MainMenu 'D' }
  566.     key     [A+E]       { MainMenu 'E' }
  567.     key     [A+F]       { MainMenu 'F' }
  568.     key     [A+G]       { BlockCut }
  569.     key     [A+H]       { MainMenu 'H' }
  570.     key     [S+F2]      { BlockWrite }
  571.     key     [A+O]       { MainMenu 'O' }
  572.     key     [A+R]       { WrapPara }           # Reformat 
  573.     key     [A+S]       { MainMenu 'S' }
  574.     key     [A+T]       { MainMenu 'T' }
  575.     key     [A+W]       { MainMenu 'W' }
  576.     
  577.     key     [C+O_C+A]   { ToggleAutoIndent }
  578.     key     [C+O_C+C]   { ToggleMatchCase }
  579.     key     [C+O_C+E]   { ToggleTrim }
  580.     key     [C+O_C+I]   { ToggleInsert }
  581.     key     [C+O_C+M]   { ShowMenu 'MChangeMode' }
  582.     key     [C+O_S-M]   { ChangeMode }
  583.     key     [C+O_C+R]   { ToggleReadOnly }
  584.     key     [C+O_C+S]   { ToggleSysClipboard }
  585.     key     [C+O_C+T]   { ChangeTabSize }
  586.     key     [C+O_C+U]   { ToggleUndo }
  587.     key     [C+O_C+W]   { ToggleWordWrap }
  588.     key     [C+O_.]     { ToggleShowMarkers }
  589.     key     [C+O_[]     { SetLeftMargin }     # set margin to current cursor pos
  590.     key     [C+O_\]]    { SetRightMargin }
  591.     key     [C+O_A+[]   { ChangeLeftMargin }
  592.     key     [C+O_A+\]]  { ChangeRightMargin }
  593.     key     [C+O_Tab]   { ToggleShowTabs }
  594.     key     [C+O_C+Tab] { ToggleExpandTabs }
  595.     key     [C+O_G-Del]   { ToggleDeleteKillTab }
  596.     key     [C+O_G-Ins]   { ToggleInsert }
  597.     key    [C+O_BackSp] { ToggleBackSpKillTab }
  598.     key     [C+O_Space] { ToggleIndentWithTabs }
  599.     key  [C+O_C+BackSp] { ToggleBackSpUnindents }
  600.     key     [A+-]       { MatchBracket }
  601.     key     [A+=]       { HilitMatchBracket }
  602. #    key     [A+,]       { GetPMClip }
  603. #    key     [A+.]       { PutPMClip }
  604.     key     [C+Space]   { InsPrevLineChar }
  605.     key     [A+Space]   { InsPrevLineToEol }
  606.     key     [C+_]       { ShowPosition }
  607.     key       [Center]  { MoveLineCenter }
  608.     key     [C+X]       { MovePrevPos }
  609.     key   [C+S+A]       { ASCIITable }
  610. #    key     [G+*]       { LineInsert ; MoveUp; ScrollUp }
  611.     
  612.     key     [A+G++]     { FoldCreate }
  613.     key     [A+G+-]     { FoldDestroy }
  614.     key     [G+S++]     { FoldPromote }
  615.     key     [G+S+-]     { FoldDemote }
  616.     key     [C+G++]     { FoldOpen }
  617. #    key     [C+G+-]     { FoldClose }
  618.     key     [C+G+*]     { FoldOpenNested }
  619.     key     [C+G+/]     { FoldToggleOpenClose }
  620.     key     [A+G+*]     { FoldOpenAll }
  621.     key     [A+G+/]     { FoldCloseAll }
  622.     
  623. #    key     [C+G-Up]    { MoveFoldPrev }
  624. #    key     [C+G-Down]  { MoveFoldNext }
  625.     
  626.     key     [C+K]     { ShowKey }
  627.     key     [A+,]     { SearchWordPrev }
  628.     key     [A+.]     { SearchWordNext }
  629.     key     [A+/]     { HilitWord }
  630. }
  631.  
  632. mode PLAIN { EventMap = 'PLAIN'; }
  633.  
  634. # C #FOLD01
  635. menu Local_C { #FOLD02
  636.     item "&Unmark\tEsc" { BlockMarkStream; BlockUnmark }
  637.     item "Cu&t\tShift+Del" { BlockCut }
  638.     item "&Copy\tCtrl+Ins" { BlockCopy }
  639.     item "&Paste\tShift+Ins" { BlockPasteStream }
  640.     item "P&aste Column\tAlt+Ins" { BlockPasteColumn }
  641.     item;
  642.     item "Delete &line\tCtrl+Y"   { KillLine }
  643.     item "Delete to &EOL\tAlt+End" { KillToLineEnd }
  644.     item;
  645.     item "&Save\tF2"    { FileSave }
  646.     item "Cl&ose\tCtrl+F10" { FileClose }
  647.     item;
  648.     item "&Indent line\tTab" { LineIndent }
  649.     item "I&ndent block\tAlt+\\"  { BlockReIndent }
  650. }
  651.  
  652. eventmap C: PLAIN { #FOLD02
  653.     LocalMenu           = 'Local_C';  # local menu
  654.  
  655.     key       [Tab]     { LineIndent; LineTrim }
  656.     key       [G-Enter] { LineIndent; LineNew }
  657.     key       [{]       { SelfInsert; ?LineIndent }
  658.     key       [}]       { SelfInsert; ?LineIndent; MoveLeft; ?HilitMatchBracket; MoveRight }
  659.     key       [)]       { SelfInsert; MoveLeft; ?HilitMatchBracket; MoveRight }
  660.     key       [\]]       { SelfInsert; MoveLeft; ?HilitMatchBracket; MoveRight }
  661.     key       [:]       { SelfInsert; ?LineIndent }
  662.     key       [#]       { SelfInsert; ?LineIndent }
  663.     key     [A+\\]      { BlockReIndent }
  664.     
  665.     # do some smart indents
  666.     key   [A+G-Enter]   { LineAdd; LineIndent }
  667.     key   [S+G-Enter]   { LineInsert; LineIndent }
  668. }
  669.  
  670. mode C { #FOLD02
  671.     EventMap = 'C';
  672. }
  673.  
  674. # REXX  #FOLD01
  675. eventmap REXX: PLAIN { #FOLD02
  676.     key      [Tab]      { LineIndent LineTrim }
  677.     key      [G-Enter]  { LineIndent LineNew }
  678.     key      [:]        { SelfInsert LineIndent }
  679.     key      [A+\\]     { BlockReIndent }
  680. }
  681.  
  682. mode REXX { EventMap = 'REXX'; } #FOLD02
  683.  
  684. # PERL #FOLD01
  685. eventmap PERL: PLAIN { #FOLD02
  686.     key      [Tab]      { LineIndent LineTrim }
  687.     key      [G-Enter]  { LineIndent LineNew }
  688.  
  689.     key      [#]        { SelfInsert LineIndent }
  690.     key      [{]        { SelfInsert LineIndent }
  691.     key      [}]        { SelfInsert LineIndent }
  692.     key      [A+\\]     { BlockReIndent }
  693. }
  694.  
  695. mode PERL { EventMap = 'PERL'; } #FOLD02
  696.  
  697. # JAVA #FOLD01
  698.  
  699. eventmap JAVA: PLAIN { #FOLD02
  700.     key       [Tab]     { LineIndent; LineTrim }
  701.     key       [G-Enter] { LineIndent; LineNew }
  702.     key       [{]       { SelfInsert; LineIndent }
  703.     key       [}]       { SelfInsert; LineIndent }
  704.     key       [:]       { SelfInsert; LineIndent }
  705.     key       [#]       { SelfInsert; LineIndent }
  706.     key     [A+\\]      { BlockReIndent }
  707. }
  708.  
  709. mode JAVA { EventMap = 'JAVA'; } #FOLD02
  710.  
  711. # HTML #FOLD01
  712. menu HTML_Physical { #FOLD02
  713.     item    "&Bold        <B>\tC-E C-B" { HTML_B }
  714.     item    "&Italic      <I>\tC-E C-I" { HTML_I }
  715.     item    "&Typewriter  <TT>\tC-E C-T" { HTML_TT }
  716. }
  717.  
  718. menu HTML_Logical { #FOLD02
  719.     item    "&Definition  <DFN>\tC-E C-D" { HTML_DFN }
  720.     item    "&Emphasize   <EM>\tC-E C-E" { HTML_EM }
  721.     item    "Citati&on    <CITE>\tC-E C-O" { HTML_CITE }
  722.     item    "&Code        <CODE>\tC-E C-C" { HTML_CODE }
  723.     item    "&Kbd entry   <KBD>\tC-E C-K" { HTML_KBD }
  724.     item    "Sam&ple msg  <SAMP>\tC-E C-M" { HTML_SAMP }
  725.     item    "&Strong EM   <STRONG>\tC-E C-S" { HTML_STRONG }
  726.     item    "&Variable    <VAR>\tC-E C-V" { HTML_VAR }
  727. }
  728.  
  729. menu HTML_Header { #FOLD02
  730.     item    "&1  <H1>\tC-E 1" { HTML_H1 }
  731.     item    "&2  <H2>\tC-E 2" { HTML_H2 }
  732.     item    "&3  <H3>\tC-E 3" { HTML_H3 }
  733.     item    "&4  <H4>\tC-E 4" { HTML_H4 }
  734.     item    "&5  <H5>\tC-E 5" { HTML_H5 }
  735.     item    "&6  <H6>\tC-E 6" { HTML_H6 }
  736. }
  737.  
  738. menu HTML_List { #FOLD02
  739.     item    "List &item        <LI>\tC-E i"  { HTML_LI }
  740.     item    "&Unordered list   <UI>\tC-E u"  { HTML_UL }
  741.     item    "&Ordered list     <OL>\tC-E o"  { HTML_OL }
  742.     item    "Definition &list  <DL>\tC-E l"  { HTML_DL }
  743.     item    "Definition &tag   <DT>\tC-E t"  { HTML_DT }
  744.     item    "&Definition       <DD>\tC-E d"  { HTML_DD }
  745. }
  746.  
  747. menu HTML_Table { #FOLD02
  748.     item    "&Table    <TABLE>\tC-E A-T" { HTML_TABLE }
  749.     item    "&Caption  <CAPTION>\tC-E A-C" { HTML_CAPTION }
  750.     item    "&Header   <TH>\tC-E A-H" { HTML_TH }
  751.     item    "&Row      <TR>\tC-E A-R" { HTML_TR }
  752.     item    "&Data     <TD>\tC-E A-D" { HTML_TD }
  753. }
  754.  
  755. menu HTMLTags { #FOLD02
  756.     item    "&Paragraph     <P>\tC-E C-P  " { HTML_P }
  757.     item    "Line brea&k    <BR>\tC-E Enter" { HTML_BR }
  758.     item    "Horiz.line    <HR>\tC-E &-    " { HTML_HR }
  759.     item;
  760.     submenu "P&hysical styles                  ", HTML_Physical;
  761.     submenu "Logical &styles                   ", HTML_Logical;
  762.     submenu "&Header                           ", HTML_Header;
  763.     submenu "&Lists                            ", HTML_List;
  764.     submenu "&Tables                           ", HTML_Table;
  765.     item;
  766.     item    "Pre&formatted  <PRE>\tC-E C-F  " { HTML_PRE }
  767.     item    "&Centered      <CENTER>\tC-E .    " { HTML_CENTER }
  768.     item;
  769.     item    "Anchor &Name   <A NAME>\tC-E C-N  " { HTML_ANAME }
  770.     item    "Anchor H&Ref   <A HREF>\tC-E C-H  " { HTML_AHREF }
  771.     item;
  772.     item    "Basic document\tC-E &0   " { HTML_Base }
  773. }
  774.  
  775. menu Main_HTML { #FOLD02
  776.     submenu "&File",    File;
  777.     submenu "&Edit",    Edit;
  778.     submenu "&Block",   Block;
  779.     submenu "&Search",  Search;
  780.     submenu "Fol&d",    Fold;
  781.     submenu "&Tools",   Tools;
  782.     submenu "HT&ML",    HTMLTags;
  783.     submenu "&Window",  Window;
  784.     submenu "&Options", Options;
  785.     submenu "&Help",    Help;
  786. }
  787.  
  788. eventmap HTML: PLAIN { #FOLD02
  789.     
  790.     MainMenu            = "Main_HTML";   # menu for menubar
  791.  
  792.     key [C+E_0]     { HTML_Base }
  793.     
  794. # headers
  795.     
  796.     key [C+E_1]     { HTML_H1 }
  797.     key [C+E_2]     { HTML_H2 }
  798.     key [C+E_3]     { HTML_H3 }
  799.     key [C+E_4]     { HTML_H4 }
  800.     key [C+E_5]     { HTML_H5 }
  801.     key [C+E_6]     { HTML_H6 }
  802.     
  803. # physical
  804.     
  805.     key [C+E_C+B]   { HTML_B }
  806.     key [C+E_C+I]   { HTML_I }
  807.     key [C+E_C+T]   { HTML_TT }
  808.     
  809. # logical
  810.     
  811.     key [C+E_C+D]   { HTML_DFN }
  812.     key [C+E_C+E]   { HTML_EM }
  813.     key [C+E_C+O]   { HTML_CITE }
  814.     key [C+E_C+C]   { HTML_CODE }
  815.     key [C+E_C+K]   { HTML_KBD }
  816.     key [C+E_C+M]   { HTML_SAMP }
  817.     key [C+E_C+S]   { HTML_STRONG }
  818.     key [C+E_C+V]   { HTML_VAR }
  819.     
  820. # lists
  821.     
  822.     key [C+E_i]     { HTML_LI }
  823.     key [C+E_u]     { HTML_UL }
  824.     key [C+E_o]     { HTML_OL }
  825.     key [C+E_l]     { HTML_DL }
  826.     key [C+E_t]     { HTML_DT }
  827.     key [C+E_d]     { HTML_DD }
  828.     
  829. # tables
  830.     
  831.     key [C+E_A+T] { HTML_TABLE }
  832.     key [C+E_A+C] { HTML_CAPTION }
  833.     key [C+E_A+H] { HTML_TH }
  834.     key [C+E_A+R] { HTML_TR }
  835.     key [C+E_A+D] { HTML_TD }
  836.     
  837. # anchors    
  838.     
  839.     key [C+E_C+N]   { HTML_ANAME }
  840.     key [C+E_C+H]   { HTML_AHREF }
  841.     
  842.     key [C+E_C+G]   { HTML_IMG }
  843.     key [C+E_C+F]   { HTML_PRE }
  844.     key [C+E_G-Enter] { HTML_BR }
  845.     key [C+E_-]     { HTML_HR }
  846.     key [C+E_.]     { HTML_CENTER }
  847.     key [C+E_C+P]   { HTML_P }
  848.     
  849. # character escapes
  850.     
  851.     key [C+E_&]     { InsertString "&"; }
  852.     key [C+E_<]     { InsertString "<"; }
  853.     key [C+E_>]     { InsertString ">"; }
  854.     key [C+E_"]     { InsertString """; }   # hilit bug
  855. }
  856.  
  857. # make sure proper eventmap is used
  858. mode HTML { EventMap = 'HTML'; } #FOLD02
  859.  
  860. # FTE  #FOLD01
  861. eventmap FTE: PLAIN { #FOLD02
  862.     key       [Tab]     { LineIndent; LineTrim }
  863.     key       [G-Enter] { LineIndent; LineNew }
  864.     key       [{]       { SelfInsert; LineIndent }
  865.     key       [}]       { SelfInsert; LineIndent }
  866. }
  867.  
  868. # make sure proper eventmap is used
  869. mode FTE { EventMap = 'FTE'; } #FOLD02
  870.