Next: Online Help, Previous: Code Formatting, Up: The IDLWAVE Major Mode [Contents][Index]
IDL comes bundled with more than one thousand procedures, functions
and object methods, and large libraries typically contain hundreds or
even thousands more (each with a few to tens of keywords and
arguments). This large command set can make it difficult to remember
the calling sequence and keywords for the routines you use, but
IDLWAVE can help. It builds up routine information from a wide
variety of sources; IDLWAVE in fact knows far more about the
‘.pro’ routines on your system than IDL itself! It maintains a
list of all built-in routines, with calling sequences and
keywords2. It also scans Emacs buffers
for routine definitions, queries the IDLWAVE-Shell for information
about routines currently compiled there, and automatically locates
library and user-created catalogs. This information is updated
automatically, and so should usually be current. To force a global
update and refresh the routine information, use C-c C-i
(idlwave-update-routine-info).
To display the information about a routine, press C-c ?, which
calls the command idlwave-routine-info. When the current cursor
position is on the name or in the argument list of a procedure or
function, information will be displayed about the routine. For example,
consider the indicated cursor positions in the following line:
plot,x,alog(x+5*sin(x) + 2), | | | | | | | | 1 2 3 4 5 6 7 8
On positions 1,2 and 8, information about the ‘plot’ procedure will be shown. On positions 3,4, and 7, the ‘alog’ function will be described, while positions 5 and 6 will investigate the ‘sin’ function.
When you ask for routine information about an object method, and the
method exists in several classes, IDLWAVE queries for the class of the
object, unless the class is already known through a text property on the
‘->’ operator (see Object Method Completion and Class Ambiguity), or by having been explicitly included in the call
(e.g., a->myclass::Foo).
The description displayed contains the calling sequence, the list of keywords and the source location of this routine. It looks like this:
Usage: XMANAGER, NAME, ID Keywords: BACKGROUND CATCH CLEANUP EVENT_HANDLER GROUP_LEADER JUST_REG MODAL NO_BLOCK Source: SystemLib [LCSB] /soft1/idl53/lib/xmanager.pro
If a definition of this routine exists in several files accessible to IDLWAVE, several ‘Source’ lines will point to the different files. This may indicate that your routine is shadowing a system library routine, which may or may not be what you want (see Load-Path Shadows). The information about the calling sequence and keywords is derived from the first source listed. Library routines are available only if you have scanned your local IDL directories or are using pre-scanned libraries (see Catalogs). The source entry consists of a source category, a set of flags and the path to the source file. The following default categories exist:
!PATH.Any routines discovered in library catalogs (see Library Catalogs), will display the category assigned during creation,
e.g., ‘NasaLib’. For routines not discovered in this way, you can
create additional categories based on the routine’s filename using the
variable idlwave-special-lib-alist.
The flags [LCSB] indicate the source of the information IDLWAVE
has regarding the file: from a library catalog ([L---]),
from a user catalog ([-C--], from the IDL Shell
([--S-]) or from an Emacs buffer ([---B]).
Combinations are possible (a compiled library routine visited in a
buffer might read [L-SB]). If a file contains multiple
definitions of the same routine, the file name will be prefixed with
‘(Nx)’ where ‘N’ is the number of definitions.
Some of the text in the *Help* routine info buffer will be active (it is highlighted when the mouse moves over it). Typically, clicking with the right mouse button invokes online help lookup, and clicking with the middle mouse button inserts keywords or visits files:
idlwave-routine-info was called. Holding down SHIFT while
clicking also adds the initial ‘/’.t) ¶ Non-nil means resize the Routine-info *Help* window to
fit the content.
Alist of regular expressions matching special library directories.
5) ¶ Maximum number of source files displayed in the Routine Info window.
This list is created by scanning the IDL manuals and might contain (very few) errors. Please report any errors to the maintainer, so that they can be fixed.
Next: Online Help, Previous: Code Formatting, Up: The IDLWAVE Major Mode [Contents][Index]