-
Notifications
You must be signed in to change notification settings - Fork 162
Julia
ESS support for julia language includes font-lock, indentation, sending code to sub-process, interactive documentation and imenu have already been implemented.
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 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")
To start julia type M-x julia RET
.
To autostart or switch form script to julia process buffer use C-c C-z
. To
switch from process to the most recent script buffer also use C-c C-z
.
To associate a buffer with a different julia process press C-c C-s
.
To send chunks of code from your script use C-c C-c
, C-M-x
, C-RET
etc. See
evaluating code section in ESS manual. (tip: See the documentation string of these
commands with for example C-h k C-c C-c
)
To access documentation use C-c C-d C-d
(you need to have curl installed). To
access apropos: C-c C-d C-a
. To search julia website: C-c C-d C-w
. To see all
help commands define on ess-doc-map: C-c C-d C-h
. See Help section in ESS
documentation.
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
Julia nicely reports the location of its own source files. In order to make
ESS to understand these links, add the julia’s source folders to ess-tracebug-search-path
:
(add-to-list 'ess-tracebug-search-path "/path/to/julia/base/")
You can use imenu directly, but better with some sort of completion mechanism such as imenu-anywhere.
Completion is available with C-M-i
. In process buffer TAB
can also be
used. By default, in script buffers, TAB
only indents. If you want TAB
to
also complete, customize ess-tab-complete-in-script
.
From ESS13.09, julia mode supports comprehensive tab and AC completion. Completions is available for all accessible objects including modules and composite objects fields.
See also this page.
Eldoc is emacs way to non intrusively display information on current object. ESS-julia recognizes current function and displays all the arguments for currently defined methods:
ESS ref-card might be also useful, though it covers quite some functionality for R and S which is not yet implemented for julia-mode as yet.