;;; funcs.el --- vue layer funcs file for Spacemacs. -*- lexical-binding: t -*- ;; ;; Copyright (c) 2012-2019 Sylvain Benner & Contributors ;; ;; Author: Thanh Vuong ;; URL: https://github.com/thanhvg ;; ;; This file is not part of GNU Emacs. ;; ;;; License: GPLv3 ;; backend (defun spacemacs//vue-setup-backend () "Conditionally setup vue 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) (progn ;; error checking from lsp langserver sucks, turn it off ;; so eslint won't be overriden (setq-local lsp-diagnostic-package :none) (lsp)) (message (concat "`lsp' layer is not installed, " "please add `lsp' layer to your dotfile.")))) (defun spacemacs//vue-setup-lsp-company () "Setup lsp auto-completion." (if (configuration-layer/layer-used-p 'lsp) (progn (spacemacs|add-company-backends :backends company-lsp :modes vue-mode :variables company-minimum-prefix-length 2 :append-hooks nil :call-hooks t) (company-mode)) (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" "^