diff options
Diffstat (limited to 'after/syntax')
-rw-r--r-- | after/syntax/javascriptreact.vim | 5 | ||||
-rw-r--r-- | after/syntax/tsx.vim | 28 | ||||
-rw-r--r-- | after/syntax/typescript.vim | 6 | ||||
-rw-r--r-- | after/syntax/typescriptreact.vim | 5 |
4 files changed, 44 insertions, 0 deletions
diff --git a/after/syntax/javascriptreact.vim b/after/syntax/javascriptreact.vim new file mode 100644 index 00000000..e423f0ed --- /dev/null +++ b/after/syntax/javascriptreact.vim @@ -0,0 +1,5 @@ +if !exists('g:polyglot_disabled') || !(index(g:polyglot_disabled, 'typescript') != -1 || index(g:polyglot_disabled, 'typescript') != -1 || index(g:polyglot_disabled, 'jsx') != -1) + +source <sfile>:h/javascript.vim + +endif diff --git a/after/syntax/tsx.vim b/after/syntax/tsx.vim new file mode 100644 index 00000000..863da121 --- /dev/null +++ b/after/syntax/tsx.vim @@ -0,0 +1,28 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'graphql') == -1 + +" GraphQL Support +if exists('b:current_syntax') + let s:current_syntax = b:current_syntax + unlet b:current_syntax +endif +syn include @GraphQLSyntax syntax/graphql.vim +if exists('s:current_syntax') + let b:current_syntax = s:current_syntax +endif + +let s:tags = '\%(' . join(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 + + +endif diff --git a/after/syntax/typescript.vim b/after/syntax/typescript.vim index 9f52ed21..8b00fb45 100644 --- a/after/syntax/typescript.vim +++ b/after/syntax/typescript.vim @@ -30,6 +30,12 @@ endif " refine the typescript line comment syntax region typescriptLineComment start=+//+ end=/$/ contains=@Spell,typescriptCommentTodo,typescriptRef extend keepend +for syntax_name in ['tsxRegion', 'tsxFragment'] + if hlexists(syntax_name) + exe 'syntax clear ' . syntax_name + endif +endfor + if !hlexists('typescriptTypeCast') " add a typescriptBlock group for typescript syntax region typescriptBlock diff --git a/after/syntax/typescriptreact.vim b/after/syntax/typescriptreact.vim new file mode 100644 index 00000000..931839b1 --- /dev/null +++ b/after/syntax/typescriptreact.vim @@ -0,0 +1,5 @@ +if !exists('g:polyglot_disabled') || !(index(g:polyglot_disabled, 'typescript') != -1 || index(g:polyglot_disabled, 'typescript') != -1 || index(g:polyglot_disabled, 'jsx') != -1) + +source <sfile>:h/typescript.vim + +endif |