mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-02 17:23:40 -05:00
VSCode merge (#4610)
* Merge from vscode e388c734f30757875976c7e326d6cfeee77710de * fix yarn lcoks * remove small issue
This commit is contained in:
1263
src/vs/workbench/api/common/extHost.protocol.ts
Normal file
1263
src/vs/workbench/api/common/extHost.protocol.ts
Normal file
File diff suppressed because it is too large
Load Diff
62
src/vs/workbench/api/common/extHostCustomers.ts
Normal file
62
src/vs/workbench/api/common/extHostCustomers.ts
Normal file
@@ -0,0 +1,62 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { IDisposable } from 'vs/base/common/lifecycle';
|
||||
import { IConstructorSignature1 } from 'vs/platform/instantiation/common/instantiation';
|
||||
import { IExtHostContext } from 'vs/workbench/api/common/extHost.protocol';
|
||||
import { ProxyIdentifier } from 'vs/workbench/services/extensions/common/proxyIdentifier';
|
||||
|
||||
export type IExtHostNamedCustomer<T extends IDisposable> = [ProxyIdentifier<T>, IExtHostCustomerCtor<T>];
|
||||
|
||||
export type IExtHostCustomerCtor<T extends IDisposable> = IConstructorSignature1<IExtHostContext, T>;
|
||||
|
||||
export function extHostNamedCustomer<T extends IDisposable>(id: ProxyIdentifier<T>) {
|
||||
return function (ctor: IExtHostCustomerCtor<T>): void {
|
||||
ExtHostCustomersRegistryImpl.INSTANCE.registerNamedCustomer(id, ctor);
|
||||
};
|
||||
}
|
||||
|
||||
export function extHostCustomer<T extends IDisposable>(ctor: IExtHostCustomerCtor<T>): void {
|
||||
ExtHostCustomersRegistryImpl.INSTANCE.registerCustomer(ctor);
|
||||
}
|
||||
|
||||
export namespace ExtHostCustomersRegistry {
|
||||
|
||||
export function getNamedCustomers(): IExtHostNamedCustomer<IDisposable>[] {
|
||||
return ExtHostCustomersRegistryImpl.INSTANCE.getNamedCustomers();
|
||||
}
|
||||
|
||||
export function getCustomers(): IExtHostCustomerCtor<IDisposable>[] {
|
||||
return ExtHostCustomersRegistryImpl.INSTANCE.getCustomers();
|
||||
}
|
||||
}
|
||||
|
||||
class ExtHostCustomersRegistryImpl {
|
||||
|
||||
public static readonly INSTANCE = new ExtHostCustomersRegistryImpl();
|
||||
|
||||
private _namedCustomers: IExtHostNamedCustomer<any>[];
|
||||
private _customers: IExtHostCustomerCtor<any>[];
|
||||
|
||||
constructor() {
|
||||
this._namedCustomers = [];
|
||||
this._customers = [];
|
||||
}
|
||||
|
||||
public registerNamedCustomer<T extends IDisposable>(id: ProxyIdentifier<T>, ctor: IExtHostCustomerCtor<T>): void {
|
||||
const entry: IExtHostNamedCustomer<T> = [id, ctor];
|
||||
this._namedCustomers.push(entry);
|
||||
}
|
||||
public getNamedCustomers(): IExtHostNamedCustomer<any>[] {
|
||||
return this._namedCustomers;
|
||||
}
|
||||
|
||||
public registerCustomer<T extends IDisposable>(ctor: IExtHostCustomerCtor<T>): void {
|
||||
this._customers.push(ctor);
|
||||
}
|
||||
public getCustomers(): IExtHostCustomerCtor<any>[] {
|
||||
return this._customers;
|
||||
}
|
||||
}
|
||||
39
src/vs/workbench/api/common/shared/editor.ts
Normal file
39
src/vs/workbench/api/common/shared/editor.ts
Normal file
@@ -0,0 +1,39 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { IEditorGroupsService, IEditorGroup, GroupsOrder } from 'vs/workbench/services/editor/common/editorGroupsService';
|
||||
import { GroupIdentifier } from 'vs/workbench/common/editor';
|
||||
import { ACTIVE_GROUP, SIDE_GROUP } from 'vs/workbench/services/editor/common/editorService';
|
||||
|
||||
export type EditorViewColumn = number;
|
||||
|
||||
export function viewColumnToEditorGroup(editorGroupService: IEditorGroupsService, position?: EditorViewColumn): GroupIdentifier {
|
||||
if (typeof position !== 'number' || position === ACTIVE_GROUP) {
|
||||
return ACTIVE_GROUP; // prefer active group when position is undefined or passed in as such
|
||||
}
|
||||
|
||||
const groups = editorGroupService.getGroups(GroupsOrder.GRID_APPEARANCE);
|
||||
|
||||
let candidate = groups[position];
|
||||
if (candidate) {
|
||||
return candidate.id; // found direct match
|
||||
}
|
||||
|
||||
let firstGroup = groups[0];
|
||||
if (groups.length === 1 && firstGroup.count === 0) {
|
||||
return firstGroup.id; // first editor should always open in first group independent from position provided
|
||||
}
|
||||
|
||||
return SIDE_GROUP; // open to the side if group not found or we are instructed to
|
||||
}
|
||||
|
||||
export function editorGroupToViewColumn(editorGroupService: IEditorGroupsService, editorGroup: IEditorGroup | GroupIdentifier): EditorViewColumn {
|
||||
const group = (typeof editorGroup === 'number') ? editorGroupService.getGroup(editorGroup) : editorGroup;
|
||||
if (!group) {
|
||||
throw new Error('Invalid group provided');
|
||||
}
|
||||
|
||||
return editorGroupService.getGroups(GroupsOrder.GRID_APPEARANCE).indexOf(group);
|
||||
}
|
||||
128
src/vs/workbench/api/common/shared/tasks.ts
Normal file
128
src/vs/workbench/api/common/shared/tasks.ts
Normal file
@@ -0,0 +1,128 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { UriComponents } from 'vs/base/common/uri';
|
||||
import { IExtensionDescription } from 'vs/platform/extensions/common/extensions';
|
||||
|
||||
export interface TaskDefinitionDTO {
|
||||
type: string;
|
||||
[name: string]: any;
|
||||
}
|
||||
|
||||
export interface TaskPresentationOptionsDTO {
|
||||
reveal?: number;
|
||||
echo?: boolean;
|
||||
focus?: boolean;
|
||||
panel?: number;
|
||||
showReuseMessage?: boolean;
|
||||
clear?: boolean;
|
||||
group?: string;
|
||||
}
|
||||
|
||||
export interface RunOptionsDTO {
|
||||
reevaluateOnRerun?: boolean;
|
||||
}
|
||||
|
||||
export interface ExecutionOptionsDTO {
|
||||
cwd?: string;
|
||||
env?: { [key: string]: string };
|
||||
}
|
||||
|
||||
export interface ProcessExecutionOptionsDTO extends ExecutionOptionsDTO {
|
||||
}
|
||||
|
||||
export interface ProcessExecutionDTO {
|
||||
process: string;
|
||||
args: string[];
|
||||
options?: ProcessExecutionOptionsDTO;
|
||||
}
|
||||
|
||||
export interface ShellQuotingOptionsDTO {
|
||||
escape?: string | {
|
||||
escapeChar: string;
|
||||
charsToEscape: string;
|
||||
};
|
||||
strong?: string;
|
||||
weak?: string;
|
||||
}
|
||||
|
||||
export interface ShellExecutionOptionsDTO extends ExecutionOptionsDTO {
|
||||
executable?: string;
|
||||
shellArgs?: string[];
|
||||
shellQuoting?: ShellQuotingOptionsDTO;
|
||||
}
|
||||
|
||||
export interface ShellQuotedStringDTO {
|
||||
value: string;
|
||||
quoting: number;
|
||||
}
|
||||
|
||||
export interface ShellExecutionDTO {
|
||||
commandLine?: string;
|
||||
command?: string | ShellQuotedStringDTO;
|
||||
args?: Array<string | ShellQuotedStringDTO>;
|
||||
options?: ShellExecutionOptionsDTO;
|
||||
}
|
||||
|
||||
export interface CustomExecutionDTO {
|
||||
customExecution: 'customExecution';
|
||||
}
|
||||
|
||||
export interface TaskSourceDTO {
|
||||
label: string;
|
||||
extensionId?: string;
|
||||
scope?: number | UriComponents;
|
||||
}
|
||||
|
||||
export interface TaskHandleDTO {
|
||||
id: string;
|
||||
workspaceFolder: UriComponents;
|
||||
}
|
||||
|
||||
export interface TaskDTO {
|
||||
_id: string;
|
||||
name?: string;
|
||||
execution: ProcessExecutionDTO | ShellExecutionDTO | CustomExecutionDTO | undefined;
|
||||
definition: TaskDefinitionDTO;
|
||||
isBackground?: boolean;
|
||||
source: TaskSourceDTO;
|
||||
group?: string;
|
||||
presentationOptions?: TaskPresentationOptionsDTO;
|
||||
problemMatchers: string[];
|
||||
hasDefinedMatchers: boolean;
|
||||
runOptions?: RunOptionsDTO;
|
||||
}
|
||||
|
||||
export interface TaskSetDTO {
|
||||
tasks: TaskDTO[];
|
||||
extension: IExtensionDescription;
|
||||
}
|
||||
|
||||
export interface TaskExecutionDTO {
|
||||
id: string;
|
||||
task: TaskDTO | undefined;
|
||||
}
|
||||
|
||||
export interface TaskProcessStartedDTO {
|
||||
id: string;
|
||||
processId: number;
|
||||
}
|
||||
|
||||
export interface TaskProcessEndedDTO {
|
||||
id: string;
|
||||
exitCode: number;
|
||||
}
|
||||
|
||||
|
||||
export interface TaskFilterDTO {
|
||||
version?: string;
|
||||
type?: string;
|
||||
}
|
||||
|
||||
export interface TaskSystemInfoDTO {
|
||||
scheme: string;
|
||||
authority: string;
|
||||
platform: string;
|
||||
}
|
||||
Reference in New Issue
Block a user