8
14
Fork
You've already forked zig-mode
1
Zig mode for Emacs.
Emacs Lisp 97.8%
Shell 2.2%
Find a file
2025年11月28日 03:56:46 +01:00
.github/workflows remove dependabot config 2025年11月28日 03:55:25 +01:00
test fix multiline string literals 2024年04月13日 21:14:55 -04:00
.gitignore Ignore build tools 2024年02月21日 01:52:47 -08:00
Eask github -> codeberg 2025年11月28日 03:56:46 +01:00
LICENSE License. 2017年09月17日 14:44:15 +02:00
README.md github -> codeberg 2025年11月28日 03:56:46 +01:00
run_tests.sh update test file path in run_tests.sh 2024年03月25日 16:40:42 -05:00
zig-mode.el github -> codeberg 2025年11月28日 03:56:46 +01:00

zig-mode

Syntax highlighting and automatic indentation for the Zig programming language in Emacs. Requires Emacs 24.3 or later.

Installation

NonGNU ELPA MELPA

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\\|zon\\)\\'" . zig-mode))

Testing

To run the test locally, you will need the following tools:

Install all dependencies and development dependencies:

eask install-deps --dev

To test the package's installation:

eask package
eask install

To test compilation:

eask compile

🪧 The following steps are optional, but we recommend you follow these lint results!

The built-in checkdoc linter:

eask lint checkdoc

The standard package linter:

eask lint package

📝 P.S. For more information, find the Eask manual at https://emacs-eask.github.io/.

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.