Julia support in Emacs.
316
stars
445
commits
Emacs Lisp
primary language
May 29, 2026
updated
Emacs major mode for the Julia programming language.
Unless you want to develop this package, it is recommended that you use it from MELPA:
Enable the MELPA repository.
Enable the package by adding these lines to to your Emacs init file, e.g., ~/.emacs:
(package-install 'julia-mode)
(require 'julia-mode)
Alternatively, if you are using use-package, which has been part of Emacs since version 29.1, you can use
(use-package julia-mode
:ensure t)
The code has been on a “rolling release” model before version 1.0: not all code changes were accompanied by a version increment. From version 1.0, we follow semantic versioning.
To get the latest version of julia-mode, clone this repository and then use:
(add-to-list 'load-path "<path-to-julia-mode>")
(require 'julia-mode)
You can customize all options in this package with M-x customize-mode julia-mode using the interactive Emacs interface.
Replacement of LaTeX symbols now uses the generic Emacs API. To get back the previous mechanism, use
(define-key julia-mode-map (kbd "TAB") 'julia-latexsub-or-indent)
Contributions are welcome, in the form of pull requests.
We do our best to provide feedback within 2 weeks. Feel free bump the PR thread with a comment after that.
Do add unit tests whenever possible. Consider breaking functions into an interface and a backend function for convenient testing.
Do add a short summary in the Unreleased section of the CHANGELOG.
Do use the rx macro (S-expressions) whenever rewriting regular expressions or introducing new ones. This keeps the code much more readable.
It's easy to add new ERT tests to the julia-mode test suite.
You only need to prepare a new ert-deftest definition in julia-mode-tests.el.
You can run the test suite from the command line with:
emacs -batch -L . -l ert -l julia-mode-tests.el -f ert-run-tests-batch-and-exit
(top 30 of 49)
Emacs Lisp
99.6%
Julia support in Emacs.
316
stars
445
commits
Emacs Lisp
primary language
May 29, 2026
updated
Emacs major mode for the Julia programming language.
Unless you want to develop this package, it is recommended that you use it from MELPA:
Enable the MELPA repository.
Enable the package by adding these lines to to your Emacs init file, e.g., ~/.emacs:
(package-install 'julia-mode)
(require 'julia-mode)
Alternatively, if you are using use-package, which has been part of Emacs since version 29.1, you can use
(use-package julia-mode
:ensure t)
The code has been on a “rolling release” model before version 1.0: not all code changes were accompanied by a version increment. From version 1.0, we follow semantic versioning.
To get the latest version of julia-mode, clone this repository and then use:
(add-to-list 'load-path "<path-to-julia-mode>")
(require 'julia-mode)
You can customize all options in this package with M-x customize-mode julia-mode using the interactive Emacs interface.
Replacement of LaTeX symbols now uses the generic Emacs API. To get back the previous mechanism, use
(define-key julia-mode-map (kbd "TAB") 'julia-latexsub-or-indent)
Contributions are welcome, in the form of pull requests.
We do our best to provide feedback within 2 weeks. Feel free bump the PR thread with a comment after that.
Do add unit tests whenever possible. Consider breaking functions into an interface and a backend function for convenient testing.
Do add a short summary in the Unreleased section of the CHANGELOG.
Do use the rx macro (S-expressions) whenever rewriting regular expressions or introducing new ones. This keeps the code much more readable.
It's easy to add new ERT tests to the julia-mode test suite.
You only need to prepare a new ert-deftest definition in julia-mode-tests.el.
You can run the test suite from the command line with:
emacs -batch -L . -l ert -l julia-mode-tests.el -f ert-run-tests-batch-and-exit
(top 30 of 49)
Emacs Lisp
99.6%