Skip to content
vitoshka edited this page Sep 18, 2012 · 27 revisions

Overview

ESS support for julia language is in a preliminary stage, but many things such as font-lock, indentation, sending code to sub-process, interactive documentation and imenu have already been implemented.

Installation

Download ESS from git:

git clone git://github.com/emacs-ess/ESS.git

To update:

git pull

Optionally compile:

make all

Load ess-site.el in your .emacs and, unless your julia-release-basic is already in exec path, set ess-julia-program-name to point to julia-release-basic executable:

(load "path/to/ESS/git/lisp/ess-site")
(setq inferior-julia-program-name "/path/to/julia/julia-release-basic")

Usage

Start

To start julia type M-x julia RET.

To switch form script to associated process use C-c C-z (auto-start is not yet implemented).

Evaluation

To send chunks of code from your script use C-c C-c, C-c C-r, C-c C-n etc. See evaluating code section in ESS manual.

Note: Due to a bug in julia’s multiline evaluation, you cannot accumulate lines (i.e. send chunks line by line), use only bulk actions, such as sending paragraphs or regions.

Help

To access documentation use C-c C-v (you need to have curl installed). See Help section in ESS documentation.

Error navigation

ESS-julia already implements a subset of ess-tracebug functionality.

Use usual emacs commands for error navigation C-x ` and M-g n, M-g p

Imenu

You can use imenu directly, but better with some sort of completion mechanism such as Anything.

Completion

File and tags (emacs 24) completion is available by default with M-TAB (aka M-C-i). You can also use auto-complete package and activate it in ESS with:

(setq ess-use-auto-complete t)

By default file completion and all words in the same mode buffers are active.

See also this page.

See also

ESS ref-card might be also useful, though it covers a lot of functionality for R and S which is not yet implemented in julia-mode..

Clone this wiki locally