home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 5 Edit / 05-Edit.zip / wwed034b.zip / fte-0.34 / fte.INF (.txt) < prev    next >
OS/2 Help File  |  1995-10-15  |  46KB  |  1,533 lines

  1.  
  2. ΓòÉΓòÉΓòÉ 1. About ΓòÉΓòÉΓòÉ
  3.  
  4.                                        fte
  5.  
  6.                                   Version 0.32b
  7.  
  8.                          (c) Copyright 1995 Marko Macek
  9.  
  10. fte is an OS/2 text mode editor, with a lot of features: 
  11.  
  12. o Powerful Color Syntax Highlighting for: 
  13.  
  14.    - C/C++ 
  15.    - REXX 
  16.    - HTML 
  17.    - IPF 
  18.    - Perl 
  19.    - Ada 
  20.    - Pascal 
  21.    - Java 
  22.    - and various other files... 
  23.  
  24. o Smart Indentation for C/C++ and REXX 
  25. o Multiple files/windows 
  26. o File limited only by virtual memory 
  27. o Configurable keyboard/menus/colors 
  28. o Undo/Redo of any number of commands 
  29. o Stream/Line/Column blocks 
  30. o Ability to edit binary files 
  31. o Regular expression search and replace 
  32. o Background compilation and compiler error parsing support 
  33. o Mouse support 
  34. o Automatic word wrap. 
  35. o Incremental search. 
  36. o Folding 
  37.  
  38.                 The latest version can be always downloaded from:
  39.  
  40.                      http://ixtas.fer.uni-lj.si/~markom/fte
  41.  
  42.                 Please send comments/suggestions/bug reports to:
  43.  
  44.                          Marko.Macek@snet.fer.uni-lj.si
  45.  
  46.                                        or
  47.  
  48.                                  mark@hermes.si
  49.  
  50.  
  51. ΓòÉΓòÉΓòÉ 2. Configuration ΓòÉΓòÉΓòÉ
  52.  
  53. This section covers installation and configuration of editor. 
  54.  
  55.  
  56. ΓòÉΓòÉΓòÉ 2.1. Installation ΓòÉΓòÉΓòÉ
  57.  
  58. The following files are included in the archive: 
  59.  
  60. README 
  61.         Release notes, read first 
  62. fte.exe 
  63.         Main executable (REQUIRED) 
  64. fte.cfg 
  65.         Main configuration file 
  66. fte.inf 
  67.         This file. 
  68. config\*.fte 
  69. Configuration files 
  70. clipserv.exe 
  71.         Clipboard server (required for PM clipboard support). 
  72. cliputil.exe 
  73.         Utility to manage clipboard from command line. 
  74. file_id.diz 
  75.         Program description for BBS upload. 
  76.  
  77. To install, copy FTE.EXE, CLIPSERV.EXE, CLIPUTIL.EXE, FTE.CFG, FTE.INF into one 
  78. directory and and *.FTE files into the other. Then change FTE.CFG to point to 
  79. the MAIN.FTE file. Then, make sure that PATH environment variable points to the 
  80. directory containing the executable.  fte.exe 
  81.  
  82.  
  83. ΓòÉΓòÉΓòÉ 2.2. Command line options ΓòÉΓòÉΓòÉ
  84.  
  85. The command syntax is: 
  86.  
  87. fte [[options] [files] ...] 
  88.  
  89. Options: 
  90.  
  91. -! 
  92.         Ignore any external configuration file. 
  93. -c<file> 
  94.         Use specified configuration file. 
  95. -#<line>[,<column>] 
  96.         Go to line (and column) in next file on command line 
  97. -m<MODE> 
  98.         Set mode for next files to <MODE> 
  99. -m 
  100.         Reset to default mode 
  101. -- 
  102.         The rest of the arguments are not options 
  103. -+ 
  104.         The next argument is not an option even if starting with a '-'. 
  105.  
  106. Examples: 
  107.  
  108. fte -mBIN fte.exe 
  109.         load fte.exe in BIN mode 
  110. fte -#100,30 win.c 
  111.         go to (100,30) in win.c 
  112. fte window.cpp 
  113.         load file window.cpp 
  114. fte -mBIN fte.exe -m fte.cpp 
  115.         load fte.exe in binary mode, window.cpp in default mode (C/C++) 
  116. fte -mBIN -+ -bla- 
  117.         load file -bla- in BIN mode 
  118. fte -- -1 -2 -3 -4 -5 -6 
  119.         .load files -1, -2, -3, -4, -5, -6 
  120.  
  121.  
  122. ΓòÉΓòÉΓòÉ 2.3. Configuration file ΓòÉΓòÉΓòÉ
  123.  
  124. If the command line option -! is used, editor will not attemp to load a 
  125. configuration file and will use default settings built into the editor 
  126. executable. 
  127.  
  128. All configuration is done in fte.cfg. file which must reside in the same 
  129. directory as the fte.Exe executable. Most of the settings in configuration file 
  130. are CASE SENSITIVE. '#'. is used to start a comment to the end of line. 
  131.  
  132.  
  133. ΓòÉΓòÉΓòÉ 2.4. Global Settings ΓòÉΓòÉΓòÉ
  134.  
  135.  The following settings can be used in the GLOBAL section of the configuration 
  136. file. 
  137.  
  138. ScreenSizeX 
  139.         Number of columns visible on screen or window 
  140. ScreenSizeY 
  141.         Number of lines visible on screen or window 
  142. CursorInsertStart 
  143.         Starting percentage of cursor size (from top) when in insert mode. 
  144. CursorInsertEnd 
  145.         Ending percentage of cursor size when in insert mode. 
  146. CursorOverStart 
  147.         Starting percentage of cursor size when in overstrike mode 
  148. CursorOverEnd 
  149.         Ending percentage of cursor size when in overstrike mode. 
  150. SysClipboard 
  151.         When set to 1, editor will use external (PM) clipboard instead of 
  152.         internal one. 
  153. SelectPathname 
  154.         If set to 1, pathname will be selected by default when prompting for a 
  155.         file. 
  156. LoadAfterQuit 
  157.         If set to 1, editor will prompt for another file when all are closed. 
  158. ShowMenuBar 
  159.         If set to 1, main menu bar will be visible by default. 
  160. ShowScrollBar 
  161.         If set to 1, scroll bar will be visible by default. 
  162. ScrollBarWidth 
  163.         Scroll bar width in characters 
  164. DefaultModeName 
  165.         Default mode name for loading files. If not set or invalid, first mode 
  166.         in the configuration file will be used instead. 
  167. CompletionFilter 
  168.         Files matching this regexp are ignored when doing filename completion. 
  169. WSStyleSearch 
  170.         If set to 1, editor will use WordStar style prompts with separate 
  171.         prompts for search, replace string and options instead of the default 
  172.         search/replace/options style. 
  173. CompileRx 
  174.         Defines regexp and subpatterns to match when searching for 
  175.         errors/warnings in compilation output. First number is a number of the 
  176.         subpattern that matches filename. The second must match the line 
  177.         number, the third parameter is the regular expression to match to each 
  178.         line of the compiler output. 
  179. C_* 
  180.         Define the C mode smart indentation parameters 
  181. REXX_Indent 
  182.         Defines the REXX basic indentation level 
  183.  
  184.  
  185. ΓòÉΓòÉΓòÉ 2.5. Editing Modes ΓòÉΓòÉΓòÉ
  186.  
  187. fte allows each file extension to have a different editing mode. Mode is a 
  188. collection of editor settings such as keybindings, tab settings, autoindent 
  189. settings, syntax highlighting,... 
  190.  
  191. Syntax of mode command is 
  192.  
  193. mode NAME { mode settings }
  194. mode NAME: PARENT { mode settings }
  195. mode NAME: PARENT, "filename regexp" { mode settings }
  196. mode NAME: PARENT, "filename regexp", "first line regexp" { mode settings }
  197.  
  198. Mode with name NAMEinherits settings from mode PARENT if parent mode is 
  199. specified at mode declaration. 
  200.  
  201. When editor is searching for a mode to use for a file it will first check if 
  202. the mode has been overriden by a FileLoadInMode command or a command line 
  203. option (-m). 
  204.  
  205. Then it will check if the file name matches any of the "filename regexps" 
  206. listed with mode declarations. 
  207.  
  208. If the mode has still not been found, it will read the first line (max 80 
  209. chars) of the file, and attempt to match the "first line regexp" with the first 
  210. line. 
  211.  
  212. If this fails, editor will use mode specified by DefaultModeName setting to 
  213. load a file. If that mode does not exist, first mode defined in the 
  214. configuration file will be used. 
  215.  
  216.  
  217. ΓòÉΓòÉΓòÉ 2.6. Mode Settings ΓòÉΓòÉΓòÉ
  218.  
  219. The following settings can be specified for each mode: 
  220.  
  221. ExpandTabs {0,1} 
  222.         Should be set to 1 if tabs are to be expanded when displayed. 
  223. TabSize {1-32} 
  224.         Tab size when tabs are shown expanded on display. 
  225. AutoIndent {0,1} 
  226.         Should be set to 1 if autoindent is to be used. 
  227. Insert {0,1} 
  228.         If set to 1, Insert mode is active by default. If set to 0, Overwrite 
  229.         mode is activated. 
  230. StripChar {ASCII code} 
  231.         This characted will be stripped if at the end of line when the file is 
  232.         being loaded. If it is set to -1, no characted will be stripped. 
  233. LineChar {ASCII code} 
  234.         This character is used as a line separator when loading a file. If set 
  235.         to -1, there is no line separator. (WARNING: File will be loaded as one 
  236.         line if LineChar is set to -1). 
  237. AddCR {0,1} 
  238.         If set to 1, CR (13, \r) character will be added to end of line when 
  239.         saving. 
  240. AddLF {0,1} 
  241.         If set to 1, LF (10, \n) characted will be added to end if line when 
  242.         saving. 
  243. ForceNewLine {0,1} 
  244.         Normally, when saving, the last line is saved without any CR/LF 
  245.         characters. This setting will override that behaviour. 
  246. Hilit {0,1} 
  247.         If set to 1, syntax highliting will be active 
  248. ShowTab {0,1} 
  249.         If set to 1, tabs will be visible as circles (EPM-like). 
  250. IndentMode {PLAIN,C,REXX} 
  251.         Activates the specified smart indent mode. (PLAIN is not really smart 
  252.         :)) 
  253. HilitMode {PLAIN,C,HTML,MAKE,REXX,DIFF,IPF,PERL,MERGE,Ada} 
  254.         Activates the specified coloring mode. PLAIN specifies no coloring. 
  255. UndoLimit {Number} 
  256.         Limit undo to this many recent commands (-1 = unlimited) 
  257. KeepBackups {0,1} 
  258.         If set to 0, backup files will be deleted after a successful save 
  259.         operation. 
  260. MatchCase {0,1} 
  261.         If set to 0, searches will be case insensitive. This can be toggled via 
  262.         ToggleMatchCase(C-O_C-C) command when editor is running. 
  263. BackSpKillTab {0,1} 
  264.         If set to 1, BackSpace will kill entire tabs instead of converting them 
  265.         to spaces. 
  266. DeleteKillTab {0,1} 
  267.         If set to 1, Delete will kill entire tabs instead of converting them to 
  268.         spaces. 
  269. BackSpUnindents {0,1} 
  270.         If set to 1, BackSpace will inindent to previous indentation level if 
  271.         issued on beginning of line. 
  272. SpaceTabs {0,1} 
  273.         If set to 1, InsertTab command will insert spaces instead of tabs. 
  274. IndentWithTabs {0,1} 
  275.         If set to 1, indentation will be done using tabs instead of spaces. 
  276. WordWrap {0,1,2} 
  277.         If set to 1, editor wrap current line when right margin is reached. If 
  278.         set to 2, editor will wrap current paragraph continously. 
  279. LeftMargin {1-xx} 
  280.         Left margin for word wrap. 
  281. RightMargin {1-xx} 
  282.         Right margin for word wrap. 
  283. Trim {0,1} 
  284.         If set to 1, spaces on the end of line will be trimmed when editing. 
  285. ShowMarkers {0,1} 
  286.         If set to 1, end of line and end of file markers will be shown. 
  287. CursorTroughTabs {0,1} 
  288.         If set to 1, editor will allow cursor position inside tabs. 
  289. DefFindOpt 'options' 
  290.         Default search options for Find command. 
  291. DefFindReplaceOpt 'options' 
  292.         Default search/replace options for FindReplace command. 
  293. MainMenu "menu" 
  294.         Main menu displayed when editing in this mode. 
  295. LocalMenu "menu" 
  296.         Local menu used when editing in this mode. 
  297. SaveFolds {0,1,2} 
  298.         If 0, folds are not saved. If 1, folds are saved at BOL, if 2 folds are 
  299.         saved at EOL. 
  300. CommentStart "comment-start-string" 
  301.         String that starts comments (for saving folds) 
  302. CommentEnd "comment-ent-string" 
  303.         String that ends comments 
  304.  
  305.  
  306. ΓòÉΓòÉΓòÉ 2.6.1. Loading files in various formats ΓòÉΓòÉΓòÉ
  307.  
  308. Here are settings for loading files in various formats: 
  309.  
  310. DOS/Win/OS2/NT text files (CR/LF delimited): 
  311.  
  312.                           StripChar      13
  313.                           LineChar       10
  314.                           AddCR          1
  315.                           AddLF          1
  316.  
  317.  
  318. UNIX text files (LF delimited): 
  319.  
  320.                           StripChar      -1
  321.                           LineChar       10
  322.                           AddCR          0
  323.                           AddLF          1
  324.  
  325. MAC text files (CR delimited): 
  326.  
  327.                           StripChar      -1
  328.                           LineChar       13
  329.                           AddCR          1
  330.                           AddLF          0
  331.  
  332. Binary files (fixed record length): 
  333.  
  334.                           StripChar      -1
  335.                           LineChar       -1
  336.                           AddCR          0
  337.                           AddLF          0
  338.                           LoadMargin     64
  339.                           ForceNewLine   0
  340.  
  341.  
  342. ΓòÉΓòÉΓòÉ 2.7. Mode Keyboard Mappings ΓòÉΓòÉΓòÉ
  343.  
  344. Keybindings are inherited from parent modes unless overriden. 
  345.  
  346. Here are some examples of key specifiactions: 
  347.  
  348.         [A]
  349.         Uppercase a 
  350.         [a]
  351.         Lowercase a 
  352.         [;]
  353.         Semicolon 
  354.         [A-A]
  355.         Alt+A 
  356.         [C-B]
  357.         Ctrl+B 
  358.         [A-C-F1]
  359.         Alt+Ctrl+F1 
  360.         [A-C-S-F1]
  361.         Alt+Ctrl+Shift+F1 
  362.         [A-Space]
  363.         Alt+Space 
  364.         [C-K_C-B]
  365.         Ctrl+K and then Ctrl+B (two keys) 
  366.         [C-A_C-B_C-C]
  367.         Ctrl+A Ctrl+B Ctrl+C must be pressed in sequence. 
  368.         [G--]
  369.         Gray - 
  370.         [G-+]
  371.         Gray + 
  372.         [C-\\]
  373.         Ctrl+Backslash 
  374.         [C-\[]
  375.         Ctrl+[ 
  376.  
  377. The following special keys are available (case sensitive): 
  378.  
  379. F1-F12 Home End PgUp PgDn Insert Delete Up Down Left Right Enter Esc BackSp 
  380. Space Tab 
  381.  
  382. Keys are bound using the key command: 
  383.  
  384. key [keyspec] { editor commands } 
  385.  
  386. ASCII characters >= 32 are bound to SelfInsert by default. 
  387.  
  388. See fte.Cfg for examples and default configuration. 
  389.  
  390.  
  391. ΓòÉΓòÉΓòÉ 2.8. Colors ΓòÉΓòÉΓòÉ
  392.  
  393.  Colors are configured in COLOR.FTE file. 
  394.  
  395. Syntax for color settings is: 
  396.  
  397. color { { 'name', 'value' } ... } 
  398.  
  399. Value is the PC character attribute first char is background color, the second 
  400. is foreground color. 
  401.  
  402. Colors are as follows: 
  403.  
  404.         0        Black
  405.         1        Dark Blue
  406.         2        Dark Green
  407.         3        Dark Cyan
  408.         4        Dark Red
  409.         5        Dark Magenta
  410.         6        Orange
  411.         7        Pale Gray
  412.         8        Dark Gray
  413.         9        Blue
  414.         A        Green
  415.         B        Cyan
  416.         C        Red
  417.         D        Magenta
  418.         E        Yellow
  419.         F        White
  420.  
  421.  
  422. ΓòÉΓòÉΓòÉ 3. Status Line ΓòÉΓòÉΓòÉ
  423.  
  424. Status line displays the following status information: 
  425.  
  426. position flags modename [curchar] mod? filename 
  427.  
  428. position = visible_line, actual_line: column, character_number 
  429.  
  430. flags 
  431.  
  432.         I
  433.         Insert 
  434.         A
  435.         Autoindent 
  436.         T
  437.         Tabs Expanded (only on display, not file) 
  438.         C
  439.         Matches are case sensitive 
  440.         wW
  441.         Automatic word wrap active (w = line, W = paragraph). 
  442.         U
  443.         Undo/Redo active 
  444.         E
  445.         Trim active (spaces at EOL trimmed) 
  446.         SLC
  447.         Stream, Line, Column block-mode 
  448.         X
  449.         AutoExtend block-mode 
  450.  
  451. mode    = Mode name as specified in configuration file 
  452.  
  453. curchar  = Dec,Hex ASCII code of current character 
  454.  
  455. mod?    = * if file was modified, % if file is read-only 
  456.  
  457.  
  458. ΓòÉΓòÉΓòÉ 4. Editor Commands ΓòÉΓòÉΓòÉ
  459.  
  460. These commands can be bound to keys in configuration file: 
  461.  
  462.  
  463. ΓòÉΓòÉΓòÉ 4.1. Cursor Movement ΓòÉΓòÉΓòÉ
  464.  
  465.         MoveLeft
  466.         Move cursor left one character 
  467.         MoveRight
  468.         Move cursor right one character 
  469.         MoveUp
  470.         Move cursor up one line 
  471.         MoveDown
  472.         Move cursor down one line 
  473.         MovePrev
  474.         Move cursor to previous character 
  475.         MoveNext
  476.         Move cursor to next character 
  477.         MoveWordLeft
  478.         Move cursor one word left 
  479.         MoveWordRight
  480.         Move cursor one word right 
  481.         MoveWordPrev
  482.         Move cursor to start of previous word 
  483.         MoveWordNext
  484.         Move cursor to start of next word 
  485.         MoveLineStart
  486.         Move cursor to beginning of line 
  487.         MoveLineEnd
  488.         Move cursor to end of line 
  489.         MovePageUp
  490.         Move cursor to previous page 
  491.         MovePageDown
  492.         Move cursor to next page 
  493.         MovePageLeft
  494.         Move cursor one page left 
  495.         MovePageRight
  496.         Move cursor one page right 
  497.         MovePageStart
  498.         Move cursor to top of page 
  499.         MovePageEnd
  500.         Move cursor top bottom of page 
  501.         MoveFileStart
  502.         Move cursor to start of buffer 
  503.         MoveFileEnd
  504.         Move cursor to end of buffer 
  505.         MoveBlockStart
  506.         Move cursor to beginning of block 
  507.         MoveBlockEnd
  508.         Move cursor to end of block 
  509.         ScrollLeft
  510.         Scroll screen left 8 characters 
  511.         ScrollRight
  512.         Scroll screen right 8 characters 
  513.         ScrollDown
  514.         Scroll screen down 1 line 
  515.         ScrollUp
  516.         Scroll screen up 1 line 
  517.         MoveFirstNonWhite
  518.         Move to first non whitespace character on line 
  519.         MoveLastNonWhite
  520.         Move after last non whitespace character on line 
  521.         MovePrevEqualIndent
  522.         Move to previous line with indentation equal to current. 
  523.         MoveNextEqualIndent
  524.         Move to next line with indentation equal to current. 
  525.         MovePrevTab
  526.         Move cursor to previous tab stop. 
  527.         MoveNextTab
  528.         Move cursor to next tab stop. 
  529.         MovePrevPos
  530.         Move to previous position 
  531.         SavePos
  532.         Save current position 
  533.         MoveSavedPos
  534.         Restore saved position 
  535.         MoveSavedPosCol
  536.         Restore saved position column 
  537.         MoveSavedPosRow
  538.         Restore saved position row 
  539.         MoveLineTop
  540.         Move current line to top of window 
  541.         MoveLineCenter
  542.         Move current line to center of window 
  543.         MoveLineBottom
  544.         Move current line to bottom of window 
  545.  
  546.  
  547. ΓòÉΓòÉΓòÉ 4.2. Text deleting ΓòÉΓòÉΓòÉ
  548.  
  549.         KillLine
  550.         Delete current line 
  551.         KillChar
  552.         Delete character under cursor 
  553.         KillCharPrev
  554.         Delete character before cursor 
  555.         KillWord
  556.         Delete next word 
  557.         KillWordPrev
  558.         Delete previous word 
  559.         KillToLineStart
  560.         Delete text to line start 
  561.         KillToLineEnd
  562.         Delete text to line end 
  563.         KillBlock
  564.         Kill text in block 
  565.         BackSpace
  566.         Delete character before cursor (configurable) 
  567.         Delete
  568.         Delete character under cursor (configurable) 
  569.  
  570.  
  571. ΓòÉΓòÉΓòÉ 4.3. Line commands ΓòÉΓòÉΓòÉ
  572.  
  573.         LineInsert
  574.         Insert empty line before current line 
  575.         LineAdd
  576.         Add line after current 
  577.         LineSplit
  578.         Split line at current cursor position 
  579.         LineJoin
  580.         Join line with next one 
  581.         LineNew
  582.         Add new line after current one, move to next line and autoindent 
  583.         LineIndent
  584.         Reindent current line 
  585.         LineTrim
  586.         Trim spaces at the end of current line 
  587.  
  588.  
  589. ΓòÉΓòÉΓòÉ 4.4. Text insertion ΓòÉΓòÉΓòÉ
  590.  
  591.         InsertTab
  592.         Insert Tab character 
  593.         SelfInsert
  594.         Insert character defined by last key 
  595.         WrapPara
  596.         Word wrap paragraph (to next blank line). 
  597.         LineDuplicate
  598.         Duplicate current line. 
  599.         InsPrevLineChar
  600.         Insert character above current character. 
  601.         InsPrevLineToEol
  602.         Insert previous line from current char to eol. 
  603.         CompleteWord
  604.         Complete word to previous word starting with text before cursor. 
  605.  
  606.  
  607. ΓòÉΓòÉΓòÉ 4.5. Blocks ΓòÉΓòÉΓòÉ
  608.  
  609.         BlockBegin
  610.         Set block beginning to current position 
  611.         BlockEnd
  612.         Set block end to current position 
  613.         BlockUnmark
  614.         Unmark selected block 
  615.         BlockCut
  616.         Cut selected block to clipboard 
  617.         BlockCopy
  618.         Copy selected block to clipboard 
  619.         BlockPaste
  620.         Paste clipboard to current position 
  621.         BlockPasteStream
  622.         Paste clipboard to current position as stream block. 
  623.         BlockPasteLine
  624.         Paste clipboard to current position as line block. 
  625.         BlockPasteColumn
  626.         Paste clipboard to current position as column block. 
  627.         BlockKill
  628.         Delete selected text 
  629.         BlockIndent
  630.         Indent block by 1 character 
  631.         BlockUnindent
  632.         Unindent block by 1 character 
  633.         BlockMarkStream
  634.         Begin/end marking stream block 
  635.         BlockMarkLine
  636.         Begin/end marking line block 
  637.         BlockMarkColumn
  638.         Begin/end marking column block 
  639.         BlockExtendBegin
  640.         Begin extending selected block 
  641.         BlockExtendEnd
  642.         End extending selected block 
  643.         BlockReIndent
  644.         Reindent entire block (C/REXX mode) 
  645.         BlockRead
  646.         Read block from file 
  647.         BlockWrite
  648.         Write marked block to file 
  649.  
  650.  
  651. ΓòÉΓòÉΓòÉ 4.6. File commands ΓòÉΓòÉΓòÉ
  652.  
  653.         FileSave
  654.         Save current file 
  655.         FileSaveAll
  656.         Save all loaded files 
  657.         FileSaveAs
  658.         Save current file under a new name 
  659.         FileQuit
  660.         Close current file 
  661.         FileQuitAll
  662.         Close all files 
  663.         FileLoad
  664.         Load a file 
  665.         FileLoadInMode
  666.         Load a file in a specified mode. 
  667.         FileReload
  668.         Reload current file 
  669.         FileNext
  670.         Select next file in buffer ring 
  671.         FilePrev
  672.         Select previous file in buffer ring 
  673.  
  674.  
  675. ΓòÉΓòÉΓòÉ 4.7. Window commands ΓòÉΓòÉΓòÉ
  676.  
  677.         WinHSplit
  678.         Split window horizontally 
  679.         WinNext
  680.         Activate next window 
  681.         WinPrev
  682.         Activate previous window 
  683.         WinZoom
  684.         Make current window the only one (close all others) 
  685.         WinRefresh
  686.         Repaint entire screen. 
  687.  
  688.  
  689. ΓòÉΓòÉΓòÉ 4.8. Undo/Redo ΓòÉΓòÉΓòÉ
  690.  
  691.         Undo
  692.         Undo last operation 
  693.         Redo
  694.         Redo last undone operation 
  695.  
  696.  
  697. ΓòÉΓòÉΓòÉ 4.9. Case conversion ΓòÉΓòÉΓòÉ
  698.  
  699.         CharCaseUp
  700.         Convert current character to uppercase 
  701.         CharCaseDown
  702.         Convert current character to lowercase 
  703.         CharCaseToggle
  704.         Toggle case of current characters 
  705.         LineCaseUp
  706.         Convert characters on current line to uppercase 
  707.         LineCaseDown
  708.         Convert characters on current line to lowercase 
  709.         LineCaseToggle
  710.         Toggle case of characters on current line 
  711.         BlockCaseUp
  712.         Convert characters in selected block to uppercase 
  713.         BlockCaseDown
  714.         Convert characters in selected block to lowercase 
  715.         BlockCaseToggle
  716.         Toggle case of characters in selected block 
  717.  
  718.  
  719. ΓòÉΓòÉΓòÉ 4.10. Searching ΓòÉΓòÉΓòÉ
  720.  
  721.         Find
  722.         Search for text, w/options 
  723.         FindReplace
  724.         Search and replace text w/options. 
  725.         FindRepeat
  726.         Repeat last search/replace operation 
  727.         FindRepeatReverse
  728.         Repeat last search/replace operation in opposite direction 
  729.         FindRepeatOnce
  730.         Repeat last search/replace operation only once. 
  731.         MatchBracket
  732.         Search for matching bracket 
  733.         IncrementalSearch
  734.         Search incrementally for text. 
  735.         Search
  736.         Search for text 
  737.         SearchB
  738.         Search for text backwards 
  739.         SearchRx
  740.         Search for regexp 
  741.         SearchReplaceRx
  742.         Search and replace using regexp 
  743.         SearchAgain
  744.         Search for text again 
  745.         SearchAgainB
  746.         Search for text again backwards 
  747.         SearchReplace
  748.         Search for text and replace 
  749.         SearchReplaceB
  750.         Search and replace backwards 
  751.  
  752.  
  753. ΓòÉΓòÉΓòÉ 4.11. Folding ΓòÉΓòÉΓòÉ
  754.  
  755.         FoldCreate
  756.         Create fold 
  757.         FoldCreateByRegexp
  758.         Create folds at lines matching regexp 
  759.         FoldDestroy
  760.         Destroy fold at current line 
  761.         FoldDestroyAll
  762.         Destroy all folds in file 
  763.         FoldOpen
  764.         Open fold at current line 
  765.         FoldOpenAll
  766.         Open all folds in file 
  767.         FoldOpenNested
  768.         Open current fold and all nested folds 
  769.         FoldClose
  770.         Close current fold 
  771.         FoldCloseAll
  772.         Close all folds in file 
  773.         FoldToggleOpenClose
  774.         Toggle open/close fold. 
  775.         FoldPromote
  776.         Make fold a higher level fold 
  777.         FoldDemote
  778.         Make fold a lower level fold 
  779.  
  780.  
  781. ΓòÉΓòÉΓòÉ 4.12. Compile commands ΓòÉΓòÉΓòÉ
  782.  
  783.         Compile
  784.         Run compile command in background 
  785.         CompileViewErrors
  786.         View compiler output 
  787.         CompilePrevError
  788.         Jump to previous compiler error 
  789.         CompileNextError
  790.         Jump to next compiler error 
  791.  
  792.  
  793. ΓòÉΓòÉΓòÉ 4.13. Settings ΓòÉΓòÉΓòÉ
  794.  
  795.         ToggleAutoIndent
  796.         Toggle automatic indentation 
  797.         ToggleInsert
  798.         Toggle insert/overwrite mode 
  799.         ToggleExpandTabs
  800.         Toggle tab expansion on display 
  801.         ToggleShowTabs
  802.         Toggle tab visibility (as circles). 
  803.         ToggleUndo
  804.         Toggle undo/redo information saving. 
  805.         ToggleReadOnly
  806.         Toggle read only file. 
  807.         ToggleKeepBackups
  808.         Toggle backup files. 
  809.         ToggleMatchCase
  810.         Toggle case sensitivity for searches 
  811.         ToggleBackSpKillTab
  812.         Enable/disable BackSp killing entire tabs. 
  813.         ToggleDeleteKillTab
  814.         Enable/disable Delete killing entire tabs. 
  815.         ToggleSpaceTabs
  816.         Toggle insertion of spaces instead of tabs on Tab key. 
  817.         ToggleIndentWithTabs
  818.         Toggle indentation with tabs. 
  819.         ToggleBackSpUnindents
  820.         Toggle unindentation on previous indent level on BackSp. 
  821.         ToggleWordWrap
  822.         Toggle automatic word wrap. 
  823.         ToggleTrim
  824.         Toggle trimming of spaces at end of line. 
  825.         ToggleShowMarkers
  826.         Toggle EOL/EOF marker visibility. 
  827.         ToggleSysClipboard
  828.         Toggle usage of system clipboard. 
  829.         SetLeftMargin
  830.         Set left margin to current cursor column. 
  831.         SetRightMargin
  832.         Set right margin to current cursor column. 
  833.         ChangeTabSize
  834.         Prompt for tab size. 
  835.         ChangeCIndent
  836.         Prompt for indentation level for CMode smart indentation. 
  837.         ChangeCBraceOfs
  838.         Change brace offset for CMode smart indentation. 
  839.         ChangeREXXIndent
  840.         Prompt for indentation level for REXX smart indentation 
  841.         ChangeLeftMargin
  842.         Prompt for left margin for word wrap. 
  843.         ChangeRightMargin
  844.         Prompt for right margin for word wrap. 
  845.  
  846.  
  847. ΓòÉΓòÉΓòÉ 4.14. Other ΓòÉΓòÉΓòÉ
  848.  
  849.         ExitEditor
  850.         Close all files and exit editor 
  851.         RunCommand
  852.         Run command in foreground. 
  853.         ViewBuffers
  854.         View buffer list 
  855.         ViewModeMap
  856.         View keyboard mappings for current mode 
  857.         ChangeMode
  858.         Activate another mode 
  859.         GetPMClip
  860.         Copy PM clipboard to editor clipboard 
  861.         PutPMClip
  862.         Copy editor clipboard to PM clipboard 
  863.         ShowEntryScreen
  864.         Show saved shell screen. 
  865.         SwitchTo
  866.         Switch to buffer with a number. 
  867.         ChangeKeys
  868.         Change current keymap to keymap of another mode. 
  869.         ChangeFlags
  870.         Change current flags to flags of another mode. 
  871.         ShowMenu
  872.         Show and select from menu. 
  873.         MainMenu
  874.         Activate menu bar. 
  875.         LocalMenu
  876.         Activate local popup menu. 
  877.         ASCIITable
  878.         Show a popup ASCII table. 
  879.         PlaceBookmark
  880.         Place a named bookmark at current buffer position 
  881.         GotoBookmark
  882.         Goto a named bookmark in current buffer 
  883.         RemoveBookmark
  884.         Remove a named bookmark from current buffer 
  885.  
  886.  
  887. ΓòÉΓòÉΓòÉ 5. Regular Expressions ΓòÉΓòÉΓòÉ
  888.  
  889. Regular expressions are a way to specify text patterns when searching for a 
  890. text in a buffer. Regular expressions consist of normal characters and special 
  891. operator characters with a special meanings. Operators allow you to anchor 
  892. matches, match classes of characters, match given pattern several times or 
  893. match alternate patterns. Operators can be also used to group patterns. 
  894.  
  895. Search Operators 
  896.  
  897.         Quotes next character. Character will lose it's special meaning. Can 
  898.         also be used to match special characters. 
  899. \n 
  900.         Matches a 0x0A (LF) character. 
  901. \r 
  902.         Matches a 0x0D (CR) character. 
  903. \t 
  904.         Matches a 0x09 (TAB) character. 
  905. \e 
  906.         Matches an escape character (0x1B) 
  907. \s 
  908.         Matches whitespace (CR, LF, TAB, SPACE) characters. 
  909. \S 
  910.         Matches non-whitespace (the reverse of \s) 
  911. \w 
  912.         Matches word character [a-zA-Z0-9] 
  913. \W 
  914.         Matches non-word character 
  915. \d 
  916.         Matches a digit [0-9]. 
  917. \D 
  918.         Matches a non-digit. 
  919. \U 
  920.         Matches uppercase characters (A-Z) 
  921. \L 
  922.         Matches lowercase characters (a-z) 
  923. \x## 
  924.         Matches specified hex value (\x0A, \x0D, \x09, etc.) 
  925. \o### 
  926.         Matches specified octal value (\o000, \o015, etc.) 
  927. \N### 
  928.         Matches specified decimal value (\N000, \N013, \N009, etc.) 
  929. \C 
  930.         Starts case sensitive matching. 
  931. \c 
  932.         Starts case insensitive matching. 
  933.         Match a beginning of line. 
  934.         Match an end of line. 
  935.         Match any character. 
  936.         Match beginning of word (word consists of [A-Za-z0-9]). 
  937.         Match end of word. 
  938. [ ] 
  939.         Specifies a class of characters ([abc123], [\]\x10], etc). 
  940. [ - ] 
  941.         Specified a range of characters ([0-9a-zA-Z_], [0-9], etc) 
  942. [^ ] 
  943.         Specifies complement class ([^a-z], [^\-], etc) 
  944.         Matches preceeding pattern optionally (a?bc, filename\.?, $?, etc) 
  945.         Matches preceeding or next pattern (a|b, c|d, abc|d). Only one 
  946.         character will be used as pattern unless grouped together using {} or 
  947.         (). 
  948.         Match zero or more occurances of preceeding pattern. Matching is greedy 
  949.         and will match as much as possible. 
  950.         Match one or more occurances of preceeding pattern. Match is greedy. 
  951.         Match zero or more occurances of preceeding pattern. Matching is 
  952.         non-greedy and will match as little as possible without causing the 
  953.         rest of the pattern match to fail. 
  954.         Match one or more occurances of preceeding pattern. Matching is 
  955.         non-greedy. 
  956. { } 
  957.         Group patterns together to form complex pattern. ( {abc}, {abc}|{cde}, 
  958.         {abc}?, {word}?) 
  959. ( ) 
  960.         Group patterns together to form complex pattern. Also used to remember 
  961.         the matched substring which can be used for substitution operation. Up 
  962.         to 9 can be used. 
  963.  
  964. Replace Operators: 
  965.  
  966.         Causes the next character to lose it's special meaning. 
  967. \n 
  968.         Inserts a 0x0A (LF) character. 
  969. \r 
  970.         Inserts a 0x0D (CR) character. 
  971. \t 
  972.         Inserts a 0x09 (TAB) character. 
  973. \# 
  974.         Recalls stored substring from matched pattern ()'s. (\1, \2, \3, to \9) 
  975. \0 
  976.         Recalls entire matched pattern. 
  977. \u 
  978.         Convert next character to uppercase 
  979. \l 
  980.         Convert next character to lowercase 
  981. \U 
  982.         Convert to uppercase till \E or \e 
  983. \L 
  984.         Convert to lowercase till \E or \e 
  985.  
  986.  
  987. ΓòÉΓòÉΓòÉ 6. Search and Replace ΓòÉΓòÉΓòÉ
  988.  
  989. Search and Replace Commands: 
  990.  
  991.         Find
  992.         Search for text w/options. 
  993.         FindReplace
  994.         Search and replace text w/options. 
  995.         FindRepeat
  996.         Repeat last search/replace operation 
  997.         FindRepeatReverse
  998.         Repeat last search/replace operation in opposite direction 
  999.         FindRepeatOnce
  1000.         Repeat last search/replace operation only once. 
  1001.         MatchBracket
  1002.         Search for matching bracket 
  1003.         IncrementalSearch
  1004.         Search incrementally for text. 
  1005.         Search
  1006.         Search for text 
  1007.         SearchB
  1008.         Search for text backwards 
  1009.         SearchRx
  1010.         Search for regexp 
  1011.         SearchReplaceRx
  1012.         Search and replace using regexp 
  1013.         SearchAgain
  1014.         Search for text again 
  1015.         SearchAgainB
  1016.         Search for text again backwards 
  1017.         SearchReplace
  1018.         Search for text and replace 
  1019.         SearchReplaceB
  1020.         Search and replace backwards 
  1021.  
  1022. If WSStyleSearch is set to 1, search/replace string and options are entered at 
  1023. separate prompts. Otherwise they must be separated by a '/' (slash) and any 
  1024. slash or backslash in search/replace string must be escaped by '\' (backslash), 
  1025. except when using regular expressions (double escaping is not necessary). 
  1026.  
  1027. For example (when WSStyleSearch is off): 
  1028.  
  1029.          foo/bar/agn    replace all foo with bar globally without prompting
  1030.  Search and Replace Options 
  1031.  
  1032.         a
  1033.         Search for all occurances 
  1034.         b
  1035.         Search in block only 
  1036.         g
  1037.         Search through entire file/block (globally). 
  1038.         i
  1039.         Ignore case 
  1040.         r
  1041.         Reverse search 
  1042.         x
  1043.         Use regular expression matching 
  1044.         d
  1045.         Delete found line 
  1046.         j
  1047.         Join found line 
  1048.         n
  1049.         No prompting 
  1050.  
  1051. Commands affected by DefFindOpt mode setting: 
  1052.  
  1053. o Find 
  1054.  
  1055. Commands affected by DefFindReplaceOpt mode setting: 
  1056.  
  1057. o FindReplace 
  1058.  
  1059. Commands affected by MatchCase mode setting: 
  1060.  
  1061. o IncrementalSearch 
  1062. o Search 
  1063. o SearchB 
  1064. o SearchRx 
  1065. o SearchReplaceRx 
  1066. o SearchReplace 
  1067. o SearchReplaceB 
  1068.  
  1069. Commands affected by WSStyleSearch mode setting: 
  1070.  
  1071. o Find 
  1072. o FindReplace 
  1073. o FindRepeat 
  1074. o FindRepeatReverse 
  1075. o FindRepeatOnce 
  1076.  
  1077.  
  1078. ΓòÉΓòÉΓòÉ 7. CMode Smart Indentation ΓòÉΓòÉΓòÉ
  1079.  
  1080.  Settings for CMode smart indentation 
  1081.  
  1082.         C_Indent
  1083.         Basic C indentation level 
  1084.         C_BraceOfs
  1085.         Brace '{' offset 
  1086.         C_CaseOfs
  1087.         Offset of case and default statements 
  1088.         C_CaseDelta
  1089.         Offsets of statements following case/default. 
  1090.         C_ClassOfs
  1091.         Offset of public, private and protected 
  1092.         C_ClassDelta
  1093.         Offset of statements following public, private, protected 
  1094.         C_ColonOfs
  1095.         Offset of labels 
  1096.         C_CommentOfs
  1097.         Offset of comments 
  1098.         C_CommentDelta
  1099.         Offset of second line of comments 
  1100.  
  1101. Example 1: 
  1102.  
  1103. class line {
  1104. public:                   // C_ClassOfs = 0
  1105.     line();               // C_ClassDelta = 4
  1106.     ~line();
  1107. };
  1108.  
  1109. int main() {
  1110.     int x = 1;
  1111.  
  1112.     /*                    // C_CommentOfs = 0
  1113.      * check value        // C_CommentDelta = 1
  1114.      */
  1115.  
  1116.     puts("main");         // C_Indent = 4
  1117.     if (x)
  1118.     {                     // C_BraceOfs = 0
  1119.         switch (x) {
  1120.         case 1:           // C_CaseOfs = 0
  1121.             puts("ok");   // C_CaseDelta = 4
  1122.             break;
  1123.         }
  1124.     }
  1125. end:
  1126.     return 0;
  1127. }
  1128.  
  1129. Example 2: 
  1130.  
  1131. class line {
  1132.   public:                     // C_ClassOfs = 2
  1133.     line();                   // C_ClassDelta = 2
  1134.     ~line();
  1135. };
  1136.  
  1137. int main() {
  1138.     int x = 1;
  1139.  
  1140.       /*                      // C_CommentOfs = 2
  1141.       ** check value          // C_CommentDelta = 0
  1142.       */
  1143.  
  1144.     puts("main");             // C_Indent = 4
  1145.     if (x)
  1146.     {                         // C_BraceOfs = 0
  1147.         switch (x) {
  1148.             case 1:           // C_CaseOfs = 4
  1149.                 puts("ok");   // C_CaseDelta = 4
  1150.                 break;
  1151.         }
  1152.     }
  1153. end:
  1154.     return 0;
  1155. }
  1156.  
  1157.  
  1158. ΓòÉΓòÉΓòÉ 8. Performance Tips ΓòÉΓòÉΓòÉ
  1159.  
  1160.  If you want to achieve top performance (necessary for some text editing 
  1161. tasks), here are some tips: 
  1162.  
  1163. o Disable Tab Expansion 
  1164. o Disable ShowMarkers 
  1165. o Disable Undo 
  1166. o Use PLAIN hilit mode 
  1167.  
  1168.  
  1169. ΓòÉΓòÉΓòÉ 9. History of Changes ΓòÉΓòÉΓòÉ
  1170.  
  1171. o 0.34 
  1172.  
  1173.    - 1995/10/15 
  1174.  
  1175.       o Minor fixes & docs updates... 
  1176.  
  1177. o 0.33 
  1178.  
  1179.    - 1995/10/01 
  1180.  
  1181.       o SIGBREAK handler now works again. 
  1182.       o Fixes in C/C++ smart indentation (if in switch, ...) 
  1183.       o Pascal highlighting mode. 
  1184.       o Printing. 
  1185.       o Rewritten folding. Now supports nested folds, opening closing folds, 
  1186.         and persistent folds. 
  1187.       o New folding commands: FoldCreate, FoldDestroy, FoldOpen, FoldClose, 
  1188.         FoldPromote, FoldDemote, FoldCreateByRegexp, FoldOpenAll, 
  1189.         FoldOpenNested, FoldCloseAll, FoldDestroyAll, FoldToggleOpenClose, 
  1190.         MoveFoldPrev, MoveFoldNext. 
  1191.       o New settings: SaveFolds, CommentStart, CommentEnd. 
  1192.       o Word characters can be configured using WordChars setting. 
  1193.  
  1194. o 0.32 
  1195.  
  1196.    - 1995/08/15 
  1197.  
  1198.       o New search routines. (Find, FindReplace, FindRepeat, FindRepeatReverse, 
  1199.         FindRepeatOnce, ...) 
  1200.       o Block-local searches. 
  1201.       o In buffer-list, most recently used files will now be listed first. 
  1202.       o Main menu bar can now be hidden. 
  1203.       o Performance improvements. 
  1204.       o Bookmarks! New commands: PlaceBookmark, GotoBookmark, RemoveBookmark 
  1205.       o Files can now be saved and closed from window list. 
  1206.       o Optimized CMode indentation. Also more configurable. 
  1207.  
  1208. o 0.31 
  1209.  
  1210.    - 1995/07/31 
  1211.  
  1212.       o Bug fixed in undo/redo when UndoLimit reached. 
  1213.  
  1214. o 0.30 
  1215.  
  1216.    - 1995/07/30 
  1217.  
  1218.       o Folding support. 
  1219.       o New commands: FoldLine, UnfoldLine, UnfoldNextLine, UnfoldAll, 
  1220.         ClearFolds, FoldIndent, FoldRegexp, FoldBlock, UnfoldBlock, 
  1221.         FoldBlockRegexp 
  1222.       o BackSpace at eof when TrimLine is enabled will not abort. 
  1223.       o Incremental search (IncrementalSearch). 
  1224.       o PgUp/PgDn on a file prompt will show a list of files. 
  1225.       o New command: CompleteWord 
  1226.  
  1227. o 0.29 
  1228.  
  1229.    - 1995/07/20 
  1230.  
  1231.       o Regexps can now be case insensitive (\C,\c). 
  1232.       o BlockRead/BlockReadColumn/BlockWrite commands. 
  1233.       o Block marking can now be undone. 
  1234.       o Commands that prompt for string/int values can now take string/int 
  1235.         arguments. 
  1236.       o Multiple compile-regex statements can be specified simultaneously 
  1237.       o Minor bug-fixes in regexps ([\x00-\xFF] now works). 
  1238.       o Filter for filename completion. 
  1239.       o New commands: SwitchTo ChangeKeys ChangeFlags ShowMenu 
  1240.       o New options: CompletionFilter DefaultModeName 
  1241.  
  1242. o 0.28 
  1243.  
  1244.    - 1995/07/08 
  1245.  
  1246.       o - Needs to have documentation updated. 
  1247.       o Mostly rewritten PERL highlighting. Works much better now. 
  1248.       o Completely new config file syntax. 
  1249.       o New commands: ASCIITable, LoadFileInMode 
  1250.       o CMode indentation should now work for Perl (close enough). 
  1251.       o Highlighting for ADA and Email messages. 
  1252.  
  1253. o 0.27 
  1254.  
  1255.    - 1995/06/19 
  1256.  
  1257.       o Minor bug fixes. 
  1258.  
  1259. o 0.26 
  1260.  
  1261.    - 1995/06/18 
  1262.  
  1263.       o New commands: {Char,Line,Block}Case{Up,Down,Toggle} 
  1264.       o New setting: LoadAfterQuit -- if set to 1, editor will prompt to load 
  1265.         another file before exiting. 
  1266.       o New setting: ShowScrollBar {0,1}. 
  1267.  
  1268. o 0.25 
  1269.  
  1270.    - 1995/06/12 
  1271.  
  1272.       o Minor bug fix in REXX highlighting ("\"", ...) 
  1273.       o Bug fixes in word wrap. 
  1274.       o BlockCut now doesn't move the cursor to the block beginning. 
  1275.       o New commands: MoveLineTop, MoveLineCenter, MoveLineBottom. 
  1276.       o Editor will now check if the file has changed before the first 
  1277.         modification. 
  1278.       o Found text is now highlighted. 
  1279.       o New CMode setting: C.BraceOfs and command: ChangeCBraceOfs 
  1280.       o New commands: MovePrevPos, SavePos, MoveSavedPos, MoveSavedPosCol, 
  1281.         MoveSavedPosRow 
  1282.  
  1283. o 0.24 
  1284.  
  1285.    - 1995/06/06 
  1286.  
  1287.       o When checking for file modification time of last change is now used 
  1288.         instead of the time of last access. 
  1289.       o Wildcard support for file loading. 
  1290.  
  1291. o 0.23 
  1292.  
  1293.    - 1995/06/04 
  1294.  
  1295.       o Ctrl+C and Ctrl+Break are now disabled. 
  1296.       o Ctrl+S and Ctrl+C keys are now again recognised in Windowed mode. 
  1297.       o Fixed problem when spawning a subprocess in Windowed mode. 
  1298.       o New command: ShowEntryScreen 
  1299.       o ListRoutines in CMode only shows functions not their prototypes. 
  1300.       o New setting: SysClipboard - if set to 1, editor will automatically use 
  1301.         system clipboard. 
  1302.       o New command: ToggleSysClipboard. 
  1303.       o Minor bug fix in PM clipboard support. 
  1304.       o New commands: BlockPasteStream, BlockPasteColumn and BlockPasteLine. 
  1305.         BlockPaste command will now always paste in current block mode, not in 
  1306.         the last Copy/Cut mode. 
  1307.       o More than 4 commands can be bound to a key (actually this worked since 
  1308.         0.18, but was not documented). 
  1309.       o New command: FileReload. 
  1310.       o Editor will now check if file has changed on disk before saving it. 
  1311.  
  1312. o 0.22 
  1313.  
  1314.    - 1995/05/28 
  1315.  
  1316.       o But fix in regular expressions (nested +#*@). 
  1317.       o Changes in regular expression syntax. 
  1318.       o New function: ListRoutines. Shows functions in current buffer. 
  1319.       o New setting: RoutineRx 
  1320.  
  1321. o 0.21 
  1322.  
  1323.    - 1995/05/21 
  1324.  
  1325.       o REXX mode smart indentation. 
  1326.       o KillWord & KillWordPrev commands now actually work. 
  1327.       o Pressing Ctrl+Enter to begin Search will toggle case sensitivity of 
  1328.         search. 
  1329.       o New option 'Trim' and commands 'ToggleTrim', 'LineTrim'. Removes 
  1330.         whitespace from end of lines. 
  1331.       o New option 'ShowMarkers' and command 'ToggleShowMarkers'. Shows end of 
  1332.         line and end of file markers. 
  1333.       o Bug fix in PERL highlighting (caused lockups) 
  1334.       o Bug fixes and improvements in regular expressions. 
  1335.  
  1336. o 0.20 
  1337.  
  1338.    - 1995/05/18 
  1339.  
  1340.       o Major bug fixes in word wrap. 
  1341.       o New commands: MovePrevTab, MoveNextTab. 
  1342.       o Bug fixes in BlockIndent and BlockUnindent (stream/line mode) 
  1343.  
  1344. o 0.19 
  1345.  
  1346.    - 1995/05/16 
  1347.  
  1348.       o Function names in REXX are now highlighted. 
  1349.       o WordWrap can be set to 0 - disabled, 1 - wrap line at right margin and 
  1350.         2 - wrap paragraph continously. Function ToggleAutoWrap renamed to 
  1351.         ToggleWordWrap. 
  1352.       o New way to set left/right margin (SetLeftMargin, SetLeftMargin) 
  1353.       o Minor fix in PERL highlighting. 
  1354.  
  1355. o 0.18 
  1356.  
  1357.    - 1995/05/13 
  1358.  
  1359.       o PERL Syntax Higlighting. 
  1360.       o Memory allocation problem in tab expansion. 
  1361.       o Wordwrap now strips all spaces on beginning of line (except on the 
  1362.         first line of the paragraph). 
  1363.       o Tabs can be set to any number between 1 and 32. 
  1364.       o Changed names of buffer flags (WrapOn -> AutoWrap, UndoRedo -> Undo, 
  1365.         ShowTab -> ShowTabs) 
  1366.       o New commands: ToggleAutoIndent, ToggleExpandTabs, ToggleShowTabs, 
  1367.         ToggleUndo, ToggleReadOnly, ToggleKeepBackups, ToggleMatchCase, 
  1368.         ToggleBackSpKillTab,      ToggleDeleteKillTab, ToggleSpaceTabs, 
  1369.         ToggleIndentWithTabs, ToggleBackSpUnindents, ToggleAutoWrap. 
  1370.       o New commands: WinRefresh, ChangeTabSize, ChangeCIndent, 
  1371.         ChangeLeftMargin, ChangeRightMargin. 
  1372.  
  1373. o 0.17 
  1374.  
  1375.    - 1995/05/10 
  1376.  
  1377.       o Minor fix in word-wrap. 
  1378.       o Screen repaint problems when shelling out fixed. 
  1379.       o Blinking disabled for full-screen, high-intensity background colors can 
  1380.         now be used. 
  1381.  
  1382. o 0.16 
  1383.  
  1384.    - 1995/05/06 
  1385.  
  1386.       o Minor speedups in screen handling and highlighting. 
  1387.       o Regular expressions can now match start and end of words using . 
  1388.       o Regexp replace can paste entire matched string using & 
  1389.       o Regexp search/replace could match part of just replaced string. 
  1390.       o New commands: MoveLastNonWhite, MovePrevEqualIndent and 
  1391.         MoveNextEqualIndent, LineDuplicate, InsPrevLineChar, InsPrevLineToEol. 
  1392.       o New color config. 'C.Function' for functions in C highlighting mode. 
  1393.       o Improved CMode hilit, preprocessor hiliting improved (strings, 
  1394.         comments, numbers) 
  1395.  
  1396. o 0.15 
  1397.  
  1398.    - 1995/04/29 
  1399.  
  1400.       o Speed improvement in CMode auto indent. 
  1401.       o Delete command can now delete full tabs instead of converting them to 
  1402.         spaces. 
  1403.       o When closing a modified file, editor prompts you to save it. 
  1404.       o Automatic indentation can now use tabs. 
  1405.       o Manual and automatic wordwrap. 
  1406.  
  1407.    - 1995/04/24 
  1408.  
  1409.       o Backspace can now delete full tabs instead of converting them to spaces 
  1410.         (See BackSpace and KillBackTab). 
  1411.       o Backspace can unindent to previous indentation level. 
  1412.  
  1413.    - 1995/04/20 
  1414.  
  1415.       o Basic mouse support. 
  1416.  
  1417.    - 1995/04/12 
  1418.  
  1419.       o Configurable colors/keywords in C/REXX mode. 
  1420.  
  1421. o 0.14 
  1422.  
  1423.    - 1995/04/07 
  1424.  
  1425.       o Characters could not be entered using AltGr on international keyboards. 
  1426.       o Immediatelly doing an undo on a newly loaded file deleted the first 
  1427.         line. 
  1428.       o Ascii characters >= 128 can be now entered without quote command (C-Q). 
  1429.       o IPF Syntax highlighting. 
  1430.  
  1431. o 0.13 
  1432.  
  1433.    - 1995/04/03 
  1434.  
  1435.       o Bug fix in regular expressions. 
  1436.       o Bug fixes in compiler support 
  1437.       o Editor clipboard can now be copied to/from PM clipboard. 
  1438.  
  1439. o 0.12 
  1440.  
  1441.    - 1995/03/30 
  1442.  
  1443.       o Compiler support + error message parsing 
  1444.  
  1445.    - 1995/03/25 
  1446.  
  1447.       o Paren matching (Command: MatchBracket). 
  1448.       o Bug fixes in CMode smart indentation. 
  1449.  
  1450. o 0.11 
  1451.  
  1452.    - 1995/03/11 
  1453.  
  1454.       o Unlimited undo now works again. 
  1455.  
  1456.    - 1995/03/18 
  1457.  
  1458.       o Entire blocks of C code can now be reindented (BlockReIndent) 
  1459.       o Search can now be case insensitive (SearchMatchCase - toggle). Option: 
  1460.         MatchCase, Command: SearchMatchCase 
  1461.       o Regular expression find/replace works (case sensitive only) 
  1462.  
  1463.    - 1995/03/19 
  1464.  
  1465.       o Fixed a bug in redo (last command could not be undone) 
  1466.       o New option: KeepBackups -- if set to 0, backup files will be deleted 
  1467.         after a succesful save. 
  1468.  
  1469. o 0.10 
  1470.  
  1471.    - 1995/03/06 
  1472.  
  1473.       o Fixed CMode indent when tabs are present in the file. 
  1474.       o Prompts now retain previous text only if you try to edit it. 
  1475.  
  1476.    - 1995/03/04 
  1477.  
  1478.       o 4DOS/4OS2 style filename completion (FileOpen, ...). 
  1479.  
  1480.    - 1995/02/25 
  1481.  
  1482.       o New load routine, much faster in some cases. 
  1483.       o Undo/Redo can now be limited (if you hate to waste memory). 
  1484.  
  1485.    - 1995/02/19 
  1486.  
  1487.       o C Mode indentation level can now be specified (C.Indent) 
  1488.       o Bug fixes in screen redraw. 
  1489.       o Editor will now scroll text instead of always redisplaying the screen. 
  1490.       o Regular expressions (Search only). 
  1491.  
  1492. o 0.09 
  1493.  
  1494.    - 1995/02/08 
  1495.  
  1496.       o First public release (Version 0.09b) 
  1497.  
  1498.  
  1499. ΓòÉΓòÉΓòÉ 10. Things To Do ΓòÉΓòÉΓòÉ
  1500.  
  1501.                                    Short term:
  1502.  
  1503. o Improve documentation 
  1504. o DrawMode 
  1505. o Block sort/detab/entab, copy-w/append, cut-w/append 
  1506. o Piping block to program redirection of program output to buffer 
  1507. o HexMode 
  1508. o REXX macros support. 
  1509. o Menus should determine keybindings automatically. 
  1510.  
  1511.                                      Future:
  1512.  
  1513. o PM Version. 
  1514. o Script language (C like, also REXX support). 
  1515. o CVS/RCS support. 
  1516. o Save/Restore desktop. 
  1517. o Regexp optimizer & improved regexps. 
  1518.  
  1519.                     Comments and suggestions are appreciated.
  1520.