
/** $VER: TTX_MEMACS.dfn 1.0 (11.1.91)
 **
 ** This definition file contains menu, keyboard and mouse definitions to
 ** emulate the AmigaDOS MEMACS editor.
 **
 ** Written by Martin Taillefer
 **/


MENUS:

  MENU " Project "
    ITEM "Rename       ^X F" "" ExecARexxString "OPTIONS RESULTS; RequestStr PROMPT '*"New file name*"'; IF RC=0 THEN 'SetFilePath' RESULT; ELSE SetFilePath ''"
    ITEM "Read-file    ^X^R" "" ExecARexxString "OPTIONS RESULTS; RequestStr PROMPT '*"Read file*"'; IF RC=0 THEN 'OpenFile' RESULT"
    ITEM "Visit-file   ^X^V" "" OpenDoc FileReq
    ITEM "Insert-file  ^X^I" "" ExecARexxString "OPTIONS RESULTS; RequestStr PROMPT '*"Insert file*"'; IF RC=0 THEN DO; 'OpenClip' RESULT; IF RC=0 THEN DO; MoveSOL; PasteClip; END; END"
    ITEM "Save-file    ^X^S" "" SaveFile
    ITEM "Save-as-file ^X^W" "" ExecARexxString "OPTIONS RESULTS; RequestStr PROMPT '*"Write file*"'; IF RC=0 THEN 'SaveFileAs' RESULT"
    ITEM "Save-mod     ^X^M" "" ExecARexxMacro SaveChangedDocs
    ITEM "Save-exit    ^X^F" "" ExecARexxMacro SaveChangedDocs QUIT
    ITEM "New-Cli      ^-"   "" ExecTool NewCLI CON:0/100/640/100/AmigaShell/CLOSE/SCREENTURBOTEXT
    ITEM "Cli-command  ^X!"  "" ExecARexxString "OPTIONS RESULTS; RequestStr PROMPT 'Command?'; IF RC=0 THEN 'ExecTool' RESULT"
    ITEM "Quit         ^C"   "" CloseDoc
    ITEM "About ..."         "" OpenRequester Info

  MENU " Edit "
    ITEM "Kill-region   ^W"    "" CutBlk
    ITEM "Yank          ^Y"    "" PasteClip
    ITEM "Set-mark      ^@"    "" MarkBlk
    ITEM "Copy-region   ESCw"  "" CopyBlk
    ITEM "Upper-region  ^X^U"  "" Conv2Upper
    ITEM "Lower-region  ^X^L"  "" Conv2Lower
    ITEM "List-buffers  ^X^B"  "" ExecARexxMacro Console SelectDoc
    ITEM "Select-buffer ^Xb"   "" ExecARexxMacro Console SelectDoc
    ITEM "Insert-buffer ESC^Y" "" NOP
    ITEM "Kill-buffer   ^Xk"   "" ClearFile
    ITEM "Justify-buffer ^XJ"  "" NOP
    ITEM "Redisplay     ^L"    "" UpdateView All
    ITEM "Quote-char    ^Q"    "" SetQuoteMode On
    ITEM "Indent        ^J"    "" InsertLine Indent
    ITEM "Transpose     ^T"    "" SwapChars
    ITEM "Cancel        ^G"    "" NOP

  MENU " Window "
    ITEM "One-window    ^X1"   "" SplitView OFF
    ITEM "Split-window  ^X2"   "" SplitView ON
    ITEM "Next-window   ^Xn"   "" SwitchView
    ITEM "Prev-window   ^Xp"   "" SwitchView
    ITEM "Expand-window ^Xz"   "" SizeView 1
    ITEM "Shrink-window ^X^Z"  "" SizeView -1
    ITEM "Next-w-page * ESC^V" "" ExecARexxString "SetDisplayLock ON;SwitchView;MoveDownScr;SwitchView;SetDisplayLock OFF"
    ITEM "Prev-w-page * ^Xv"   "" ExecARexxString "SetDisplayLock ON;SwitchView;MoveDownScr;SwitchView;SetDisplayLock OFF"

  MENU " Move "
    ITEM "Top-of-buffer ESC<"  "" MoveSOF
    ITEM "End-of-buffer ESC>"  "" MoveEOF
    ITEM "Top-of-window ESC,"  "" MoveUpScr
    ITEM "End-of-window ESC."  "" MoveDownScr
    ITEM "Goto-line     ^X^G"  "" Move
    ITEM "Swap-dot&mark ^X^X"  "" NOP
    ITEM "Next-page     ^V"    "" MoveDownScr
    ITEM "Prev-page     ESCv"  "" MoveUpScr
    ITEM "Next-word     ESCf"  "" MoveNextWord
    ITEM "Previous-word ESCb"  "" MovePrevWord
    ITEM "Scroll-up     ^Z"    "" MoveDown
    ITEM "Scroll-down   ESCz"  "" MoveUp

  MENU " Line "
    ITEM "Open-line     ^O"   "" ExecARexxString "InsertLine;MoveLeft"
    ITEM "Kill-line     ^X^D" "" DeleteLine
    ITEM "Kill-to-eol   ^K"   "" DeleteEOL
    ITEM "Start-of-line ^A"   "" MoveSOL
    ITEM "End-of-line   ^E"   "" MoveEOL
    ITEM "Next-line     ^N"   "" MoveDown
    ITEM "Previous-line ^P"   "" MoveUp
    ITEM "Line-to-top   ESC!" "" ScrollView 1
    ITEM "Delete-blanks ^X^O" "" ExecARexxString "OPTIONS RESULTS; DO FOREVER; GetLine; IF LENGTH(RESULT)>1 THEN LEAVE; DeleteLine; END"
    ITEM "Show-Line#    ^X="  "" NOP

  MENU " Word "
    ITEM "delete-forw  ESCd" "" DeleteEOW
    ITEM "delete-back  ESCh" "" DeleteSOW
    ITEM "Upper-word   ESCu" "" Conv2Upper
    ITEM "Lower-word   ESCl" "" Conv2Lower
    ITEM "Cap-word     ESCc" "" NOP
    ITEM "Switch-case  ESC^" "" NOP

  MENU " Search "
    ITEM "Search-forward   ^S"  "" OpenRequester Find
    ITEM "Search-backward  ^R"  "" OpenRequester Find
    ITEM "Search-replace ESCr"  "" OpenRequester FindChange
    ITEM "Query-s-r      ESCq"  "" OpenRequester FindChange
    ITEM "Fence-match    ESC^F" "" NOP

  MENU " Extras "
    ITEM "Set-arg        ^U" "" NOP
    ITEM "Set          ESCs" "" OpenRequester EditPrefs
    ITEM "Start-macro   ^X(" "" RecordMacro
    ITEM "Stop-macro    ^X)" "" EndMacro
    ITEM "Execute-macro ^Xe" "" PlayMacro 1
    ITEM "Set-key      ^X^K" "" NOP
    ITEM "Reset-keys   ESCk" "" NOP
    ITEM "Execute-file ESCe" "" NOP
    ITEM "Execute-line ^[^[" "" NOP

  MENU " Prefs "
    ITEM "Display..."          ""  OpenRequester DisplayPrefs
    ITEM "Edit..."             ""  OpenRequester EditPrefs
    ITEM "File..."             ""  OpenRequester FilePrefs
    BAR
    ITEM "Open Prefs..."       ""  OpenPrefs
    ITEM "Save Prefs As..."    ""  SavePrefs
    ITEM "Save As Defaults"    ""  SaveDefPrefs
    BAR
    ITEM "Open Defs..."        ""  OpenDefinitions
