提交 8348d2fd 编写于 作者: B Benjamin Pasero

adopt a bit more uriIdentityService

上级 3593945f
......@@ -4,7 +4,7 @@
*--------------------------------------------------------------------------------------------*/
import { localize } from 'vs/nls';
import { basename, relativePath } from 'vs/base/common/resources';
import { basename } from 'vs/base/common/resources';
import { IDisposable, dispose, Disposable, DisposableStore, combinedDisposable, MutableDisposable } from 'vs/base/common/lifecycle';
import { Event } from 'vs/base/common/event';
import { VIEW_PANE_ID, ISCMService, ISCMRepository } from 'vs/workbench/contrib/scm/common/scm';
......@@ -15,6 +15,7 @@ import { IStatusbarService, StatusbarAlignment as MainThreadStatusBarAlignment }
import { IEditorService } from 'vs/workbench/services/editor/common/editorService';
import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
import { EditorResourceAccessor } from 'vs/workbench/common/editor';
import { IUriIdentityService } from 'vs/workbench/services/uriIdentity/common/uriIdentity';
function getCount(repository: ISCMRepository): number {
if (typeof repository.provider.count === 'number') {
......@@ -39,7 +40,8 @@ export class SCMStatusController implements IWorkbenchContribution {
@IContextKeyService readonly contextKeyService: IContextKeyService,
@IActivityService private readonly activityService: IActivityService,
@IEditorService private readonly editorService: IEditorService,
@IConfigurationService private readonly configurationService: IConfigurationService
@IConfigurationService private readonly configurationService: IConfigurationService,
@IUriIdentityService private readonly uriIdentityService: IUriIdentityService
) {
this.focusedProviderContextKey = contextKeyService.createKey<string | undefined>('scmProvider', undefined);
this.scmService.onDidAddRepository(this.onDidAddRepository, this, this.disposables);
......@@ -73,7 +75,7 @@ export class SCMStatusController implements IWorkbenchContribution {
continue;
}
const path = relativePath(root, resource);
const path = this.uriIdentityService.extUri.relativePath(root, resource);
if (path && !/^\.\./.test(path) && path.length < bestMatchLength) {
bestRepository = repository;
......
......@@ -5,7 +5,7 @@
import 'vs/css!./media/scm';
import { Event, Emitter } from 'vs/base/common/event';
import { basename, dirname, isEqual } from 'vs/base/common/resources';
import { basename, dirname } from 'vs/base/common/resources';
import { IDisposable, Disposable, DisposableStore, combinedDisposable, dispose, toDisposable } from 'vs/base/common/lifecycle';
import { ViewPane, IViewPaneOptions } from 'vs/workbench/browser/parts/views/viewPaneContainer';
import { append, $, Dimension } from 'vs/base/browser/dom';
......@@ -76,6 +76,7 @@ import { AnchorAlignment } from 'vs/base/browser/ui/contextview/contextview';
import { RepositoryRenderer } from 'vs/workbench/contrib/scm/browser/scmRepositoryRenderer';
import { IPosition } from 'vs/editor/common/core/position';
import { ColorScheme } from 'vs/platform/theme/common/theme';
import { IUriIdentityService } from 'vs/workbench/services/uriIdentity/common/uriIdentity';
type TreeElement = ISCMRepository | ISCMInput | ISCMResourceGroup | IResourceNode<ISCMResource, ISCMResourceGroup> | ISCMResource;
......@@ -772,7 +773,8 @@ class ViewModel {
@IInstantiationService protected instantiationService: IInstantiationService,
@IEditorService protected editorService: IEditorService,
@IConfigurationService protected configurationService: IConfigurationService,
@ISCMViewService private scmViewService: ISCMViewService
@ISCMViewService private scmViewService: ISCMViewService,
@IUriIdentityService private uriIdentityService: IUriIdentityService
) {
this.onDidChangeRepositoryCollapseState = Event.any(
this._onDidChangeRepositoryCollapseState.event,
......@@ -972,8 +974,8 @@ class ViewModel {
for (let j = item.groupItems.length - 1; j >= 0; j--) {
const groupItem = item.groupItems[j];
const resource = this.mode === ViewModelMode.Tree
? groupItem.tree.getNode(uri)?.element
: groupItem.resources.find(r => isEqual(r.sourceUri, uri));
? groupItem.tree.getNode(uri)?.element // TODO@Joao URI identity?
: groupItem.resources.find(r => this.uriIdentityService.extUri.isEqual(r.sourceUri, uri));
if (resource) {
this.tree.reveal(resource);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册