From 5383f48904c38348e9625d91765a33e43b628d3a Mon Sep 17 00:00:00 2001 From: Johannes Rieken Date: Tue, 23 Apr 2019 16:40:55 +0200 Subject: [PATCH] debt - adopt label service in breadcrumbs control --- .../browser/parts/editor/breadcrumbsControl.ts | 14 +++++++++----- .../parts/editor/media/notabstitlecontrol.css | 2 +- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/vs/workbench/browser/parts/editor/breadcrumbsControl.ts b/src/vs/workbench/browser/parts/editor/breadcrumbsControl.ts index 5b01084e576..8412408f4bd 100644 --- a/src/vs/workbench/browser/parts/editor/breadcrumbsControl.ts +++ b/src/vs/workbench/browser/parts/editor/breadcrumbsControl.ts @@ -47,6 +47,7 @@ import { ICodeEditorService } from 'vs/editor/browser/services/codeEditorService import { IEditorGroupView } from 'vs/workbench/browser/parts/editor/editor'; import { onDidChangeZoomLevel } from 'vs/base/browser/browser'; import { withNullAsUndefined, withUndefinedAsNull } from 'vs/base/common/types'; +import { ILabelService } from 'vs/platform/label/common/label'; class Item extends BreadcrumbsItem { @@ -167,6 +168,7 @@ export class BreadcrumbsControl { @IConfigurationService private readonly _configurationService: IConfigurationService, @IFileService private readonly _fileService: IFileService, @ITelemetryService private readonly _telemetryService: ITelemetryService, + @ILabelService private readonly _labelService: ILabelService, @IBreadcrumbsService breadcrumbsService: IBreadcrumbsService, ) { this.domNode = document.createElement('div'); @@ -238,16 +240,18 @@ export class BreadcrumbsControl { this._ckBreadcrumbsVisible.set(true); this._ckBreadcrumbsPossible.set(true); - let editor = this._getActiveCodeEditor(); - let model = new EditorBreadcrumbsModel(input.getResource()!, editor, this._workspaceService, this._configurationService); + const uri = input.getResource()!; + const editor = this._getActiveCodeEditor(); + const model = new EditorBreadcrumbsModel(uri, editor, this._workspaceService, this._configurationService); dom.toggleClass(this.domNode, 'relative-path', model.isRelative()); + dom.toggleClass(this.domNode, 'backslash-path', this._labelService.getSeparator(uri.scheme, uri.authority) === '\\'); - let updateBreadcrumbs = () => { - let items = model.getElements().map(element => new Item(element, this._options, this._instantiationService)); + const updateBreadcrumbs = () => { + const items = model.getElements().map(element => new Item(element, this._options, this._instantiationService)); this._widget.setItems(items); this._widget.reveal(items[items.length - 1]); }; - let listener = model.onDidUpdate(updateBreadcrumbs); + const listener = model.onDidUpdate(updateBreadcrumbs); updateBreadcrumbs(); this._breadcrumbsDisposables = [model, listener]; diff --git a/src/vs/workbench/browser/parts/editor/media/notabstitlecontrol.css b/src/vs/workbench/browser/parts/editor/media/notabstitlecontrol.css index 85e4d64ebb1..edce36d6ec8 100644 --- a/src/vs/workbench/browser/parts/editor/media/notabstitlecontrol.css +++ b/src/vs/workbench/browser/parts/editor/media/notabstitlecontrol.css @@ -54,7 +54,7 @@ background-image: none; } -.monaco-workbench.windows .part.editor > .content .editor-group-container > .title.breadcrumbs .breadcrumbs-control .monaco-breadcrumb-item::before { +.monaco-workbench .part.editor > .content .editor-group-container > .title.breadcrumbs .breadcrumbs-control.backslash-path .monaco-breadcrumb-item::before { content: '\\'; } -- GitLab