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.