feat: support syntax in $HOME/.vim

This commit is contained in:
yemai
2018-10-23 12:33:02 +08:00
parent f0910b42e7
commit f106b0be7e
3 changed files with 32 additions and 28 deletions

View File

@@ -16,7 +16,6 @@ Vim syntax and indent plugin for `.vue` and `.wpy` files. Mainly inspired by [mx
- Or manually, clone this plugin, drop it in custom `path/to/this_plugin`, and add it to `rtp` in vimrc
set rpt+=path/to/this_plugin
Plugin works if filetype is set to `javascript.vue`. Please stay up to date. Any issue or pull request is welcome.
@@ -34,16 +33,16 @@ Set global variable to `1` to enable or `0` to disable.
Ex:
let g:vim_vue_plugin_has_init_indent = 1
let g:vim_uue_plugin_load_full_syntax = 1
| variable | description | default |
|---------------------------------------|--------------------------------------------------------------------------------------------------------------------------------|----------------------------|
| `g:vim_vue_plugin_has_init_indent` | initially indent one tab inside `style/script` tags. | 0 for `.vue`. 1 for `.wpy` |
| `g:vim_uue_plugin_load_full_syntax`\* | enable: load all syntax files in `runtimepath`. disable: only in `syntax` and `vimfiles/syntax` | 0 |
| `g:vim_uue_plugin_load_full_syntax`\* | enable: load all syntax files in `runtimepath`. disable: only in `syntax`, `~/.vim/syntax` and `$VIM/vimfiles/syntax` | 0 |
| `g:vim_uue_plugin_use_pug`\* | enable `vim-pug` pug syntax for `<template lang="pug">`. | 0 |
| `g:vim_vue_plugin_debug` | echo debug message in `messages` list. Useful to debug if indent errors occur. | 0 |
| `g:vim_vue_plugin_has_init_indent` | initially indent one tab inside `style/script` tags. | 0 for `.vue`. 1 for `.wpy` |
\*: May be slow if enabled. Find balance between syntax highlight and speed. Anyway, Custom syntax could be added in `vimfiles/syntax/*.vim`.
\*: May be slow if enabled. Find balance between syntax highlight and speed. By the way, custom syntax could be added in `~/.vim/syntax` or `$VIM/vimfiles/syntax`.
## Screenshot

View File

@@ -4,6 +4,8 @@
" Language: Vue (Wepy)
" Maintainer: leafOfTree <leafvocation@gmail.com>
"
" CREDITS: Inspired by mxw/vim-jsx.
"
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
se sw=2 ts=2

View File

@@ -3,42 +3,45 @@
"
" Language: Vue (Wepy)
" Maintainer: leaf <leafvocation@gmail.com>
" Depends: pangloss/vim-javascript
"
" CREDITS: Inspired by mxw/vim-jsx.
"
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
function! s:LoadDefaultSyntax(group, type)
unlet! b:current_syntax
exec 'syn include '.a:group.' $VIMRUNTIME/syntax/'.a:type.'.vim'
exec 'silent! syn include '.a:group.' $VIM/vimfiles/syntax/'.a:type.'.vim'
exec 'silent! syn include '.a:group.' $HOME/.vim/syntax/'.a:type.'.vim'
endfunction
function! s:LoadFullSyntax(group, type)
unlet! b:current_syntax
exec 'syn include '.a:group.' syntax/'.a:type.'.vim'
endfunction
" Load syntax/*.vim to syntax group
if exists("g:vim_vue_plugin_load_full_syntax")
\ && g:vim_vue_plugin_load_full_syntax == 1
unlet! b:current_syntax
syn include @HTMLSyntax syntax/html.vim
call s:LoadFullSyntax('@HTMLSyntax', 'html')
call s:LoadFullSyntax('@CSSSyntax', 'css')
unlet! b:current_syntax
syn include @CSSSyntax syntax/css.vim
" Load javascript syntax file as syntax group if
" pangloss/vim-javascript is not used
if hlexists('jsNoise') == 0
call s:LoadFullSyntax('@jsAll', 'javascript')
endif
else
unlet! b:current_syntax
syn include @HTMLSyntax $VIMRUNTIME/syntax/html.vim
silent! syn include @HTMLSyntax $VIMRUNTIME/../vimfiles/syntax/html.vim
unlet! b:current_syntax
syn include @CSSSyntax $VIMRUNTIME/syntax/css.vim
silent! syn include @HTMLSyntax $VIMRUNTIME/../vimfiles/syntax/css.vim
endif
" Load default javascript syntax file as syntax group if
" pangloss/vim-javascript is not used
if hlexists('jsNoise') == 0
unlet! b:current_syntax
syn include @jsAll $VIMRUNTIME/syntax/javascript.vim
silent! syn include @jsAll $VIMRUNTIME/../vimfiles/syntax/javascript.vim
call s:LoadDefaultSyntax('@HTMLSyntax', 'html')
call s:LoadDefaultSyntax('@CSSSyntax', 'css')
if hlexists('jsNoise') == 0
call s:LoadDefaultSyntax('@jsAll', 'javascript')
endif
endif
" Load vim-pug syntax if pug support is enabled
if exists("g:vim_vue_plugin_use_pug")
\ && g:vim_vue_plugin_use_pug == 1
unlet! b:current_syntax
syn include @PugSyntax syntax/pug.vim
call s:LoadFullSyntax('@PugSyntax', 'pug')
endif
let b:current_syntax = 'vue'