some 💄 around URI identity method usages

This commit is contained in:
Benjamin Pasero 2020-09-28 16:36:01 +02:00
parent 467b3c677c
commit c314be267a
18 changed files with 48 additions and 47 deletions

View file

@ -5,7 +5,7 @@
import { hasWorkspaceFileExtension, IWorkspaceFolderCreationData, IRecentFile, IWorkspacesService } from 'vs/platform/workspaces/common/workspaces';
import { normalize } from 'vs/base/common/path';
import { basename, extUri } from 'vs/base/common/resources';
import { basename, isEqual } from 'vs/base/common/resources';
import { IFileService } from 'vs/platform/files/common/files';
import { IWindowOpenable } from 'vs/platform/windows/common/windows';
import { URI } from 'vs/base/common/uri';
@ -352,7 +352,7 @@ export function fillResourceDataTransfers(accessor: ServicesAccessor, resources:
for (const textEditorControl of textEditorControls) {
if (isCodeEditor(textEditorControl)) {
const model = textEditorControl.getModel();
if (extUri.isEqual(model?.uri, file.resource)) {
if (isEqual(model?.uri, file.resource)) {
return withNullAsUndefined(textEditorControl.saveViewState());
}
}

View file

@ -4,7 +4,7 @@
*--------------------------------------------------------------------------------------------*/
import { URI } from 'vs/base/common/uri';
import { dirname, isEqual, basenameOrAuthority, extUri } from 'vs/base/common/resources';
import { dirname, isEqual, basenameOrAuthority } from 'vs/base/common/resources';
import { IconLabel, IIconLabelValueOptions, IIconLabelCreationOptions } from 'vs/base/browser/ui/iconLabel/iconLabel';
import { IModeService } from 'vs/editor/common/services/modeService';
import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace';
@ -307,7 +307,7 @@ class ResourceLabelWidget extends IconLabel {
return; // only update if resource exists
}
if (extUri.isEqual(model.uri, resource)) {
if (isEqual(model.uri, resource)) {
if (this.lastKnownDetectedModeId !== model.getModeId()) {
this.render(true); // update if the language id of the model has changed from our last known state
}

View file

@ -12,6 +12,7 @@ import { CursorChangeReason, ICursorPositionChangedEvent } from 'vs/editor/commo
import { ModelDecorationOptions } from 'vs/editor/common/model/textModel';
import { ICodeEditor, isCodeEditor, isCompositeEditor } from 'vs/editor/browser/editorBrowser';
import { TrackedRangeStickiness, IModelDecorationsChangeAccessor } from 'vs/editor/common/model';
import { isEqual } from 'vs/base/common/resources';
export interface IRangeHighlightDecoration {
resource: URI;
@ -65,10 +66,8 @@ export class RangeHighlightDecorations extends Disposable {
private getEditor(resourceRange: IRangeHighlightDecoration): ICodeEditor | undefined {
const activeEditor = this.editorService.activeEditor;
const resource = activeEditor && activeEditor.resource;
if (resource) {
if (resource.toString() === resourceRange.resource.toString()) {
return this.editorService.activeTextEditorControl as ICodeEditor;
}
if (resource && isEqual(resource, resourceRange.resource)) {
return this.editorService.activeTextEditorControl as ICodeEditor;
}
return undefined;

View file

@ -30,6 +30,7 @@ import { IEditorService, ACTIVE_GROUP } from 'vs/workbench/services/editor/commo
import { CancellationToken } from 'vs/base/common/cancellation';
import { EditorActivation, IEditorOptions } from 'vs/platform/editor/common/editor';
import { IContextKeyService } from 'vs/platform/contextkey/common/contextkey';
import { isEqual } from 'vs/base/common/resources';
/**
* The text editor that leverages the diff text editor for the editing experience.
@ -332,7 +333,7 @@ export class TextDiffEditor extends BaseTextEditor implements ITextDiffEditorPan
return null; // model URI is needed to make sure we save the view state correctly
}
if (modelUri.toString() !== resource.toString()) {
if (!isEqual(modelUri, resource)) {
return null; // prevent saving view state for a model that is not the expected one
}

View file

@ -15,7 +15,7 @@ import { IFileService } from 'vs/platform/files/common/files';
import { ILabelService } from 'vs/platform/label/common/label';
import { IFilesConfigurationService } from 'vs/workbench/services/filesConfiguration/common/filesConfigurationService';
import { AbstractTextResourceEditorInput } from 'vs/workbench/common/editor/textResourceEditorInput';
import { extUri } from 'vs/base/common/resources';
import { isEqual } from 'vs/base/common/resources';
/**
* A read-only text editor input whos contents are made of the provided resource that points to an existing
@ -115,7 +115,7 @@ export class ResourceEditorInput extends AbstractTextResourceEditorInput impleme
}
if (otherInput instanceof ResourceEditorInput) {
return extUri.isEqual(otherInput.resource, this.resource);
return isEqual(otherInput.resource, this.resource);
}
return false;

View file

@ -12,7 +12,7 @@ import { IFileService, FileSystemProviderCapabilities } from 'vs/platform/files/
import { ILabelService } from 'vs/platform/label/common/label';
import { IFilesConfigurationService, AutoSaveMode } from 'vs/workbench/services/filesConfiguration/common/filesConfigurationService';
import { Schemas } from 'vs/base/common/network';
import { dirname, extUri } from 'vs/base/common/resources';
import { dirname, isEqual } from 'vs/base/common/resources';
/**
* The base class for all editor inputs that open in text editors.
@ -69,7 +69,7 @@ export abstract class AbstractTextResourceEditorInput extends EditorInput implem
}
setPreferredResource(preferredResource: URI): void {
if (!extUri.isEqual(preferredResource, this._preferredResource)) {
if (!isEqual(preferredResource, this._preferredResource)) {
this._preferredResource = preferredResource;
this.updateLabel();
@ -219,7 +219,7 @@ export abstract class AbstractTextResourceEditorInput extends EditorInput implem
}
// If the target is a different resource, return with a new editor input
if (!extUri.isEqual(target, this.resource)) {
if (!isEqual(target, this.resource)) {
return this.editorService.createEditorInput({ resource: target });
}

View file

@ -5,7 +5,7 @@
import * as nls from 'vs/nls';
import { toErrorMessage } from 'vs/base/common/errorMessage';
import { basename, extUri } from 'vs/base/common/resources';
import { basename, isEqual } from 'vs/base/common/resources';
import { Action, IAction } from 'vs/base/common/actions';
import { URI } from 'vs/base/common/uri';
import { FileOperationError, FileOperationResult } from 'vs/platform/files/common/files';
@ -115,7 +115,7 @@ export class TextFileSaveErrorHandler extends Disposable implements ISaveErrorHa
if (fileOperationError.fileOperationResult === FileOperationResult.FILE_MODIFIED_SINCE) {
// If the user tried to save from the opened conflict editor, show its message again
if (this.activeConflictResolutionResource && extUri.isEqual(this.activeConflictResolutionResource, model.resource)) {
if (this.activeConflictResolutionResource && isEqual(this.activeConflictResolutionResource, model.resource)) {
if (this.storageService.getBoolean(LEARN_MORE_DIRTY_WRITE_IGNORE_KEY, StorageScope.GLOBAL)) {
return; // return if this message is ignored
}

View file

@ -39,7 +39,7 @@ import { Schemas } from 'vs/base/common/network';
import { WorkspaceWatcher } from 'vs/workbench/contrib/files/common/workspaceWatcher';
import { editorConfigurationBaseNode } from 'vs/editor/common/config/commonEditorConfig';
import { DirtyFilesIndicator } from 'vs/workbench/contrib/files/common/dirtyFilesIndicator';
import { extUri } from 'vs/base/common/resources';
import { isEqual } from 'vs/base/common/resources';
// Viewlet Action
export class OpenExplorerViewletAction extends ShowViewletAction {
@ -131,7 +131,7 @@ class FileEditorInputFactory implements IEditorInputFactory {
const preferredResource = fileEditorInput.preferredResource;
const serializedFileEditorInput: ISerializedFileEditorInput = {
resourceJSON: resource.toJSON(),
preferredResourceJSON: extUri.isEqual(resource, preferredResource) ? undefined : preferredResource, // only storing preferredResource if it differs from the resource
preferredResourceJSON: isEqual(resource, preferredResource) ? undefined : preferredResource, // only storing preferredResource if it differs from the resource
encoding: fileEditorInput.getEncoding(),
modeId: fileEditorInput.getPreferredMode() // only using the preferred user associated mode here if available to not store redundant data
};

View file

@ -20,7 +20,7 @@ import { IContextViewService } from 'vs/platform/contextview/browser/contextView
import { IThemeService } from 'vs/platform/theme/common/themeService';
import { IConfigurationService, ConfigurationTarget } from 'vs/platform/configuration/common/configuration';
import { IFilesConfiguration, IExplorerService, VIEW_ID } from 'vs/workbench/contrib/files/common/files';
import { dirname, joinPath, isEqualOrParent, basename, distinctParents } from 'vs/base/common/resources';
import { dirname, joinPath, basename, distinctParents } from 'vs/base/common/resources';
import { InputBox, MessageType } from 'vs/base/browser/ui/inputbox/inputBox';
import { localize } from 'vs/nls';
import { attachInputBoxStyler } from 'vs/platform/theme/common/styler';
@ -807,7 +807,8 @@ export class FileDragAndDrop implements ITreeDragAndDrop<ExplorerItem> {
@IWorkingCopyFileService private workingCopyFileService: IWorkingCopyFileService,
@IHostService private hostService: IHostService,
@IWorkspaceEditingService private workspaceEditingService: IWorkspaceEditingService,
@IProgressService private readonly progressService: IProgressService
@IProgressService private readonly progressService: IProgressService,
@IUriIdentityService private readonly uriIdentityService: IUriIdentityService
) {
this.toDispose = [];
@ -911,7 +912,7 @@ export class FileDragAndDrop implements ITreeDragAndDrop<ExplorerItem> {
return true; // Can not move a file to the same parent unless we copy
}
if (isEqualOrParent(target.resource, source.resource)) {
if (this.uriIdentityService.extUri.isEqualOrParent(target.resource, source.resource)) {
return true; // Can not move a parent folder into one of its children
}

View file

@ -18,7 +18,7 @@ import { ILabelService } from 'vs/platform/label/common/label';
import { IFilesConfigurationService } from 'vs/workbench/services/filesConfiguration/common/filesConfigurationService';
import { IEditorService } from 'vs/workbench/services/editor/common/editorService';
import { IEditorGroupsService } from 'vs/workbench/services/editor/common/editorGroupsService';
import { extUri } from 'vs/base/common/resources';
import { isEqual } from 'vs/base/common/resources';
import { Event } from 'vs/base/common/event';
import { IEditorViewState } from 'vs/editor/common/editorCommon';
@ -86,7 +86,7 @@ export class FileEditorInput extends AbstractTextResourceEditorInput implements
// Once the text file model is created, we keep it inside
// the input to be able to implement some methods properly
if (extUri.isEqual(model.resource, this.resource)) {
if (isEqual(model.resource, this.resource)) {
this.model = model;
this.registerModelListeners(model);
@ -303,7 +303,7 @@ export class FileEditorInput extends AbstractTextResourceEditorInput implements
private getViewStateFor(group: GroupIdentifier): IEditorViewState | undefined {
for (const editorPane of this.editorService.visibleEditorPanes) {
if (editorPane.group.id === group && extUri.isEqual(editorPane.input.resource, this.resource)) {
if (editorPane.group.id === group && isEqual(editorPane.input.resource, this.resource)) {
if (isTextEditorPane(editorPane)) {
return editorPane.getViewState();
}
@ -319,7 +319,7 @@ export class FileEditorInput extends AbstractTextResourceEditorInput implements
}
if (otherInput instanceof FileEditorInput) {
return extUri.isEqual(otherInput.resource, this.resource);
return isEqual(otherInput.resource, this.resource);
}
return false;

View file

@ -21,7 +21,7 @@ import { Registry } from 'vs/platform/registry/common/platform';
import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
import { EditorDescriptor, Extensions as EditorExtensions, IEditorRegistry } from 'vs/workbench/browser/editor';
import { Extensions as WorkbenchExtensions, IWorkbenchContribution, IWorkbenchContributionsRegistry } from 'vs/workbench/common/contributions';
import { ActiveEditorContext, Extensions as EditorInputExtensions, IEditorInputFactory, IEditorInputFactoryRegistry } from 'vs/workbench/common/editor';
import { ActiveEditorContext, Extensions as EditorInputExtensions, IEditorInputFactory, IEditorInputFactoryRegistry, toResource } from 'vs/workbench/common/editor';
import { IViewsService } from 'vs/workbench/common/views';
import { getSearchView } from 'vs/workbench/contrib/search/browser/searchActions';
import { searchRefreshIcon } from 'vs/workbench/contrib/search/browser/searchIcons';
@ -75,7 +75,7 @@ class SearchEditorContribution implements IWorkbenchContribution {
this.editorService.overrideOpenEditor({
open: (editor, options, group) => {
const resource = editor.resource;
const resource = toResource(editor, { usePreferredResource: true });
if (!resource) { return undefined; }
if (extname(resource) !== SEARCH_EDITOR_EXT) {

View file

@ -231,7 +231,7 @@ export class SearchEditorInput extends EditorInput {
if (other instanceof SearchEditorInput) {
return !!(other.modelUri.fragment && other.modelUri.fragment === this.modelUri.fragment);
} else if (this.fileEditorInputFactory.isFileEditorInput(other)) {
return other.resource?.toString() === this.backingUri?.toString();
return isEqual(other.resource, this.backingUri);
}
return false;
}

View file

@ -12,7 +12,7 @@ import { TextEditorOptions } from 'vs/workbench/common/editor';
import { ACTIVE_GROUP, IEditorService, SIDE_GROUP } from 'vs/workbench/services/editor/common/editorService';
import { ICodeEditorService } from 'vs/editor/browser/services/codeEditorService';
import { registerSingleton } from 'vs/platform/instantiation/common/extensions';
import { extUri } from 'vs/base/common/resources';
import { isEqual } from 'vs/base/common/resources';
export class CodeEditorService extends CodeEditorServiceImpl {
@ -48,13 +48,13 @@ export class CodeEditorService extends CodeEditorServiceImpl {
// side as separate editor.
const activeTextEditorControl = this.editorService.activeTextEditorControl;
if (
!sideBySide && // we need the current active group to be the taret
isDiffEditor(activeTextEditorControl) && // we only support this for active text diff editors
input.options && // we need options to apply
input.resource && // we need a request resource to compare with
activeTextEditorControl.getModel() && // we need a target model to compare with
source === activeTextEditorControl.getModifiedEditor() && // we need the source of this request to be the modified side of the diff editor
extUri.isEqual(input.resource, activeTextEditorControl.getModel()!.modified.uri) // we need the input resources to match with modified side
!sideBySide && // we need the current active group to be the taret
isDiffEditor(activeTextEditorControl) && // we only support this for active text diff editors
input.options && // we need options to apply
input.resource && // we need a request resource to compare with
activeTextEditorControl.getModel() && // we need a target model to compare with
source === activeTextEditorControl.getModifiedEditor() && // we need the source of this request to be the modified side of the diff editor
isEqual(input.resource, activeTextEditorControl.getModel()!.modified.uri) // we need the input resources to match with modified side
) {
const targetEditor = activeTextEditorControl.getModifiedEditor();

View file

@ -15,7 +15,7 @@ import { IFileService, FileOperationEvent, FileOperation, FileChangesEvent, File
import { Schemas } from 'vs/base/common/network';
import { Event, Emitter } from 'vs/base/common/event';
import { URI } from 'vs/base/common/uri';
import { basename, joinPath, extUri } from 'vs/base/common/resources';
import { basename, joinPath, isEqual } from 'vs/base/common/resources';
import { DiffEditorInput } from 'vs/workbench/common/editor/diffEditorInput';
import { IEditorGroupsService, IEditorGroup, GroupsOrder, IEditorReplacement, GroupChangeKind, preferredSideBySideGroupDirection, OpenEditorContext } from 'vs/workbench/services/editor/common/editorGroupsService';
import { IResourceEditorInputType, SIDE_GROUP, IResourceEditorReplacement, IOpenEditorOverrideHandler, IEditorService, SIDE_GROUP_TYPE, ACTIVE_GROUP_TYPE, ISaveEditorsOptions, ISaveAllEditorsOptions, IRevertAllEditorsOptions, IBaseSaveRevertAllEditorOptions, IOpenEditorOverrideEntry, ICustomEditorViewTypesHandler, ICustomEditorInfo } from 'vs/workbench/services/editor/common/editorService';
@ -250,7 +250,7 @@ export class EditorService extends Disposable implements EditorServiceImpl {
// Determine new resulting target resource
let targetResource: URI;
if (extUri.isEqual(source, resource)) {
if (isEqual(source, resource)) {
targetResource = target; // file got moved
} else {
const ignoreCase = !this.fileService.hasCapability(resource, FileSystemProviderCapabilities.PathCaseSensitive);
@ -941,7 +941,7 @@ export class EditorService extends Disposable implements EditorServiceImpl {
// In the unlikely case that a model exists for the original resource but
// differs from the canonical resource, we print a warning as this means
// the model will not be able to be opened as editor.
if (!extUri.isEqual(resource, canonicalResource) && this.modelService?.getModel(resource)) {
if (!isEqual(resource, canonicalResource) && this.modelService?.getModel(resource)) {
console.warn(`EditorService: a model exists for a resource that is not canonical: ${resource.toString(true)}`);
}

View file

@ -18,7 +18,7 @@ import { IInstantiationService } from 'vs/platform/instantiation/common/instanti
import { Schemas } from 'vs/base/common/network';
import { createTextBufferFactoryFromSnapshot, createTextBufferFactoryFromStream } from 'vs/editor/common/model/textModel';
import { IModelService } from 'vs/editor/common/services/modelService';
import { joinPath, dirname, basename, toLocalResource, extUri, extname } from 'vs/base/common/resources';
import { joinPath, dirname, basename, toLocalResource, extname, isEqual } from 'vs/base/common/resources';
import { IDialogService, IFileDialogService, IConfirmation } from 'vs/platform/dialogs/common/dialogs';
import { VSBuffer, VSBufferReadable, bufferToStream } from 'vs/base/common/buffer';
import { ITextSnapshot, ITextModel } from 'vs/editor/common/model';
@ -231,7 +231,7 @@ export abstract class AbstractTextFileService extends Disposable implements ITex
}
// Just save if target is same as models own resource
if (extUri.isEqual(source, target)) {
if (isEqual(source, target)) {
return this.save(source, { ...options, force: true /* force to save, even if not dirty (https://github.com/microsoft/vscode/issues/99619) */ });
}

View file

@ -23,7 +23,7 @@ import { CancellationToken } from 'vs/base/common/cancellation';
import { INotificationService } from 'vs/platform/notification/common/notification';
import { IWorkingCopyFileService, WorkingCopyFileEvent } from 'vs/workbench/services/workingCopy/common/workingCopyFileService';
import { ITextSnapshot, ITextBufferFactory } from 'vs/editor/common/model';
import { joinPath, extUri } from 'vs/base/common/resources';
import { joinPath, isEqualOrParent } from 'vs/base/common/resources';
import { createTextBufferFactoryFromSnapshot } from 'vs/editor/common/model/textModel';
import { PLAINTEXT_MODE_ID } from 'vs/editor/common/modes/modesRegistry';
import { IUriIdentityService } from 'vs/workbench/services/uriIdentity/common/uriIdentity';
@ -150,7 +150,7 @@ export class TextFileEditorModelManager extends Disposable implements ITextFileE
for (const model of this.models) {
const resource = model.resource;
if (extUri.isEqualOrParent(resource, target)) {
if (isEqualOrParent(resource, target)) {
// EXPLICITLY do not ignorecase, see https://github.com/microsoft/vscode/issues/56384
targetModels.push(model);
}

View file

@ -13,7 +13,7 @@ import { IEditorService } from 'vs/workbench/services/editor/common/editorServic
import { IEditorGroupsService } from 'vs/workbench/services/editor/common/editorGroupsService';
import { IFileService } from 'vs/platform/files/common/files';
import { IFilesConfigurationService } from 'vs/workbench/services/filesConfiguration/common/filesConfigurationService';
import { extUri } from 'vs/base/common/resources';
import { isEqual } from 'vs/base/common/resources';
/**
* An editor input to be used for untitled text buffers.
@ -128,7 +128,7 @@ export class UntitledTextEditorInput extends AbstractTextResourceEditorInput imp
}
if (otherInput instanceof UntitledTextEditorInput) {
return extUri.isEqual(otherInput.resource, this.resource);
return isEqual(otherInput.resource, this.resource);
}
return false;

View file

@ -14,7 +14,7 @@ import { ConfigurationScope, IConfigurationRegistry, Extensions as Configuration
import { Registry } from 'vs/platform/registry/common/platform';
import { ICommandService } from 'vs/platform/commands/common/commands';
import { distinct } from 'vs/base/common/arrays';
import { isEqualAuthority, extUri } from 'vs/base/common/resources';
import { isEqual, isEqualAuthority } from 'vs/base/common/resources';
import { INotificationService, Severity } from 'vs/platform/notification/common/notification';
import { IFileService } from 'vs/platform/files/common/files';
import { IWorkbenchEnvironmentService } from 'vs/workbench/services/environment/common/environmentService';
@ -220,7 +220,7 @@ export abstract class AbstractWorkspaceEditingService implements IWorkspaceEditi
}
// Allow to save the workspace of the current window
if (extUri.isEqual(workspaceIdentifier.configPath, path)) {
if (isEqual(workspaceIdentifier.configPath, path)) {
return this.saveWorkspace(workspaceIdentifier);
}