From 18db9153dd828494ff77be08ff9c158b0ebc0d5c Mon Sep 17 00:00:00 2001 From: Jim Myhrberg Date: Thu, 24 Oct 2024 02:04:27 +0100 Subject: [PATCH] feat(language/css): switch to css-ts-mode --- modules/formatting/siren-prettier-js.el | 1 + modules/languages/siren-css.el | 40 ++++++++++++++++++++++++- 2 files changed, 40 insertions(+), 1 deletion(-) diff --git a/modules/formatting/siren-prettier-js.el b/modules/formatting/siren-prettier-js.el index 5af559d..2eabaad 100644 --- a/modules/formatting/siren-prettier-js.el +++ b/modules/formatting/siren-prettier-js.el @@ -10,6 +10,7 @@ :defer t :hook ((css-mode + css-ts-mode markdown-mode php-mode typescript-mode diff --git a/modules/languages/siren-css.el b/modules/languages/siren-css.el index ecb6039..01da1e7 100644 --- a/modules/languages/siren-css.el +++ b/modules/languages/siren-css.el @@ -17,10 +17,48 @@ :custom (css-indent-offset 2) + :custom-face + (css-selector ((t (:inherit font-lock-keyword-face :foreground nil)))) + (css-property ((t (:inherit font-lock-constant-face :foreground nil)))) + :preface (defun siren-css-mode-setup () - (setq-local tab-width 2) + (setq-local tab-width css-indent-offset))) +(when (fboundp 'css-ts-mode) + (use-package css-ts-mode + :straight (:type built-in) + :mode "\\.css\\'" + :hook + (css-ts-mode . siren-css-ts-mode-setup) + + :general + (:keymaps 'css-ts-mode-map + "C-j" 'newline-and-indent) + + :custom + (css-indent-offset 2) + + :custom-face + (css-selector ((t (:inherit font-lock-keyword-face :foreground nil)))) + (css-property ((t (:inherit font-lock-constant-face :foreground nil)))) + + :preface + (defun siren-css-ts-mode-setup () + (setq-local tab-width css-indent-offset)) + + :config + (siren-treesit-auto-ensure-grammar 'css))) + +(use-package lsp-css + :straight lsp-mode + + :hook + (css-mode . siren-lsp-css-mode-setup) + (css-ts-mode . siren-lsp-css-mode-setup) + + :preface + (defun siren-lsp-css-mode-setup () (lsp-deferred))) (provide 'siren-css)