From d2d11204e869e29259553230d045e335d557e73b Mon Sep 17 00:00:00 2001 From: LacticWhale Date: Thu, 10 Nov 2022 16:17:06 +0300 Subject: [PATCH] fear: support for Dart --- package.json | 11 ++++++ syntaxes/dart-multiline.json | 71 ++++++++++++++++++++++++++++++++++++ test/testdata/multiline.dart | 9 +++++ 3 files changed, 91 insertions(+) create mode 100644 syntaxes/dart-multiline.json create mode 100644 test/testdata/multiline.dart diff --git a/package.json b/package.json index 58c08c0..8f38f27 100644 --- a/package.json +++ b/package.json @@ -66,6 +66,7 @@ "source.svelte", "source.tsx", "source.rust", + "source.dart", "text.html.php" ], "embeddedLanguages": { @@ -126,6 +127,16 @@ "embeddedLanguages": { "meta.embedded.sql": "sql" } + }, + { + "path": "./syntaxes/dart-multiline.json", + "scopeName": "dart-multiline.injection", + "injectTo": [ + "source.dart" + ], + "embeddedLanguages": { + "meta.embedded.sql": "sql" + } } ], "configuration": { diff --git a/syntaxes/dart-multiline.json b/syntaxes/dart-multiline.json new file mode 100644 index 0000000..017ca6b --- /dev/null +++ b/syntaxes/dart-multiline.json @@ -0,0 +1,71 @@ +{ + "scopeName": "dart-multiline.injection", + "fileTypes": [ + "dart" + ], + "injectionSelector": [ + "L:source -comment -string" + ], + "patterns": [ + { + "comment": "Dart single-quote multi-lines strings", + "begin": "(''')(--\\s*sql)", + "beginCaptures": { + "2": { + "name": "comment.sql" + } + }, + "end": "(''')", + "patterns": [ + { + "include": "source.sql" + } + ] + }, + { + "comment": "Dart single-quote multi-lines strings", + "begin": "(''')(SELECT |INSERT INTO |DELETE |UPDATE |CREATE TABLE |CREATE INDEX)", + "beginCaptures": { + "2": { + "name": "keyword.sql" + } + }, + "end": "(''')", + "patterns": [ + { + "include": "source.sql" + } + ] + }, + { + "comment": "Dart double-quote multi-lines strings", + "begin": "(\"\"\")(--\\s*sql)", + "beginCaptures": { + "2": { + "name": "comment.sql" + } + }, + "end": "(\"\"\")", + "patterns": [ + { + "include": "source.sql" + } + ] + }, + { + "comment": "Dart double-quote multi-lines strings", + "begin": "(\"\"\")(SELECT |INSERT INTO |DELETE |UPDATE |CREATE TABLE |CREATE INDEX)", + "beginCaptures": { + "2": { + "name": "keyword.sql" + } + }, + "end": "(\"\"\")", + "patterns": [ + { + "include": "source.sql" + } + ] + } + ] +} diff --git a/test/testdata/multiline.dart b/test/testdata/multiline.dart new file mode 100644 index 0000000..bc7b3e0 --- /dev/null +++ b/test/testdata/multiline.dart @@ -0,0 +1,9 @@ +const singleQuoteMultiLineComment = '''--sql +select * from `table`'''; + +const singleQuoteMultiLine = '''select * from table'''; + +const doubleQuoteMultiLineComment = """--sql +select * from `table`"""; + +const doubleQuoteMultiLine = """select * from table""";