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

get rid of ITextInput and IFileInput

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