home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 5 Edit / 05-Edit.zip / L2_25.ZIP / L2.DOC next >
Text File  |  1993-02-08  |  18KB  |  380 lines

  1.  
  2. ==============================================================================
  3.  
  4.                                L2 Version 2.5
  5.                              A. Donnie Hale, Jr.
  6.                           Copyright (c) 1992, 1993
  7.  
  8.                        An OS/2 2.0 file-viewer utility
  9.  
  10.                              SANSoft Development
  11.                               4971 Pegasus Ct.
  12.                              Hilliard, OH  43026
  13.                          Voice-mail: (614) 898-2675
  14.                            CompuServe: 74260,1022
  15.  
  16. ==============================================================================
  17.  
  18.  
  19. Description
  20. -----------
  21. L2 is a text file-viewer utility created for OS/2 2.0 developers and users.
  22. It is developed entirely as a 32-bit application (save the text-mode
  23. interface, which IBM left as 16-bit). Multiple files may be specified on the
  24. command line (now including wildcards!!), and there is no restriction as to
  25. the maximum line length of a file. In addition to the standard features of a
  26. file-viewer utility, L2 incorporates intelligent tab expansion, multiple text
  27. modes, jumping to a specific line number, setting and retrieving of
  28. bookmarks, and regular expression searches.  Also, because L2 loads the file
  29. to be viewed entirely into memory, scrolling, jumping to specific or saved
  30. locations, and text searches are extremely fast.
  31.  
  32.  
  33. Release 2.5 Notes
  34. -----------------
  35.  A hexidecimal mode has been added!! By modifying the way L2 breaks up an
  36.   ASCII file into lines, L2 can now load any file, as-is. As a result, L2
  37.   loads slightly faster and binary files can be viewed as well! If a binary
  38.   file is loaded and no CR/LF combinations are found, the file will appear in
  39.   regular mode as one long line. It is best to switch to hex mode to view
  40.   binary files.  See the section on Hex Mode below for more information.
  41.  
  42.  If L2 is run and the current screen mode is not 80x25, L2 maintains the
  43.   current screen mode. If the screen mode is 80x25, L2 uses the screen mode
  44.   in its saved configuration (initially 80x30). This support for screen modes
  45.   INCLUDES 132-column mode!! The MODE command under OS/2 2.0 supports a large
  46.   number of screen modes, depending on hardware. You may be able to use this
  47.   program to select a screen mode not internally supported by L2. To better
  48.   support various screen modes, support for the two low-resolution 80x25
  49.   modes has been removed.
  50.  
  51.  Version 2.5 fixes a bug in the "Clone L2" function if it couldn't find
  52.   L2.EXE in the path and it wasn't in the current directory. L2 searches
  53.   first the current directory, then the directories in the PATH, then the
  54.   command line for the location of L2.EXE. It then updates that file with the
  55.   current L2 configuration into L2CLONE.EXE, in the same directory as the
  56.   L2.EXE file.
  57.  
  58.  Some various changes (specifically eliminating C Set/2 library functions in
  59.   favor of already-being-used OS/2 APIs) yielded about a 9K reduction in 
  60.   size.
  61.  
  62.  
  63. Release 2.1 Notes
  64. -----------------
  65.  To improve ease of use, L2 can now be started without any command-line
  66.   parameters. When this is done, L2 will prompt for a file name or names. Any
  67.   number of file names (with or without wildcards) may be entered at this
  68.   prompt, separated by spaces (up to 60 characters total). L2 will treat this
  69.   list exactly as if it had been entered on the command line. If <Escape> is
  70.   pressed at this point, L2 will exit.
  71.  
  72.  Along with this, while a file is being viewed, the 'N' key will bring up
  73.   this same prompt to allow viewing a new file while within L2. The same
  74.   rules for entering file names given above apply here. The expanded list of
  75.   files will be appended to any current list of files, and the first file
  76.   found out of the additional files will be displayed.
  77.  
  78.   If L2 gets through its entire list of files without being able to load any
  79.   of them, it will bring up the file prompt. Hitting <Escape> will exit at
  80.   this point.
  81.  
  82.   The number of files that may be contained in the file list has been
  83.   increased to 256 files.
  84.  
  85.  
  86. Release 2.0 Notes
  87. -----------------
  88.  Release 2.0 of L2 incorporates several new features, including wildcard
  89.   filename expansion and a file-selection list. Command-line arguments passed
  90.   to L2 which have wildcards ('*' and '?') are expanded into full file names.
  91.   Arguments without wildcards are left as-is. The F6 and Shift-F6 keys move
  92.   forward and backward through the expanded list of files. The Ctrl-F6 key
  93.   brings up a list of all of the expanded file names, with the currently
  94.   listed file hilited. The desired file may be hilited, and when <Enter> is
  95.   pressed, that file will be loaded. Up to 50 files may be contained in this
  96.   expanded file list.
  97.  
  98.   If there is a problem loading the next/previous/selected file, a message is
  99.   displayed, there is a short pause, and the next file in the list is loaded.
  100.   If L2 gets through the entire list of files without being able to load any
  101.   of them, it will exit.
  102.  
  103.  To work with this capability, the file-search criterion remain across files.
  104.   Thus, if a search is performed on one file and then a new file is selected,
  105.   only the 'A' key needs pressed to repeat that search from the top of the new
  106.   file. The <Esc> key exits L2 altogether.
  107.  
  108.  Also, bookmarks maintain the file in which they are set. Thus, if 5 files
  109.   are in the file list and bookmark 2 is set in file 3, the specified
  110.   location in file 3 will be returned to when bookmark 2 is retrieved while
  111.   viewing file 1.
  112.  
  113.  
  114. Features of L2
  115. --------------
  116. L2 uses "intelligent tab expansion": most text editors allow a tab width to
  117. be set. When <Tab> is pressed, the cursor goes to the next multiple of that
  118. tab stop on the current line. For example, if the tab width is 4, tab stops
  119. would be at columns 1, 5, 9, 13, etc. If the cursor is in column 10 and <Tab>
  120. is pressed, the cursor goes to column 13, where the next character will be
  121. placed.  Editors operate this way so that source code will have correct
  122. indentation.  Assuming that the tabs are saved in the file, most file-viewers
  123. simply display the character after a tab after moving the tab-width number of
  124. places to the right. In the previous example, with a tab-width of 4 and a tab
  125. at column 10, the standard file-viewer would display the next character at
  126. column 14 rather than 13. Thus columns are not aligned correctly, and the
  127. file doesn't look the same in the file-viewer as in the editor. L2 corrects
  128. this problem by using the tab width for locating tab stops the same way that
  129. an editor does.
  130.  
  131. L2 internally supports up to 13 video modes, depending on hardware. Its
  132. default mode is 80x30 (720x480). When cycling through video modes, L2 stops
  133. at the next valid mode. L2 will support any mode that your hardware
  134. supports, including 132-column modes. If L2 is entered in a non-80x25 mode,
  135. L2 will stay in that mode.  Otherwise, L2 will use its saved configuration
  136. screen mode (initially 80x30).  Also, L2 supports up to 16 BACKGROUND colors,
  137. as well as the standard 16 foreground colors, again, depending on hardware.
  138.  
  139. Specific line numbers may be jumped to. Also, bookmarks may be set and
  140. retrieved. This is useful when examining source code and jumping from one
  141. function to another and back, etc.
  142.  
  143. L2 supports regular expression searches, so that complex search expressions
  144. may be entered and acted on. This goes beyond the capabilities of most file
  145. viewers.
  146.  
  147. L2 may now (as of v2.5) be used for viewing binary files. They may appear as
  148. one long line in the normal viewing mode; thus it is best to switch to hex
  149. mode when viewing binary files. See Hex Mode below for more information.
  150.  
  151.  
  152. Using L2
  153. --------
  154. First, copy L2.EXE to a directory that is in your PATH statement. Then, to
  155. run L2, simply type L2 at an OS/2 2.0 full-screen or windowed prompt (L2 runs
  156. much better in full-screen mode), followed by 1 or more file names, and then
  157. press <Enter>:
  158.  
  159.   L2 filenam1.ext [filenam2.ext [filenam3.ext...]] <Enter>
  160.  
  161. If you run L2 with no file names, L2 will prompt you for the file(s) to view.
  162.  
  163. L2 will be started in its currently configured state. Initially, that is 80
  164. column by 30 row (720x480 pixels), with default colors, tab expansion on, and
  165. a tab width of 3. There is a means to change these, described later.
  166.  
  167. L2 comes up with the top of the file displayed starting on the second row,
  168. continuing to the next to the bottom row. The top row is an informational /
  169. status line as shown below:
  170.  
  171.  FILENAME.EXT  9,999,999 9,999,999  +999,999   999,999      MM/DD/YY  HH:MM:SS
  172.       │            │         │          │         │            │         │
  173.   file name      line #   # lines    column   file size    file date file time
  174.  
  175. The column offset area is only displayed when not in the leftmost column.
  176. Also, if the file size exceeds 1,000,000 bytes, it will be displayed in terms
  177. of the number of kilobytes (e.g. 1,354K).
  178.  
  179. The bottom line on the display is for messages and text input. "Top of file"
  180. and "End of file" are examples of the messages displayed there. Text to be
  181. input includes the text for searches and line numbers for jumping.
  182.  
  183. Pressing <F1> brings up a simple help screen describing available keys and
  184. their functionality.  Pressing the Escape key (<Esc>) exits L2.
  185.  
  186.  
  187. Navigating L2
  188. -------------
  189. The standard navigation keys are used to move throughout the file. These
  190. include:
  191.  
  192.   Cursor keys ()    - line/column at a time scrolling,
  193.   Ctrl-Left, Ctrl-Right - tab-width at a time horizontal scrolling
  194.   PgUp, PgDn            - page up and page down scrolling
  195.   Home                  - top of file, stay in current column
  196.   Ctrl-Home             - top of file, column 1
  197.   Backspace             - go to column 1
  198.   End                   - end of file, column 1
  199.  
  200. Other navigation keys include:
  201.  
  202.   'G' key               - prompted for a line number; go to that line
  203.   '0' - '9' keys        - set bookmarks 0 through 9
  204.   Shift '0' - '9' keys  - retrieve bookmarks 0 through 9
  205.  
  206. Note that bookmarks maintain the file, line, and column when they are set. If
  207. a bookmark is retrieved which is in a different file than the one being
  208. viewed, that file will be switched to and the position retrieved.
  209.  
  210.  
  211. Searching in L2
  212. ---------------
  213. There are three types of searches in L2: case-sensitive text search,
  214. case-insensitive text search, and regular expression search. To perform a
  215. search, press:
  216.  
  217.   'F' key               - perform a case-insensitive search; enter up to 60
  218.                           characters to search for; escape or 0 length search
  219.                           text cancels the search
  220.   'S' key               - case-sensitive search, up to 60 characters
  221.   'R' key               - regular expression search, up to 60 characters in
  222.                           the expression (although the found text may be
  223.                           longer)
  224.   'A' key               - repeat the last search from the last found text
  225.  
  226. All new searches (i.e., those begun with the 'F', 'S', or 'R' keys) begin at
  227. the top of the file. If the text is found, L2 will move to the line
  228. containing the text and hilite the text.  If the text is not found, a message
  229. will be displayed at the bottom of the screen.  Pressing 'A' after getting a
  230. "Text not found..." message will begin the search again at the top of the
  231. file.
  232.  
  233. Pressing 'A' to repeat a search after switching files from the file in which
  234. an initial search took place will repeat the initial search from the top of
  235. the currently displayed file. This is useful to perform a search in many
  236. files without having to re-enter the search text.
  237.  
  238. A repeated text search will begin at the first character after the previously
  239. found text. Regular expressions, however, are line-at-a-time searches;
  240. therefore, a repeated regular expression search will begin on the line after
  241. the line containing the previously found text.
  242.  
  243. The characters available for regular expression searches are:
  244.  
  245.   ^      - matches beginning of line
  246.   $      - matches end of line
  247.   .      - matches any character
  248.   \      - followed by a single character matches that character, except:
  249.   \b     - backspace
  250.   \s     - space
  251.   \t     - tab
  252.   \\     - backslash
  253.   []     - character class
  254.   [^...] - negative character class
  255.   *      - match 0 or more occurrences of the preceding regular expression
  256.   |      - match expression before | or expression after |
  257.  
  258. Ranges of ASCII characters may be specified in character classes. For
  259. instance, [a-zA-Z0-9] matches any alphanumeric character. The characters * .
  260. ^ $ are not special characters within a character class.
  261.  
  262.  
  263. Hex Mode
  264. --------
  265. Pressing the 'H' key toggles a file being viewed into and out of hexidecimal
  266. mode. When hex mode is entered, L2 determines the point in the file nearest
  267. the beginning of the top line of the display which is evenly divisible by
  268. 0x10 (decimal 16) and begins displaying from that point. When hex mode is
  269. exited, the file is displayed from the same point as before entering hex
  270. mode.
  271.  
  272. The following keys are active in hex mode:
  273.  
  274.   Cursor keys ()      - up / down one "row" (16 bytes)
  275.   PgUp, PgDn            - up / down one "screen"
  276.   Home                  - top of file
  277.   End                   - last screen-full of bytes in file
  278.   Escape                - exit L2
  279.   'H' key               - exit hex mode
  280.  
  281. The hex mode display consists of 3 columns. The first column represents the
  282. byte offset of each row from the top of the file, in 0000:0000 format. Note
  283. that a row will always begin at an offset evenly divisible by 0x10 (16
  284. decimal). The second column is a row of 16 bytes, represented by the
  285. hexidecimal version of each byte. The third column is the ASCII character for
  286. those same 16 bytes.
  287.  
  288. When in hex mode, the file info line at the top of the screen replaces the
  289. line count with "Hex Mode" and displays the file size in 0000:0000 format.
  290.  
  291.  
  292. Configuring L2
  293. --------------
  294. There are several configurable items in L2, including tab expansion (on/off),
  295. tab width (2-8), screen colors (text, border, hilite, and help), and video
  296. mode. To modify these items, press:
  297.  
  298.   'T' key               - toggle tab expansion on/off
  299.   'W' key               - cycle the tab width from 2-8 spaces
  300.   'M' key               - cycle the video mode; there are 13 potential video
  301.                           modes, depending on the support your hardware
  302.                           provides, plus the screen mode which was active upon
  303.                           entering L2
  304.   F2, Shift-F2          - background, foreground text colors
  305.   F3, Shift-F3          - background, foreground border colors
  306.   F4, Shift-F4          - background, foreground hilite colors (found text)
  307.   F5, Shift-F5          - background, foreground help colors
  308.  
  309.   Note: There are 16 available foreground AND background colors, assuming the
  310.         hardware supports it.
  311.  
  312. If any of the configurable items are changed, the changes WILL BE LOST if the
  313. configuration is not saved. To save L2's configuration, press the <F10> key.
  314. L2 maintains its configuration information in the L2.EXE file (this is done
  315. to make loading L2 as fast as possible). Since OS/2 keeps the .EXE file open
  316. in DENYWRITE mode while L2.EXE is running, L2 cannot save its configuration
  317. to itself; therefore L2 saves its configuration in a file called L2CLONE.EXE.
  318. This file can then be renamed to L2.EXE after exiting L2 (to use the RENAME
  319. command, L2.EXE must be deleted or renamed first). One advantage of this
  320. approach is that you can create multiple copies of L2 for viewing different
  321. file types, such as L2C.EXE for C files; L2ASM.EXE for assembler files; etc.
  322. The configuration for each version could be appropriate to that file type.
  323.  
  324. L2 searches first the current directory, then the directories in the PATH,
  325. then the command line for the location of L2.EXE. It then updates that file
  326. with the current L2 configuration into L2CLONE.EXE, in the same directory as
  327. the L2.EXE file. If you have problems cloning L2, try running it in the
  328. directory where the L2.EXE file is or explicitly state the path of the L2.EXE
  329. file on the command line.
  330.  
  331.  
  332. Registering L2
  333. --------------
  334. L2 was developed to support the author's responsibility of evaluating and
  335. documenting a system with 400+ modules for which the source code was acquired
  336. from a third-party company. It is distributed as shareware with the
  337. confidence that it can help others as well.
  338.  
  339. Your comments, suggestions, and constructive criticisms are welcome. Please
  340. enclose them, along with the $25.00 registration fee, addressed to:
  341.  
  342.     SANSoft Development
  343.     A. Donnie Hale, Jr.
  344.     4971 Pegasus Ct.
  345.     Hilliard, OH  43026
  346.     Voice-mail: (614) 898-2675
  347.     CompuServe: 74260,1022
  348.  
  349. Contact SANSoft Development for site licenses or volume purchases of L2.
  350.  
  351. Thank you in advance for your support.
  352.  
  353.  
  354. Distributing L2
  355. ---------------
  356. SANSoft Development retains the sole right to sell L2; however, it may be
  357. distributed, provided:
  358.  
  359.   A. It is only distributed in its unmodified, archived form (L2*.ZIP)
  360.   B. No attempt is made to profit from the distribution of L2 (a duplication
  361.      fee not to exceed $5.00 may be charge by recognized users' groups)
  362.  
  363.  
  364. Warranty/Disclaimer
  365. -------------------
  366. SANSoft Development makes no representations or warranties as to the
  367. merchantibility or fitness of this product to a particular purpose. There is
  368. no other warranty, expressed or implied. SANSoft Development will not be
  369. liable for any special, incidental, consequential, indirect or similar
  370. damages due to loss of data or any other reason, even if SANSoft or an agent
  371. of SANSoft has been advised of the possibility of such damages. In no event
  372. shall SANSoft Development's liability for any damages ever exceed the price
  373. paid for the license to use the software, regardless of the form of the
  374. claim. The person using the software bears all risk as to the quality and
  375. performance of the software. Use of this package constitutes agreement on the
  376. part of the user to this disclaimer.
  377.  
  378. ============================ E N D  O F  F I L E =============================
  379.  
  380.