Skip to content

Commit cf27882

Browse files
committed
use FileKind in FileElement, microsoft#54370
1 parent 48464ea commit cf27882

4 files changed

Lines changed: 13 additions & 12 deletions

File tree

src/vs/workbench/browser/parts/editor/breadcrumbsControl.ts

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -76,12 +76,11 @@ class Item extends BreadcrumbsItem {
7676
let label = this._instantiationService.createInstance(FileLabel, container, {});
7777
label.setFile(this.element.uri, {
7878
hidePath: true,
79-
hideIcon: !this.element.isFile || !this.options.showFileIcons,
80-
fileKind: this.element.isFile ? FileKind.FILE : FileKind.FOLDER,
79+
hideIcon: this.element.kind !== FileKind.FILE || !this.options.showFileIcons,
80+
fileKind: this.element.kind,
8181
fileDecorations: { colors: this.options.showDecorationColors, badges: false },
8282
});
8383
this._disposables.push(label);
84-
dom.toggleClass(container, 'file', this.element.isFile);
8584

8685
} else if (this.element instanceof OutlineModel) {
8786
// has outline element but not in one
@@ -323,7 +322,7 @@ export class BreadcrumbsControl {
323322

324323
private _revealInEditor(event: IBreadcrumbsItemEvent, data: any): void {
325324
if (data instanceof FileElement) {
326-
if (data.isFile) {
325+
if (data.kind === FileKind.FILE) {
327326
// open file in editor
328327
this._editorService.openEditor({ resource: data.uri });
329328
} else {

src/vs/workbench/browser/parts/editor/breadcrumbsModel.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,12 @@ import { IWorkspaceContextService, IWorkspaceFolder, WorkbenchState } from 'vs/p
2323
import { Schemas } from 'vs/base/common/network';
2424
import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
2525
import { BreadcrumbsConfig } from 'vs/workbench/browser/parts/editor/breadcrumbs';
26+
import { FileKind } from 'vs/platform/files/common/files';
2627

2728
export class FileElement {
2829
constructor(
2930
readonly uri: URI,
30-
readonly isFile: boolean
31+
readonly kind: FileKind
3132
) { }
3233
}
3334

@@ -117,7 +118,7 @@ export class EditorBreadcrumbsModel {
117118
if (info.folder && isEqual(info.folder.uri, uri)) {
118119
break;
119120
}
120-
info.path.unshift(new FileElement(uri, info.path.length === 0));
121+
info.path.unshift(new FileElement(uri, info.path.length === 0 ? FileKind.FILE : FileKind.FOLDER));
121122
uri = uri.with({ path: paths.dirname(uri.path) });
122123
}
123124
return info;

src/vs/workbench/browser/parts/editor/breadcrumbsPicker.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -259,7 +259,7 @@ export class BreadcrumbsFilePicker extends BreadcrumbsPicker {
259259
let [first] = e.selection;
260260
let stat = first as IFileStat;
261261
if (stat && !stat.isDirectory) {
262-
this._onDidPickElement.fire(new FileElement(stat.resource, true));
262+
this._onDidPickElement.fire(new FileElement(stat.resource, FileKind.FILE));
263263
}
264264
}
265265
}

src/vs/workbench/test/browser/parts/editor/breadcrumbModel.test.ts

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import { Workspace, WorkspaceFolder } from 'vs/platform/workspace/common/workspa
1111
import { EditorBreadcrumbsModel, FileElement } from 'vs/workbench/browser/parts/editor/breadcrumbsModel';
1212
import { TestContextService } from 'vs/workbench/test/workbenchTestServices';
1313
import { TestConfigurationService } from 'vs/platform/configuration/test/common/testConfigurationService';
14+
import { FileKind } from 'vs/platform/files/common/files';
1415

1516

1617
suite('Breadcrumb Model', function () {
@@ -35,9 +36,9 @@ suite('Breadcrumb Model', function () {
3536

3637
assert.equal(elements.length, 3);
3738
let [one, two, three] = elements as FileElement[];
38-
assert.equal(one.isFile, false);
39-
assert.equal(two.isFile, false);
40-
assert.equal(three.isFile, true);
39+
assert.equal(one.kind, FileKind.FOLDER);
40+
assert.equal(two.kind, FileKind.FOLDER);
41+
assert.equal(three.kind, FileKind.FILE);
4142
assert.equal(one.uri.toString(), 'foo:/bar/baz/ws/some');
4243
assert.equal(two.uri.toString(), 'foo:/bar/baz/ws/some/path');
4344
assert.equal(three.uri.toString(), 'foo:/bar/baz/ws/some/path/file.ts');
@@ -50,8 +51,8 @@ suite('Breadcrumb Model', function () {
5051

5152
assert.equal(elements.length, 2);
5253
let [one, two] = elements as FileElement[];
53-
assert.equal(one.isFile, false);
54-
assert.equal(two.isFile, true);
54+
assert.equal(one.kind, FileKind.FOLDER);
55+
assert.equal(two.kind, FileKind.FILE);
5556
assert.equal(one.uri.toString(), 'foo:/outside');
5657
assert.equal(two.uri.toString(), 'foo:/outside/file.ts');
5758
});

0 commit comments

Comments
 (0)