lang/web: update set-docsets! & general refactor

This commit is contained in:
Henrik Lissner 2018-09-08 18:35:45 -04:00
parent 1b172e9f43
commit 001f90df2f
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395
2 changed files with 25 additions and 33 deletions

View file

@ -1,8 +1,5 @@
;;; lang/web/+css.el -*- lexical-binding: t; -*- ;;; lang/web/+css.el -*- lexical-binding: t; -*-
(defvar +web-css-docsets '("CSS" "HTML" "Bourbon" "Compass")
"TODO")
;; An improved newline+continue comment function ;; An improved newline+continue comment function
(setq-hook! css-mode comment-indent-function #'+css/comment-indent-new-line) (setq-hook! css-mode comment-indent-function #'+css/comment-indent-new-line)
@ -10,18 +7,34 @@
:localleader :localleader
:n "rb" #'+css/toggle-inline-or-block) :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 ;; css-mode hooks apply to scss and less-css modes
(add-hook 'css-mode-hook #'rainbow-delimiters-mode) (add-hook 'css-mode-hook #'rainbow-delimiters-mode)
(add-hook! (css-mode sass-mode stylus-mode) (unless EMACS26+
#'(yas-minor-mode-on ;; css-mode's built in completion is superior in 26+
rainbow-mode)) (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))
;;
;; Tools
(def-package! counsel-css (def-package! counsel-css
:when (featurep! :completion ivy) :when (featurep! :completion ivy)
:commands counsel-css :commands counsel-css
@ -40,24 +53,3 @@
:config :config
(setq helm-css-scss-split-direction #'split-window-vertically (setq helm-css-scss-split-direction #'split-window-vertically
helm-css-scss-split-with-multiple-windows t)) 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))

View file

@ -15,7 +15,7 @@
:mode "wp-content/themes/.+/.+\\.php$" :mode "wp-content/themes/.+/.+\\.php$"
:mode "templates/.+\\.php$" :mode "templates/.+\\.php$"
:config :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 ;; tidy is already defined by the format-all package. We redefine it to add
;; more sensible arguments to the tidy command. ;; more sensible arguments to the tidy command.