diff --git a/extensions/vscode-vue-language-features/syntaxes/vue.tmLanguage.json b/extensions/vscode-vue-language-features/syntaxes/vue.tmLanguage.json index 3b99c609a..f61825a33 100644 --- a/extensions/vscode-vue-language-features/syntaxes/vue.tmLanguage.json +++ b/extensions/vscode-vue-language-features/syntaxes/vue.tmLanguage.json @@ -805,29 +805,56 @@ ] }, "vue-directives-expression": { - "begin": "(=)('|\")", - "beginCaptures": { - "1": { - "name": "punctuation.separator.key-value.html.vue" - }, - "2": { - "name": "punctuation.definition.string.begin.html.vue" - } - }, - "end": "(\\2)", - "endCaptures": { - "1": { - "name": "punctuation.definition.string.end.html.vue" - } - }, "patterns": [ { - "begin": "(?<=('|\"))", - "end": "(?=\\1)", - "name": "source.ts.embedded.html.vue", + "begin": "(=)\\s*('|\")", + "beginCaptures": { + "1": { + "name": "punctuation.separator.key-value.html.vue" + }, + "2": { + "name": "punctuation.definition.string.begin.html.vue" + } + }, + "end": "(\\2)", + "endCaptures": { + "1": { + "name": "punctuation.definition.string.end.html.vue" + } + }, + "name": "xxx", "patterns": [ { - "include": "source.ts" + "begin": "(?<=('|\"))", + "end": "(?=\\1)", + "name": "source.ts.embedded.html.vue", + "patterns": [ + { + "include": "source.ts" + } + ] + } + ] + }, + { + "begin": "(=)\\s*(?=[^'\"])", + "beginCaptures": { + "1": { + "name": "punctuation.separator.key-value.html.vue" + } + }, + "end": "(?=(\\s|>|\\/>))", + "name": "yyy", + "patterns": [ + { + "begin": "[^'\"]", + "end": "(?=(\\s|>|\\/>))", + "name": "source.ts.embedded.html.vue", + "patterns": [ + { + "include": "source.ts" + } + ] } ] }