Skip to content

Commit 9ab8556

Browse files
authored
fix(language-service): correct position calculation of twoslash queries (#5503)
1 parent ae5f778 commit 9ab8556

File tree

2 files changed

+4
-3
lines changed

2 files changed

+4
-3
lines changed

packages/language-server/index.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -140,15 +140,15 @@ connection.onInitialize(params => {
140140
);
141141
},
142142
async getQuickInfoAtPosition(fileName, { line, character }) {
143-
const result = await sendTsServerRequest<ts.QuickInfo>(
143+
const result = await sendTsServerRequest<ts.server.protocol.QuickInfoResponseBody>(
144144
'_vue:' + ts.server.protocol.CommandTypes.Quickinfo,
145145
{
146146
file: fileName,
147147
line: line + 1,
148148
offset: character + 1,
149149
} satisfies ts.server.protocol.FileLocationRequestArgs,
150150
);
151-
return ts.displayPartsToString(result?.displayParts ?? []);
151+
return result?.displayString;
152152
},
153153
}),
154154
);

packages/language-service/lib/plugins/vue-twoslash-queries.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,12 +46,13 @@ export function create(
4646
]);
4747
}
4848

49+
const sourceDocument = context.documents.get(decoded![0], sourceScript.languageId, sourceScript.snapshot);
4950
for (const [pointerPosition, hoverOffset] of hoverOffsets) {
5051
const map = context.language.maps.get(virtualCode, sourceScript);
5152
for (const [sourceOffset] of map.toSourceLocation(hoverOffset)) {
5253
const quickInfo = await tsPluginClient?.getQuickInfoAtPosition(
5354
root.fileName,
54-
document.positionAt(sourceOffset),
55+
sourceDocument.positionAt(sourceOffset),
5556
);
5657
if (quickInfo) {
5758
inlayHints.push({

0 commit comments

Comments
 (0)