51 lines
1.6 KiB
EmacsLisp
51 lines
1.6 KiB
EmacsLisp
;;; init-web-mode.el --- .Emacs Configuration -*- lexical-binding: t -*-
|
|
;;; Commentary:
|
|
;;
|
|
|
|
;;; Code:
|
|
(use-package web-mode
|
|
:pin "MELPA"
|
|
:mode (("\\.html?\\'" . web-mode)
|
|
("\\.djhtml\\'" . web-mode)
|
|
("\\.blade.php\\'" . web-mode)
|
|
("\\.tpl\\'" . web-mode)
|
|
("\\.jsp\\'" . web-mode)
|
|
("\\.gsp\\'" . web-mode)
|
|
("\\.scss\\'" . web-mode)
|
|
("\\.ctp\\'" . web-mode))
|
|
:config
|
|
;; web-modeの設定
|
|
(setq web-mode-enable-current-element-highlight t)
|
|
(set-face-background 'web-mode-current-element-highlight-face "#a3a3a3")
|
|
|
|
;; Django hook
|
|
;; require projectile
|
|
(defun my-django-mode-hook ()
|
|
(when (and (require 'web-mode nil t)
|
|
(fboundp 'web-mode-set-engine))
|
|
(if (projectile-project-p)
|
|
(when (file-exists-p (concat (projectile-project-root) "manage.py"))
|
|
(web-mode-set-engine "django")
|
|
|
|
;; HTML auto functions
|
|
(setq web-mode-enable-auto-opening t)
|
|
(setq web-mode-enable-auto-closing t)
|
|
(setq web-mode-enable-auto-quoting t)
|
|
(setq web-mode-enable-auto-expanding t)
|
|
|
|
;; Auto-pairing
|
|
(require 'smartparens)
|
|
(sp-pair "{% " " %}")
|
|
(sp-pair "{{ " " }}")
|
|
(sp-pair "{# " " #}")
|
|
(sp-pair "{" nil :actions :rem)
|
|
(sp-pair "<" ">")
|
|
(setq web-mode-enable-auto-pairing nil)))
|
|
)
|
|
)
|
|
;; Add hooks
|
|
(add-hook 'web-mode-hook 'my-django-mode-hook))
|
|
|
|
(provide 'init-web-mode)
|
|
;;; init-web-mode.el ends here
|