Skip to content

Commit 681a9e0

Browse files
committed
more tweaks microsoft#34968
1 parent 841f140 commit 681a9e0

2 files changed

Lines changed: 9 additions & 7 deletions

File tree

src/vs/vscode.proposed.d.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -485,7 +485,7 @@ declare module 'vscode' {
485485
}
486486

487487
export interface DocumentSymbolProvider {
488-
provideDocumentSymbols(document: TextDocument, token: CancellationToken): ProviderResult<HierarchicalSymbolInformation | SymbolInformation[]>;
488+
provideDocumentSymbols(document: TextDocument, token: CancellationToken): ProviderResult<HierarchicalSymbolInformation[] | SymbolInformation[]>;
489489
}
490490

491491
//#endregion

src/vs/workbench/api/node/extHostLanguageFeatures.ts

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import { TPromise } from 'vs/base/common/winjs.base';
99
import { mixin } from 'vs/base/common/objects';
1010
import * as vscode from 'vscode';
1111
import * as typeConvert from 'vs/workbench/api/node/extHostTypeConverters';
12-
import { Range, Disposable, CompletionList, SnippetString, CodeActionKind, HierarchicalSymbolInformation } from 'vs/workbench/api/node/extHostTypes';
12+
import { Range, Disposable, CompletionList, SnippetString, CodeActionKind, HierarchicalSymbolInformation, SymbolInformation } from 'vs/workbench/api/node/extHostTypes';
1313
import { ISingleEditOperation } from 'vs/editor/common/model';
1414
import * as modes from 'vs/editor/common/modes';
1515
import { ExtHostHeapService } from 'vs/workbench/api/node/extHostHeapService';
@@ -39,13 +39,15 @@ class OutlineAdapter {
3939
provideDocumentSymbols(resource: URI): TPromise<SymbolInformationDto[]> {
4040
let doc = this._documents.getDocumentData(resource).document;
4141
return asWinJsPromise(token => this._provider.provideDocumentSymbols(doc, token)).then(value => {
42-
if (value instanceof HierarchicalSymbolInformation) {
43-
return [typeConvert.HierarchicalSymbolInformation.from(value)];
42+
if (isFalsyOrEmpty(value)) {
43+
return undefined;
4444
}
45-
if (Array.isArray(value)) {
46-
return value.map(typeConvert.SymbolInformation.from);
45+
let [probe] = value;
46+
if (probe instanceof HierarchicalSymbolInformation) {
47+
return (<HierarchicalSymbolInformation[]>value).map(typeConvert.HierarchicalSymbolInformation.from);
48+
} else {
49+
return (<SymbolInformation[]>value).map(typeConvert.SymbolInformation.from);
4750
}
48-
return undefined;
4951
});
5052
}
5153
}

0 commit comments

Comments
 (0)