提交 2e3358d5 编写于 作者: B Benjamin Pasero

get rid of ITextInput and IFileInput

上级 e4821577
......@@ -33,15 +33,12 @@ export interface ITextEditorModel extends IEditorModel {
textEditorModel: any;
}
export interface IResourceInput extends ITextInput {
export interface IResourceInput {
/**
* The resource URL of the resource to open.
*/
resource: URI;
}
export interface ITextInput {
/**
* The mime type of the text input if known.
......
......@@ -15,7 +15,8 @@ import {Registry} from 'vs/platform/platform';
import {Mode, IContext, IAutoFocus, IModel} from 'vs/base/parts/quickopen/common/quickOpen';
import {QuickOpenEntry, IHighlight, QuickOpenEntryGroup, QuickOpenModel} from 'vs/base/parts/quickopen/browser/quickOpenModel';
import {EditorOptions, EditorInput} from 'vs/workbench/common/editor';
import {IFileInput, IWorkbenchEditorService} from 'vs/workbench/services/editor/common/editorService';
import {IResourceInput} from 'vs/platform/editor/common/editor';
import {IWorkbenchEditorService} from 'vs/workbench/services/editor/common/editorService';
import {IQuickOpenService} from 'vs/workbench/services/quickopen/common/quickOpenService';
import {AsyncDescriptor} from 'vs/platform/instantiation/common/descriptors';
......@@ -194,7 +195,7 @@ export interface IEditorQuickOpenEntry {
/**
* The editor input used for this entry when opening.
*/
getInput(): IFileInput | EditorInput;
getInput(): IResourceInput | EditorInput;
/**
* The editor options used for this entry when opening.
......@@ -215,7 +216,7 @@ export class EditorQuickOpenEntry extends QuickOpenEntry implements IEditorQuick
return this._editorService;
}
public getInput(): IFileInput | EditorInput {
public getInput(): IResourceInput | EditorInput {
return null;
}
......@@ -232,7 +233,7 @@ export class EditorQuickOpenEntry extends QuickOpenEntry implements IEditorQuick
if (input instanceof EditorInput) {
this.editorService.openEditor(input, this.getOptions(), sideBySide).done(null, errors.onUnexpectedError);
} else {
this.editorService.openEditor(<IFileInput>input, sideBySide).done(null, errors.onUnexpectedError);
this.editorService.openEditor(<IResourceInput>input, sideBySide).done(null, errors.onUnexpectedError);
}
return true;
......
......@@ -10,7 +10,7 @@ import types = require('vs/base/common/types');
import URI from 'vs/base/common/uri';
import objects = require('vs/base/common/objects');
import {IEditor, IEditorViewState, IRange} from 'vs/editor/common/editorCommon';
import {IEditorInput, IEditorModel, IEditorOptions, ITextInput} from 'vs/platform/editor/common/editor';
import {IEditorInput, IEditorModel, IEditorOptions, IResourceInput} from 'vs/platform/editor/common/editor';
/**
* A simple bag for input related status that can be shown in the UI
......@@ -308,23 +308,23 @@ export class TextEditorOptions extends EditorOptions {
private endColumn: number;
private editorViewState: IEditorViewState;
public static from(textInput: ITextInput): TextEditorOptions {
public static from(input: IResourceInput): TextEditorOptions {
let options: TextEditorOptions = null;
if (textInput && textInput.options) {
if (textInput.options.selection || textInput.options.forceOpen || textInput.options.preserveFocus) {
if (input && input.options) {
if (input.options.selection || input.options.forceOpen || input.options.preserveFocus) {
options = new TextEditorOptions();
}
if (textInput.options.selection) {
let selection = textInput.options.selection;
if (input.options.selection) {
let selection = input.options.selection;
options.selection(selection.startLineNumber, selection.startColumn, selection.endLineNumber, selection.endColumn);
}
if (textInput.options.forceOpen) {
if (input.options.forceOpen) {
options.forceOpen = true;
}
if (textInput.options.preserveFocus) {
if (input.options.preserveFocus) {
options.preserveFocus = true;
}
}
......
......@@ -17,7 +17,8 @@ import {QuickOpenHandler, EditorQuickOpenEntry} from 'vs/workbench/browser/quick
import {QueryBuilder} from 'vs/workbench/parts/search/common/searchQuery';
import {ITextFileService} from 'vs/workbench/parts/files/common/files';
import {EditorInput} from 'vs/workbench/common/editor';
import {IWorkbenchEditorService, IFileInput} from 'vs/workbench/services/editor/common/editorService';
import {IResourceInput} from 'vs/platform/editor/common/editor';
import {IWorkbenchEditorService} from 'vs/workbench/services/editor/common/editorService';
import {IConfigurationService} from 'vs/platform/configuration/common/configuration';
import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
import {IMessageService} from 'vs/platform/message/common/message';
......@@ -65,8 +66,8 @@ export class FileEntry extends EditorQuickOpenEntry {
this.range = range;
}
public getInput(): IFileInput | EditorInput {
let input: IFileInput = {
public getInput(): IResourceInput | EditorInput {
let input: IResourceInput = {
resource: this.resource,
};
......
......@@ -15,7 +15,8 @@ import filters = require('vs/base/common/filters');
import {IRange} from 'vs/editor/common/editorCommon';
import {EditorInput} from 'vs/workbench/common/editor';
import labels = require('vs/base/common/labels');
import {IWorkbenchEditorService, IFileInput} from 'vs/workbench/services/editor/common/editorService';
import {IResourceInput} from 'vs/platform/editor/common/editor';
import {IWorkbenchEditorService} from 'vs/workbench/services/editor/common/editorService';
import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
import {IWorkspaceContextService} from 'vs/platform/workspace/common/workspace';
import {IModeService} from 'vs/editor/common/services/modeService';
......@@ -65,8 +66,8 @@ class SymbolEntry extends EditorQuickOpenEntry {
return this.type;
}
public getInput(): IFileInput | EditorInput {
let input: IFileInput = {
public getInput(): IResourceInput | EditorInput {
let input: IResourceInput = {
resource: this.resource,
};
......
......@@ -17,7 +17,7 @@ import {EditorInput, EditorOptions, IFileEditorInput, TextEditorOptions} from 'v
import {UntitledEditorInput} from 'vs/workbench/common/editor/untitledEditorInput';
import {DiffEditorInput} from 'vs/workbench/common/editor/diffEditorInput';
import {IUntitledEditorService} from 'vs/workbench/services/untitled/common/untitledEditorService';
import {IWorkbenchEditorService, EditorArrangement, IFileInput} from 'vs/workbench/services/editor/common/editorService';
import {IWorkbenchEditorService, EditorArrangement} from 'vs/workbench/services/editor/common/editorService';
import {IEditorInput, IEditorModel, IEditorOptions, Position, IEditor, IResourceInput, ITextEditorModel} from 'vs/platform/editor/common/editor';
import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
import {AsyncDescriptor} from 'vs/platform/instantiation/common/descriptors';
......@@ -100,7 +100,6 @@ export class WorkbenchEditorService implements IWorkbenchEditorService {
public setEditors(inputs: IEditorInput[], options?: IEditorOptions[]): TPromise<IEditor[]>;
public setEditors(inputs: IResourceInput[]): TPromise<IEditor[]>;
public setEditors(inputs: IFileInput[]): TPromise<IEditor[]>;
public setEditors(inputs: any[], options?: any[]): TPromise<IEditor[]> {
return Promise.join(inputs.map((input) => this.inputToType(input))).then((typedInputs) => {
return this.editorPart.setEditors(typedInputs, options || inputs.map(input => {
......@@ -117,8 +116,6 @@ export class WorkbenchEditorService implements IWorkbenchEditorService {
public openEditor(input: IEditorInput, options?: IEditorOptions, position?: Position): TPromise<IEditor>;
public openEditor(input: IResourceInput, position?: Position): TPromise<IEditor>;
public openEditor(input: IResourceInput, sideBySide?: boolean): TPromise<IEditor>;
public openEditor(input: IFileInput, position?: Position): TPromise<IEditor>;
public openEditor(input: IFileInput, sideBySide?: boolean): TPromise<IEditor>;
public openEditor(input: any, arg2?: any, arg3?: any): TPromise<IEditor> {
// Support for closing an opened editor at a position by passing null as input
......@@ -218,7 +215,6 @@ export class WorkbenchEditorService implements IWorkbenchEditorService {
public resolveEditorModel(input: IEditorInput, refresh?: boolean): TPromise<IEditorModel>;
public resolveEditorModel(input: IResourceInput, refresh?: boolean): TPromise<ITextEditorModel>;
public resolveEditorModel(input: IFileInput, refresh?: boolean): TPromise<ITextEditorModel>;
public resolveEditorModel(input: any, refresh?: boolean): TPromise<IEditorModel> {
return this.inputToType(input).then((workbenchInput: IEditorInput) => {
if (workbenchInput) {
......
......@@ -7,15 +7,7 @@
import {TPromise} from 'vs/base/common/winjs.base';
import URI from 'vs/base/common/uri';
import {createDecorator, ServiceIdentifier} from 'vs/platform/instantiation/common/instantiation';
import {IEditorService, IEditor, IEditorInput, IEditorOptions, Position, IResourceInput, ITextInput, IEditorModel, ITextEditorModel} from 'vs/platform/editor/common/editor';
export interface IFileInput extends ITextInput {
/**
* The file resource of the file.
*/
resource: URI;
}
import {IEditorService, IEditor, IEditorInput, IEditorOptions, Position, IResourceInput, IEditorModel, ITextEditorModel} from 'vs/platform/editor/common/editor';
export enum EditorArrangement {
MINIMIZE_OTHERS,
......@@ -68,19 +60,12 @@ export interface IWorkbenchEditorService extends IEditorService {
openEditor(input: IResourceInput, position?: Position): TPromise<IEditor>;
openEditor(input: IResourceInput, sideBySide?: boolean): TPromise<IEditor>;
/**
* Specific overload to open an instance of IFileInput.
*/
openEditor(input: IFileInput, position?: Position): TPromise<IEditor>;
openEditor(input: IFileInput, sideBySide?: boolean): TPromise<IEditor>;
/**
* Opens the set of inputs replacing any other editor that is currently open. Use #openEditor() instead to open
* a single editor.
*/
setEditors(inputs: IEditorInput[]): TPromise<IEditor[]>;
setEditors(inputs: IResourceInput[]): TPromise<IEditor[]>;
setEditors(inputs: IFileInput[]): TPromise<IEditor[]>;
/**
* Closes the editor at the provided position. If position is not provided, the current active editor is closed.
......@@ -121,11 +106,6 @@ export interface IWorkbenchEditorService extends IEditorService {
*/
resolveEditorModel(input: IResourceInput, refresh?: boolean): TPromise<ITextEditorModel>;
/**
* Specific overload to resolve a IFileInput to an editor model with a text representation.
*/
resolveEditorModel(input: IFileInput, refresh?: boolean): TPromise<ITextEditorModel>;
/**
* Allows to resolve an untyped input to a workbench typed instanceof editor input
*/
......
......@@ -23,7 +23,7 @@ import URI from 'vs/base/common/uri';
import {create} from 'vs/platform/instantiation/common/instantiationService';
import {EventType, EditorEvent} from 'vs/workbench/common/events';
import {Promise, TPromise} from 'vs/base/common/winjs.base';
import {IEditorInput, IEditorModel, IEditorOptions, ITextInput, Position, IEditor, IResourceInput, ITextEditorModel} from 'vs/platform/editor/common/editor';
import {IEditorInput, IEditorModel, IEditorOptions, Position, IEditor, IResourceInput, ITextEditorModel} from 'vs/platform/editor/common/editor';
function toResource(path) {
return URI.file(join('C:\\', path));
......
......@@ -38,7 +38,7 @@ import WorkspaceContextService = require('vs/workbench/services/workspace/common
import ViewletCommon = require('vs/workbench/common/viewlet');
import Files = require('vs/platform/files/common/files');
import {BaseWorkspaceContextService} from 'vs/platform/workspace/common/baseWorkspaceContextService';
import {IEditorInput, IEditorModel, IEditorOptions, ITextInput, Position, IEditor, IResourceInput, ITextEditorModel} from 'vs/platform/editor/common/editor';
import {IEditorInput, IEditorModel, IEditorOptions, Position, IEditor, IResourceInput, ITextEditorModel} from 'vs/platform/editor/common/editor';
import {IEventService} from 'vs/platform/event/common/event';
import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
import {IUntitledEditorService} from 'vs/workbench/services/untitled/common/untitledEditorService';
......@@ -397,7 +397,6 @@ export class TestEditorService implements WorkbenchEditorService.IWorkbenchEdito
public resolveEditorModel(input: IEditorInput, refresh?: boolean): TPromise<IEditorModel>;
public resolveEditorModel(input: IResourceInput, refresh?: boolean): TPromise<ITextEditorModel>;
public resolveEditorModel(input: WorkbenchEditorService.IFileInput, refresh?: boolean): TPromise<ITextEditorModel>;
public resolveEditorModel(input: any, refresh?: boolean): Promise {
this.callback('resolveEditorModel');
......@@ -421,7 +420,7 @@ export class TestEditorService implements WorkbenchEditorService.IWorkbenchEdito
return TPromise.as(null);
}
public inputToType(input: ITextInput): TPromise<IEditorInput> {
public inputToType(input: IResourceInput): TPromise<IEditorInput> {
return Promise.as(null);
}
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册