diff --git a/language-support/sql/inline-sql.json b/language-support/sql/inline-sql.json new file mode 100644 index 000000000..9d13e384f --- /dev/null +++ b/language-support/sql/inline-sql.json @@ -0,0 +1,46 @@ +{ + "injectionSelector": "L:source.java -comment -string", + "patterns": [ + { + "contentName": "meta.embedded.block.sql", + "begin": "(?i)((/\\*\\s*(language=sql)\\s*\\*/)|((//\\s*(language=sql)\\s*)))", + "beginCaptures": { + "1": { + "name": "comment.block" + } + }, + "end": "(?<=\")", + "patterns": [ + { + "begin": "\\s*(\"\"\")$", + "beginCaptures": { + "0": { "name": "string.quoted.triple.java" } + }, + "end": "\\s*(\"\"\")", + "endCaptures": { + "0": { "name": "string.quoted.triple.java" } + }, + "patterns": [ + { "include": "source.sql" }, + { "include": "source.plpgsql.postgres" } + ] + }, + { + "begin": "\\s*(\")", + "beginCaptures": { + "0": { "name": "string.quoted.double.java" } + }, + "end": "\\s*(\")", + "endCaptures": { + "0": { "name": "string.quoted.double.java" } + }, + "patterns": [ + { "include": "source.sql" }, + { "include": "source.plpgsql.postgres" } + ] + } + ] + } + ], + "scopeName": "inline.sql" +} diff --git a/package.json b/package.json index 2ce350485..c9901d81f 100644 --- a/package.json +++ b/package.json @@ -212,6 +212,16 @@ "language": "gradle-kotlin-dsl", "scopeName": "source.kotlin", "path": "./language-support/kotlin/kotlin.tmLanguage.json" + }, + { + "injectTo": [ + "source.java" + ], + "scopeName": "inline.sql", + "path": "./language-support/sql/inline-sql.json", + "embeddedLanguages": { + "meta.embedded.block.sql": "sql" + } } ], "jsonValidation": [