mirror of
https://github.com/microsoft/vscode.git
synced 2026-04-24 18:49:00 +01:00
Merge branch 'master' into scm-api
This commit is contained in:
@@ -298,7 +298,7 @@ export function createApiFactory(initData: IInitData, threadService: IThreadServ
|
||||
return extHostQuickOpen.showInput(options, token);
|
||||
},
|
||||
createStatusBarItem(position?: vscode.StatusBarAlignment, priority?: number): vscode.StatusBarItem {
|
||||
return extHostStatusBar.createStatusBarEntry(<number>position, priority);
|
||||
return extHostStatusBar.createStatusBarEntry(extension.id, <number>position, priority);
|
||||
},
|
||||
setStatusBarMessage(text: string, timeoutOrThenable?: number | Thenable<any>): vscode.Disposable {
|
||||
return extHostStatusBar.setStatusBarMessage(text, timeoutOrThenable);
|
||||
|
||||
@@ -29,7 +29,7 @@ import * as modes from 'vs/editor/common/modes';
|
||||
import { IResourceEdit } from 'vs/editor/common/services/bulkEdit';
|
||||
|
||||
import { ConfigurationTarget } from 'vs/workbench/services/configuration/common/configurationEditing';
|
||||
import { IWorkspaceConfiguration } from 'vs/workbench/services/configuration/common/configuration';
|
||||
import { IWorkspaceConfigurationValues } from 'vs/workbench/services/configuration/common/configuration';
|
||||
|
||||
import { IPickOpenEntry, IPickOptions } from 'vs/workbench/services/quickopen/common/quickOpenService';
|
||||
import { SaveReason } from 'vs/workbench/services/textfile/common/textfiles';
|
||||
@@ -54,7 +54,7 @@ export interface IInitData {
|
||||
workspace: IWorkspace;
|
||||
};
|
||||
extensions: IExtensionDescription[];
|
||||
configuration: IWorkspaceConfiguration;
|
||||
configuration: IWorkspaceConfigurationValues;
|
||||
telemetryInfo: ITelemetryInfo;
|
||||
}
|
||||
|
||||
@@ -201,7 +201,7 @@ export abstract class MainThreadQuickOpenShape {
|
||||
}
|
||||
|
||||
export abstract class MainThreadStatusBarShape {
|
||||
$setEntry(id: number, text: string, tooltip: string, command: string, color: string, alignment: MainThreadStatusBarAlignment, priority: number): void { throw ni(); }
|
||||
$setEntry(id: number, extensionId: string, text: string, tooltip: string, command: string, color: string, alignment: MainThreadStatusBarAlignment, priority: number): void { throw ni(); }
|
||||
$dispose(id: number) { throw ni(); }
|
||||
}
|
||||
|
||||
@@ -241,7 +241,7 @@ export abstract class ExtHostCommandsShape {
|
||||
}
|
||||
|
||||
export abstract class ExtHostConfigurationShape {
|
||||
$acceptConfigurationChanged(entries: IWorkspaceConfiguration) { throw ni(); }
|
||||
$acceptConfigurationChanged(values: IWorkspaceConfigurationValues) { throw ni(); }
|
||||
}
|
||||
|
||||
export abstract class ExtHostDiagnosticsShape {
|
||||
|
||||
@@ -9,7 +9,7 @@ import Event, { Emitter } from 'vs/base/common/event';
|
||||
import { WorkspaceConfiguration } from 'vscode';
|
||||
import { ExtHostConfigurationShape, MainThreadConfigurationShape } from './extHost.protocol';
|
||||
import { ConfigurationTarget } from 'vs/workbench/services/configuration/common/configurationEditing';
|
||||
import { IWorkspaceConfiguration } from 'vs/workbench/services/configuration/common/configuration';
|
||||
import { IWorkspaceConfigurationValues } from 'vs/workbench/services/configuration/common/configuration';
|
||||
import { toValuesTree } from 'vs/platform/configuration/common/model';
|
||||
|
||||
function lookUp(tree: any, key: string) {
|
||||
@@ -24,11 +24,11 @@ function lookUp(tree: any, key: string) {
|
||||
}
|
||||
|
||||
interface UsefulConfiguration {
|
||||
data: IWorkspaceConfiguration;
|
||||
data: IWorkspaceConfigurationValues;
|
||||
valueTree: any;
|
||||
}
|
||||
|
||||
function createUsefulConfiguration(data: IWorkspaceConfiguration): { data: IWorkspaceConfiguration, valueTree: any } {
|
||||
function createUsefulConfiguration(data: IWorkspaceConfigurationValues): { data: IWorkspaceConfigurationValues, valueTree: any } {
|
||||
const valueMap: { [key: string]: any } = Object.create(null);
|
||||
for (let key in data) {
|
||||
if (Object.prototype.hasOwnProperty.call(data, key)) {
|
||||
@@ -48,7 +48,7 @@ export class ExtHostConfiguration extends ExtHostConfigurationShape {
|
||||
private _proxy: MainThreadConfigurationShape;
|
||||
private _configuration: UsefulConfiguration;
|
||||
|
||||
constructor(proxy: MainThreadConfigurationShape, data: IWorkspaceConfiguration) {
|
||||
constructor(proxy: MainThreadConfigurationShape, data: IWorkspaceConfigurationValues) {
|
||||
super();
|
||||
this._proxy = proxy;
|
||||
this._configuration = createUsefulConfiguration(data);
|
||||
@@ -58,7 +58,7 @@ export class ExtHostConfiguration extends ExtHostConfigurationShape {
|
||||
return this._onDidChangeConfiguration && this._onDidChangeConfiguration.event;
|
||||
}
|
||||
|
||||
public $acceptConfigurationChanged(data: IWorkspaceConfiguration) {
|
||||
public $acceptConfigurationChanged(data: IWorkspaceConfigurationValues) {
|
||||
this._configuration = createUsefulConfiguration(data);
|
||||
this._onDidChangeConfiguration.fire(undefined);
|
||||
}
|
||||
|
||||
@@ -27,11 +27,14 @@ export class ExtHostStatusBarEntry implements StatusBarItem {
|
||||
private _timeoutHandle: number;
|
||||
private _proxy: MainThreadStatusBarShape;
|
||||
|
||||
constructor(proxy: MainThreadStatusBarShape, alignment: ExtHostStatusBarAlignment = ExtHostStatusBarAlignment.Left, priority?: number) {
|
||||
private _extensionId: string;
|
||||
|
||||
constructor(proxy: MainThreadStatusBarShape, extensionId: string, alignment: ExtHostStatusBarAlignment = ExtHostStatusBarAlignment.Left, priority?: number) {
|
||||
this._id = ExtHostStatusBarEntry.ID_GEN++;
|
||||
this._proxy = proxy;
|
||||
this._alignment = alignment;
|
||||
this._priority = priority;
|
||||
this._extensionId = extensionId;
|
||||
}
|
||||
|
||||
public get id(): number {
|
||||
@@ -105,7 +108,7 @@ export class ExtHostStatusBarEntry implements StatusBarItem {
|
||||
this._timeoutHandle = undefined;
|
||||
|
||||
// Set to status bar
|
||||
this._proxy.$setEntry(this.id, this.text, this.tooltip, this.command, this.color,
|
||||
this._proxy.$setEntry(this.id, this._extensionId, this.text, this.tooltip, this.command, this.color,
|
||||
this._alignment === ExtHostStatusBarAlignment.Left ? MainThreadStatusBarAlignment.LEFT : MainThreadStatusBarAlignment.RIGHT,
|
||||
this._priority);
|
||||
}, 0);
|
||||
@@ -123,7 +126,7 @@ class StatusBarMessage {
|
||||
private _messages: { message: string }[] = [];
|
||||
|
||||
constructor(statusBar: ExtHostStatusBar) {
|
||||
this._item = statusBar.createStatusBarEntry(ExtHostStatusBarAlignment.Left, Number.MIN_VALUE);
|
||||
this._item = statusBar.createStatusBarEntry(void 0, ExtHostStatusBarAlignment.Left, Number.MIN_VALUE);
|
||||
}
|
||||
|
||||
dispose() {
|
||||
@@ -165,8 +168,8 @@ export class ExtHostStatusBar {
|
||||
this._statusMessage = new StatusBarMessage(this);
|
||||
}
|
||||
|
||||
createStatusBarEntry(alignment?: ExtHostStatusBarAlignment, priority?: number): StatusBarItem {
|
||||
return new ExtHostStatusBarEntry(this._proxy, alignment, priority);
|
||||
createStatusBarEntry(extensionId: string, alignment?: ExtHostStatusBarAlignment, priority?: number): StatusBarItem {
|
||||
return new ExtHostStatusBarEntry(this._proxy, extensionId, alignment, priority);
|
||||
}
|
||||
|
||||
setStatusBarMessage(text: string, timeoutOrThenable?: number | Thenable<any>): Disposable {
|
||||
|
||||
@@ -524,6 +524,10 @@ export class WorkspaceEdit {
|
||||
|
||||
export class SnippetString {
|
||||
|
||||
private static _escape(value: string): string {
|
||||
return value.replace(/\$|}|\\/g, '\\$&');
|
||||
}
|
||||
|
||||
private _tabstop: number = 1;
|
||||
|
||||
value: string;
|
||||
@@ -533,7 +537,7 @@ export class SnippetString {
|
||||
}
|
||||
|
||||
appendText(string: string): SnippetString {
|
||||
this.value += string.replace(/\$/g, '\\$');
|
||||
this.value += SnippetString._escape(string);
|
||||
return this;
|
||||
}
|
||||
|
||||
@@ -552,7 +556,7 @@ export class SnippetString {
|
||||
this._tabstop = nested._tabstop;
|
||||
value = nested.value;
|
||||
} else {
|
||||
value = value.replace(/\$|}/g, '\\$&');
|
||||
value = SnippetString._escape(value);
|
||||
}
|
||||
|
||||
this.value += '${';
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
import { TPromise } from 'vs/base/common/winjs.base';
|
||||
import { IDisposable, dispose } from 'vs/base/common/lifecycle';
|
||||
import { IThreadService } from 'vs/workbench/services/thread/common/threadService';
|
||||
import { IWorkspaceConfigurationService, getEntries } from 'vs/workbench/services/configuration/common/configuration';
|
||||
import { IWorkspaceConfigurationService } from 'vs/workbench/services/configuration/common/configuration';
|
||||
import { IConfigurationEditingService, ConfigurationTarget } from 'vs/workbench/services/configuration/common/configurationEditing';
|
||||
import { MainThreadConfigurationShape, ExtHostContext } from './extHost.protocol';
|
||||
|
||||
@@ -26,8 +26,7 @@ export class MainThreadConfiguration extends MainThreadConfigurationShape {
|
||||
const proxy = threadService.get(ExtHostContext.ExtHostConfiguration);
|
||||
|
||||
this._toDispose = configurationService.onDidUpdateConfiguration(() => {
|
||||
const entries = getEntries(configurationService);
|
||||
proxy.$acceptConfigurationChanged(entries);
|
||||
proxy.$acceptConfigurationChanged(configurationService.values());
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -18,13 +18,13 @@ export class MainThreadStatusBar extends MainThreadStatusBarShape {
|
||||
this.mapIdToDisposable = Object.create(null);
|
||||
}
|
||||
|
||||
$setEntry(id: number, text: string, tooltip: string, command: string, color: string, alignment: MainThreadStatusBarAlignment, priority: number): void {
|
||||
$setEntry(id: number, extensionId: string, text: string, tooltip: string, command: string, color: string, alignment: MainThreadStatusBarAlignment, priority: number): void {
|
||||
|
||||
// Dispose any old
|
||||
this.$dispose(id);
|
||||
|
||||
// Add new
|
||||
let disposeable = this.statusbarService.addEntry({ text, tooltip, command, color }, alignment, priority);
|
||||
let disposeable = this.statusbarService.addEntry({ text, tooltip, command, color, extensionId }, alignment, priority);
|
||||
this.mapIdToDisposable[id] = disposeable;
|
||||
}
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
import { TPromise } from 'vs/base/common/winjs.base';
|
||||
import { IThreadService } from 'vs/workbench/services/thread/common/threadService';
|
||||
import { ExtHostContext, MainThreadTreeExplorersShape, ExtHostTreeExplorersShape } from './extHost.protocol';
|
||||
import { ICustomTreeExplorerService } from 'vs/workbench/parts/explorers/common/customTreeExplorerService';
|
||||
import { ITreeExplorerService } from 'vs/workbench/parts/explorers/common/treeExplorerService';
|
||||
import { InternalTreeExplorerNodeContent } from 'vs/workbench/parts/explorers/common/treeExplorerViewModel';
|
||||
import { IMessageService, Severity } from 'vs/platform/message/common/message';
|
||||
import { ICommandService } from 'vs/platform/commands/common/commands';
|
||||
@@ -17,7 +17,7 @@ export class MainThreadTreeExplorers extends MainThreadTreeExplorersShape {
|
||||
|
||||
constructor(
|
||||
@IThreadService private threadService: IThreadService,
|
||||
@ICustomTreeExplorerService private treeExplorerService: ICustomTreeExplorerService,
|
||||
@ITreeExplorerService private treeExplorerService: ITreeExplorerService,
|
||||
@IMessageService private messageService: IMessageService,
|
||||
@ICommandService private commandService: ICommandService
|
||||
) {
|
||||
|
||||
Reference in New Issue
Block a user