home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / PROGRAMS / UTILS / LASER / FPC35_5.ZIP / FPCSRC.ZIP / SEDMENU.SEQ < prev    next >
Encoding:
Text File  |  1989-07-20  |  8.8 KB  |  202 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. endmenu
  81.  
  82. newmenu select$
  83.             menuline"  Find                           F6 " sloon
  84.             menuline"  Next find . . . . . . . .  Alt-F6 " slooa
  85.             menuline"  Backwards find           Shift-F6 " sloob
  86. ?browse 0=
  87. #if
  88.             menuline" ───────────────────────────────────" noop
  89.             menuline"  Replace  (do Find first)       F8 " srepn
  90.             menuline"  Again replace  . . . . . . Alt-F8 " srepa
  91.             menuline"  Every replace            Shift-F8 " repall
  92. #then
  93. \u alt-go   menuline" ───────────────────────────────────" noop
  94. \u alt-go   menuline"  Goto page/line/paragraph    Alt-G " alt-g
  95. \u edflook  menuline"  Scan files for text        Alt-F4 " edflook
  96. endmenu
  97.  
  98. ?browse 0=      \ If we are building a small browser, don't load these
  99. #if
  100. newmenu hyper$
  101. \u wordbrowse menuline"  Link to word under cursor (browse)  F9 " wordbrowse
  102.               menuline"  Unlink one level                   F10 " sesc
  103. \u worddef    menuline"  Defered (link into DEFERed)     Alt-F9 " worddefer
  104. \u nbrowse    menuline"  Enter a word name to browse     Alt-F9 " nbrowse
  105. \u nxtbrow    menuline"  Next occurance of word browse    Alt-N " nxtbrowse
  106. \u browsetgl  menuline"  Browse mode toggle (on/off)   Shift-F9 " browsetgl
  107. \u hsrcschr   menuline" ────────────────────────────────────────" noop
  108. \u hsrcschr   menuline" ───∙Turn the cursor word into a Link ───" noop
  109. \u hsrcschr   menuline" ───  ──────────────────────────────────" noop
  110. \u hsrcschr   menuline"  Source link                     Alt-F3 " hsrcschr
  111. \u hdstschr   menuline"  Destination link                Alt-F5 " hdstschr
  112. endmenu
  113.  
  114. newmenu advanced$
  115. \u sedchar       menuline"  Insert special char   Alt-O_A " insany
  116. \u tabxp         menuline" ───────────────────────────────" noop
  117. \u tabxp         menuline"  Xpand tabs to spaces  Alt-O_X " tabxp
  118. \u ssort         menuline" ───────────────────────────────" noop
  119. \u lines         menuline"  Draw character lines       F7 " drawlin
  120. \u ssort         menuline"  Sort paragraph lines   Alt-F7 " sortlin
  121. \u l>ucase       menuline" ───────────────────────────────" noop
  122. \u l>ucase       menuline"  UPPERCASE this line   Alt-O_U " l>ucase
  123. \u l>lcase       menuline"  Lowercase this line   Alt-O_L " l>lcase
  124. \u ccasetgl      menuline"  Character case toggle Alt-O_C " ccasetgl
  125. \u wcasetgl      menuline"  Word case toggle      Alt-O_W " wcasetgl
  126. \u adjust-window menuline" ───────────────────────────────" noop
  127. \u adjust-window menuline"  Adjust window size    Alt-S_W " adjwind
  128. \u zoom-window   menuline"  Zoom window toggle    Alt-S_Z " zoomwind
  129.                  menuline" ───────────────────────────────" noop
  130.                  menuline"  Make a macro            Alt-M " aonly
  131.                  menuline"  Repeat a macro          Alt-R " aonly
  132.                  menuline"  Do a macro      Alt-1 - Alt-8 " aonly
  133. endmenu
  134.  
  135. newmenu layout$
  136. \u lmset   menuline"  Left  margin = current col   Ctrl-L " lmset
  137. \u rmset   menuline"  Right margin set            Alt-S_R " rmset
  138. \u ljust   menuline" ─────────────────────────────────────" noop
  139. \u ljust   menuline"  Column move right             Alt-L " ljust
  140. \u lzero   menuline"  Delete leading spaces   Shift-Alt-L " lzero
  141. \u spltln  menuline" ─────────────────────────────────────" noop
  142. \u spltln  menuline"  Split line at cursor         Ctrl-N " spltln
  143. \u joinln  menuline"  Join this line to next        Alt-J " joinln
  144. \u tabset  menuline" ─────────────────────────────────────" noop
  145. \u tabset  menuline"  Tab increment set             Alt-T " tabset
  146. \u dobold  menuline" ─────────────────────────────────────" noop
  147. \u dobold  menuline"  Bold       on/off                   " dobold
  148. \u dobold  menuline"  Underline  on/off                   " dounderline
  149. endmenu
  150.  
  151. newmenu help$
  152. \u helpF1    menuline"  Help me use SED       F1 " helpF1
  153. \u wordhelp  menuline"  Current word HELP  Alt-H " wordhelp
  154. endmenu
  155. #then
  156.  
  157. newmenubar editorbar       \ menubar for the editor
  158.                 +," File  "
  159. \u edit$        +," Edit  "
  160.                 +," Select "
  161. \u layout$      +," Layout "
  162. \u hyper$       +," hYper  "
  163. \u advanced$    +," Advanced "
  164. \u help$        +," Help  "
  165. endmenu
  166.  
  167. create editlist         \ menu list 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.  
  176. : editcolumn    ( --- n1 )
  177.                 first.textcol 2+ ;
  178.  
  179. 0 value colsave
  180.  
  181. : sedmenu       ( --- )
  182.                 colsave =: mcol                 \ restore my column
  183.                 savemenu                        \ save previous menu parms
  184.                 editorbar =: menubar            \ set pointer to MENUBAR
  185.                 editlist  =: menulist           \ and to the menulist
  186.                 ['] statusline is mline         \ set the menu line func
  187.                 ['] editcolumn is mcolumn       \ and the menu column func
  188.                 ['] doachar    is doother       \ and the func to handle keys
  189.                                                 \ not on the menu.
  190.                 ['] mbutton save!> sbutton      \ install normal menu handler
  191.                 menu                            \ call the menu procedure
  192.                 restore> sbutton                \ restore editor menu handler
  193.                 restmenu                        \ restore previous menu parms
  194.                 mcol =: colsave ;               \ save my column for later
  195.  
  196. ' sedmenu is sedesc
  197.  
  198. headers
  199.  
  200. forth definitions
  201.  
  202.