diff options
Diffstat (limited to 'after')
| -rw-r--r-- | after/syntax/javascript/graphql.vim | 10 | ||||
| -rw-r--r-- | after/syntax/rust.vim | 23 | ||||
| -rw-r--r-- | after/syntax/typescript/graphql.vim | 10 | 
3 files changed, 31 insertions, 12 deletions
| diff --git a/after/syntax/javascript/graphql.vim b/after/syntax/javascript/graphql.vim index 58c1de08..eb862e05 100644 --- a/after/syntax/javascript/graphql.vim +++ b/after/syntax/javascript/graphql.vim @@ -9,11 +9,17 @@ if exists('s:current_syntax')    let b:current_syntax = s:current_syntax  endif -syntax region graphqlTemplateString start=+`+ skip=+\\\(`\|$\)+ end=+`+ contains=@GraphQLSyntax,jsTemplateExpression,jsSpecial extend -exec 'syntax match graphqlTaggedTemplate +\%(' . join(g:graphql_javascript_tags, '\|') . '\)\%(`\)\@=+ nextgroup=graphqlTemplateString' +let s:tags = '\%(' . join(g:graphql_javascript_tags, '\|') . '\)' + +exec 'syntax region graphqlTemplateString start=+' . s:tags . '\@20<=`+ skip=+\\`+ end=+`+ contains=@GraphQLSyntax,jsTemplateExpression,jsSpecial extend' +exec 'syntax match graphqlTaggedTemplate +' . s:tags . '\ze`+ nextgroup=graphqlTemplateString' + +" Support expression interpolation ((${...})) inside template strings. +syntax region graphqlTemplateExpression start=+${+ end=+}+ contained contains=jsTemplateExpression containedin=graphqlFold keepend  hi def link graphqlTemplateString jsTemplateString  hi def link graphqlTaggedTemplate jsTaggedTemplate +hi def link graphqlTemplateExpression jsTemplateExpression  syn cluster jsExpression add=graphqlTaggedTemplate  syn cluster graphqlTaggedTemplate add=graphqlTemplateString diff --git a/after/syntax/rust.vim b/after/syntax/rust.vim index 9a317956..3e2c2077 100644 --- a/after/syntax/rust.vim +++ b/after/syntax/rust.vim @@ -1,12 +1,14 @@  if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'rust') == -1 -if !exists('g:rust_conceal') || g:rust_conceal == 0 || !has('conceal') || &enc != 'utf-8' -	finish +scriptencoding utf-8 + +if !get(g:, 'rust_conceal', 0) || !has('conceal') || &encoding !=# 'utf-8' +    finish  endif  " For those who don't want to see `::`... -if exists('g:rust_conceal_mod_path') && g:rust_conceal_mod_path != 0 -	syn match rustNiceOperator "::" conceal cchar=ㆍ +if get(g:, 'rust_conceal_mod_path', 0) +    syn match rustNiceOperator "::" conceal cchar=ㆍ  endif  syn match rustRightArrowHead contained ">" conceal cchar=  @@ -20,7 +22,7 @@ syn match rustNiceOperator "=>" contains=rustFatRightArrowHead,rustFatRightArrow  syn match rustNiceOperator /\<\@!_\(_*\>\)\@=/ conceal cchar=′  " For those who don't want to see `pub`... -if exists('g:rust_conceal_pub') && g:rust_conceal_pub != 0 +if get(g:, 'rust_conceal_pub', 0)      syn match rustPublicSigil contained "pu" conceal cchar=*      syn match rustPublicRest contained "b" conceal cchar=       syn match rustNiceOperator "pub " contains=rustPublicSigil,rustPublicRest @@ -28,11 +30,16 @@ endif  hi link rustNiceOperator Operator -if !(exists('g:rust_conceal_mod_path') && g:rust_conceal_mod_path != 0) +if !get(g:, 'rust_conceal_mod_path', 0)      hi! link Conceal Operator -    " And keep it after a colorscheme change -    au ColorScheme <buffer> hi! link Conceal Operator +    augroup rust.vim.after +        autocmd! +        " And keep it after a colorscheme change +        autocmd ColorScheme <buffer> hi! link Conceal Operator +    augroup END  endif +" vim: set et sw=4 sts=4 ts=8: +  endif diff --git a/after/syntax/typescript/graphql.vim b/after/syntax/typescript/graphql.vim index 53999699..5fc9ab41 100644 --- a/after/syntax/typescript/graphql.vim +++ b/after/syntax/typescript/graphql.vim @@ -9,10 +9,16 @@ if exists('s:current_syntax')    let b:current_syntax = s:current_syntax  endif -syntax region graphqlTemplateString start=+`+ skip=+\\\(`\|$\)+ end=+`+ contains=@GraphQLSyntax,typescriptTemplateTag extend -exec 'syntax match graphqlTaggedTemplate +\%(' . join(g:graphql_javascript_tags, '\|') . '\)\%(`\)\@=+ nextgroup=graphqlTemplateString' +let s:tags = '\%(' . join(g:graphql_javascript_tags, '\|') . '\)' + +exec 'syntax region graphqlTemplateString start=+' . s:tags . '\@20<=`+ skip=+\\`+ end=+`+ contains=@GraphQLSyntax,typescriptTemplateSubstitution extend' +exec 'syntax match graphqlTaggedTemplate +' . s:tags . '\ze`+ nextgroup=graphqlTemplateString' + +" Support expression interpolation ((${...})) inside template strings. +syntax region graphqlTemplateExpression start=+${+ end=+}+ contained contains=typescriptTemplateSubstitution containedin=graphqlFold keepend  hi def link graphqlTemplateString typescriptTemplate +hi def link graphqlTemplateExpression typescriptTemplateSubstitution  syn cluster typescriptExpression add=graphqlTaggedTemplate  syn cluster graphqlTaggedTemplate add=graphqlTemplateString | 
