2021-03-20 15:11:04 +08:00
|
|
|
;;; lang/zig/config.el -*- lexical-binding: t; -*-
|
|
|
|
|
|
|
|
(after! projectile
|
2021-04-14 13:30:13 -04:00
|
|
|
(add-to-list 'projectile-project-root-files "build.zig"))
|
2021-03-20 15:11:04 +08:00
|
|
|
|
|
|
|
|
|
|
|
;;
|
2021-04-14 13:30:13 -04:00
|
|
|
;;; Packages
|
2021-03-20 15:11:04 +08:00
|
|
|
|
|
|
|
(use-package! zig-mode
|
|
|
|
:hook (zig-mode . rainbow-delimiters-mode)
|
|
|
|
:config
|
2021-11-23 13:05:39 +01:00
|
|
|
(setq zig-format-on-save nil) ; rely on :editor format instead
|
2021-04-14 13:30:13 -04:00
|
|
|
|
|
|
|
(when (featurep! +lsp)
|
2022-03-24 02:19:52 +01:00
|
|
|
(add-hook 'zig-mode-local-vars-hook #'lsp! 'append))
|
2021-04-14 13:30:13 -04:00
|
|
|
|
|
|
|
(when (featurep! :checkers syntax)
|
|
|
|
(flycheck-define-checker zig
|
2022-06-13 06:39:26 +02:00
|
|
|
"A zig syntax checker using zig's `ast-check` command."
|
|
|
|
:command ("zig" "ast-check" (eval (buffer-file-name)))
|
2021-04-14 13:30:13 -04:00
|
|
|
:error-patterns
|
|
|
|
((error line-start (file-name) ":" line ":" column ": error: " (message) line-end))
|
|
|
|
:modes zig-mode)
|
|
|
|
(add-to-list 'flycheck-checkers 'zig))
|
|
|
|
|
2021-03-20 15:40:21 +08:00
|
|
|
(map! :localleader
|
2021-03-20 15:11:04 +08:00
|
|
|
:map zig-mode-map
|
|
|
|
"b" #'zig-compile
|
|
|
|
"f" #'zig-format-buffer
|
|
|
|
"r" #'zig-run
|
|
|
|
"t" #'zig-test-buffer))
|