mirror of
https://github.com/leafOfTree/vim-vue-plugin.git
synced 2025-12-08 13:44:46 +08:00
feat: change vue AttrKey highlight link to 'Type'
This commit is contained in:
@@ -90,13 +90,14 @@ setlocal indentexpr=GetVueIndent()
|
|||||||
"
|
"
|
||||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||||
function! GetVueIndent()
|
function! GetVueIndent()
|
||||||
let curline = getline(v:lnum)
|
|
||||||
let prevline = getline(v:lnum - 1)
|
let prevline = getline(v:lnum - 1)
|
||||||
let cursyns = s:SynsEOL(v:lnum)
|
|
||||||
let prevsyns = s:SynsEOL(v:lnum - 1)
|
let prevsyns = s:SynsEOL(v:lnum - 1)
|
||||||
let cursyn = get(cursyns, 0)
|
|
||||||
let prevsyn = get(prevsyns, 0)
|
let prevsyn = get(prevsyns, 0)
|
||||||
|
|
||||||
|
let curline = getline(v:lnum)
|
||||||
|
let cursyns = s:SynsEOL(v:lnum)
|
||||||
|
let cursyn = get(cursyns, 0)
|
||||||
|
|
||||||
if s:SynPug(prevsyn)
|
if s:SynPug(prevsyn)
|
||||||
call LogMsg('syntax: pug')
|
call LogMsg('syntax: pug')
|
||||||
let ind = GetPugIndent()
|
let ind = GetPugIndent()
|
||||||
|
|||||||
@@ -1,10 +1,12 @@
|
|||||||
syntax match VueComponentName containedin=htmlTagN '\v<[a-zA-Z0-9]+(-[a-zA-Z0-9]+)+>'
|
syntax match VueComponentName containedin=htmlTagN '\v<[a-zA-Z0-9]+(-[a-zA-Z0-9]+)+>'
|
||||||
syntax match VueAttr '\v(\S)@<![v:\@][^\=]+(\=\"[^"]*\")?'
|
syntax match VueAttr '\v(\S)@<![v:\@][^\=]*(\=\"[^"]*\")?'
|
||||||
\ containedin=htmlTag
|
\ containedin=htmlTag
|
||||||
\ contains=VueKey,VueValue,VueInject
|
\ contains=VueKey,VueValue
|
||||||
|
|
||||||
|
syntax match VueKey contained '\v[v:\@][^\=]+' keepend
|
||||||
|
syntax match VueValue contained '\v\"\zs[^"]*\ze\"'
|
||||||
|
\ contains=VueInject,javaScriptStringS,javaScriptRepeat
|
||||||
|
|
||||||
syntax match VueKey contained '\v[v:\@][^\=]+'
|
|
||||||
syntax match VueValue contains=VueInject contained '\v\"\zs[^"]*\ze\"'
|
|
||||||
syntax match VueInject contained '\v\$\w*'
|
syntax match VueInject contained '\v\$\w*'
|
||||||
|
|
||||||
syntax region VueExpression
|
syntax region VueExpression
|
||||||
@@ -15,7 +17,8 @@ syntax region VueExpression
|
|||||||
\ end="}}"
|
\ end="}}"
|
||||||
|
|
||||||
syntax region VueExpression
|
syntax region VueExpression
|
||||||
\ containedin=vueTemplate,vueValue,htmlString
|
\ containedin=vueTemplate,VueValue,htmlString,htmlValue
|
||||||
|
\ contains=@jsAll
|
||||||
\ matchgroup=VueBrace
|
\ matchgroup=VueBrace
|
||||||
\ start="{{"
|
\ start="{{"
|
||||||
\ end="}}"
|
\ end="}}"
|
||||||
@@ -28,7 +31,7 @@ syntax match VueAttr '\v(\S)@<!wx[^\=]+(\=\"[^"]*\")?'
|
|||||||
syntax match VueKey contained '\vwx[^\=]+'
|
syntax match VueKey contained '\vwx[^\=]+'
|
||||||
|
|
||||||
highlight link VueAttr Comment
|
highlight link VueAttr Comment
|
||||||
highlight link VueKey PreProc
|
highlight link VueKey Type
|
||||||
highlight link VueInject Constant
|
highlight link VueInject Constant
|
||||||
highlight link VueBrace PreProc
|
highlight link VueBrace Type
|
||||||
highlight link VueComponentName Statement
|
highlight link VueComponentName Statement
|
||||||
|
|||||||
@@ -60,6 +60,8 @@ endfunction
|
|||||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||||
" Load syntax/*.vim to syntax group
|
" Load syntax/*.vim to syntax group
|
||||||
call s:LoadSyntax('@HTMLSyntax', 'html')
|
call s:LoadSyntax('@HTMLSyntax', 'html')
|
||||||
|
|
||||||
|
" Load vue-html syntax
|
||||||
runtime syntax/vue-html.vim
|
runtime syntax/vue-html.vim
|
||||||
|
|
||||||
" Avoid overload
|
" Avoid overload
|
||||||
|
|||||||
Reference in New Issue
Block a user