Skip to content

Commit

Permalink
Squashed commit of the following:
Browse files Browse the repository at this point in the history
commit fe4cef4
Author: johnsoncodehk <johnsoncodehk@gmail.com>
Date:   Fri Apr 15 22:07:42 2022 +0800

    fix: use html renaming instead of ts renaming on tags

    close #1201

commit 83b922f
Author: johnsoncodehk <johnsoncodehk@gmail.com>
Date:   Fri Apr 15 21:33:49 2022 +0800

    feat: add option `experimentalShamefullySupportOptionsApi`
  • Loading branch information
johnsoncodehk committed Apr 15, 2022
1 parent 18a71f4 commit e8feb2e
Show file tree
Hide file tree
Showing 4 changed files with 34 additions and 17 deletions.
14 changes: 7 additions & 7 deletions packages/vue-code-gen/src/generators/template.ts
Expand Up @@ -9,16 +9,16 @@ import { colletVars, walkInterpolationFragment } from '../transform';
const capabilitiesSet = {
all: { basic: true, diagnostic: true, references: true, definitions: true, rename: true, completion: true, semanticTokens: true },
noDiagnostic: { basic: true, references: true, definitions: true, rename: true, completion: true, semanticTokens: true },
diagnosticOnly: { diagnostic: true, completion: true, },
diagnosticOnly: { diagnostic: true, completion: true },
tagHover: { basic: true },
event: { basic: true, diagnostic: true },
tagReference: { references: true, definitions: true, rename: true, },
attr: { basic: true, diagnostic: true, references: true, definitions: true, rename: true, },
attrReference: { references: true, definitions: true, rename: true, },
scopedClassName: { references: true, definitions: true, rename: true, completion: true, },
slotName: { basic: true, diagnostic: true, references: true, definitions: true, completion: true, },
tagReference: { references: true, definitions: true, rename: { in: false, out: true } },
attr: { basic: true, diagnostic: true, references: true, definitions: true, rename: true },
attrReference: { references: true, definitions: true, rename: true },
scopedClassName: { references: true, definitions: true, rename: true, completion: true },
slotName: { basic: true, diagnostic: true, references: true, definitions: true, completion: true },
slotNameExport: { basic: true, diagnostic: true, references: true, definitions: true, /* referencesCodeLens: true */ },
refAttr: { references: true, definitions: true, rename: true, },
refAttr: { references: true, definitions: true, rename: true },
};
const formatBrackets = {
empty: ['', ''] as [string, string],
Expand Down
Expand Up @@ -3,7 +3,7 @@ import { Position } from 'vscode-languageserver-protocol';
import { defineRename } from '../utils/defineRename';

const file = path.resolve(__dirname, '../../testCases/renames/scriptSetup_component.vue');
const fileResult = `
const fileResult1 = `
<template>
<CcDd></CcDd>
<cc-dd></cc-dd>
Expand All @@ -13,38 +13,58 @@ const fileResult = `
import CcDd from './scriptSetup.vue';
</script>
`.trim();
const fileResult2 = `
<template>
<CcDd></CcDd>
<aa-bb></aa-bb>
</template>
<script lang="ts" setup>
import AaBb from './scriptSetup.vue';
</script>
`.trim();
const fileResult3 = `
<template>
<AaBb></AaBb>
<cc-dd></cc-dd>
</template>
<script lang="ts" setup>
import AaBb from './scriptSetup.vue';
</script>
`.trim();

defineRename({
fileName: file,
position: Position.create(6, 7),
newName: 'CcDd',
length: 5,
}, { [file]: fileResult });
}, { [file]: fileResult1 });

defineRename({
fileName: file,
position: Position.create(1, 5),
newName: 'CcDd',
length: 5,
}, { [file]: fileResult });
}, { [file]: fileResult2 });

defineRename({
fileName: file,
position: Position.create(1, 12),
newName: 'CcDd',
length: 5,
}, { [file]: fileResult });
}, { [file]: fileResult2 });

defineRename({
fileName: file,
position: Position.create(2, 5),
newName: 'cc-dd',
length: 6,
}, { [file]: fileResult });
}, { [file]: fileResult3 });

defineRename({
fileName: file,
position: Position.create(2, 13),
newName: 'cc-dd',
length: 6,
}, { [file]: fileResult });
}, { [file]: fileResult3 });
Expand Up @@ -21,15 +21,13 @@ defineRename({
position: Position.create(1, 5),
newName: 'h2',
length: 2,
resultFileNums: 2,
}, { [file]: tagResult });

defineRename({
fileName: file,
position: Position.create(1, 18),
newName: 'h2',
length: 2,
resultFileNums: 2,
}, { [file]: tagResult });

// renaming ctx
Expand Down
3 changes: 1 addition & 2 deletions packages/vue-language-service/tests/utils/defineRename.ts
Expand Up @@ -12,7 +12,6 @@ export function defineRename(action: {
position: vscode.Position,
newName: string,
length: number,
resultFileNums?: number,
}, expectedResult: Record<string, string>) {

const fileName = action.fileName;
Expand All @@ -31,7 +30,7 @@ export function defineRename(action: {
expect(!!result?.changes).toEqual(true);
if (!result?.changes) return;

expect(Object.keys(result.changes).length).toEqual(action.resultFileNums ?? Object.keys(expectedResult).length);
expect(Object.keys(result.changes).length).toEqual(Object.keys(expectedResult).length);

for (const fileName in expectedResult) {

Expand Down

0 comments on commit e8feb2e

Please sign in to comment.