Files
Quill/VSCode/syntaxes/es6-inline-sql.json

79 lines
2.0 KiB
JSON

{
"fileTypes": [
"js",
"jsx",
"ts",
"tsx",
"html",
"vue",
"svelte",
"php"
],
"injectionSelector": "L:source.js -comment -string, L:source.jsx -comment -string, L:source.js.jsx -comment -string, L:source.ts -comment -string, L:source.tsx -comment -string",
"injections": {
"L:source": {
"patterns": [
{
"match": "<",
"name": "invalid.illegal.bad-angle-bracket.html"
}
]
}
},
"patterns": [
{
"begin": "(?i)(\\s*(sql))(`)",
"end": "(`)",
"beginCaptures": {
"1": {
"name": "variable.parameter"
}
},
"patterns": [
{ "include": "source.ts#template-substitution-element" },
{ "include": "source.ts#string-character-escape" },
{ "include": "source.sql" },
{ "include": "source.plpgsql.postgres" },
{ "match": "." }
]
},
{
"begin": "(?i)(\\s?\\/?\\*?\\s?(sql|inline-sql)\\s?\\*?\\/?\\s?)(`)",
"beginCaptures": {
"1": {
"name": "comment.block"
}
},
"end": "(`)",
"patterns": [
{ "include": "source.ts#template-substitution-element" },
{ "include": "source.ts#string-character-escape" },
{ "include": "source.sql" },
{ "include": "source.plpgsql.postgres" },
{ "match": "." }
]
},
{
"begin": "(?i)(?<=\\s|\\,|\\=|\\:|\\(|\\$\\()\\s{0,}(((\\/\\*)|(\\/\\/))\\s?(sql|inline-sql)[ ]{0,1000}\\*?\\/?)[ ]{0,1000}$",
"beginCaptures": {
"1": {
"name": "comment.line"
}
},
"end": "(`)",
"patterns": [
{
"begin": "(\\G)",
"end": "(`)"
},
{ "include": "source.ts#template-substitution-element" },
{ "include": "source.ts#string-character-escape" },
{ "include": "source.sql" },
{ "include": "source.plpgsql.postgres" },
{ "match": "." }
]
}
],
"scopeName": "inline.es6-sql"
}