zig-mode
Syntax highlighting and automatic indentation for the Zig programming language in Emacs. Requires Emacs 24.3 or later.
Installation
Simply install the zig-mode
package via NonGNU ELPA or
MELPA.
Manual install
Alternatively, you can git clone
the zig-mode
repository somewhere
(e.g. under your ~/.emacs.d/
). zig-mode
depends on
reformatter for
formatting buffers with zig fmt
.
reformatter
can be installed from MELPA or installed manually in a
similar fashion to zig-mode
. For this method, clone the
reformatter
git repository and add the path to the repository to
your load-path
.
Then add the following to your .emacs
file:
(unless (version< emacs-version "24")
(add-to-list 'load-path "~/path/to/your/zig-mode/")
(autoload 'zig-mode "zig-mode" nil t)
(add-to-list 'auto-mode-alist '("\\.zig\\'" . zig-mode)))
Testing
To run all unit tests with emacs
, run:
./run_tests.sh
Note that Emacs 24.3 or later is required. If you need to specify which Emacs
binary to use, you can do that by setting the EMACS
environment variable,
e.g.:
EMACS=/usr/bin/emacs24 ./run_tests.sh
Optional Configuration
zig-mode
used to enable coloration of the compilation buffer using
ANSI color codes, but this affected all compilation buffers, not just
zig compilation output.
If you want to restore this behavior, you can add the following snippet
to your init.el
or .emacs
file:
(if (>= emacs-major-version 28)
(add-hook 'compilation-filter-hook 'ansi-color-compilation-filter)
(progn
(defun colorize-compilation-buffer ()
(let ((inhibit-read-only t))
(ansi-color-apply-on-region compilation-filter-start (point))))
(add-hook 'compilation-filter-hook 'colorize-compilation-buffer)))
License
zig-mode
is distributed under the terms of the GNU General Public License as
published by the Free Software Foundation; either version 3, or (at your
option) any later version.
See the LICENSE file for details.