From df1af29c46b87daae4a6843df0d6002cb169eec2 Mon Sep 17 00:00:00 2001 From: etheleon Date: Thu, 21 Jun 2018 22:58:50 +0800 Subject: [PATCH 1/5] Create python.vim --- after/syntax/python.vim | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 after/syntax/python.vim diff --git a/after/syntax/python.vim b/after/syntax/python.vim new file mode 100644 index 0000000..ae093e6 --- /dev/null +++ b/after/syntax/python.vim @@ -0,0 +1,15 @@ +" Disable current syntax temporarily. +let saved_syntax = b:current_syntax +unlet! b:current_syntax + +" Load SQL syntax. +syntax include @SQL syntax/sql.vim + +" Set SQL to match in any javaString that starts with an obvious start-of-SQL-marker. +" Take care not to consume the double-quotes (\zs & \ze). +" Matches are case-sensitive (\C), because I always uppercase SQL keywords. +syntax region sqlSnippet start=/"\C\zs\v(SELECT|INSERT|UPDATE|DELETE|CREATE|DROP)/ end=/\ze"/ contains=@SQL containedin=pythonString + +" Restore original syntax. +let b:current_syntax = saved_syntax +unlet! saved_syntax From fb5b522cacc172a33b1dd8b004c885e39c53bd67 Mon Sep 17 00:00:00 2001 From: etheleon Date: Wed, 27 Jun 2018 09:42:38 +0800 Subject: [PATCH 2/5] with triple quote --- after/syntax/python.vim | 1 + 1 file changed, 1 insertion(+) diff --git a/after/syntax/python.vim b/after/syntax/python.vim index ae093e6..9ae3aae 100644 --- a/after/syntax/python.vim +++ b/after/syntax/python.vim @@ -9,6 +9,7 @@ syntax include @SQL syntax/sql.vim " Take care not to consume the double-quotes (\zs & \ze). " Matches are case-sensitive (\C), because I always uppercase SQL keywords. syntax region sqlSnippet start=/"\C\zs\v(SELECT|INSERT|UPDATE|DELETE|CREATE|DROP)/ end=/\ze"/ contains=@SQL containedin=pythonString +syntax region sqlSnippet start=/\zs\v(SELECT|FROM|AND|WHERE|OR|ON|GROUP BY|ORDER BY)/ end=/\ze'''/ contains=@SQL containedin=pythonString " Restore original syntax. let b:current_syntax = saved_syntax From 08be62f331175fcf1b568fa309342d18c1f2b4b9 Mon Sep 17 00:00:00 2001 From: etheleon Date: Wed, 27 Jun 2018 09:49:41 +0800 Subject: [PATCH 3/5] Update python.vim --- after/syntax/python.vim | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/after/syntax/python.vim b/after/syntax/python.vim index 9ae3aae..a9f5d47 100644 --- a/after/syntax/python.vim +++ b/after/syntax/python.vim @@ -8,8 +8,7 @@ syntax include @SQL syntax/sql.vim " Set SQL to match in any javaString that starts with an obvious start-of-SQL-marker. " Take care not to consume the double-quotes (\zs & \ze). " Matches are case-sensitive (\C), because I always uppercase SQL keywords. -syntax region sqlSnippet start=/"\C\zs\v(SELECT|INSERT|UPDATE|DELETE|CREATE|DROP)/ end=/\ze"/ contains=@SQL containedin=pythonString -syntax region sqlSnippet start=/\zs\v(SELECT|FROM|AND|WHERE|OR|ON|GROUP BY|ORDER BY)/ end=/\ze'''/ contains=@SQL containedin=pythonString +syntax region sqlSnippet start=/'''\C\zs\v(SELECT|INSERT|UPDATE|DELETE|CREATE|DROP)/ end=/\ze'''/ contains=@SQL containedin=pythonString " Restore original syntax. let b:current_syntax = saved_syntax From e0a18e8c14ce43f8f894f2dad9d3afbbf8bb93f1 Mon Sep 17 00:00:00 2001 From: etheleon Date: Wed, 27 Jun 2018 09:50:30 +0800 Subject: [PATCH 4/5] with newline --- after/syntax/python.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/after/syntax/python.vim b/after/syntax/python.vim index a9f5d47..278da00 100644 --- a/after/syntax/python.vim +++ b/after/syntax/python.vim @@ -8,7 +8,7 @@ syntax include @SQL syntax/sql.vim " Set SQL to match in any javaString that starts with an obvious start-of-SQL-marker. " Take care not to consume the double-quotes (\zs & \ze). " Matches are case-sensitive (\C), because I always uppercase SQL keywords. -syntax region sqlSnippet start=/'''\C\zs\v(SELECT|INSERT|UPDATE|DELETE|CREATE|DROP)/ end=/\ze'''/ contains=@SQL containedin=pythonString +syntax region sqlSnippet start=/'''\n\C\zs\v(SELECT|INSERT|UPDATE|DELETE|CREATE|DROP)/ end=/\ze'''/ contains=@SQL containedin=pythonString " Restore original syntax. let b:current_syntax = saved_syntax From 0ed05e829f6224b8d9f63d6249184a51e86b6296 Mon Sep 17 00:00:00 2001 From: etheleon Date: Wed, 27 Jun 2018 09:52:53 +0800 Subject: [PATCH 5/5] undo --- after/syntax/python.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/after/syntax/python.vim b/after/syntax/python.vim index 278da00..a9f5d47 100644 --- a/after/syntax/python.vim +++ b/after/syntax/python.vim @@ -8,7 +8,7 @@ syntax include @SQL syntax/sql.vim " Set SQL to match in any javaString that starts with an obvious start-of-SQL-marker. " Take care not to consume the double-quotes (\zs & \ze). " Matches are case-sensitive (\C), because I always uppercase SQL keywords. -syntax region sqlSnippet start=/'''\n\C\zs\v(SELECT|INSERT|UPDATE|DELETE|CREATE|DROP)/ end=/\ze'''/ contains=@SQL containedin=pythonString +syntax region sqlSnippet start=/'''\C\zs\v(SELECT|INSERT|UPDATE|DELETE|CREATE|DROP)/ end=/\ze'''/ contains=@SQL containedin=pythonString " Restore original syntax. let b:current_syntax = saved_syntax