idlwave: Lesson III---User Catalog

 
 3.3 Lesson III: User and Library Catalogs
 =========================================
 
 We have already used the routine info display in the first part of this
 tutorial.  This was the invoked using ‘C-c ?’, and displays information
 about the IDL routine near the cursor position.  Wouldn’t it be nice to
 have the same kind of information available for your own routines and
 for the huge amount of code in major libraries like JHUAPL or the
 IDL-Astro library?  In many cases, you may already have this
 information.  Files named ‘.idlwave_catalog’ in library directories
 contain scanned information on the routines in that directory; many
 popular libraries ship with these “library catalogs” pre-scanned.  Users
 can scan their own routines in one of two ways: either using the
 supplied tool to scan directories and build their own ‘.idlwave_catalog’
 files, or using the built-in method to create a single “user catalog”,
 which we’ll show here.  SeeCatalogs, for more information on
 choosing which method to use.
 
    To build a user catalog, select ‘Routine Info/Select Catalog
 Directories’ from the IDLWAVE entry in the menu bar.  If necessary,
 start the shell first with ‘C-c C-s’ (SeeStarting the Shell).
 IDLWAVE will find out about the IDL ‘!PATH’ variable and offer a list of
 directories on the path.  Simply select them all (or whichever you want;
 directories with existing library catalogs will not be selected by
 default) and click on the ‘Scan&Save’ button.  Then go for a cup of
 coffee while IDLWAVE collects information for each and every IDL routine
 on your search path.  All this information is written to the file
 ‘~/.emacs.d/idlwave/idlusercat.el’ and will from now on automatically
 load whenever you use IDLWAVE.  You may find it necessary to rebuild the
 catalog on occasion as your local libraries change, or build a library
 catalog for those directories instead.  Invoke routine info (‘C-c ?’) or
 completion (‘M-<TAB>’) on any routine or partial routine name you know
 to be located in the library.  E.g., if you have scanned the IDL-Astro
 library:
 
          a=readf<M-<TAB>>
 
    expands to “readfits(”.  Then try
 
          a=readfits(<C-c ?>
 
    and you get:
 
      Usage:    Result = READFITS(filename, header, heap)
      ...
 
    I hope you made it until here.  Now you are set to work with IDLWAVE.
 On the way you will want to change other things, and to learn more about
 the possibilities not discussed in this short tutorial.  Read the
 manual, look at the documentation strings of interesting variables (with
 ‘C-h v idlwave<-variable-name> <RET>’) and ask the remaining questions
 on the newsgroup ‘comp.lang.idl-pvwave’.