home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / forth / compiler / fpc / source / sedmenu.seq < prev    next >
Encoding:
Text File  |  1990-07-25  |  9.4 KB  |  212 lines

  1. \ SEDMENU.SEQ   Visual menu selection tool for SED      by Tom Zimmer
  2.  
  3. editor definitions
  4.  
  5. headerless
  6.  
  7. defined teletype nip #if        \ only if print control stuff loaded
  8.  
  9. : dobold        ( --- )
  10.                 '%' schr 'B' schr ;
  11.  
  12. : dounderline   ( --- )
  13.                 '%' schr 'U' schr ;
  14.  
  15. #endif
  16.  
  17. : aonly         ( --- )
  18.                 savescr cursor-off
  19.                 ['] noop save!> dobutton
  20.                 14 6 64 9 box&fill
  21.                 ."  You MUST use the \1 Alt \0 key sequence for MACROS. "
  22.                 bcr
  23.                 ." \s10Press a \r KEY \0 to continue."
  24.                 key drop
  25.                 restore> dobutton
  26.                 restscr cursor-on ;
  27.  
  28. newmenu file$
  29. ?browse 0=
  30. #if
  31. \u sednew       menuline"  Open or make another file  Ctrl-O " sednew
  32.                 menuline"  Save changes & continue    Ctrl-U " updt
  33.                 menuline"  Write as a different file   Alt-W " wr->fl
  34. \u togglefiles  menuline" ───────────────────────────────────" noop
  35. \u togglefiles  menuline"  Rotate through open files  Alt-F1 " togglefiles
  36. \u flipfiles    menuline"  Flip directly to file    Shift-F1 " flipfiles
  37. \u bindex       menuline" ───────────────────────────────────" noop
  38. \u bindex       menuline"  Build HYPER.NDX from all [*.TXT]  " bindex
  39. \u docompile    menuline" ───────────────────────────────────" noop
  40. \u docompile    menuline"  Command to DOS            Ctrl_┘ " docompile
  41. \u pmenu        menuline" ───────────────────────────────────" noop
  42. \u pmenu        menuline"  Print menu                  Alt-P " pmenux
  43. \u wordbrowse   menuline" ───────────────────────────────────" noop
  44.                 menuline"  Quit, save & unlink one       F10 " sesc
  45.                 menuline"  Discard changes & unlink  Alt-F10 " squt
  46. \u sescALL      menuline"  eXit & save all edits   Shift-F10 " sescALL
  47. #else
  48. \u wordbrowse  menuline"  Link to word under cursor (browse)   F9 " wordbrowse
  49. \u togglefiles menuline"  Rotate through open links        Alt-F1 " togglefiles
  50. \u togglefiles menuline" ─────────────────────────────────────────" noop
  51.                menuline"  Unlink one level                    F10 " sesc
  52. \u sescALL     menuline"  Quit & unlink all levels      Shift-F10 " sescALL
  53. #then
  54. endmenu
  55.  
  56. ?browse 0=
  57. #if
  58. newmenu edit$
  59.                   menuline"  Mark begin/end/clear       F3 " smrk
  60.                   menuline"  Cut . . . . . . . . . . Alt-X " excutx
  61.                   menuline"  Duplicate (copy)        Alt-C " exportx
  62.                   menuline"  Paste . . . . . . . . . Alt-V " importx
  63. \u append         menuline"  Append                  Alt-A " appendx
  64.                   menuline" ─        ┌────────────────┘   ─" noop
  65.                   menuline" ─  Use Shift-Alt to set File  ─" noop
  66. \u paste_datetime menuline" ───────────────────────────────" noop
  67. \u paste_datetime menuline"  Time & date paste     Alt-O_P " paste_datetime
  68. \u justify        menuline" ───────────────────────────────" noop
  69. \u justify        menuline"  Reformat paragraph     Ctrl-B " jstfy
  70. #else
  71. newmenu xxx$
  72. #then
  73. defined 'word@cur nip
  74. #if
  75.                   menuline" ───────────────────────────────" noop
  76.                   menuline"  Edit   word at CURSOR   Alt-E " wordedit
  77.                   menuline"  Browse word at CURSOR   Alt-B " wordbrowse
  78.                   menuline"  Help   word at CURSOR   Alt-H " wordhelp
  79. #then
  80. \u edflook      ' true alias zedding    \ if making ZED, don't load some
  81.                                         \ of the following lines.
  82.  
  83.                   menuline" ───────────────────────────────" noop
  84.                   menuline"  1 cursor to scrn  top      F2 " tscrn
  85. \- zedding        menuline"  2 cursor to upper mid  Alt-F2 " tmscrn
  86. \- zedding        menuline"  3 cursor to lower mid  Alt-F4 " bmscrn
  87.                   menuline"  4 cursor to scrn  bot      F4 " bscrn
  88. endmenu
  89.  
  90. newmenu select$
  91.             menuline"  Find                           F6 " sloon
  92.             menuline"  Next find . . . . . . . .  Alt-F6 " slooa
  93.             menuline"  Backwards find           Shift-F6 " sloob
  94. ?browse 0=
  95. #if
  96.             menuline" ───────────────────────────────────" noop
  97.             menuline"  Replace  (do Find first)       F8 " srepn
  98.             menuline"  Again replace  . . . . . . Alt-F8 " srepa
  99.             menuline"  Every replace            Shift-F8 " repall
  100. #then
  101. \u alt-go   menuline" ───────────────────────────────────" noop
  102. \u alt-go   menuline"  Goto page/line/paragraph    Alt-G " alt-g
  103. \u edflook  menuline"  Scan files for text        Alt-F4 " edflook
  104. endmenu
  105.  
  106. ?browse 0=      \ If we are building a small browser, don't load these
  107. #if
  108. newmenu hyper$
  109. \u wordbrowse menuline"  Link to word under cursor (browse)  F9 " wordbrowse
  110.               menuline"  Unlink one level                   F10 " sesc
  111. \u worddef    menuline"  Defered (link into DEFERed)     Alt-F9 " worddefer
  112. \u nbrowse    menuline"  Enter a word name to browse     Alt-F9 " nbrowse
  113. \u wordfrom   menuline"  From where was word loaded     Ctrl-F9 " wordfrom
  114. \u browsetgl  menuline"  Browse mode toggle (on/off)   Shift-F9 " browsetgl
  115. \u nxtbrowse  menuline"  Next occurance of word browse    Alt-N " nxtbrowse
  116. \u hsrcschr   menuline" ────────────────────────────────────────" noop
  117. \u hsrcschr   menuline" ───∙Turn the cursor word into a Link ───" noop
  118. \u hsrcschr   menuline" ───  ──────────────────────────────────" noop
  119. \u hsrcschr   menuline"  Source link                     Alt-F3 " hsrcschr
  120. \u hdstschr   menuline"  Destination link                Alt-F5 " hdstschr
  121. endmenu
  122.  
  123. newmenu advanced$
  124. \u sedchar       menuline"  Insert special char   Alt-O_A " insany
  125. \u tabxp         menuline" ───────────────────────────────" noop
  126. \u tabxp         menuline"  Xpand tabs to spaces  Alt-O_X " tabxp
  127. \u ssort         menuline" ───────────────────────────────" noop
  128. \u lines         menuline"  Draw character lines       F7 " drawlin
  129. \u ssort         menuline"  Sort paragraph lines   Alt-F7 " sortlin
  130. \u l>ucase       menuline" ───────────────────────────────" noop
  131. \u l>ucase       menuline"  UPPERCASE this line   Alt-O_U " l>ucase
  132. \u l>lcase       menuline"  Lowercase this line   Alt-O_L " l>lcase
  133. \u ccasetgl      menuline"  Character case toggle Alt-O_C " ccasetgl
  134. \u wcasetgl      menuline"  Word case toggle      Alt-O_W " wcasetgl
  135. \u adjust-window menuline" ───────────────────────────────" noop
  136. \u adjust-window menuline"  Adjust window size    Alt-S_W " adjwind
  137. \u zoom-window   menuline"  Zoom window toggle    Alt-S_Z " zoomwind
  138.                  menuline" ───────────────────────────────" noop
  139.                  menuline"  Make a macro            Alt-M " aonly
  140.                  menuline"  Repeat a macro          Alt-R " aonly
  141.                  menuline"  Do a macro      Alt-1 - Alt-8 " aonly
  142. endmenu
  143.  
  144. newmenu layout$
  145. \u lmset   menuline"  Left  margin = current col   Ctrl-L " lmset
  146. \u rmset   menuline"  Right margin set            Alt-S_R " rmset
  147. \u ljust   menuline" ─────────────────────────────────────" noop
  148. \u ljust   menuline"  Column move right             Alt-L " ljust
  149. \u lzero   menuline"  Delete leading spaces   Shift-Alt-L " lzero
  150. \u spltln  menuline" ─────────────────────────────────────" noop
  151. \u spltln  menuline"  Split line at cursor         Ctrl-N " spltln
  152. \u joinln  menuline"  Join this line to next        Alt-J " joinln
  153. \u tabset  menuline" ─────────────────────────────────────" noop
  154. \u tabset  menuline"  Tab increment set             Alt-T " tabset
  155. \u dobold  menuline" ─────────────────────────────────────" noop
  156. \u dobold  menuline"  Bold       on/off                   " dobold
  157. \u dobold  menuline"  Underline  on/off                   " dounderline
  158. endmenu
  159.  
  160. newmenu help$
  161. \u helpF1    menuline"  Help me use SED       F1 " helpF1
  162. \u 'word@cur menuline"  Current word HELP  Alt-H " wordhelp
  163. \- zedding   menuline"  Show names toggle  Alt-8 " ecmdtgl
  164. endmenu
  165. #then
  166.  
  167. newmenubar editorbar       \ menubar for the editor
  168.                 +," File  "
  169. \u edit$        +," Edit  "
  170.                 +," Select "
  171. \u layout$      +," Layout "
  172. \u hyper$       +," hYper  "
  173. \u advanced$    +," Advanced "
  174. \u help$        +," Help  "
  175. endmenu
  176.  
  177. create editlist         \ menu list for the editor
  178.                 file$ ,
  179. \u edit$        edit$ ,
  180.                 select$ ,
  181. \u layout$      layout$ ,
  182. \u hyper$       hyper$ ,
  183. \u advanced$    advanced$ ,
  184. \u help$        help$ ,
  185.  
  186. : editcolumn    ( --- n1 )
  187.                 first.textcol 2+ ;
  188.  
  189. 0 value colsave
  190.  
  191. : sedmenu       ( --- )
  192.                 colsave =: mcol                 \ restore my column
  193.                 savemenu                        \ save previous menu parms
  194.                 editorbar =: menubar            \ set pointer to MENUBAR
  195.                 editlist  =: menulist           \ and to the menulist
  196.                 ['] statusline is mline         \ set the menu line func
  197.                 ['] editcolumn is mcolumn       \ and the menu column func
  198.                 ['] doachar    is doother       \ and the func to handle keys
  199.                                                 \ not on the menu.
  200.                 ['] mbutton save!> sbutton      \ install normal menu handler
  201.                 menu                            \ call the menu procedure
  202.                 restore> sbutton                \ restore editor menu handler
  203.                 restmenu                        \ restore previous menu parms
  204.                 mcol =: colsave ;               \ save my column for later
  205.  
  206. ' sedmenu is sedesc
  207.  
  208. headers
  209.  
  210. forth definitions
  211.  
  212.