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. Catalogs, 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’ (Starting 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’.