diff --git a/.gitmodules b/.gitmodules index ddcd7b39..aaadc871 100644 --- a/.gitmodules +++ b/.gitmodules @@ -10,3 +10,7 @@ [submodule "my_plugins/fzf.vim"] path = my_plugins/fzf.vim url = https://github.com/junegunn/fzf.vim.git +[submodule "my_plugins/vim-vue-syntastic"] + path = my_plugins/vim-vue-syntastic + url = git@github.com:sekel/vim-vue-syntastic.git + branch = master diff --git a/my_plugins/vim-vue-syntastic b/my_plugins/vim-vue-syntastic new file mode 160000 index 00000000..49910239 --- /dev/null +++ b/my_plugins/vim-vue-syntastic @@ -0,0 +1 @@ +Subproject commit 499102395e122d96c847e87500f3ebe401f526b0 diff --git a/my_plugins/vim-vue-syntastic/README.md b/my_plugins/vim-vue-syntastic/README.md deleted file mode 100644 index 8f3f4618..00000000 --- a/my_plugins/vim-vue-syntastic/README.md +++ /dev/null @@ -1,61 +0,0 @@ -# vim-vue-syntastic - -### 1\. What? - -Support for vue components linting with syntastic and eslint - -### 2\. Dependencies - -- [Syntastic](https://github.com/scrooloose/syntastic) -- [ESlint](http://eslint.org/) -- [vim-vue](https://github.com/posva/vim-vue) - -### 2.1\. Installing vim-vue-syntastic with Pathogen - -If you already have [Pathogen][1] working then skip [Step 1](#step1) and go to -[Step 2](#step2). - - - -#### 2.1.1\. Step 1: Install pathogen.vim - -First I'll show you how to install Tim Pope's [Pathogen][1] so that it's easy to -install syntastic. Do this in your terminal so that you get the `pathogen.vim` -file and the directories it needs: -```sh -mkdir -p ~/.vim/autoload ~/.vim/bundle && \ -curl -LSso ~/.vim/autoload/pathogen.vim https://tpo.pe/pathogen.vim -``` -Next you *need* to add this to your `~/.vimrc`: -```vim -execute pathogen#infect() -``` - - -#### 2.1.3\. Step 2: Install vim-vue-syntastic as a Pathogen bundle and friends - -You now have pathogen installed and can put syntastic into `~/.vim/bundle` like -this: - -```sh -cd ~/.vim/bundle && \ -git clone https://github.com/sekel/vim-vue-syntastic.git -``` -... and the same song and dance for the dependencies - -#### 2.1.3\. Step 3: Optional configuration to make it work with local project eslint - -Stick this in your `~/.vimrc`: - -```vim -let g:syntastic_javascript_checkers = ['eslint'] -let g:syntastic_vue_checkers = ['eslint'] -let local_eslint = finddir('node_modules', '.;') . '/.bin/eslint' -if matchstr(local_eslint, "^\/\\w") == '' - let local_eslint = getcwd() . "/" . local_eslint -endif -if executable(local_eslint) - let g:syntastic_javascript_eslint_exec = local_eslint - let g:syntastic_vue_eslint_exec = local_eslint -endif -``` diff --git a/my_plugins/vim-vue-syntastic/syntax_checkers/vue/eslint.vim b/my_plugins/vim-vue-syntastic/syntax_checkers/vue/eslint.vim deleted file mode 100644 index c225a9ce..00000000 --- a/my_plugins/vim-vue-syntastic/syntax_checkers/vue/eslint.vim +++ /dev/null @@ -1,78 +0,0 @@ -"============================================================================ -"File: eslint.vim -"Description: Vue syntax checker - using eslint. -"Maintainer: Sebastian Kellgren sebastian at thriver dot io -"License: This program is free software. It comes without any warranty, -" to the extent permitted by applicable law. You can redistribute -" it and/or modify it under the terms of the Do What The Fuck You -" Want To Public License, Version 2, as published by Sam Hocevar. -" See http://sam.zoy.org/wtfpl/COPYING for more details. -"============================================================================ - -if exists('g:loaded_syntastic_vue_eslint_checker') - finish -endif -let g:loaded_syntastic_vue_eslint_checker = 1 - -if !exists('g:syntastic_vue_eslint_sort') - let g:syntastic_vue_eslint_sort = 1 -endif - -if !exists('g:syntastic_vue_eslint_generic') - let g:syntastic_vue_eslint_generic = 0 -endif - -let s:save_cpo = &cpo -set cpo&vim - -function! SyntaxCheckers_vue_eslint_IsAvailable() dict - if g:syntastic_vue_eslint_generic - call self.log('generic eslint, exec =', self.getExec()) - endif - - if !executable(self.getExec()) - return 0 - endif - return g:syntastic_vue_eslint_generic || syntastic#util#versionIsAtLeast(self.getVersion(), [0, 1]) -endfunction - -function! SyntaxCheckers_vue_eslint_GetLocList() dict - if !g:syntastic_vue_eslint_generic - call syntastic#log#deprecationWarn('vue_eslint_conf', 'vue_eslint_args', - \ "'--config ' . syntastic#util#shexpand(OLD_VAR)") - endif - - let makeprg = self.makeprgBuild({ 'args_before': (g:syntastic_vue_eslint_generic ? '' : '-f compact') }) - - let errorformat = - \ '%E%f: line %l\, col %c\, Error - %m,' . - \ '%W%f: line %l\, col %c\, Warning - %m' - - let loclist = SyntasticMake({ - \ 'makeprg': makeprg, - \ 'errorformat': errorformat, - \ 'postprocess': ['guards'] }) - - if !g:syntastic_vue_eslint_generic - if !exists('s:eslint_new') - let s:eslint_new = syntastic#util#versionIsAtLeast(self.getVersion(), [1]) - endif - - if !s:eslint_new - for e in loclist - let e['col'] += 1 - endfor - endif - endif - - return loclist -endfunction - -call g:SyntasticRegistry.CreateAndRegisterChecker({ - \ 'filetype': 'vue', - \ 'name': 'eslint'}) - -let &cpo = s:save_cpo -unlet s:save_cpo - -" vim: set sw=4 sts=4 et fdm=marker: