***************** DIREDIT V1.51 ******************

This document outlines the functioning of DIREDIT, a program which allows the 
restructuring of DOS directories, It is also used by the program itself as a 
"Help File" and should be kept either in the current directory or in one 
previously specified in a "PATH" command. The text may be edited, but the 
lines which commence with a "$" sign should be preserved intact, since they 
are used as index markers by the program. The lines which consist of single 
"%" signs are used as page breaks when the file is displayed by the program 
but have no other special significance.

$Command Line
The program is invoked with the command:

                               DIREDIT [pathname]

If a pathname is not specified on the command line, the program will default 
to the current directory. Any valid DOS path specification will be accepted 
(e.g.  A:\; A:\SUB1\SUB2; \SUB1\SUB2 {referred to the root directory of the 
current device}; SUB3\SUB4 {starting from the current directory}), but note 
that the specification "d:" (where "d" represents any valid device name) will 
be interpreted as indicating the ROOT directory of the specified device, NOT 
the current default directory on that device. If the first file(s) in the 
directory has(have) the "System" attribute, as is normally the case for the 
first two files in the root directory of a bootable disk (IBMBIOS.COM and 
IBMDOS.COM on IBM systems), you will be asked whether you wish to exclude them 
from directory sorts - do not override the default (affirmative) answer to 
this question unless you are absolutely sure you know what you are doing! 

$Spreadsheet
The upper 20 lines of the terminal screen display "identifier blocks", 
comprising a number (which initially corresponds (approximately) to the 
position of the directory entry in the directory) and the file name, for 80 
entries, in two semi-independently controllable windows, each of which 
contains 40 blocks. If the directory happens to contain more than 80 entries, 
the two windows can be positioned (using the <PgUp>, <PgDn>, <Home>, and <End> 
keys) anywhere within it, except that they cannot overlap and that the left 
hand window will always remain "below" the right hand one.  
%

 <PgUp> moves the current window up by twenty quantities.

 <PgDn> moves the current window down by the same amount.

 <Home> moves the current window as far towards the file top as possible.

 <End> moves the current window as far towards the file bottom as possible.

If a window move would cause the two windows to overlap (i.e. the other window 
is immediately adjacent in the direction of the attempted move) OR the windows 
have been [L]ocked together, both windows are moved. If a window move would 
cause either window to go beyond the top or bottom of the file, it does not 
take place.  
%
The cursor can be moved to any identifier block by using the cursor keys, and 
the "Cursor->" display at the bottom of the screen then shows the full 
description of the file whose identifier is under the cursor. An entry is 
moved by positioning the cursor on its identifier block, "picking it up" by 
pressing the <Del> key, positioning the cursor at the point to which it is to 
be moved, and "inserting" it there by pressing the <Ins> key. The full 
description of an entry that is in the process of being moved is shown on the 
"Moving->" display at the bottom of the screen. You may not exit (which 
normally causes the disk directory to be updated) while an entry is being moved
- you must replace it somewhere first. If you attempt to move an entry which 
has the "System" or "Hidden" attribute, you will be asked to confirm the <Del> 
entry before the program acts on it. A number of other single-key commands are 
available - see the next screen for details.  
%
Additional single-key commands: 

"D" - change the date stamp on the current file.

"L" - toggle the "lock" which forces both windows to move together.

"M" - display the next line of the single-line "aide-memoire" list of commands 
which appears on the 23rd line of the screen.  

"N" - edit a new directory (you are given the option of updating the current
one first).  

"Q" - quit the program without updating the current directory.

"R" - rename the current file.

"S" - sort the directory (see next help screen).

"X" - exit and write the output file.

"?" or <F1> - display this help text again.
%
The directory display (and, ultimately, the directory on disk) may be sorted 
by date, filename, extension, or file size, in ascending or descending order. 
It may also be rearranged in any other order you care to specify. By default, 
files with the "System" attribute at the beginning of the directory are 
excluded from ALL sort operations. In fact, if you have moved one of these 
files "by hand", performing a sort will result in its being returned to its 
initial position. (continued...) 
%
When you enter "S", you will be prompted to indicate (by responding to a 
series of questions) how you want the directory to be sorted.  

All the options after the first ("User-Specified Order?") should be self-
explanatory - the first is the one that allows you to rearrange the file 
entries in an arbitrary order. If you respond to this prompt with a "Y", you 
will be prompted to enter two lists of file numbers (the numbers displayed 
next to the filenames on the upper part of the screen). The first list should 
contain the numbers of files which you would like to move to the top of the 
directory (in the order in which you want them to appear there) - the second 
should contain the numbers of files which you want to move to the bottom, also 
in the order in which they are to appear. Either list may be blank (just press 
<CR>). The lists should contain only the file numbers, as decimal integers, 
separated by one or more spaces and/or tabs. Like all other sort operations, 
this will, by default, leave system files at the beginning of the directory 
untouched, EVEN if you specify their numbers in one of the lists you enter.

