From b4057d6a7c33b98611270cc88438c3752eb10ca5 Mon Sep 17 00:00:00 2001 From: chronos Date: Tue, 27 Dec 2016 11:04:40 +0800 Subject: [PATCH] Fix outline offset problem in No-English language --- src/goOutline.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/goOutline.ts b/src/goOutline.ts index a3f3f39f3..e6d3753ec 100644 --- a/src/goOutline.ts +++ b/src/goOutline.ts @@ -81,10 +81,15 @@ export class GoDocumentSymbolProvider implements vscode.DocumentSymbolProvider { if (decl.receiverType) { label = '(' + decl.receiverType + ').' + label; } + + let codeBuf = new Buffer(document.getText()); + let start = codeBuf.slice(0, decl.start - 1).toString().length; + let end = codeBuf.slice(0, decl.end - 1).toString().length; + let symbolInfo = new vscode.SymbolInformation( label, this.goKindToCodeKind[decl.type], - new vscode.Range(document.positionAt(decl.start), document.positionAt(decl.end - 1)), + new vscode.Range(document.positionAt(start), document.positionAt(end)), undefined, containerName); symbols.push(symbolInfo);