;;; markdown --- initializes VueJs modes -*- lexical-binding: t; -*- ;;; Commentary: ;;; Code: (defun user--web-html-hook () "." (message "user--web-html-hook BEG !!!") (message "user--web-html-hook END !!!") ) (defun user--web-vue-hook () "." (message "user--web-vue-hook BEG !!!!") (user--tide-mode-hook) (flycheck-add-mode 'javascript-eslint 'web-mode) (flycheck-select-checker 'javascript-eslint) (add-to-list (make-local-variable 'company-backends) '(comany-tide company-web-html company-css company-files)) (message "user--web-vue-hook END !!!!") ) (defun user--web-format-before-save() "Python cleanup and format before save buffer." (delete-trailing-whitespace) ) (use-package web-mode :ensure t :mode ("\\.html\\'" "\\.vue\\'") :hook ((web-mode-hook . (lambda() (cond ((equal web-mode-content-type "html") (user--web-html-hook)) ((member web-mode-content-type '("vue")) (user--web-vue-hook)) ))) (web-mode-hook . (lambda () (add-hook 'before-save-hook #'user--web-format-before-save nil t)))) :config (setq web-mode-markup-indent-offset 4) (setq web-mode-css-indent-offset 4) (setq web-mode-code-indent-offset 4) (setq web-mode-enable-current-element-highlight t) (setq web-mode-enable-css-colorization t) (setq web-mode-content-types-alist '(("vue" . "\\.vue\\'"))) ;; ;; (use-package company-web :ensure t)) (provide 'modes/vuejs) ;; vuejs.el ends here