2014-09-05 17:08:40 -04:00
|
|
|
(provide 'init-webdev)
|
|
|
|
|
2014-08-29 22:37:25 -04:00
|
|
|
(use-package rainbow-mode
|
2014-08-07 18:35:22 -04:00
|
|
|
:defer t
|
|
|
|
:init (add-hook 'scss-mode 'rainbow-mode))
|
|
|
|
|
2014-08-29 22:37:25 -04:00
|
|
|
(use-package scss-mode
|
2014-08-09 19:25:06 -04:00
|
|
|
:mode "\\.scss\\'"
|
2014-08-24 06:27:11 -04:00
|
|
|
:config
|
|
|
|
(progn
|
|
|
|
(setq scss-compile-at-save nil)
|
|
|
|
(add-hook 'scss-mode-hook 'ac-css-mode-setup)))
|
2014-08-07 18:35:22 -04:00
|
|
|
|
2014-08-29 22:37:25 -04:00
|
|
|
(use-package haml-mode :mode "\\.haml\\'")
|
2014-08-07 18:35:22 -04:00
|
|
|
|
2014-09-05 17:08:40 -04:00
|
|
|
;;; HTML/Markup
|
|
|
|
(use-package emmet-mode
|
|
|
|
:defer t
|
2014-08-09 19:25:06 -04:00
|
|
|
:config
|
2014-09-05 17:08:40 -04:00
|
|
|
(setq emmet-move-cursor-between-quotes t)
|
|
|
|
:init
|
2014-08-09 19:25:06 -04:00
|
|
|
(progn
|
2014-09-05 17:08:40 -04:00
|
|
|
(add-hook 'scss-mode-hook 'emmet-mode)
|
|
|
|
(add-hook 'web-mode-hook 'emmet-mode)
|
|
|
|
(add-hook 'html-mode-hook 'emmet-mode)
|
|
|
|
(add-hook 'haml-mode-hook 'emmet-mode)
|
|
|
|
(add-hook 'nxml-mode-hook 'emmet-mode)))
|
2014-08-07 18:35:22 -04:00
|
|
|
|
2014-08-29 22:37:25 -04:00
|
|
|
(use-package web-mode
|
2014-08-21 03:33:30 -04:00
|
|
|
:mode (("\\.\\(p\\)?htm\\(l\\)?\\'" . web-mode)
|
|
|
|
("\\.tpl\\(\\.php\\)?\\'" . web-mode)
|
|
|
|
("\\.erb\\'" . web-mode)
|
|
|
|
("wp-content/themes/.+/.+\\.php\\'" . web-mode))
|
|
|
|
:config
|
2014-08-24 06:27:36 -04:00
|
|
|
(progn
|
|
|
|
(setq web-mode-ac-sources-alist
|
|
|
|
'(("css" . (ac-source-css-property))))
|
|
|
|
|
2014-09-05 17:08:40 -04:00
|
|
|
(setq web-mode-markup-indent-offset 2
|
|
|
|
web-mode-code-indent-offset 2
|
|
|
|
web-mode-css-indent-offset 2
|
|
|
|
web-mode-style-padding 2
|
|
|
|
web-mode-script-padding 2
|
|
|
|
web-mode-block-padding 2)
|
|
|
|
;; (setq web-mode-tag-auto-close-style 0)
|
|
|
|
;; (setq web-mode-enable-auto-opening t)
|
|
|
|
;; (setq web-mode-indent-style 1)
|
2014-08-25 23:15:33 -04:00
|
|
|
|
|
|
|
(nvmap web-mode-map
|
2014-09-05 17:08:40 -04:00
|
|
|
"]a" 'web-mode-attribute-next
|
|
|
|
"]t" 'web-mode-tag-next
|
|
|
|
"[t" 'web-mode-tag-previous
|
|
|
|
"]T" 'web-mode-element-child
|
|
|
|
"[T" 'web-mode-element-parent)
|
2014-08-25 23:15:33 -04:00
|
|
|
|
|
|
|
(nmap web-mode-map
|
2014-09-05 17:08:40 -04:00
|
|
|
"zf" 'web-mode-fold-or-unfold
|
|
|
|
",ct" 'web-mode-element-rename)
|
2014-08-24 06:27:36 -04:00
|
|
|
|
|
|
|
(define-key web-mode-map (kbd "s-/") 'web-mode-comment-or-uncomment)
|
2014-08-25 23:15:33 -04:00
|
|
|
|
2014-09-05 17:08:40 -04:00
|
|
|
(add-hook 'web-mode-hook
|
|
|
|
(lambda()
|
|
|
|
(setq indent-tabs-mode t)
|
|
|
|
(setq tab-always-indent t)))
|
|
|
|
(add-hook 'web-mode-hook 'enable-tab-width-2)
|
|
|
|
))
|
|
|
|
|
|
|
|
(use-package php-mode
|
|
|
|
:mode (("\\.php\\'" . php-mode)
|
|
|
|
("\\.inc\\'" . php-mode))
|
|
|
|
:interpreter "php"
|
|
|
|
:config
|
|
|
|
(progn
|
|
|
|
(run-code-with "php" php-mode-map)
|
|
|
|
(setq php-template-compatibility nil)))
|
2014-08-07 18:35:22 -04:00
|
|
|
|
2014-09-05 17:08:40 -04:00
|
|
|
;;; Javascript
|
2014-08-29 22:37:25 -04:00
|
|
|
(use-package tern
|
2014-08-09 19:25:06 -04:00
|
|
|
:commands tern-mode
|
|
|
|
:config
|
|
|
|
(progn
|
2014-09-05 17:08:40 -04:00
|
|
|
(run-code-with "node" js-mode-map)
|
2014-08-29 22:37:25 -04:00
|
|
|
(use-package tern-auto-complete
|
2014-08-09 19:25:06 -04:00
|
|
|
:config (setq tern-ac-on-dot nil)))
|
|
|
|
:init
|
|
|
|
;; replace auto-complete with tern-ac-complete only in js-mode
|
|
|
|
(add-hook 'js-mode-hook
|
|
|
|
(lambda ()
|
|
|
|
(tern-mode t)
|
2014-08-24 06:27:36 -04:00
|
|
|
(tern-ac-setup)
|
2014-09-05 17:08:40 -04:00
|
|
|
(imap js-mode-map [remap auto-complete] 'tern-ac-complete)
|
|
|
|
)))
|
2014-08-07 18:35:22 -04:00
|
|
|
|
2014-08-21 03:33:30 -04:00
|
|
|
;; Jekyll support
|
|
|
|
(define-minor-mode jekyll-mode
|
|
|
|
:init-value nil
|
|
|
|
:lighter " :{"
|
|
|
|
:keymap (make-sparse-keymap))
|
|
|
|
|
2014-09-05 17:08:40 -04:00
|
|
|
(associate-mode "[.-]jekyll/" jekyll-mode t)
|