diff options
-rw-r--r-- | modules/init-web-mode.el | 29 |
1 files changed, 24 insertions, 5 deletions
diff --git a/modules/init-web-mode.el b/modules/init-web-mode.el index 5606522..93a0ecd 100644 --- a/modules/init-web-mode.el +++ b/modules/init-web-mode.el @@ -21,7 +21,7 @@ ;; Fix smarty (setq web-mode-engines-alist - '(("smarty" . "\\.tpl\\'"))) + '(("smarty" . "\\.tpl\\'"))) ;; Django hook ;; require projectile @@ -45,11 +45,30 @@ (sp-pair "{# " " #}") (sp-pair "{" nil :actions :rem) (sp-pair "<" ">") - (setq web-mode-enable-auto-pairing nil))) - ) - ) + (setq web-mode-enable-auto-pairing nil))))) + ;; Pelican hook + (defun my-pelican-mode () + (when (and (require 'web-mode nil t) + (fboundp 'web-mode-set-engine)) + (if (projectile-project-p) + (when (file-exists-p (concat (projectile-project-root) "pelicanconf.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 "{" nil :actions :rem) + (sp-pair "<" ">") + (setq web-mode-enable-auto-pairing nil))))) :hook - (web-mode . my-django-mode)) + (web-mode . my-django-mode) + (web-mode . my-pelican-mode)) (provide 'init-web-mode) ;;; init-web-mode.el ends here |