Emacs Mode
There is an Emacs mode available for Juvix. Currently, it supports syntax highlighting for well-scoped modules.
To get started, clone the Juvix Emacs mode repository:
git clone https://github.com/anoma/juvix-mode.git
To install it add the following lines to your Emacs configuration file:
(push "/path/to/juvix-mode/" load-path)
(require 'juvix-mode)
Make sure that Juvix is installed in your PATH
.
The Juvix major mode will be activated automatically for .juvix
files.
Keybindings
Key | Function Name | Description |
---|---|---|
C-c C-l | juvix-load | Runs the scoper and adds semantic syntax highlighting |
M-. | juvix-goto-definition | Go to the definition of symbol at point |
C-c C-f | juvix-format-buffer | Format the current buffer |
Emacs installation
Most Linux distributions contain an Emacs package which can be installed
with your package manager (sudo apt install emacs
on Ubuntu). On
macOS, it is recommended to install Emacs Plus via Homebrew:
brew install emacs-plus
. Using the Emacs Homebrew casks is not
recommended.
Common problems
-
Error "Symbol's value as variable is void: sh:1:"
Make sure the juvix executable is on the Emacs'
exec-path
. Note thatexec-path
may be different from your shell'sPATH
. This is particularly common on macOS with Emacs launched from GUI instead of the terminal.The easiest way to resolve this issue is to install the exec-path-from-shell package (available on MELPA). Alternatively, one may set
exec-path
to match shellPATH
by following the instructions from EmacsWiki.