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