-
-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
enhancementNew feature or requestNew feature or requestgood first issueGood for newcomersGood for newcomers
Description
Hi!
It would be nice to be able to get the same code completion and syntax highlighting using a vtl
tag on a template string like so:
// ts / js
const resolver = vtl`
#if($ctx.args.id)
"true"
#else
"false"
#end
`;
I know this extension is for code completion only, but I'm assuming it uses the "velocity" language token / reference from another extension to be activated. Is it true?
I'm wondering what minimal work could be done in order to "enable" the language inside the string literal so both extensions would work.
Cheers!
EDIT:
How feasible is this?
package.json
"contributions": {
...
"grammar" : {
"injectTo": [
"source.js",
"source.ts",
],
"scopeName": "inline.velocity",
"path": "./syntaxes/velocity.inline.json",
"embeddedLanguages": {
"meta.embedded.block.velocity": "velocity"
}
}
...
// syntaxes/velocity.inline.json
{
"fileTypes": ["js", "ts"],
"injectionSelector": "L:source -string -comment",
"patterns": [
{
"name": "taggedTemplates",
"contentName": "meta.embedded.block.velocity",
"begin": "(`)(velocity|vtl)",
"beginCaptures": {
"1": {
"name": "punctuation.definition.string.template.begin.js"
},
"2": {
"name": "comment.line.velocity.js"
}
},
"end": "`",
"endCaptures": {
"0": {
"name": "punctuation.definition.string.template.end.js"
}
},
"patterns": [
{ "include": "source.velocity" }
]
}
],
"scopeName": "inline.velocity"
}
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requestgood first issueGood for newcomersGood for newcomers