Skip to content
This repository has been archived by the owner on Feb 4, 2020. It is now read-only.

Commit

Permalink
clean up
Browse files Browse the repository at this point in the history
  • Loading branch information
thanhvg committed Feb 20, 2019
1 parent 086a5de commit cce5839
Show file tree
Hide file tree
Showing 2 changed files with 45 additions and 34 deletions.
61 changes: 43 additions & 18 deletions funcs.el
Expand Up @@ -9,7 +9,22 @@
;;
;;; License: GPLv3

;; LSP

;; backend
(defun spacemacs//vue-setup-backend ()
"Conditionally setup react backend."
(pcase vue-backend
(`dumb (spacemacs//vue-setup-dumb))
(`lsp (spacemacs//vue-setup-lsp))))

(defun spacemacs//vue-setup-company ()
"Conditionally setup company based on backend."
(pcase vue-backend
(`dumb (spacemacs//vue-setup-dumb-company))
(`lsp (spacemacs//vue-setup-lsp-company))))


;; lsp
(defun spacemacs//vue-setup-lsp ()
"Setup lsp backend."
(if (configuration-layer/layer-used-p 'lsp)
Expand All @@ -32,6 +47,33 @@
(fix-lsp-company-prefix))
(message "`lsp' layer is not installed, please add `lsp' layer to your dotfile.")))


;; dumb

(defun spacemacs//vue-setup-dumb-imenu ()
(setq imenu-generic-expression '(("html" "^<template>$" 0)
("js" "^<script>$" 0)
("js" "^\\s-*\\(data\\).*()\\s-?{" 1)
("js" "^\\s-*\\(mounted\\).*()\\s-?{" 1)
("js" "^\\s-*\\(beforeMount\\).*()\\s-?{" 1)
("js" "^\\s-*\\(beforeDestroy\\).*()\\s-?{" 1)
("js" "^\\s-*\\(created\\).*()\\s-?{" 1)
("js" "^\\s-*\\(computed\\):\\s-?{" 1)
("js" "^\\s-*\\(watched\\):\\s-?{" 1)
("js" "^\\s-*\\(methods\\):\\s-?{" 1)
("js" "^\\s-*\\(props\\):\\s-?{" 1)
("css" "^<css>$" 0))
imenu-create-index-function #'imenu-default-create-index-function))

(defun spacemacs//vue-setup-dumb ()
(add-to-list 'spacemacs-jump-handlers-vue-mode 'dumb-jump-go)
(add-to-list 'spacemacs-jump-handlers-vue-html-mode 'dumb-jump-go)
(spacemacs//vue-setup-dumb-imenu))

(defun spacemacs//vue-setup-dumb-company ()
(spacemacs|add-company-backends :backends company-capf :modes vue-mode)
(company-mode))


;; Emmet
(defun spacemacs//vue-turn-on-emmet ()
Expand All @@ -50,20 +92,3 @@
(flycheck-select-checker 'javascript-eslint))


(defun spacemacs//vue-setup-dumb-company ()
(spacemacs|add-company-backends :backends company-capf :modes vue-mode))

(defun spacemacs//vue-setup-dumb-imenu ()
(setq imenu-generic-expression '(("html" "^<template>$" 0)
("js" "^<script>$" 0)
("js" "^\\s-*\\(data\\).*()\\s-?{" 1)
("js" "^\\s-*\\(mounted\\).*()\\s-?{" 1)
("js" "^\\s-*\\(beforeMount\\).*()\\s-?{" 1)
("js" "^\\s-*\\(beforeDestroy\\).*()\\s-?{" 1)
("js" "^\\s-*\\(created\\).*()\\s-?{" 1)
("js" "^\\s-*\\(computed\\):\\s-?{" 1)
("js" "^\\s-*\\(watched\\):\\s-?{" 1)
("js" "^\\s-*\\(methods\\):\\s-?{" 1)
("js" "^\\s-*\\(props\\):\\s-?{" 1)
("css" "^<css>$" 0))
imenu-create-index-function #'imenu-default-create-index-function))
18 changes: 2 additions & 16 deletions packages.el
Expand Up @@ -40,19 +40,7 @@
(spacemacs/set-leader-keys-for-major-mode 'vue-mode "p" #'vue-mode-edit-indirect-at-point)
(spacemacs/set-leader-keys-for-major-mode 'vue-mode "v" #'vue-mode-reparse)

(pcase vue-backend
('lsp (add-hook 'vue-mode-local-vars-hook #'spacemacs//vue-setup-lsp))
('dumb (progn (add-to-list 'spacemacs-jump-handlers-vue-mode 'dumb-jump-go)
(add-to-list 'spacemacs-jump-handlers-vue-html-mode 'dumb-jump-go)
(add-hook 'vue-mode-local-vars-hook #'spacemacs//vue-setup-dumb-imenu))))

;; (add-hook 'vue-mode-local-vars-hook #'spacemacs//vue-setup-lsp)
;; (add-to-list 'spacemacs-jump-handlers-vue-mode
;; 'dumb-jump-go)

;; (add-to-list 'spacemacs-jump-handlers-vue-html-mode
;; 'dumb-jump-go)
))
(add-hook 'vue-mode-local-vars-hook #'spacemacs//vue-setup-backend)))

(defun vue/post-init-add-node-modules-path ()
(spacemacs/add-to-hooks #'add-node-modules-path '(css-mode-hook
Expand All @@ -61,9 +49,7 @@
js-mode-hook)))

(defun vue/post-init-company ()
(pcase vue-backend
('dumb (spacemacs|add-company-backends :backends company-capf :modes vue-mode))
('lsp (add-hook 'vue-mode-local-vars-hook #'spacemacs//vue-setup-lsp-company))))
(add-hook 'vue-mode-local-vars-hook #'spacemacs//vue-setup-company))

(defun vue/post-init-emmet-mode ()
;; (add-hook 'vue-html-mode 'emmet-mode))
Expand Down

0 comments on commit cce5839

Please sign in to comment.