From 8e6b6e58ef8b9b55aebb079e46497abda797b7ce Mon Sep 17 00:00:00 2001 From: Zac Collier Date: Wed, 26 Sep 2018 18:25:09 -0500 Subject: [PATCH 1/2] Support TypeScript + lowercase sql tag --- after/syntax/javascript/sql.vim | 3 ++- after/syntax/typescript/sql.vim | 23 +++++++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 after/syntax/typescript/sql.vim diff --git a/after/syntax/javascript/sql.vim b/after/syntax/javascript/sql.vim index 1b2ea55..9ba420c 100644 --- a/after/syntax/javascript/sql.vim +++ b/after/syntax/javascript/sql.vim @@ -1,6 +1,7 @@ " Vim plugin " Language: JavaScript " Maintainer: Ian Langworth +" Credits: Ian Langworth, Zac Collier if exists('b:current_syntax') let s:current_syntax = b:current_syntax @@ -13,7 +14,7 @@ if exists('s:current_syntax') endif syntax region sqlTemplateString start=+`+ skip=+\\\(`\|$\)+ end=+`+ contains=@SQLSyntax,jsTemplateExpression,jsSpecial extend -exec 'syntax match sqlTaggedTemplate +\%(SQL\)\%(`\)\@=+ nextgroup=sqlTemplateString' +exec 'syntax match sqlTaggedTemplate +\%(sql|SQL\)\%(`\)\@=+ nextgroup=sqlTemplateString' hi def link sqlTemplateString jsTemplateString hi def link sqlTaggedTemplate jsTaggedTemplate diff --git a/after/syntax/typescript/sql.vim b/after/syntax/typescript/sql.vim new file mode 100644 index 0000000..a9c9379 --- /dev/null +++ b/after/syntax/typescript/sql.vim @@ -0,0 +1,23 @@ +" Vim plugin +" Language: TypeScript +" Maintainer: Ian Langworth +" Credits: Ian Langworth, Zac Collier + +if exists('b:current_syntax') + let s:current_syntax = b:current_syntax + unlet b:current_syntax +endif + +exec 'syntax include @SQLSyntax syntax/' . g:javascript_sql_dialect . '.vim' +if exists('s:current_syntax') + let b:current_syntax = s:current_syntax +endif + +syntax region sqlTemplateString start=+`+ skip=+\\\(`\|$\)+ end=+`+ contains=@SQLSyntax,jsTemplateExpression,jsSpecial extend +exec 'syntax match sqlTaggedTemplate +\%(sql|SQL\)\%(`\)\@=+ nextgroup=sqlTemplateString' + +hi def link sqlTemplateString jsTemplateString +hi def link sqlTaggedTemplate jsTaggedTemplate + +syn cluster jsExpression add=sqlTaggedTemplate +syn cluster sqlTaggedTemplate add=sqlTemplateString From 410eae98ea3fff2947dd760bd94eaf3e0d82a0dc Mon Sep 17 00:00:00 2001 From: Zac Collier Date: Wed, 26 Sep 2018 18:57:50 -0500 Subject: [PATCH 2/2] Add optional g:typescript_sql_dialect parameter --- after/syntax/typescript/sql.vim | 2 +- plugin/javascript-sql.vim | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/after/syntax/typescript/sql.vim b/after/syntax/typescript/sql.vim index a9c9379..ea22b75 100644 --- a/after/syntax/typescript/sql.vim +++ b/after/syntax/typescript/sql.vim @@ -8,7 +8,7 @@ if exists('b:current_syntax') unlet b:current_syntax endif -exec 'syntax include @SQLSyntax syntax/' . g:javascript_sql_dialect . '.vim' +exec 'syntax include @SQLSyntax syntax/' . g:typescript_sql_dialect . '.vim' if exists('s:current_syntax') let b:current_syntax = s:current_syntax endif diff --git a/plugin/javascript-sql.vim b/plugin/javascript-sql.vim index 640cda4..e0cf28f 100644 --- a/plugin/javascript-sql.vim +++ b/plugin/javascript-sql.vim @@ -6,3 +6,7 @@ if (!exists('g:javascript_sql_dialect')) let g:javascript_sql_dialect = 'sql' endif + +if (!exists('g:typescript_sql_dialect')) + let g:typescript_sql_dialect = 'sql' +endif