diff --git a/dotfiles/desktop/.emacs.d/lisp/lang/json.el b/dotfiles/desktop/.emacs.d/lisp/lang/json.el index a5efc6e..ab25683 100644 --- a/dotfiles/desktop/.emacs.d/lisp/lang/json.el +++ b/dotfiles/desktop/.emacs.d/lisp/lang/json.el @@ -1,6 +1,23 @@ ;;; json.el -*- lexical-binding: t -*- + +(defun fscotto/json-maybe-start-lsp () + "Start LSP for JSON buffers when lsp-mode is available." + (when (fboundp 'lsp-deferred) + (lsp-deferred))) + (use-package json-mode - :ensure t) + :ensure t + :mode + (("\\.json\\'" . json-mode) + ("\\.jsonc\\'" . json-mode)) + :hook + (json-mode . fscotto/json-maybe-start-lsp)) + +(with-eval-after-load 'json-ts-mode + (add-hook 'json-ts-mode-hook #'fscotto/json-maybe-start-lsp)) + +(with-eval-after-load 'jsonc-mode + (add-hook 'jsonc-mode-hook #'fscotto/json-maybe-start-lsp)) (provide 'json)