mirror of
https://github.com/microsoft/vscode.git
synced 2026-04-26 11:38:51 +01:00
Adds ShowTextDocumentOptions interface
Moves column into the options Removes overloads from the proxy
This commit is contained in:
@@ -299,8 +299,8 @@ export function createApiFactory(
|
||||
get visibleTextEditors() {
|
||||
return extHostEditors.getVisibleTextEditors();
|
||||
},
|
||||
showTextDocument(document: vscode.TextDocument, column?: vscode.ViewColumn, preserveFocus?: boolean): TPromise<vscode.TextEditor> {
|
||||
return extHostEditors.showTextDocument(document, column, preserveFocus);
|
||||
showTextDocument(document: vscode.TextDocument, columnOrOptions?: vscode.ViewColumn | vscode.ShowTextDocumentOptions, preserveFocus?: boolean): TPromise<vscode.TextEditor> {
|
||||
return extHostEditors.showTextDocument(document, columnOrOptions, preserveFocus);
|
||||
},
|
||||
createTextEditorDecorationType(options: vscode.DecorationRenderOptions): vscode.TextEditorDecorationType {
|
||||
return extHostEditors.createTextEditorDecorationType(options);
|
||||
|
||||
@@ -134,10 +134,7 @@ export abstract class MainThreadDocumentsShape {
|
||||
}
|
||||
|
||||
export abstract class MainThreadEditorsShape {
|
||||
$tryShowTextDocument(resource: URI, position: EditorPosition, preserveFocus: boolean): TPromise<string>;
|
||||
$tryShowTextDocument(resource: URI, position: EditorPosition, options: { preserveFocus: boolean, pinned: boolean }): TPromise<string>;
|
||||
$tryShowTextDocument(resource: URI, position: EditorPosition, preserveFocusOrOptions: boolean | { preserveFocus: boolean, pinned: boolean }): TPromise<string>;
|
||||
$tryShowTextDocument(resource: URI, position: EditorPosition, preserveFocusOrOptions: boolean | { preserveFocus: boolean, pinned: boolean }): TPromise<string> { throw ni(); }
|
||||
$tryShowTextDocument(resource: URI, options: vscode.ShowTextDocumentOptions): TPromise<string> { throw ni(); }
|
||||
$registerTextEditorDecorationType(key: string, options: editorCommon.IDecorationRenderOptions): void { throw ni(); }
|
||||
$removeTextEditorDecorationType(key: string): void { throw ni(); }
|
||||
$tryShowEditor(id: string, position: EditorPosition): TPromise<void> { throw ni(); }
|
||||
|
||||
@@ -56,9 +56,25 @@ export class ExtHostEditors extends ExtHostEditorsShape {
|
||||
}
|
||||
|
||||
showTextDocument(document: vscode.TextDocument, column: vscode.ViewColumn, preserveFocus: boolean): TPromise<vscode.TextEditor>;
|
||||
showTextDocument(document: vscode.TextDocument, column: vscode.ViewColumn, options: { preserveFocus: boolean, pinned: boolean }): TPromise<vscode.TextEditor>;
|
||||
showTextDocument(document: vscode.TextDocument, column: vscode.ViewColumn, preserveFocusOrOptions: boolean | { preserveFocus: boolean, pinned: boolean }): TPromise<vscode.TextEditor> {
|
||||
return this._proxy.$tryShowTextDocument(<URI>document.uri, TypeConverters.fromViewColumn(column), preserveFocusOrOptions).then(id => {
|
||||
showTextDocument(document: vscode.TextDocument, options: { column: vscode.ViewColumn, preserveFocus: boolean, pinned: boolean }): TPromise<vscode.TextEditor>;
|
||||
showTextDocument(document: vscode.TextDocument, columnOrOptions: vscode.ViewColumn | vscode.ShowTextDocumentOptions, preserveFocus?: boolean): TPromise<vscode.TextEditor>;
|
||||
showTextDocument(document: vscode.TextDocument, columnOrOptions: vscode.ViewColumn | vscode.ShowTextDocumentOptions, preserveFocus?: boolean): TPromise<vscode.TextEditor> {
|
||||
let options: vscode.ShowTextDocumentOptions;
|
||||
if (typeof columnOrOptions === 'number') {
|
||||
options = {
|
||||
column: columnOrOptions,
|
||||
preserveFocus: preserveFocus,
|
||||
pinned: true
|
||||
};
|
||||
} else {
|
||||
options = {
|
||||
column: columnOrOptions.column,
|
||||
preserveFocus: columnOrOptions.preserveFocus,
|
||||
pinned: columnOrOptions.pinned === undefined ? true : columnOrOptions.pinned
|
||||
};
|
||||
}
|
||||
|
||||
return this._proxy.$tryShowTextDocument(<URI>document.uri, options).then(id => {
|
||||
let editor = this._extHostDocumentsAndEditors.getEditor(id);
|
||||
if (editor) {
|
||||
return editor;
|
||||
|
||||
@@ -12,7 +12,8 @@ import { ISingleEditOperation, IDecorationRenderOptions, IDecorationOptions, ILi
|
||||
import { ICodeEditorService } from 'vs/editor/common/services/codeEditorService';
|
||||
import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService';
|
||||
import { IEditorGroupService } from 'vs/workbench/services/group/common/groupService';
|
||||
import { Position as EditorPosition } from 'vs/platform/editor/common/editor';
|
||||
import { IEditorOptions, Position as EditorPosition } from 'vs/platform/editor/common/editor';
|
||||
import * as TypeConverters from './extHostTypeConverters';
|
||||
import { TextEditorRevealType, MainThreadTextEditor, IApplyEditsOptions, IUndoStopOptions, ITextEditorConfigurationUpdate } from 'vs/workbench/api/node/mainThreadEditor';
|
||||
import { MainThreadDocumentsAndEditors } from './mainThreadDocumentsAndEditors';
|
||||
import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
|
||||
@@ -20,6 +21,7 @@ import { equals as objectEquals } from 'vs/base/common/objects';
|
||||
import { ExtHostContext, MainThreadEditorsShape, ExtHostEditorsShape, ITextEditorPositionData } from './extHost.protocol';
|
||||
import { IRange } from "vs/editor/common/core/range";
|
||||
import { ISelection } from "vs/editor/common/core/selection";
|
||||
import * as vscode from 'vscode';
|
||||
|
||||
export class MainThreadEditors extends MainThreadEditorsShape {
|
||||
|
||||
@@ -104,27 +106,16 @@ export class MainThreadEditors extends MainThreadEditorsShape {
|
||||
|
||||
// --- from extension host process
|
||||
|
||||
$tryShowTextDocument(resource: URI, position: EditorPosition, preserveFocus: boolean): TPromise<string>;
|
||||
$tryShowTextDocument(resource: URI, position: EditorPosition, options: { preserveFocus: boolean, pinned: boolean }): TPromise<string>;
|
||||
$tryShowTextDocument(resource: URI, position: EditorPosition, preserveFocusOrOptions: boolean | { preserveFocus: boolean, pinned: boolean }): TPromise<string>;
|
||||
$tryShowTextDocument(resource: URI, position: EditorPosition, preserveFocusOrOptions: boolean | { preserveFocus: boolean, pinned: boolean }): TPromise<string> {
|
||||
|
||||
let options: { preserveFocus: boolean, pinned: boolean };
|
||||
if (typeof preserveFocusOrOptions === 'object') {
|
||||
options = {
|
||||
preserveFocus: preserveFocusOrOptions.preserveFocus,
|
||||
pinned: preserveFocusOrOptions.pinned === undefined ? true : preserveFocusOrOptions.pinned
|
||||
};
|
||||
} else {
|
||||
options = {
|
||||
preserveFocus: preserveFocusOrOptions,
|
||||
pinned: true
|
||||
};
|
||||
}
|
||||
$tryShowTextDocument(resource: URI, options: vscode.ShowTextDocumentOptions): TPromise<string> {
|
||||
const position: EditorPosition = TypeConverters.fromViewColumn(options.column);
|
||||
const editorOptions: IEditorOptions = {
|
||||
preserveFocus: options.preserveFocus,
|
||||
pinned: options.pinned
|
||||
};
|
||||
|
||||
const input = {
|
||||
resource,
|
||||
options
|
||||
options: editorOptions
|
||||
};
|
||||
|
||||
return this._workbenchEditorService.openEditor(input, position).then(editor => {
|
||||
|
||||
Reference in New Issue
Block a user