Skip to content

Commit aed9e2d

Browse files
committed
fix goto definition bug
1 parent 8a92bb9 commit aed9e2d

2 files changed

Lines changed: 8 additions & 4 deletions

File tree

src/language-features/providers/dart_completion_item_provider.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -209,6 +209,8 @@ export class DartCompletionItemProvider implements CompletionItemProvider {
209209
'param': [
210210
this.createCustomCompletionItem(document, position, 'type', vs.CompletionItemKind.Variable),
211211
this.createCustomCompletionItem(document, position, 'name', vs.CompletionItemKind.Variable),
212+
this.createCustomCompletionItem(document, position, 'required', vs.CompletionItemKind.Variable),
213+
this.createCustomCompletionItem(document, position, 'superParamName', vs.CompletionItemKind.Variable),
212214
],
213215
};
214216

src/language-features/providers/dart_reference_provider.ts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,14 +45,16 @@ export class DartReferenceProvider implements ReferenceProvider, DefinitionProvi
4545

4646
const results: Location[] = await commands.executeCommand('vscode.executeDefinitionProvider', dartDocument.uri, dartDocument.positionAt(dartOffset));
4747
return results.map(loc => {
48-
const offsetStart = dartDocument.offsetAt(loc.range.start);
49-
const offsetEnd = dartDocument.offsetAt(loc.range.end);
50-
const target = { startColumn: loc.range.start.character + 1, startLine: loc.range.start.line + 1, length: offsetEnd - offsetStart };
48+
const range: Range = loc.range || (loc as any).targetRange; // targetRange in the new versions of vscode
49+
const offsetStart = dartDocument.offsetAt(range.start);
50+
const offsetEnd = dartDocument.offsetAt(range.end);
51+
const target = { startColumn: range.start.character + 1, startLine: range.start.line + 1, length: offsetEnd - offsetStart };
5152

5253
if (target.startColumn === 0)
5354
target.startColumn = 1;
5455

55-
let file = loc.uri.fsPath;
56+
const uri = loc.uri || (loc as any).targetUri; // targetUri in the new versions of vscode
57+
let file = uri.fsPath;
5658
if (file.endsWith('.xml.dart')) {
5759
file = file.replace('.xml.dart', '.xml');
5860
target.startColumn = 1;

0 commit comments

Comments
 (0)