summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--README.md3
-rw-r--r--after/syntax/javascript/sql.vim26
-rw-r--r--ftdetect/polyglot.vim6
-rw-r--r--packages.yaml5
-rwxr-xr-xscripts/build3
5 files changed, 42 insertions, 1 deletions
diff --git a/README.md b/README.md
index 4a1fde85..7424431c 100644
--- a/README.md
+++ b/README.md
@@ -7,7 +7,7 @@ A collection of language packs for Vim.
> One to rule them all, one to find them, one to bring them all and in the darkness bind them.
- It **won't affect your startup time**, as scripts are loaded only on demand\*.
-- It **installs and updates 120+ times faster** than the <!--Package Count-->189<!--/Package Count--> packages it consists of.
+- It **installs and updates 120+ times faster** than the <!--Package Count-->190<!--/Package Count--> packages it consists of.
- It is more secure because scripts loaded for all extensions are generated by vim-polyglot (ftdetect).
- Solid syntax and indentation support (other features skipped). Only the best language packs.
- All unnecessary files are ignored (like enormous documentation from php support).
@@ -132,6 +132,7 @@ If you need full functionality of any plugin, please use it directly with your p
- [icalendar](https://github.com/chutzpah/icalendar.vim)
- [idris](https://github.com/idris-hackers/idris-vim)
- [ion](https://github.com/vmchale/ion-vim)
+- [javascript-sql](https://github.com/statico/vim-javascript-sql)
- [javascript](https://github.com/pangloss/vim-javascript)
- [jenkins](https://github.com/martinda/Jenkinsfile-vim-syntax)
- [jinja](https://github.com/lepture/vim-jinja)
diff --git a/after/syntax/javascript/sql.vim b/after/syntax/javascript/sql.vim
new file mode 100644
index 00000000..8b45203c
--- /dev/null
+++ b/after/syntax/javascript/sql.vim
@@ -0,0 +1,26 @@
+if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'javascript-sql') == -1
+
+" Vim plugin
+" Language: JavaScript
+" Maintainer: Ian Langworth <ian@langworth.com>
+
+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\)\%(`\)\@=+ nextgroup=sqlTemplateString'
+
+hi def link sqlTemplateString jsTemplateString
+hi def link sqlTaggedTemplate jsTaggedTemplate
+
+syn cluster jsExpression add=sqlTaggedTemplate
+syn cluster sqlTaggedTemplate add=sqlTemplateString
+
+endif
diff --git a/ftdetect/polyglot.vim b/ftdetect/polyglot.vim
index 5f4ed809..974aa924 100644
--- a/ftdetect/polyglot.vim
+++ b/ftdetect/polyglot.vim
@@ -28,6 +28,9 @@ call s:SetDefault('g:markdown_enable_mappings', 0)
" Enable jsx syntax by default
call s:SetDefault('g:jsx_ext_required', 0)
+" Needed for sql highlighting
+call s:SetDefault('g:javascript_sql_dialect', 'sql')
+
" Make csv loading faster
call s:SetDefault('g:csv_start', 1)
call s:SetDefault('g:csv_end', 2)
@@ -573,6 +576,9 @@ if !has_key(s:disabled_packages, 'ion')
au BufNewFile,BufRead ~/.config/ion/initrc setf ion
endif
+if !has_key(s:disabled_packages, 'javascript-sql')
+endif
+
if !has_key(s:disabled_packages, 'javascript')
au BufNewFile,BufRead *._js setf javascript
au BufNewFile,BufRead *.bones setf javascript
diff --git a/packages.yaml b/packages.yaml
index 35c01503..23489187 100644
--- a/packages.yaml
+++ b/packages.yaml
@@ -773,6 +773,11 @@ filetypes:
extensions:
- flow
---
+name: javascript-sql
+remote: statico/vim-javascript-sql
+after: javascript
+filetypes: []
+---
name: jenkins
remote: martinda/Jenkinsfile-vim-syntax
filetypes:
diff --git a/scripts/build b/scripts/build
index 2e596d52..384c8423 100755
--- a/scripts/build
+++ b/scripts/build
@@ -391,6 +391,9 @@ def generate_ftdetect(packages, heuristics)
" Enable jsx syntax by default
call s:SetDefault('g:jsx_ext_required', 0)
+ " Needed for sql highlighting
+ call s:SetDefault('g:javascript_sql_dialect', 'sql')
+
" Make csv loading faster
call s:SetDefault('g:csv_start', 1)
call s:SetDefault('g:csv_end', 2)