doomemacs/modules/lang/zig
Henrik Lissner c7a1e2d70c
bump: :lang
JuliaEditorSupport/julia-emacs@5c940c4ba3 -> JuliaEditorSupport/julia-emacs@aadf29523a
ProofGeneral/PG@d60382db08 -> ProofGeneral/PG@75c13f91b6
agda/agda@bb9e13d970 -> agda/agda@5cf984c3d2
ananthakumaran/exunit.el@12a1efd003 -> ananthakumaran/exunit.el@bef971bde5
ardumont/markdown-toc@29e5c0f33e -> ardumont/markdown-toc@d22633b654
babashka/neil@8d5ccdbd81 -> babashka/neil@74cc79e4b9
clojure-emacs/cider@15bd3b0265 -> clojure-emacs/cider@ae247d8845
clojure-emacs/clojure-mode@4679222109 -> clojure-emacs/clojure-mode@bddba12e96
emacs-ess/ESS@f8c464dc1b -> emacs-ess/ESS@bfe892db15
emacs-rustic/rustic@e77f62facc -> emacs-rustic/rustic@cb013cd217
emacs-straight/auctex@077874d25a -> emacs-straight/auctex@1939acb54b
erlang/otp@2b2b39797f -> erlang/otp@f80e9c1c4a
godotengine/emacs-gdscript-mode@248b73b1bd -> godotengine/emacs-gdscript-mode@dd44f1dfa5
greghendershott/racket-mode@150b057953 -> greghendershott/racket-mode@71f27c643d
hakimel/reveal.js@33bfe3b233 -> hakimel/reveal.js@5abf24c1d8
haskell/haskell-mode@383b4b7775 -> haskell/haskell-mode@2dd755a5fa
hhvm/hack-mode@86a981bd7b -> hhvm/hack-mode@0b117e7f25
hvesalai/emacs-scala-mode@661337d8aa -> hvesalai/emacs-scala-mode@50bcafa181
idris-hackers/idris-mode@85928dc4cc -> idris-hackers/idris-mode@d32b2396a8
jrblevin/markdown-mode@92802fae9e -> jrblevin/markdown-mode@9de2df5a9f
mekeor/nael@9711443449 -> mekeor/nael@3ee1cf286d
meow_king/zig-ts-mode@89b52c865c -> meow_king/zig-ts-mode@64611c6d51
minad/org-modern@9bbc44cc7e -> minad/org-modern@b4b5b1c864
nim-lang/nim-mode@625cc023bd -> nim-lang/nim-mode@4502f83fbb
nix-community/nix-ts-mode@706bbfaf7f -> nix-community/nix-ts-mode@625306cf9c
ocaml/dune@14df34d30d -> ocaml/dune@7a7d49206f
ocaml/merlin@a0b096c243 -> ocaml/merlin@1c4148af05
org-roam/org-roam@c72702cf27 -> org-roam/org-roam@b4857fd7a1
rust-lang/rust-mode@ae161dca23 -> rust-lang/rust-mode@f68ddca5c2
seagle0128/grip-mode@26bdadf604 -> seagle0128/grip-mode@b8b9e603ed
sogaiu/janet-ts-mode@0e4d04d648 -> sogaiu/janet-ts-mode@aba932a1a1
szermatt/emacs-bash-completion@762f28fefb -> szermatt/emacs-bash-completion@5b621db96e
technomancy/fennel-mode@c1bccdec9e -> technomancy/fennel-mode@9c1dac3c39
tpapp/julia-repl@681efc14a7 -> tpapp/julia-repl@0173237a43
weijiangan/flycheck-golangci-lint@f7e36e19d6 -> weijiangan/flycheck-golangci-lint@51aede797d
2026-02-13 16:31:15 -05:00
..
.doommodule feat: add .doommodule files 2024-09-14 20:47:39 -04:00
config.el fix(zig): use tree-sitter-grammars/tree-sitter-zig 2025-12-30 22:50:27 -05:00
doctor.el refactor: use negated flags 2024-10-20 02:41:50 -04:00
packages.el bump: :lang 2026-02-13 16:31:15 -05:00
README.org feat(zig): add treesit support 2025-05-24 17:27:11 +02:00

:lang zig

Description   unfold

This module adds Zig support, with optional (but recommended) LSP support via zls.

Module flags

+lsp
Enables integration for the zls LSP server. It is highly recommended you use this.
+tree-sitter
Leverages tree-sitter for better syntax highlighting and structural text editing. Requires Emacs 29.1+ and doom-module::tools tree-sitter.

Hacks

No hacks documented for this module.

TODO Changelog

This module does not have a changelog yet.

Installation

Enable this module in your doom! block.

To get started with Zig, you need the zig tool. Pre-built binaries for most systems are available for download from https://ziglang.org/download/ or from system package managers.

zls is a language server for Zig, which provides code completion,

TODO Usage

󱌣 This module's usage documentation is incomplete. Complete it?

LSP support

This module supports LSP integration. For it to work you'll need:

  1. zls installed,
  2. The doom-module::tools lsp module enabled. Only doom-package:lsp-mode is supported for now,
  3. The doom-module:+lsp flag on this module enabled.

Keybinds

Binding Description
<localleader> b zig-compile
<localleader> f zig-format-buffer
<localleader> r zig-run
<localleader> t zig-test-buffer

TODO Configuration

󱌣 This module's configuration documentation is incomplete. Complete it?

Customize zls path

To customize the path of the zls executable, modify lsp-zig-zls-executable:

;; in $DOOMDIR/config.el
(setq lsp-zig-zls-executable "~/path/to/zls")

Troubleshooting

There are no known problems with this module. Report one?

Frequently asked questions

This module has no FAQs yet. Ask one?

TODO Appendix

󱌣 This module has no appendix yet. Write one?