feat(lang): improve jsonnet-mode setup with format on save, and more

This commit is contained in:
2021-08-03 01:23:40 +01:00
parent 0435cb28d6
commit 17f63255d9

View File

@@ -7,12 +7,35 @@
;;; Code:
(use-package jsonnet-mode
:bind (:map jsonnet-mode-map
("C-c C-c" . jsonnet-eval-buffer)
("C-c C-f" . jsonnet-reformat-buffer)
("C-c C-j" . jsonnet-jump))
:hook
(jsonnet-mode . siren-jsonnet-mode-setup)
:custom
(jsonnet-library-search-directories '("vendor"))
:init
(defun siren-jsonnet-mode-setup ()
"Default tweaks for `jsonnet-mode'."))
"Default tweaks for `jsonnet-mode'."
(jsonnet-format-buffer-on-save-mode t)
(company-mode)
(subword-mode)
(siren-folding))
:config
(with-eval-after-load 'flycheck
(setq flycheck-jsonnet-executable "jsonnet -jpath vendor"))
(define-minor-mode jsonnet-format-buffer-on-save-mode
"Run jsonnet-format-buffer as a before-save-hook."
:lighter " fmt"
(if jsonnet-format-buffer-on-save-mode
(add-hook 'before-save-hook 'jsonnet-reformat-buffer t t)
(remove-hook 'before-save-hook 'jsonnet-reformat-buffer t))))
(provide 'siren-jsonnet)
;;; siren-js.el ends here