2017-02-19 18:57:16 -05:00
|
|
|
;;; lang/web/config.el
|
2015-06-15 09:06:10 +02:00
|
|
|
|
2017-02-23 00:06:12 -05:00
|
|
|
(load! +html)
|
|
|
|
(load! +css)
|
2015-06-15 09:06:10 +02:00
|
|
|
|
2016-05-11 05:36:49 -04:00
|
|
|
|
2017-03-23 15:47:07 -04:00
|
|
|
(def-package! web-beautify
|
|
|
|
:commands (web-beautify-html web-beautify-css)
|
|
|
|
:init
|
|
|
|
(map! (:map* (css-mode-map scss-mode-map less-css-mode-map)
|
|
|
|
:n "gQ" 'web-beautify-css)
|
|
|
|
(:map* web-mode-map
|
|
|
|
:n "gQ" 'web-beautify-html)))
|
|
|
|
|
|
|
|
|
2017-03-23 15:47:38 -04:00
|
|
|
(def-package! emmet-mode
|
|
|
|
:commands emmet-mode
|
|
|
|
:preface (defvar emmet-mode-keymap (make-sparse-keymap))
|
|
|
|
:init
|
2017-03-29 23:46:35 -04:00
|
|
|
(add-hook! (css-mode web-mode html-mode haml-mode nxml-mode rjsx-mode)
|
|
|
|
'emmet-mode)
|
2017-03-23 15:47:38 -04:00
|
|
|
:config
|
|
|
|
(setq emmet-move-cursor-between-quotes t)
|
|
|
|
(map! :map emmet-mode-keymap
|
|
|
|
:v "M-e" 'emmet-wrap-with-markup
|
|
|
|
:i "M-e" 'emmet-expand-yas
|
|
|
|
:i "M-E" 'emmet-expand-line))
|
|
|
|
|
|
|
|
|
2016-04-16 21:36:24 -04:00
|
|
|
;;
|
2017-03-02 18:20:46 -05:00
|
|
|
;; Frameworks
|
2016-05-11 05:36:49 -04:00
|
|
|
;;
|
|
|
|
|
2017-03-02 18:20:46 -05:00
|
|
|
(def-project-mode! +web-bower-mode
|
|
|
|
:files "bower.json")
|
2017-02-19 18:57:16 -05:00
|
|
|
|
2017-03-02 18:20:46 -05:00
|
|
|
(def-project-mode! +web-angularjs-mode
|
|
|
|
:modes (+javascript-npm-mode +web-bower-mode)
|
|
|
|
:when
|
2017-04-01 23:33:18 -04:00
|
|
|
(let* ((project-root (doom-project-root))
|
|
|
|
(bower (and (bound-and-true-p +web-bower-mode)
|
|
|
|
(+web-bower-conf project-root)))
|
|
|
|
(npm (and (bound-and-true-p +javascript-npm-mode)
|
|
|
|
(+javascript-npm-conf project-root))))
|
|
|
|
(assq 'angular (append (cdr (assq 'dependencies bower))
|
|
|
|
(cdr (assq 'dependencies npm))
|
|
|
|
(cdr (assq 'devDependencies bower))
|
|
|
|
(cdr (assq 'devDependencies npm))))))
|
2017-02-19 18:57:16 -05:00
|
|
|
|
2017-03-02 18:20:46 -05:00
|
|
|
(def-project-mode! +web-jekyll-mode
|
|
|
|
:modes (web-mode js-mode coffee-mode css-mode haml-mode pug-mode)
|
|
|
|
:files (and "config.yml" (or "_layouts/" "_posts/"))
|
|
|
|
:init
|
|
|
|
(add-hook! '+web-jekyll-mode-hook
|
|
|
|
(when (eq major-mode 'web-mode)
|
|
|
|
(web-mode-set-engine "django"))))
|
2017-02-19 18:57:16 -05:00
|
|
|
|
2017-03-02 18:20:46 -05:00
|
|
|
(def-project-mode! +web-wordpress-mode
|
|
|
|
:modes (php-mode web-mode css-mode haml-mode pug-mode)
|
|
|
|
:files (or "wp-config.php" "wp-config-sample.php"))
|
2017-03-25 16:43:10 -04:00
|
|
|
|
|
|
|
(def-project-mode! +web-react-mode
|
|
|
|
:modes (+javascript-npm-mode)
|
2017-04-01 23:33:52 -04:00
|
|
|
:when
|
|
|
|
(when-let (npm (+javascript-npm-conf))
|
|
|
|
(assq 'react (append (cdr (assq 'dependencies npm))
|
|
|
|
(cdr (assq 'devDependencies npm))))))
|