idlwave: Introduction
1 Introduction
**************
IDLWAVE is a package which supports editing source files written in the
Interactive Data Language (IDL), and running IDL as an inferior
shell(1). It is a feature-rich replacement for the IDLDE development
environment included with IDL, and uses the full power of Emacs to make
editing and running IDL programs easier, quicker, and more structured.
IDLWAVE consists of two main parts: a major mode for editing IDL
source files (‘idlwave-mode’) and a mode for running the IDL program as
an inferior shell (‘idlwave-shell-mode’). Although one mode can be used
without the other, both work together closely to form a complete
development environment. Here is a brief summary of what IDLWAVE does:
• Smart code indentation and automatic-formatting.
• Three level syntax highlighting support.
• Context-sensitive display of calling sequences and keywords for
more than 1000 native IDL routines, extensible to any additional
number of local routines, and already available with many
pre-scanned libraries.
• Fast, context-sensitive online HTML help, or source-header help for
undocumented routines.
• Context sensitive completion of routine names, keywords, system
variables, class names and much more.
• Easy insertion of code templates and abbreviations of common
constructs.
• Automatic corrections to enforce a variety of customizable coding
standards.
• Integrity checks and auto-termination of logical blocks.
• Routine name space conflict search with likelihood-of-use ranking.
• Support for ‘imenu’ (Emacs) and ‘func-menu’ (XEmacs).
• Documentation support.
• Running IDL as an inferior Shell with history search, command line
editing and all the completion and routine info capabilities
present in IDL source buffers.
• Full handling of debugging with breakpoints, with interactive
setting of break conditions, and easy stepping through code.
• Compilation, execution and interactive single-keystroke debugging
of programs directly from the source buffer.
• Quick, source-guided navigation of the calling stack, with variable
inspection, etc.
• Examining variables and expressions with a mouse click.
• And much, much more...
IDLWAVE is the distant successor to the ‘idl.el’ and ‘idl-shell.el’
files written by Chris Chase. The modes and files had to be renamed
because of a name space conflict with CORBA’s ‘idl-mode’, defined in
Emacs in the file ‘cc-mode.el’.
In this manual, each section ends with a list of related user
options. Don’t be confused by the sheer number of options available: in
most cases the default settings are just fine. The variables are listed
here to make sure you know where to look if you want to change anything.
For a full description of what a particular variable does and how to
configure it, see the documentation string of that variable (available
with ‘C-h v’). Some configuration examples are also given in the
appendix.
---------- Footnotes ----------
(1) IDLWAVE can also be used for editing source files for the related
WAVE/CL language, but with only limited support.