futhark-mode for Emacs
See the file
futhark-mode.el. This Emacs mode provides:
- syntax highlighting
- automatic indentation
- interaction with an inferior
- flycheck definition
- ElDoc support
- jumping to definition of function or variable at point
You can install this mode with Emacs' package manager. Enable the
https://melpa.org/ archive, and install the
Alternatively, add the following lines to your Emacs init file:
(add-to-list 'load-path "path/to/futhark-mode") (require 'futhark-mode)
This mode is pretty straightforward and does not provide a lot of bells and whistles. But it does have some commands:
C-c C-l (
futhark-load-file) loads the current file into
futhark repl, creating a new instance if a current one does not exist.
M-. jumps to the definition of the function or variable under point, and M-, returns from the definition.
M-x flycheck-mode to get immediate information about
type- and syntax errors (requires installation of the
tools/test-indentation to test if the auto-indentation works. If
you find a piece of code that futhark-mode cannot indent properly,
please fix it, and put a small example in the
directory to ensure that it doesn't break in the future.
Note that not all of the indentation examples in
necessarily ideal. Some of them exemplify behaviour that we would
like to fix (but exist as a regression test to avoid even worse
Additionally, you can symlink the
tools/git-hooks/pre-commit hook into
.git/hooks directory to automatically check your changes
before each commit.
- Niels G. W. Serup
- Rasmus Wriedt Larsen
- Troels Henriksen
Reloading when hacking on the code
Add the directory containing the
.el files to your load path with
(add-to-list 'load-path "/.../futhark-mode") (require 'futhark-dev)
and then enter
M-x RET futhark-dev-reload RET whenever needed.