From 8cb67a061892d052301e55e16d1b4fc5315c09bd Mon Sep 17 00:00:00 2001 From: Jim Myhrberg Date: Wed, 23 Oct 2024 02:08:36 +0100 Subject: [PATCH] feat(language/json): switch to json-ts-mode (from json-mode) --- modules/languages/siren-json.el | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/modules/languages/siren-json.el b/modules/languages/siren-json.el index 323a82b..3422c2e 100644 --- a/modules/languages/siren-json.el +++ b/modules/languages/siren-json.el @@ -28,11 +28,34 @@ json-reformat:indent-width width tab-width width)))) +(when (fboundp 'json-ts-mode) + (use-package json-ts-mode + :straight (:type built-in) + :mode "\\.json\\'" + :hook + (json-ts-mode . siren-json-ts-mode-setup) + + :general + (:keymaps 'json-ts-mode-map + "C-j" 'newline-and-indent) + + :custom + (json-ts-mode-indent-offset 2) + + :preface + (defun siren-json-ts-mode-setup () + (setq-local json-reformat:indent-width 2)) + + :config + (require 'siren-treesit) + (siren-treesit-auto-ensure-grammar 'json))) + (use-package lsp-json :straight lsp-mode :hook (json-mode . siren-lsp-json-mode-setup) + (json-ts-mode . siren-lsp-json-mode-setup) :preface (defun siren-lsp-json-mode-setup ()