81 lines
2.2 KiB
EmacsLisp
81 lines
2.2 KiB
EmacsLisp
(use-package rainbow-mode :ensure t
|
|
:defer t
|
|
:init (add-hook 'scss-mode 'rainbow-mode))
|
|
|
|
(use-package scss-mode :ensure t
|
|
:mode "\\.scss\\'"
|
|
:config
|
|
(progn
|
|
(setq scss-compile-at-save nil)
|
|
(add-hook 'scss-mode-hook 'ac-css-mode-setup)))
|
|
|
|
(use-package haml-mode :ensure t :mode "\\.haml\\'")
|
|
|
|
(use-package php-mode :ensure t
|
|
:mode (("\\.php\\'" . php-mode)
|
|
("\\.inc\\'" . php-mode))
|
|
:interpreter "php"
|
|
:config
|
|
(progn
|
|
(my/setup-run-code php-mode-map "php")
|
|
(setq php-template-compatibility nil)))
|
|
|
|
(use-package web-mode :ensure t
|
|
:mode (("\\.\\(p\\)?htm\\(l\\)?\\'" . web-mode)
|
|
("\\.tpl\\(\\.php\\)?\\'" . web-mode)
|
|
("\\.erb\\'" . web-mode)
|
|
("wp-content/themes/.+/.+\\.php\\'" . web-mode))
|
|
:config
|
|
(add-hook 'web-mode-hook 'jekyll-mode-maybe))
|
|
|
|
(use-package tern :ensure t
|
|
:commands tern-mode
|
|
:config
|
|
(progn
|
|
(my/setup-run-code js-mode-map "node")
|
|
(use-package tern-auto-complete :ensure t
|
|
: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)
|
|
(imap js-mode-map (kbd "C-SPC") 'tern-ac-complete)
|
|
(tern-ac-setup))))
|
|
|
|
(use-package emmet-mode :ensure t
|
|
:defer t
|
|
:config
|
|
(progn
|
|
(imap emmet-mode-keymap (kbd "s-e") 'emmet-expand-yas)
|
|
(imap emmet-mode-keymap (kbd "s-E") 'emmet-expand-line)
|
|
|
|
(setq emmet-move-cursor-between-quotes t))
|
|
:init
|
|
(progn
|
|
(add-hook 'scss-mode-hook 'emmet-mode)
|
|
(add-hook 'web-mode-hook 'emmet-mode)
|
|
(add-hook 'haml-mode-hook 'emmet-mode)
|
|
(add-hook 'nxml-mode-hook 'emmet-mode)))
|
|
|
|
;; Jekyll support
|
|
(define-minor-mode jekyll-mode
|
|
:init-value nil
|
|
:lighter " :{"
|
|
:keymap (make-sparse-keymap))
|
|
|
|
(defun jekyll-mode-maybe()
|
|
(let ((root (projectile-project-root)))
|
|
(if (or (string-match "[.-]jekyll/" root)
|
|
(file-exists-p (concat root ".jekyll-mode")))
|
|
(jekyll-mode t))))
|
|
|
|
(nmap jekyll-mode-map (kbd ",b")
|
|
(λ (open-file-with "http://localhost:4000")))
|
|
|
|
(add-hook 'scss-mode-hook 'jekyll-mode-maybe)
|
|
(add-hook 'web-mode-hook 'jekyll-mode-maybe)
|
|
(add-hook 'markdown-mode-hook 'jekyll-mode-maybe)
|
|
|
|
;;
|
|
(provide 'mod-webdev)
|