home *** CD-ROM | disk | FTP | other *** search
/ Gold Fish 1 / GoldFishApril1994_CD2.img / d4xx / d478 / newlist / newlist.doc < prev    next >
Text File  |  1991-04-18  |  14KB  |  308 lines

  1.  
  2.                             NewList 4.9
  3.                                 by
  4.  
  5.                             Phil Dietz
  6.                        10542 Cuming Street
  7.                          Omaha, Nebraska
  8.                               68114
  9.  
  10.                             16-Mar-91
  11.  
  12.       This is TuitionWare.  Send a buck to help me get through college.
  13.     (It's only a buck.  It's not like 35.00 that some dingos ask for.
  14.     If ya can't afford a buck, send a floppy.  Their equal currency
  15.     to me.   :-)   One buck for unlimited updates.  One buck for a
  16.     REAL list program.  One buck and all of your enhancements will
  17.     come true.  SUBLIMINAL HINT:    B     U     C     K
  18.  
  19. What is Newlist?
  20.  
  21.        AmigaDOS is great.  It not only allows you to manipulate files
  22.     graphically VIA workbench, but it also allows you to manipulate
  23.     files on a command line basis.  Commodore utilized the command
  24.     line interface by offering powerful commands to help the user
  25.     do what he wants to do.  One of the handiest is LIST.  It not only
  26.     gives a directory listing of names, but also offers filesizes, file
  27.     protection, and file creation.
  28.    
  29.        But LIST isn't perfect.  It doesn't offer much sorting.  It doesn't
  30.     offer much date manipulation.  It doesn't allow name filters, so
  31.     immense directories HAVE TO BE shown.  TRUE, LIST is small, but
  32.     sometimes POWER comes first.
  33.  
  34. What does that mean?
  35.  
  36.        NewList offers the SPEED of list, and the POWER of a database.
  37.     Now directories can be sorted not only by name, but also by size or
  38.     date.  Now directories can be sorted through an alphabet filter
  39.     so only certain files will be shown (like D through G).  A quick
  40.     option has been added to utilize the screen space, so no more
  41.     2 column output by MR. dir. :-)  Are you tired of the date format?
  42.     Now you can create your own!
  43.  
  44. Ain't it like LS?
  45.  
  46.        Well sorta.  LS and LS-jr are very good LIST replaements.  They
  47.     are quick and offer UNIX compatibility.  That's about it
  48.     though.  Newlist is JAM PACKED with options.  With NewList, the
  49.     user is given processing power.  You can sort a directory the way
  50.     YOU want it.  
  51.  
  52.  
  53.        NewList was designed around speed- algorithim,
  54.     structure selection, and all.  Every type of area was analyzed;using
  55.     trees, lists, hash tables, AmigaDOS structures, the whole tomato.
  56.     Only the fastest and smallest 'c' structures were allowed.
  57.     The only restriction was the 'c' Compiler itsself.  Lattice 5.10
  58.     should come closer to the GOD-LIKE ASSEMBLER level....
  59.  
  60. Features of NewList:
  61.  
  62.    1)  It's PURE!  NewList is REALLY quick if it's resident.
  63.    2)  Very fast algorithms.
  64.    3)  Completely dynamic.
  65.    4)  Tons of sorts and filters (including the needed BY DATE!)
  66.    5)  Full UNIX WILDCARD (n*l*s? = newlist) and character filtering.
  67.    6)  A slick date construction kit with 5 premades.
  68.    7)  ANSI.
  69.    8)  a slick multi-columnar quick option to utilize screen space.
  70.    9)  ENV: support!
  71.   10)  Tons and Tons O' Flags and Switches!
  72.  
  73.  
  74. Usage:  NewList ?
  75.  
  76. NewList  4.9  by  Phil Dietz  NCEMRSoft
  77.  
  78. NewList [FLAGS ie. -q -v] <path and wild>
  79.  
  80.        o  Overlook ENV:NEWLIST          a  Dont use Today, Yesterday, etc.
  81.        b  Display Blocks                k  Display Disk Keys
  82.   d01234  Five Date/Time Formats.      df  "string"  Custom Date.  See docs
  83.        r  Displays list in REVERSE      n  Displays COMMENTS
  84.        s  Sort by Name                 ss  Sort by file Size
  85.       sd  Sorts by Date                sc  Sort by Comment
  86.        h  No header                     i  Ignore .info files!
  87.       gd  Show ONLY dirs               gf  Show ONLY files.
  88.       gb  Show BOTH dirs/files grouped  u  Show DEVICE: usage info
  89.       fA  Files start with A           tZ  Files go to Z
  90.        c  CASE sensative with -f -t     z  LS style directories
  91.        q  Quick option!                qs  Quick Option with FileSizes!
  92.        v  Vertical sort quick columns
  93.      y #  Use # columns for quick     l #  Show files made in last # days
  94.  
  95. NOTE:  each flag must have a - identifier.  ie  -q -sd -i -z -l 20
  96.  
  97.  
  98. FLAGS IN DEPTH:
  99.  
  100.    [-o]   When you want to OVERLOOK the ENV:NEWLIST variable.  Using
  101.           [-o] instead of another overriding flag yields the normal
  102.           print-as-being-read format.
  103.  
  104.    [-a]   Forgets about the TODAY, YESTERDAY, bologna.
  105.  
  106. [-b] [-k] Instead of the default display of filesize, newlist will
  107.           instead display BLOCKS or DISKKEYS respectively.
  108.  
  109. [-d01234] Five different pre-made date formats ranging from the
  110.           fully expanded 1st grade letterhead (Friday, November 9, 1990,
  111.           05:30:24 PM) to the default LIST format to slashes, dots,
  112.           and dashes to DateStamp values.
  113.  
  114.   [-df]   Allows you to create your own Date format.  The format is
  115.           -df "DATE STRING".  Mark RinFret offers an easy to use Date
  116.           maker, so I added it.  Here are the flags available:
  117.  
  118.             y => year minus 1900
  119.             Y => full year value
  120.             m => month value as integer
  121.             M => month name
  122.             d => day of month (1..31)
  123.             D => day name ("Monday".."Sunday")
  124.             h => hour in twenty-four hour notation
  125.             H => hour in twelve hour notation
  126.             i => 12 hour indicator for H notation (AM or PM)
  127.             I => same as i
  128.             n => minutes    (sorry...conflict with m = months)
  129.             N => same as n
  130.             s => seconds
  131.             S => same as s
  132.             t => prints TODAY, YESTERDAY, or Day of the week if applicable.
  133.                  If the file doesn't fall in the last week, it will be
  134.                  blank.
  135.  
  136.                 Simply make a C string like printf.
  137.              -df "Date: %02d-%M-%02y at %02h:02n:02s" 
  138.  
  139.                               yields
  140.                     Date: 11-Jan-90 at 01:03:20
  141.  
  142.     It's Easy.  If you are daring you can even include ANSI codes for spice.
  143.  
  144.   [-r]    Displays a list in REVERSE from top to bottom.  WHY?  Simple.
  145.           Instead of waiting for the whole list to scroll by to see a
  146.           file at the bottom, you can reverse the list and crtl-c to
  147.           stop quick!  It's also handy when sorting by date.  All of
  148.           the newest files will be displayed first.
  149.  
  150.   [-sn]   Sorts files alphabetically.  A synonym is just [-s].
  151.  
  152.   [-ss]   Sorts files by file size.
  153.  
  154.   [-sd]   Sorts files by date of creation.  Very handy!!
  155.  
  156.   [-sc]   Sorts by Comments.  If you use FileNotes wisely, you can
  157.           have your directories be grouped by file type.  Simply
  158.           add a filenote to each file and give it a type (Picture, GIF,
  159.           Utility, NoiseTracker, etc.)  Now when you view by [-sc],
  160.           the files will be together!
  161.  
  162. [-gd|-gf] Groups the display so ONLY dirs or ONLY files are shown
  163.           respectively.  This is an option of LIST I had to add.
  164.  
  165.   [-gb]   Shows BOTH directories and files.  Output is similar to DIR.
  166.  
  167.    [-u]   Shows bytes FREE and bytes USED on disk.  Now you can get
  168.           all your needed info with one command, instead of a "dir
  169.           list info" combo.  Note: due to RAM:'s variable size,
  170.           the bytes free will be zero.
  171.  
  172.    [-n]   Do you hate seeing those huge FILENOTES destroying your
  173.           directory list?  This flag will toggle if you want to see them.
  174.           If not present, a simple "Comment" will be shown to tell you
  175.           "hey mister, you can read me if you wanna."
  176.  
  177.    [-h]   Doesn't display the header file.....ohhhhh.....big deal!
  178.           Well it does seem off place in the -q quick directory, so
  179.           it might help.  Another LIST option (holy cow!)
  180.  
  181.    [-c]   When using the letter filters, this flag will also take into
  182.           affect the CASE of the filter letter.  So now only upper or
  183.           only lower case files can be displayed.
  184.  
  185.           NOTE: [-fA] or [-tZ] must be set to an alphabetic character
  186.                 to utilize case sensativity!  The default letters are
  187.                 SPACE and, so [-c] will not work unless you change them!
  188.  
  189.   [-fA]   The MINIMUM letter for the filter.  Let's say you only want to
  190.           view files greater than or equal t.  Simply set -ft.  Very
  191.           handy for printing lists where you left off the night before.
  192.           Remember -f as  FROM A
  193.  
  194.   [-tZ]   The MAXIMUM letter for the filter.  Only files less than or equal
  195.           to the letter will be shown.  To see files h through l 
  196.           simply set   -fh -tl.
  197.           Remember -t as TO Z
  198.  
  199.    [-i]   Ignore .info files!
  200.  
  201.  [-l #]   Show files last made since # days ago.
  202.           Now you can view files that were made in the last two weeks
  203.           without viewing a whole directory. (ie newlist -l 14)
  204.  
  205.  [-y #]   Force # columns to [-q] quick option.  Use this option when
  206.           re-directigthe output to a WIDE printer.  ie. to utilize a
  207.           printer with 20 pitch type, use  newlist >prt: -q -y 9 dh0:
  208.  
  209.    [-q]   Gives a QUICK and easy listing of the directory.  The entire
  210.           screen will be utilized and multi-columns will be created.
  211.           Because of its simplicity, not all of the flags are usuable.
  212.           Names will be white, and directories will be another color.
  213.           NOTE: some flags won't work properly with [-q].  I'm still
  214.                 adding -gb -gd -gf -f -t and -c...
  215.  
  216.   [-qs]   Quick option WITH file-sizes!  A very very handy option very
  217.           similar to DIR, but with multi-columns.  Note: if you'd rather
  218.           see blocks or keys instead, simply use -b or -k with it.....
  219.  
  220.  <path>   the directory to view.  Wildcards are supported.  (Yes, UNIX style
  221.           and yes, complex.   ie.  *ew?is*  = newlist)
  222.  
  223.  
  224.     All of the flags and path can be used in any order.  
  225.       newlist dh0:*.c -s -r  =  newlist -s dh0:*.c -r 
  226.  
  227.     All of the flags can be used together (-q has exceptions):
  228.       You can view a directory through a case sensative character filter,
  229.       of files made in the last 2 weeks, sorted by date in reverse order,
  230.       showing block size , with a custom dateformat string,
  231.       hiding .info files, and using a UNIX wildcard.
  232.  
  233. Environment Variable support:
  234.  
  235.       ENV: variables are NOW supported (just like I said I would).  Now
  236.    long customized argument lists can be spared!  The variable
  237.    ENV:NEWLIST contains any flags you want to have automagically set upon
  238.    initiating newlist4.  To utilize the env: support, use ED
  239.    or CED and create ENV:NEWLIST by typing in the flags you want
  240.    to have default (ie. -r -sd).
  241.  
  242.       With ENV: comes a diminished return.  Now if you want the standard
  243.    list type display (files out of order and displayed as they are read)
  244.    , then the new -o option must be used.  An alternative is to simply 
  245.    delete ENV:NEWLIST.
  246.   
  247.    NOTE: to override the ENV:NEWLIST, you can enter [-o] or you can type
  248.          any different flag.  Suppose  ENV:NEWLIST is "-r -sd -d3",
  249.          to sort by size simply  newlist4 -ss or newlist4 -o -ss
  250.  
  251. How to Create ENV: variables:
  252.  
  253.       Make sure ENV: is assigned to a directory.  Now use the Commodore
  254.    supplied command setenv.  Here is an example of its use:
  255.  
  256.            setenv  newlist  "-q -sd -r -i"
  257.  
  258.  
  259. BUGS with AmigaDOS supplied LIST?
  260.  
  261.        Yes, there are some bugs with list.  One of THE biggest is that you
  262.     cannot name your directories PAT, KEYS, DATES, NODATES, SUB,
  263.     SINCE, SORT, TO, UPTO, QUICK, BLOCK, NOHEAD, FILES, DIRS, or
  264.     LFORMAT.  The parser interprets them as flags and not your dir!
  265.     Technically you CAN name the directory to these statements,
  266.     but the only way to view the directory correctly is to CD to it
  267.     first!!  I wonder why they didn't incorporate a simple -b flag instead
  268.     of the cumbersome BLOCK??  
  269.  
  270. BUG with LS?
  271.  
  272.        Besides the sloppy code, some of the UNIX ported material was not
  273.     thought-out in porting to the amiga.  The ONE thing LS forgot about
  274.     was the one floppy user!  The ONLY way to survive a dir was to type
  275.     dir myflopname:.  A system requester would say insert myflopname: then
  276.     you'd insert the disk and click ok.  Well, ls's error trapping
  277.     removes the requesters so the one drive user is doomed!
  278.     Oh well.  Not to many of them left. Not me....! :-)
  279.  
  280.  
  281. ~~~~~~~~~~~~~~~~
  282.  
  283. Comments:  First off.  Rename newlist to nl (for newlist), stick it in
  284.            your c: directory, and PURE it.  People use names that are short
  285.            and you know that you want to type nl instead of newlist.
  286.            Then edit your Startup-Sequence to make nl RESIDENT upon bootup.
  287.            (add  RESIDENT c:nl or ARES c:nl, depending if you use ARP)
  288.  
  289.            Enjoy.  PLEASE send a buck.  I need it.  I'll be your friend...
  290.            If you'd like to join the National Organization NCEMRS
  291.            or NCEMRSoft please contact me.  NCEMRSoft is a group of 
  292.            programmers for the Amiga and Mac that share ideas, algorithms,
  293.            beers, etc.  We ain't no lamer computer club.  It just gives
  294.            you a title and a source for help and code optimization.
  295.            Members range come from U of Neb-Lincoln, U of Neb-Omaha, 
  296.            U of Texas, MSstate, Iowa State, and others!
  297.  
  298.            Keep in mind:  this is a very useful tool.  A tool that only
  299.                           costs $1.00.  It's a blue light special :-)
  300.  
  301.            For quick response mail until May 10, 1991 to:
  302.   
  303.                Phil Dietz -- NCEMRSoft               or email to
  304.                442 Abel North                  231b3678@fergvax.unl.edu
  305.                880 n 17th Street               235b5271@fergvax.unl.edu
  306.                Lincoln, NE  68508
  307.  
  308.