;;; 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