diff --git a/org.eclipse.wildwebdeveloper/grammars/vue/LICENSE.txt b/org.eclipse.wildwebdeveloper/grammars/vue/LICENSE.txt
new file mode 100644
index 0000000000..b55e47a7e8
--- /dev/null
+++ b/org.eclipse.wildwebdeveloper/grammars/vue/LICENSE.txt
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2021-present Johnson Chu
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/org.eclipse.wildwebdeveloper/grammars/vue/Readme.md b/org.eclipse.wildwebdeveloper/grammars/vue/Readme.md
index 73834c76e8..26b58cebfc 100644
--- a/org.eclipse.wildwebdeveloper/grammars/vue/Readme.md
+++ b/org.eclipse.wildwebdeveloper/grammars/vue/Readme.md
@@ -1 +1 @@
-This is a copy from https://github.com/vuejs/language-tools/tree/master/packages/vscode-vue/syntaxes/
+This is a copy from https://github.com/vuejs/language-tools/tree/v2.2.8/extensions/vscode/syntaxes
diff --git a/org.eclipse.wildwebdeveloper/grammars/vue/markdown-vue.json b/org.eclipse.wildwebdeveloper/grammars/vue/markdown-vue.json
index 198ebdd6ef..c95ea6be7d 100644
--- a/org.eclipse.wildwebdeveloper/grammars/vue/markdown-vue.json
+++ b/org.eclipse.wildwebdeveloper/grammars/vue/markdown-vue.json
@@ -20,7 +20,8 @@
"name": "fenced_code.block.language.markdown"
},
"5": {
- "name": "fenced_code.block.language.attributes.markdown"
+ "name": "fenced_code.block.language.attributes.markdown",
+ "patterns": []
}
},
"endCaptures": {
diff --git a/org.eclipse.wildwebdeveloper/grammars/vue/mdx-vue.json b/org.eclipse.wildwebdeveloper/grammars/vue/mdx-vue.json
new file mode 100644
index 0000000000..cd3b2f932a
--- /dev/null
+++ b/org.eclipse.wildwebdeveloper/grammars/vue/mdx-vue.json
@@ -0,0 +1,64 @@
+{
+ "fileTypes": [ ],
+ "scopeName": "mdx.vue.codeblock",
+ "injectionSelector": "L:source.mdx",
+ "patterns": [
+ {
+ "include": "#vue-code-block"
+ }
+ ],
+ "repository": {
+ "vue-code-block": {
+ "patterns": [
+ {
+ "begin": "(?:^|\\G)[\\t ]*(`{3,})(?:[\\t ]*((?i:(?:.*\\.)?vue))(?:[\\t ]+((?:[^\\n\\r`])+))?)(?:[\\t ]*$)",
+ "beginCaptures": {
+ "1": {
+ "name": "string.other.begin.code.fenced.mdx"
+ },
+ "2": {
+ "name": "entity.name.function.mdx"
+ }
+ },
+ "contentName": "meta.embedded.vue",
+ "end": "(\\1)(?:[\\t ]*$)",
+ "endCaptures": {
+ "1": {
+ "name": "string.other.end.code.fenced.mdx"
+ }
+ },
+ "name": "markup.code.vue.mdx",
+ "patterns": [
+ {
+ "include": "source.vue"
+ }
+ ]
+ },
+ {
+ "begin": "(?:^|\\G)[\\t ]*(~{3,})(?:[\\t ]*((?i:(?:.*\\.)?vue))(?:[\\t ]+((?:[^\\n\\r])+))?)(?:[\\t ]*$)",
+ "beginCaptures": {
+ "1": {
+ "name": "string.other.begin.code.fenced.mdx"
+ },
+ "2": {
+ "name": "entity.name.function.mdx"
+ }
+ },
+ "contentName": "meta.embedded.vue",
+ "end": "(\\1)(?:[\\t ]*$)",
+ "endCaptures": {
+ "1": {
+ "name": "string.other.end.code.fenced.mdx"
+ }
+ },
+ "name": "markup.code.vue.mdx",
+ "patterns": [
+ {
+ "include": "source.vue"
+ }
+ ]
+ }
+ ]
+ }
+ }
+}
diff --git a/org.eclipse.wildwebdeveloper/grammars/vue/vue-directives.json b/org.eclipse.wildwebdeveloper/grammars/vue/vue-directives.json
index eda55d5b58..ff85024ef1 100644
--- a/org.eclipse.wildwebdeveloper/grammars/vue/vue-directives.json
+++ b/org.eclipse.wildwebdeveloper/grammars/vue/vue-directives.json
@@ -1,7 +1,7 @@
{
"$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json",
"fileTypes": [],
- "injectionSelector": "L:meta.tag -meta.attribute -entity.name.tag.pug -attribute_value -source.tsx -source.js.jsx, L:meta.element -meta.attribute",
+ "injectionSelector": "L:meta.tag -meta.attribute -meta.ng-binding -entity.name.tag.pug -attribute_value -source.tsx -source.js.jsx, L:meta.element -meta.attribute",
"patterns": [
{
"include": "source.vue#vue-directives"
diff --git a/org.eclipse.wildwebdeveloper/grammars/vue/vue.tmLanguage.json b/org.eclipse.wildwebdeveloper/grammars/vue/vue.tmLanguage.json
index f4e783a902..05d00ef84d 100644
--- a/org.eclipse.wildwebdeveloper/grammars/vue/vue.tmLanguage.json
+++ b/org.eclipse.wildwebdeveloper/grammars/vue/vue.tmLanguage.json
@@ -3,6 +3,9 @@
"name": "Vue",
"scopeName": "source.vue",
"patterns": [
+ {
+ "include": "#vue-comments"
+ },
{
"include": "text.html.basic#comment"
},
@@ -439,6 +442,38 @@
}
]
},
+ {
+ "begin": "([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)coffee\\b\\2)",
+ "beginCaptures": {
+ "1": {
+ "name": "entity.name.tag.$1.html.vue"
+ }
+ },
+ "end": "()(\\1)\\s*(?=>)",
+ "endCaptures": {
+ "1": {
+ "name": "punctuation.definition.tag.begin.html.vue"
+ },
+ "2": {
+ "name": "entity.name.tag.$2.html.vue"
+ }
+ },
+ "patterns": [
+ {
+ "include": "#tag-stuff"
+ },
+ {
+ "begin": "(?<=>)",
+ "end": "(?=<\\/)",
+ "name": "source.coffee",
+ "patterns": [
+ {
+ "include": "source.coffee"
+ }
+ ]
+ }
+ ]
+ },
{
"begin": "([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)json\\b\\2)",
"beginCaptures": {
@@ -953,37 +988,42 @@
]
},
"vue-directives-original": {
- "begin": "(?:\\b(v-)|(:)|(@)|(#))(\\[?)([\\w\\-]*)(\\]?)(?:\\.([\\w\\-]*))*",
+ "begin": "(?:(?:(v-[\\w-]+)(:)?)|([:\\.])|(@)|(#))(?:(?:(\\[)([^\\]]*)(\\]))|([\\w-]+))?",
"beginCaptures": {
"1": {
"name": "entity.other.attribute-name.html.vue"
},
"2": {
- "name": "punctuation.attribute-shorthand.bind.html.vue"
+ "name": "punctuation.separator.key-value.html.vue"
},
"3": {
- "name": "punctuation.attribute-shorthand.event.html.vue"
+ "name": "punctuation.attribute-shorthand.bind.html.vue"
},
"4": {
- "name": "punctuation.attribute-shorthand.slot.html.vue"
+ "name": "punctuation.attribute-shorthand.event.html.vue"
},
"5": {
- "name": "punctuation.separator.key-value.html.vue"
+ "name": "punctuation.attribute-shorthand.slot.html.vue"
},
"6": {
- "name": "entity.other.attribute-name.html.vue"
+ "name": "punctuation.separator.key-value.html.vue"
},
"7": {
- "name": "punctuation.separator.key-value.html.vue"
+ "name": "source.ts.embedded.html.vue",
+ "patterns": [
+ {
+ "include": "source.ts#expression"
+ }
+ ]
},
"8": {
- "name": "entity.other.attribute-name.html.vue"
+ "name": "punctuation.separator.key-value.html.vue"
},
"9": {
- "name": "punctuation.separator.key-value.html.vue"
+ "name": "entity.other.attribute-name.html.vue"
}
},
- "end": "(?=\\s*+[^=\\s])",
+ "end": "(?=\\s*[^=\\s])",
"endCaptures": {
"1": {
"name": "punctuation.definition.string.end.html.vue"
@@ -991,6 +1031,15 @@
},
"name": "meta.attribute.directive.vue",
"patterns": [
+ {
+ "match": "(\\.)([\\w-]*)",
+ "1": {
+ "name": "punctuation.separator.key-value.html.vue"
+ },
+ "2": {
+ "name": "entity.other.attribute-name.html.vue"
+ }
+ },
{
"include": "#vue-directives-expression"
}
@@ -1039,7 +1088,7 @@
"name": "source.ts.embedded.html.vue",
"patterns": [
{
- "include": "source.ts"
+ "include": "source.ts#expression"
}
]
}
@@ -1060,7 +1109,7 @@
"name": "source.ts.embedded.html.vue",
"patterns": [
{
- "include": "source.ts"
+ "include": "source.ts#expression"
}
]
}
@@ -1225,13 +1274,46 @@
"name": "source.ts.embedded.html.vue",
"patterns": [
{
- "include": "source.ts"
+ "include": "source.ts#expression"
}
]
}
]
}
]
+ },
+ "vue-comments": {
+ "patterns": [
+ {
+ "include": "#vue-comments-key-value"
+ }
+ ]
+ },
+ "vue-comments-key-value": {
+ "begin": "()",
+ "endCaptures": {
+ "1": {
+ "name": "punctuation.definition.comment.vue"
+ }
+ },
+ "name": "comment.block.vue",
+ "patterns": [
+ {
+ "include": "source.json#value"
+ }
+ ]
}
}
}
\ No newline at end of file
diff --git a/org.eclipse.wildwebdeveloper/language-configurations/vue/LICENSE.txt b/org.eclipse.wildwebdeveloper/language-configurations/vue/LICENSE.txt
new file mode 100644
index 0000000000..b55e47a7e8
--- /dev/null
+++ b/org.eclipse.wildwebdeveloper/language-configurations/vue/LICENSE.txt
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2021-present Johnson Chu
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/org.eclipse.wildwebdeveloper/language-configurations/vue/Readme.md b/org.eclipse.wildwebdeveloper/language-configurations/vue/Readme.md
index 24b351ab24..d391e5d422 100644
--- a/org.eclipse.wildwebdeveloper/language-configurations/vue/Readme.md
+++ b/org.eclipse.wildwebdeveloper/language-configurations/vue/Readme.md
@@ -1 +1 @@
-This is a copy from https://github.com/vuejs/language-tools/tree/master/packages/vscode-vue/languages
\ No newline at end of file
+This is a copy from https://github.com/vuejs/language-tools/tree/v2.2.8/extensions/vscode/languages
diff --git a/org.eclipse.wildwebdeveloper/plugin.xml b/org.eclipse.wildwebdeveloper/plugin.xml
index 3252c9a95d..68849633f3 100644
--- a/org.eclipse.wildwebdeveloper/plugin.xml
+++ b/org.eclipse.wildwebdeveloper/plugin.xml
@@ -541,33 +541,30 @@
label="VUE Language Server"/>
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+