diff --git a/modules/lang/web/+css.el b/modules/lang/web/+css.el index 655d7a4b3..04a0ed3fc 100644 --- a/modules/lang/web/+css.el +++ b/modules/lang/web/+css.el @@ -1,8 +1,5 @@ ;;; lang/web/+css.el -*- lexical-binding: t; -*- -(defvar +web-css-docsets '("CSS" "HTML" "Bourbon" "Compass") - "TODO") - ;; An improved newline+continue comment function (setq-hook! css-mode comment-indent-function #'+css/comment-indent-new-line) @@ -10,17 +7,33 @@ :localleader :n "rb" #'+css/toggle-inline-or-block) +(after! (:any css-mode sass-mode) + (set-docsets! '(css-mode scss-mode sass-mode) + "CSS" "HTML" "Bourbon" "Compass" + ["Sass" (memq major-mode '(scss-mode sass-mode))])) + ;; -;; Packages +;; Major modes + +(add-hook! (css-mode sass-mode stylus-mode) #'rainbow-mode) + +(after! css-mode ; built-in -- contains both css-mode & scss-mode + ;; css-mode hooks apply to scss and less-css modes + (add-hook 'css-mode-hook #'rainbow-delimiters-mode) + (unless EMACS26+ + ;; css-mode's built in completion is superior in 26+ + (set-company-backend! '(css-mode scss-mode) 'company-css)) + (map! :map scss-mode-map :localleader :n "b" #'+css/scss-build)) + + +(after! sass-mode + (set-company-backend! 'sass-mode 'company-css) + (map! :map sass-mode-map :localleader :n "b" #'+css/sass-build)) + + ;; - -;; css-mode hooks apply to scss and less-css modes -(add-hook 'css-mode-hook #'rainbow-delimiters-mode) -(add-hook! (css-mode sass-mode stylus-mode) - #'(yas-minor-mode-on - rainbow-mode)) - +;; Tools (def-package! counsel-css :when (featurep! :completion ivy) @@ -40,24 +53,3 @@ :config (setq helm-css-scss-split-direction #'split-window-vertically helm-css-scss-split-with-multiple-windows t)) - - -(def-package! css-mode ; built-in - :defer t - :config - ;; contains both css-mode & scss-mode - (set-docsets! 'css-mode +web-css-docsets) - (set-docsets! 'scss-mode "Sass" +web-css-docsets) - (unless EMACS26+ - ;; css-mode's built in completion is superior in 26+ - (set-company-backend! '(css-mode scss-mode) 'company-css)) - (map! :map scss-mode-map :localleader :n "b" #'+css/scss-build)) - - -(def-package! sass-mode - :defer t - :config - (set-docsets! 'sass-mode "Sass" +web-css-docsets) - (set-company-backend! 'sass-mode 'company-css) - (map! :map scss-mode-map :localleader :n "b" #'+css/sass-build)) - diff --git a/modules/lang/web/+html.el b/modules/lang/web/+html.el index dc87b688c..08dc50049 100644 --- a/modules/lang/web/+html.el +++ b/modules/lang/web/+html.el @@ -15,7 +15,7 @@ :mode "wp-content/themes/.+/.+\\.php$" :mode "templates/.+\\.php$" :config - (set-docsets! 'web-mode "HTML" "Twig" "WordPress") + (set-docsets! 'web-mode "HTML" "CSS" "Twig" "WordPress") ;; tidy is already defined by the format-all package. We redefine it to add ;; more sensible arguments to the tidy command.