#


KEYBOARD:

  CURSOR_UP              MoveUp
  CURSOR_DOWN            MoveDown
  CURSOR_RIGHT           MoveRight
  CURSOR_LEFT            MoveLeft

  CTRL-X                 SetMeta
  ESC                    SetMeta2

  META-F                 ExecARexxString "OPTIONS RESULTS; RequestStr PROMPT '*"New file name*"'; IF RC=0 THEN 'SetFilePath' RESULT; ELSE SetFilePath ''"
  META-CTRL-R            ExecARexxString "OPTIONS RESULTS; RequestStr PROMPT '*"Read file*"'; IF RC=0 THEN 'OpenFile' RESULT"
  META-CTRL-V            OpenDoc FileReq
  META-CTRL-I            ExecARexxString "OPTIONS RESULTS; RequestStr PROMPT '*"Insert file*"'; IF RC=0 THEN DO; 'OpenClip' RESULT; IF RC=0 THEN DO; MoveSOL; PasteClip; END; END"
  META-CTRL-S            SaveFile
  META-CTRL-W            ExecARexxString "OPTIONS RESULTS; RequestStr PROMPT '*"Write file*"'; IF RC=0 THEN 'SaveFileAs' RESULT"
  META-CTRL-M            ExecARexxMacro SaveChangedDocs
  META-CTRL-F            ExecARexxMacro SaveChangedDocs QUIT
  CTRL--                 ExecTool NewCLI CON:0/100/640/100/AmigaShell/CLOSE/SCREENTURBOTEXT
  META-SHIFT-!           ExecARexxString "OPTIONS RESULTS; RequestStr PROMPT 'Command?'; IF RC=0 THEN 'ExecTool' RESULT"
  CTRL-C                 CloseDoc

  CTRL-W       CutBlk
  CTRL-Y       PasteClip
  CTRL-SHIFT-@ MarkBlk
  META2-.      MarkBlk
  META2-W      CopyBlk
  META-CTRL-U  Conv2Upper
  META-CTRL-L  Conv2Lower
  META-CTRL-B  ExecARexxMacro Console SelectDoc
  META-B       ExecARexxMacro Console SelectDoc
  META-K       ClearFile
  CTRL-L       UpdateView All
  CTRL-Q       SetQuoteMode On
  CTRL-J       InsertLine Indent
  CTRL-T       SwapChars

  META-1       SplitView OFF
  META-2       SplitView ON
  META-N       SwitchView
  META-P       SwitchView
  META-Z       SizeView 1
  META-CTRL-Z  SizeView -1
  META2-CTRL-V ExecARexxString "SetDisplayLock ON;SwitchView;MoveUpScr;SwitchView;SetDisplayLock OFF"
  META-V       ExecARexxString "SetDisplayLock ON;SwitchView;MoveUpScr;SwitchView;SetDisplayLock OFF"

  META2-SHIFT-< MoveSOF
  META2-SHIFT-> MoveEOF
  META2-,       MoveUpScr
  META2-.       MoveDownScr
  META-CTRL-G   Move
  CTRL-V        MoveDownScr
  META2-V       MoveUpScr
  META2-F       MoveNextWord
  META2-B       MovePrevWord
  CTRL-Z        MoveDown
  META2-Z       MoveUp

  CTRL-O        ExecARexxString "InsertLine;MoveLeft"
  META-CTRL-D   DeleteLine
  CTRL-K        DeleteEOL
  CTRL-A        MoveSOL
  CTRL-E        MoveEOL
  CTRL-N        MoveDown
  CTRL-P        MoveUp
  META2-SHIFT-! ScrollView 1

  META2-D   DeleteEOW
  META2-H   DeleteSOW
  META2-DEL DeleteSOW
  META2-U   Conv2Upper
  META2-L   Conv2Lower

  CTRL-S  OpenRequester Find
  CTRL-R  OpenRequester Find
  META2-R OpenRequester FindChange
  META2-Q OpenRequester FindChange

  META2-S       OpenRequester EditPrefs
  META-SHIFT-<  RecordMacro
  META-SHIFT->  EndMacro
  META-E        PlayMacro 1

  CTRL-D Delete
#
