[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

J. Other features of ESS

ESS has a few miscellaneous features, which didn't fit anywhere else.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

J.1 Syntactic highlighting of buffers

ESS provides Font-Lock (see (emacs)Faces section `Using Multiple Typefaces' in The Gnu Emacs Reference Manual) patterns for Inferior S Mode, S Mode, and S Transcript Mode buffers.

To activate highlighting, you need to turn on Font Lock mode in the appropriate buffers. This can be done on a per-buffer basis with M-x font-lock-mode, or may be done by adding turn-on-font-lock to inferior-ess-mode-hook, ess-mode-hook and ess-transcript-mode-hook (see section Customizing ESS with hooks). Your systems administrator may have done this for you in `ess-site.el' (see section Customizing ESS).

The font-lock patterns are defined in three variables, which you may modify if desired:

Variable: inferior-ess-font-lock-keywords

Font-lock patterns for Inferior ESS Mode. The default value highlights prompts, inputs, assignments, output messages, vector and matrix labels, and literals such as `NA' and TRUE.

Variable: ess-mode-font-lock-keywords

Font-lock patterns for ESS programming mode. The default value highlights function names, literals, assignments, source functions and reserved words.

Variable: ess-trans-font-lock-keywords

Font-lock patterns for ESS Transcript Mode. The default value highlights the same patterns as in Inferior ESS Mode.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

J.2 Using graphics with ESS

One of the main features of the S package is its ability to generate high-resolution graphics plots, and ESS provides a number of features for dealing with such plots.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

J.2.1 Using ESS with the printer() driver

This is the simplest (and least desirable) method of using graphics within ESS. S's printer() device driver produces crude character based plots which can be contained within the ESS process buffer itself. To start using character graphics, issue the S command

 
printer(width=79)

(the width=79 argument prevents Emacs line-wrapping at column 80 on an 80-column terminal. Use a different value for a terminal with a different number of columns.) Plotting commands do not generate graphics immediately, but are stored until the show() command is issued, which displays the current figure.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

J.2.2 Using ESS with windowing devices

Of course, the ideal way to use graphics with ESS is to use a windowing system. Under X11, this requires that the DISPLAY environment variable be appropriately set, which may not always be the case within your Emacs process. ESS provides a facility for setting the value of DISPLAY before the ESS process is started if the variable ess-ask-about-display is non-nil. See section Variables for starting ESS, for details of this variable.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

J.2.3 Java Graphics Device

S+6.2 on Windows contains a java library that supports graphics. Send the commands:

 
library(winjava)
java.graph()

to start the graphics driver. This allows you to use ESS for both interaction and graphics within S-PLUS. (Thanks to Tim Hesterberg for this information.)


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

J.3 Imenu

Imenu is an Emacs tool for providing mode-specific buffer indexes. In some of the ESS editing modes, support for Imenu is provided. For example, in S mode buffers, the menubar should display an item called "Imenu-S". Within this menubar you will then be offered bookmarks to particular parts of your source file (such as the starting point of each function definition).


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

J.4 Toolbar

The R and S editing modes have support for a toolbar. This toolbar provides icons to act as shortcuts for starting new S/R processes, or for evaluating regions of your source buffers. The toolbar should be present if your emacs can display images. See section Customizing ESS, for ways to change the toolbar.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

J.5 Object Completion

If you are running S-PLUS or R, you might consider installing the database files. From within Emacs, "C-x d" to the directory containing ESS. Now:

M-x S+3

(get S-PLUS running. once you have reached the SPLUS 3.x prompt, do:)

M-x ess-create-object-name-db

(this will create the file: ess-s+3-namedb.el; if it isn't in the ESS directory, move it there).

Then, completions will be autoloaded and will not be regenerated for every session.

For R:

M-x R

(get R running. once you have reached the R prompt, do:)

M-x ess-create-object-name-db

(this will create the file: ess-r-namedb.el; if it isn't in the ESS directory, move it there).


[ << ] [ >> ]           [Top] [Contents] [Index] [ ? ]

This document was generated by Rodney Sparapani on June, 30 2004 using texi2html 1.70.