@vue/language-service
Advanced tools
Comparing version
@@ -196,3 +196,5 @@ "use strict"; | ||
} | ||
result.items = result.items.filter(item => item.label !== '!DOCTYPE' && item.label !== 'Custom Blocks'); | ||
result.items = result.items.filter(item => item.label !== '!DOCTYPE' && | ||
item.label !== 'Custom Blocks' && | ||
item.label !== 'data-'); | ||
const tags = sfcDataProvider?.provideTags(); | ||
@@ -199,0 +201,0 @@ const scriptLangs = getLangs('script'); |
@@ -250,10 +250,15 @@ "use strict"; | ||
const { attrs, propInfos, events, directives } = tagInfo; | ||
const props = propInfos.map(prop => (0, language_core_1.hyphenateTag)(prop.name).startsWith('on-vnode-') | ||
? 'onVue:' + prop.name.slice('onVnode'.length) | ||
: prop.name); | ||
for (const prop of propInfos) { | ||
if ((0, language_core_1.hyphenateTag)(prop.name).startsWith('on-vnode-')) { | ||
prop.name = 'onVue:' + prop.name.slice('onVnode'.length); | ||
} | ||
} | ||
const attributes = []; | ||
const propsSet = new Set(props); | ||
for (const prop of [...props, ...attrs]) { | ||
const isGlobal = !propsSet.has(prop); | ||
const name = casing.attr === types_1.AttrNameCasing.Camel ? prop : (0, language_core_1.hyphenateAttr)(prop); | ||
const propsSet = new Set(propInfos.map(prop => prop.name)); | ||
for (const prop of [ | ||
...propInfos, | ||
...attrs.map(attr => ({ name: attr })), | ||
]) { | ||
const isGlobal = !propsSet.has(prop.name); | ||
const name = casing.attr === types_1.AttrNameCasing.Camel ? prop.name : (0, language_core_1.hyphenateAttr)(prop.name); | ||
const isEvent = (0, language_core_1.hyphenateAttr)(name).startsWith('on-'); | ||
@@ -286,2 +291,3 @@ if (isEvent) { | ||
description: propKey, | ||
valueSet: prop.values?.some(value => typeof value === 'string') ? '__deferred__' : undefined, | ||
}, { | ||
@@ -314,6 +320,9 @@ name: ':' + propName, | ||
const models = []; | ||
for (const prop of [...props, ...attrs]) { | ||
if (prop.startsWith('onUpdate:')) { | ||
const isGlobal = !propsSet.has(prop); | ||
models.push([isGlobal, prop.slice('onUpdate:'.length)]); | ||
for (const prop of [ | ||
...propInfos, | ||
...attrs.map(attr => ({ name: attr })), | ||
]) { | ||
if (prop.name.startsWith('onUpdate:')) { | ||
const isGlobal = !propsSet.has(prop.name); | ||
models.push([isGlobal, prop.name.slice('onUpdate:'.length)]); | ||
} | ||
@@ -320,0 +329,0 @@ } |
{ | ||
"name": "@vue/language-service", | ||
"version": "3.0.0-alpha.2", | ||
"version": "3.0.0-alpha.4", | ||
"license": "MIT", | ||
@@ -24,15 +24,15 @@ "files": [ | ||
"@vue/compiler-dom": "^3.5.0", | ||
"@vue/language-core": "3.0.0-alpha.2", | ||
"@vue/language-core": "3.0.0-alpha.4", | ||
"@vue/shared": "^3.5.0", | ||
"@vue/typescript-plugin": "3.0.0-alpha.2", | ||
"@vue/typescript-plugin": "3.0.0-alpha.4", | ||
"alien-signals": "^1.0.3", | ||
"path-browserify": "^1.0.1", | ||
"volar-service-css": "0.0.62", | ||
"volar-service-emmet": "0.0.62", | ||
"volar-service-html": "0.0.62", | ||
"volar-service-json": "0.0.62", | ||
"volar-service-pug": "0.0.62", | ||
"volar-service-pug-beautify": "0.0.62", | ||
"volar-service-typescript": "0.0.62", | ||
"volar-service-typescript-twoslash-queries": "0.0.62", | ||
"volar-service-css": "0.0.64", | ||
"volar-service-emmet": "0.0.64", | ||
"volar-service-html": "0.0.64", | ||
"volar-service-json": "0.0.64", | ||
"volar-service-pug": "0.0.64", | ||
"volar-service-pug-beautify": "0.0.64", | ||
"volar-service-typescript": "0.0.64", | ||
"volar-service-typescript-twoslash-queries": "0.0.64", | ||
"vscode-css-languageservice": "^6.3.1", | ||
@@ -49,3 +49,3 @@ "vscode-html-languageservice": "^5.2.0", | ||
}, | ||
"gitHead": "79247b7c24b7202ec676723440fdb36c38e6d450" | ||
"gitHead": "1769cd6b94ec9e0cc2681b8dbba904f35856ba1c" | ||
} |
878437
-1.05%76
-2.56%10220
-1.96%+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
Updated
Updated
Updated
Updated
Updated