Skip to content

Commit d494495

Browse files
committed
refactor(vscode): rename configuration keys from complete to suggest for clarity
1 parent 993f52d commit d494495

File tree

9 files changed

+89
-93
lines changed

9 files changed

+89
-93
lines changed

extensions/vscode/lib/generated-meta.ts

Lines changed: 41 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
// Meta info
55
export const publisher = 'Vue';
66
export const name = 'volar';
7-
export const version = '3.0.0-beta.3';
7+
export const version = '3.0.0-beta.4';
88
export const displayName = 'Vue (Official)';
99
export const description = 'Language Support for Vue';
1010
export const extensionId = `${publisher}.${name}`;
@@ -32,9 +32,9 @@ export type ConfigKey =
3232
| 'vue.trace.server'
3333
| 'vue.server.includeLanguages'
3434
| 'vue.codeActions.askNewComponentName'
35-
| 'vue.complete.casing.tags'
36-
| 'vue.complete.casing.props'
37-
| 'vue.complete.defineAssignment'
35+
| 'vue.suggest.componentNameCasing'
36+
| 'vue.suggest.propNameCasing'
37+
| 'vue.suggest.defineAssignment'
3838
| 'vue.autoInsert.dotValue'
3939
| 'vue.autoInsert.bracketSpacing'
4040
| 'vue.inlayHints.destructuredProps'
@@ -51,9 +51,9 @@ export interface ConfigKeyTypeMap {
5151
'vue.trace.server': 'off' | 'messages' | 'verbose';
5252
'vue.server.includeLanguages': string[];
5353
'vue.codeActions.askNewComponentName': boolean;
54-
'vue.complete.casing.tags': 'autoKebab' | 'autoPascal' | 'kebab' | 'pascal';
55-
'vue.complete.casing.props': 'autoKebab' | 'autoCamel' | 'kebab' | 'camel';
56-
'vue.complete.defineAssignment': boolean;
54+
'vue.suggest.componentNameCasing': 'preferKebabCase' | 'preferPascalCase' | 'alwaysKebabCase' | 'alwaysPascalCase';
55+
'vue.suggest.propNameCasing': 'preferKebabCase' | 'preferCamelCase' | 'alwaysKebabCase' | 'alwaysCamelCase';
56+
'vue.suggest.defineAssignment': boolean;
5757
'vue.autoInsert.dotValue': boolean;
5858
'vue.autoInsert.bracketSpacing': boolean;
5959
'vue.inlayHints.destructuredProps': boolean;
@@ -78,9 +78,9 @@ export interface ConfigShorthandMap {
7878
traceServer: 'vue.trace.server';
7979
serverIncludeLanguages: 'vue.server.includeLanguages';
8080
codeActionsAskNewComponentName: 'vue.codeActions.askNewComponentName';
81-
completeCasingTags: 'vue.complete.casing.tags';
82-
completeCasingProps: 'vue.complete.casing.props';
83-
completeDefineAssignment: 'vue.complete.defineAssignment';
81+
suggestComponentNameCasing: 'vue.suggest.componentNameCasing';
82+
suggestPropNameCasing: 'vue.suggest.propNameCasing';
83+
suggestDefineAssignment: 'vue.suggest.defineAssignment';
8484
autoInsertDotValue: 'vue.autoInsert.dotValue';
8585
autoInsertBracketSpacing: 'vue.autoInsert.bracketSpacing';
8686
inlayHintsDestructuredProps: 'vue.inlayHints.destructuredProps';
@@ -98,9 +98,9 @@ export interface ConfigShorthandTypeMap {
9898
traceServer: 'off' | 'messages' | 'verbose';
9999
serverIncludeLanguages: string[];
100100
codeActionsAskNewComponentName: boolean;
101-
completeCasingTags: 'autoKebab' | 'autoPascal' | 'kebab' | 'pascal';
102-
completeCasingProps: 'autoKebab' | 'autoCamel' | 'kebab' | 'camel';
103-
completeDefineAssignment: boolean;
101+
suggestComponentNameCasing: 'preferKebabCase' | 'preferPascalCase' | 'alwaysKebabCase' | 'alwaysPascalCase';
102+
suggestPropNameCasing: 'preferKebabCase' | 'preferCamelCase' | 'alwaysKebabCase' | 'alwaysCamelCase';
103+
suggestDefineAssignment: boolean;
104104
autoInsertDotValue: boolean;
105105
autoInsertBracketSpacing: boolean;
106106
inlayHintsDestructuredProps: boolean;
@@ -158,32 +158,32 @@ export const configs = {
158158
default: true,
159159
} as ConfigItem<'vue.codeActions.askNewComponentName'>,
160160
/**
161-
* @key `vue.complete.casing.tags`
162-
* @default `"autoPascal"`
161+
* @key `vue.suggest.componentNameCasing`
162+
* @default `"preferPascalCase"`
163163
* @type `string`
164164
*/
165-
completeCasingTags: {
166-
key: 'vue.complete.casing.tags',
167-
default: 'autoPascal',
168-
} as ConfigItem<'vue.complete.casing.tags'>,
165+
suggestComponentNameCasing: {
166+
key: 'vue.suggest.componentNameCasing',
167+
default: 'preferPascalCase',
168+
} as ConfigItem<'vue.suggest.componentNameCasing'>,
169169
/**
170-
* @key `vue.complete.casing.props`
171-
* @default `"autoKebab"`
170+
* @key `vue.suggest.propNameCasing`
171+
* @default `"preferKebabCase"`
172172
* @type `string`
173173
*/
174-
completeCasingProps: {
175-
key: 'vue.complete.casing.props',
176-
default: 'autoKebab',
177-
} as ConfigItem<'vue.complete.casing.props'>,
174+
suggestPropNameCasing: {
175+
key: 'vue.suggest.propNameCasing',
176+
default: 'preferKebabCase',
177+
} as ConfigItem<'vue.suggest.propNameCasing'>,
178178
/**
179-
* @key `vue.complete.defineAssignment`
179+
* @key `vue.suggest.defineAssignment`
180180
* @default `true`
181181
* @type `boolean`
182182
*/
183-
completeDefineAssignment: {
184-
key: 'vue.complete.defineAssignment',
183+
suggestDefineAssignment: {
184+
key: 'vue.suggest.defineAssignment',
185185
default: true,
186-
} as ConfigItem<'vue.complete.defineAssignment'>,
186+
} as ConfigItem<'vue.suggest.defineAssignment'>,
187187
/**
188188
* @key `vue.autoInsert.dotValue`
189189
* @default `false`
@@ -289,9 +289,9 @@ export interface ScopedConfigKeyTypeMap {
289289
'trace.server': 'off' | 'messages' | 'verbose';
290290
'server.includeLanguages': string[];
291291
'codeActions.askNewComponentName': boolean;
292-
'complete.casing.tags': 'autoKebab' | 'autoPascal' | 'kebab' | 'pascal';
293-
'complete.casing.props': 'autoKebab' | 'autoCamel' | 'kebab' | 'camel';
294-
'complete.defineAssignment': boolean;
292+
'suggest.componentNameCasing': 'preferKebabCase' | 'preferPascalCase' | 'alwaysKebabCase' | 'alwaysPascalCase';
293+
'suggest.propNameCasing': 'preferKebabCase' | 'preferCamelCase' | 'alwaysKebabCase' | 'alwaysCamelCase';
294+
'suggest.defineAssignment': boolean;
295295
'autoInsert.dotValue': boolean;
296296
'autoInsert.bracketSpacing': boolean;
297297
'inlayHints.destructuredProps': boolean;
@@ -318,9 +318,9 @@ export const scopedConfigs = {
318318
'trace.server': 'off',
319319
'server.includeLanguages': ['vue'],
320320
'codeActions.askNewComponentName': true,
321-
'complete.casing.tags': 'autoPascal',
322-
'complete.casing.props': 'autoKebab',
323-
'complete.defineAssignment': true,
321+
'suggest.componentNameCasing': 'preferPascalCase',
322+
'suggest.propNameCasing': 'preferKebabCase',
323+
'suggest.defineAssignment': true,
324324
'autoInsert.dotValue': false,
325325
'autoInsert.bracketSpacing': true,
326326
'inlayHints.destructuredProps': false,
@@ -346,11 +346,9 @@ export interface NestedConfigs {
346346
'codeActions': {
347347
'askNewComponentName': boolean;
348348
};
349-
'complete': {
350-
'casing': {
351-
'tags': 'autoKebab' | 'autoPascal' | 'kebab' | 'pascal';
352-
'props': 'autoKebab' | 'autoCamel' | 'kebab' | 'camel';
353-
};
349+
'suggest': {
350+
'componentNameCasing': 'preferKebabCase' | 'preferPascalCase' | 'alwaysKebabCase' | 'alwaysPascalCase';
351+
'propNameCasing': 'preferKebabCase' | 'preferCamelCase' | 'alwaysKebabCase' | 'alwaysCamelCase';
354352
'defineAssignment': boolean;
355353
};
356354
'autoInsert': {
@@ -396,11 +394,9 @@ export interface NestedScopedConfigs {
396394
'codeActions': {
397395
'askNewComponentName': boolean;
398396
};
399-
'complete': {
400-
'casing': {
401-
'tags': 'autoKebab' | 'autoPascal' | 'kebab' | 'pascal';
402-
'props': 'autoKebab' | 'autoCamel' | 'kebab' | 'camel';
403-
};
397+
'suggest': {
398+
'componentNameCasing': 'preferKebabCase' | 'preferPascalCase' | 'alwaysKebabCase' | 'alwaysPascalCase';
399+
'propNameCasing': 'preferKebabCase' | 'preferCamelCase' | 'alwaysKebabCase' | 'alwaysCamelCase';
404400
'defineAssignment': boolean;
405401
};
406402
'autoInsert': {

extensions/vscode/package.json

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -256,44 +256,44 @@
256256
"default": true,
257257
"markdownDescription": "%configuration.codeActions.askNewComponentName%"
258258
},
259-
"vue.complete.casing.tags": {
259+
"vue.suggest.componentNameCasing": {
260260
"type": "string",
261261
"enum": [
262-
"autoKebab",
263-
"autoPascal",
264-
"kebab",
265-
"pascal"
262+
"preferKebabCase",
263+
"preferPascalCase",
264+
"alwaysKebabCase",
265+
"alwaysPascalCase"
266266
],
267267
"enumDescriptions": [
268-
"Auto Detect from Content (Fallback to <kebab-case> if detect failed)",
269-
"Auto Detect from Content (Fallback to <PascalCase> if detect failed)",
270-
"<kebab-case>",
271-
"<PascalCase>"
268+
"Prefer kebab-case (lowercase with hyphens, e.g. my-component)",
269+
"Prefer PascalCase (UpperCamelCase, e.g. MyComponent)",
270+
"Always kebab-case (enforce kebab-case, e.g. my-component)",
271+
"Always PascalCase (enforce PascalCase, e.g. MyComponent)"
272272
],
273-
"default": "autoPascal",
274-
"markdownDescription": "%configuration.complete.casing.tags%"
273+
"default": "preferPascalCase",
274+
"markdownDescription": "%configuration.suggest.componentNameCasing%"
275275
},
276-
"vue.complete.casing.props": {
276+
"vue.suggest.propNameCasing": {
277277
"type": "string",
278278
"enum": [
279-
"autoKebab",
280-
"autoCamel",
281-
"kebab",
282-
"camel"
279+
"preferKebabCase",
280+
"preferCamelCase",
281+
"alwaysKebabCase",
282+
"alwaysCamelCase"
283283
],
284284
"enumDescriptions": [
285-
"Auto Detect from Content (Fallback to :kebab-case=\"...\" if detect failed)",
286-
"Auto Detect from Content (Fallback to :camelCase=\"...\" if detect failed)",
287-
":kebab-case=\"...\"",
288-
":camelCase=\"...\""
285+
"Prefer kebab-case (lowercase with hyphens, e.g. my-prop)",
286+
"Prefer camelCase (lowerCamelCase, e.g. myProp)",
287+
"Always kebab-case (enforce kebab-case, e.g. my-prop)",
288+
"Always camelCase (enforce camelCase, e.g. myProp)"
289289
],
290-
"default": "autoKebab",
291-
"markdownDescription": "%configuration.complete.casing.props%"
290+
"default": "preferKebabCase",
291+
"markdownDescription": "%configuration.suggest.propNameCasing%"
292292
},
293-
"vue.complete.defineAssignment": {
293+
"vue.suggest.defineAssignment": {
294294
"type": "boolean",
295295
"default": true,
296-
"markdownDescription": "%configuration.complete.defineAssignment%"
296+
"markdownDescription": "%configuration.suggest.defineAssignment%"
297297
},
298298
"vue.autoInsert.dotValue": {
299299
"type": "boolean",

extensions/vscode/package.nls.ja.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55
"configuration.splitEditors.layout.left": "左側の分割されたエディターに含めるブロック。",
66
"configuration.splitEditors.layout.right": "右側の分割されたエディターに含めるブロック。",
77
"configuration.codeActions.askNewComponentName": "コンポーネントを抽出する時に新しいコンポーネント名を尋ねます。",
8-
"configuration.complete.casing.tags": "タグ名の命名規則。",
9-
"configuration.complete.casing.props": "属性名の命名規則。",
10-
"configuration.complete.defineAssignment": "補完項目 `props` を選択した時に `const props = ` を `defineProps` の前に自動で追加します。(`emit` と `slots` も同様)",
8+
"configuration.suggest.componentNameCasing": "タグ名の命名規則。",
9+
"configuration.suggest.propNameCasing": "属性名の命名規則。",
10+
"configuration.suggest.defineAssignment": "補完項目 `props` を選択した時に `const props = ` を `defineProps` の前に自動で追加します。(`emit` と `slots` も同様)",
1111
"configuration.autoInsert.dotValue": "Ref 値に `.value` を自動で追加します。",
1212
"configuration.autoInsert.bracketSpacing": "二重中括弧で括られた内側にスペースを自動で追加します。",
1313
"configuration.inlayHints.destructuredProps": "分割代入された props のインレイヒントを表示します:\n\n```ts\nwatch(() => /* props. */foo, () => { ... });\n```",

extensions/vscode/package.nls.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55
"configuration.splitEditors.layout.left": "Blocks in the left split editor.",
66
"configuration.splitEditors.layout.right": "Blocks in the right split editor.",
77
"configuration.codeActions.askNewComponentName": "Ask for new component name when extract component.",
8-
"configuration.complete.casing.tags": "Preferred tag name case.",
9-
"configuration.complete.casing.props": "Preferred attr name case.",
10-
"configuration.complete.defineAssignment": "Auto add `const props = ` before `defineProps` when selecting the completion item `props`. (also `emit` and `slots`)",
8+
"configuration.suggest.componentNameCasing": "Preferred tag name case.",
9+
"configuration.suggest.propNameCasing": "Preferred attr name case.",
10+
"configuration.suggest.defineAssignment": "Auto add `const props = ` before `defineProps` when selecting the completion item `props`. (also `emit` and `slots`)",
1111
"configuration.autoInsert.dotValue": "Auto-complete Ref value with `.value`.",
1212
"configuration.autoInsert.bracketSpacing": "Auto add space between double curly brackets: `{{|}}` -> `{{ | }}`",
1313
"configuration.inlayHints.destructuredProps": "Show inlay hints for destructured props:\n\n```ts\nwatch(() => /* props. */foo, () => { ... });\n```",

extensions/vscode/package.nls.ru.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55
"configuration.splitEditors.layout.left": "Блоки в левом разделенном редакторе.",
66
"configuration.splitEditors.layout.right": "Блоки в правом разделенном редакторе.",
77
"configuration.codeActions.askNewComponentName": "Запрашивает новое имя компонента при извлечении компонента.",
8-
"configuration.complete.casing.tags": "Предпочитаемый формат имени тега.",
9-
"configuration.complete.casing.props": "Предпочитаемый формат имени атрибута.",
10-
"configuration.complete.defineAssignment": "Автоматически добавляет `const props = ` перед `defineProps` при выборе элемента завершения `props`. (также `emit` и `slots`)",
8+
"configuration.suggest.componentNameCasing": "Предпочитаемый формат имени тега.",
9+
"configuration.suggest.propNameCasing": "Предпочитаемый формат имени атрибута.",
10+
"configuration.suggest.defineAssignment": "Автоматически добавляет `const props = ` перед `defineProps` при выборе элемента завершения `props`. (также `emit` и `slots`)",
1111
"configuration.autoInsert.dotValue": "Автоматически добавляет `.value` при вводе ответной переменной.",
1212
"configuration.autoInsert.bracketSpacing": "Автоматически добавляет пробелы между двойными фигурными скобками: `{{|}}` -> `{{ | }}`",
1313
"configuration.inlayHints.destructuredProps": "Отображает подсказки для деструктуризированных props:\n\n```ts\nwatch(() => /* props. */foo, () => { ... });\n```",

extensions/vscode/package.nls.zh-CN.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55
"configuration.splitEditors.layout.left": "位于左侧拆分编辑器的块。",
66
"configuration.splitEditors.layout.right": "位于右侧拆分编辑器的块。",
77
"configuration.codeActions.askNewComponentName": "提取组件时询问新组件名称。",
8-
"configuration.complete.casing.tags": "首选标签命名格式。",
9-
"configuration.complete.casing.props": "首选属性命名格式。",
10-
"configuration.complete.defineAssignment": "当选择补全项 `props` 时,自动在 `defineProps` 前添加 `const props = `(也包括 `emit` 和 `slots`)。",
8+
"configuration.suggest.componentNameCasing": "首选标签命名格式。",
9+
"configuration.suggest.propNameCasing": "首选属性命名格式。",
10+
"configuration.suggest.defineAssignment": "当选择补全项 `props` 时,自动在 `defineProps` 前添加 `const props = `(也包括 `emit` 和 `slots`)。",
1111
"configuration.autoInsert.dotValue": "当键入响应式变量时,自动补全 `.value`。",
1212
"configuration.autoInsert.bracketSpacing": "在双花括号之间自动添加空格: `{{|}}` -> `{{ | }}`",
1313
"configuration.inlayHints.destructuredProps": "显示解构 props 的嵌入提示:\n\n```ts\nwatch(() => /* props. */foo, () => { ... });\n```",

extensions/vscode/package.nls.zh-TW.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55
"configuration.splitEditors.layout.left": "位於左側拆分編輯器的區塊。",
66
"configuration.splitEditors.layout.right": "位於右側拆分編輯器的區塊。",
77
"configuration.codeActions.askNewComponentName": "提取元件時詢問新元件名稱。",
8-
"configuration.complete.casing.tags": "首選標籤名稱格式。",
9-
"configuration.complete.casing.props": "首選屬性名稱格式。",
10-
"configuration.complete.defineAssignment": "選取補全項目 `props` 時,自動在 `defineProps` 前添加 `const props = `(也包括 `emit` 和 `slots`)。",
8+
"configuration.suggest.componentNameCasing": "首選標籤名稱格式。",
9+
"configuration.suggest.propNameCasing": "首選屬性名稱格式。",
10+
"configuration.suggest.defineAssignment": "選取補全項目 `props` 時,自動在 `defineProps` 前添加 `const props = `(也包括 `emit` 和 `slots`)。",
1111
"configuration.autoInsert.dotValue": "當輸入響應式變量時,自動補全 `.value`。",
1212
"configuration.autoInsert.bracketSpacing": "在雙花括號之間自動添加空格: `{{|}}` -> `{{ | }}`",
1313
"configuration.inlayHints.destructuredProps": "顯示解構 props 的內嵌提示:\n\n```ts\nwatch(() => /* props. */foo, () => { ... });\n```",

packages/language-service/lib/nameCasing.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,23 +16,23 @@ export enum AttrNameCasing {
1616
export async function checkCasing(context: LanguageServiceContext, uri: URI) {
1717
const detected = detect(context, uri);
1818
const [attr, tag] = await Promise.all([
19-
context.env.getConfiguration<'autoKebab' | 'autoCamel' | 'kebab' | 'camel'>?.(
20-
'vue.complete.casing.props',
19+
context.env.getConfiguration<'preferKebabCase' | 'preferCamelCase' | 'alwaysKebabCase' | 'alwaysCamelCase'>?.(
20+
'vue.suggest.propNameCasing',
2121
uri.toString(),
2222
),
23-
context.env.getConfiguration<'autoKebab' | 'autoPascal' | 'kebab' | 'pascal'>?.(
24-
'vue.complete.casing.tags',
23+
context.env.getConfiguration<'preferKebabCase' | 'preferPascalCase' | 'alwaysKebabCase' | 'alwaysPascalCase'>?.(
24+
'vue.suggest.componentNameCasing',
2525
uri.toString(),
2626
),
2727
]);
28-
const tagNameCasing = detected.tag.length === 1 && (tag === 'autoPascal' || tag === 'autoKebab')
28+
const tagNameCasing = detected.tag.length === 1 && (tag === 'preferPascalCase' || tag === 'preferKebabCase')
2929
? detected.tag[0]
30-
: (tag === 'autoKebab' || tag === 'kebab')
30+
: (tag === 'preferKebabCase' || tag === 'alwaysKebabCase')
3131
? TagNameCasing.Kebab
3232
: TagNameCasing.Pascal;
33-
const attrNameCasing = detected.attr.length === 1 && (attr === 'autoCamel' || attr === 'autoKebab')
33+
const attrNameCasing = detected.attr.length === 1 && (attr === 'preferCamelCase' || attr === 'preferKebabCase')
3434
? detected.attr[0]
35-
: (attr === 'autoCamel' || attr === 'camel')
35+
: (attr === 'preferCamelCase' || attr === 'alwaysCamelCase')
3636
? AttrNameCasing.Camel
3737
: AttrNameCasing.Kebab;
3838
return {

packages/language-service/lib/plugins/vue-complete-define-assignment.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ export function create(): LanguageServicePlugin {
1717
return;
1818
}
1919

20-
const enabled = await context.env.getConfiguration<boolean>?.('vue.complete.defineAssignment') ?? true;
20+
const enabled = await context.env.getConfiguration<boolean>?.('vue.suggest.defineAssignment') ?? true;
2121
if (!enabled) {
2222
return;
2323
}

0 commit comments

Comments
 (0)