mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-16 10:58:30 -05:00
Vscode merge (#4582)
* Merge from vscode 37cb23d3dd4f9433d56d4ba5ea3203580719a0bd * fix issues with merges * bump node version in azpipe * replace license headers * remove duplicate launch task * fix build errors * fix build errors * fix tslint issues * working through package and linux build issues * more work * wip * fix packaged builds * working through linux build errors * wip * wip * wip * fix mac and linux file limits * iterate linux pipeline * disable editor typing * revert series to parallel * remove optimize vscode from linux * fix linting issues * revert testing change * add work round for new node * readd packaging for extensions * fix issue with angular not resolving decorator dependencies
This commit is contained in:
@@ -22,6 +22,7 @@ import { ILinkComputerTarget, computeLinks } from 'vs/editor/common/modes/linkCo
|
||||
import { BasicInplaceReplace } from 'vs/editor/common/modes/supports/inplaceReplaceSupport';
|
||||
import { IDiffComputationResult } from 'vs/editor/common/services/editorWorkerService';
|
||||
import { createMonacoBaseAPI } from 'vs/editor/common/standalone/standaloneBase';
|
||||
import { getAllPropertyNames } from 'vs/base/common/types';
|
||||
|
||||
export interface IMirrorModel {
|
||||
readonly uri: URI;
|
||||
@@ -322,7 +323,7 @@ declare var require: any;
|
||||
* @internal
|
||||
*/
|
||||
export abstract class BaseEditorSimpleWorker {
|
||||
private _foreignModuleFactory: IForeignModuleFactory | null;
|
||||
private readonly _foreignModuleFactory: IForeignModuleFactory | null;
|
||||
private _foreignModule: any;
|
||||
|
||||
constructor(foreignModuleFactory: IForeignModuleFactory | null) {
|
||||
@@ -490,12 +491,15 @@ export abstract class BaseEditorSimpleWorker {
|
||||
return Promise.resolve(null);
|
||||
}
|
||||
|
||||
const seen: Record<string, boolean> = Object.create(null);
|
||||
const suggestions: CompletionItem[] = [];
|
||||
const wordDefRegExp = new RegExp(wordDef, wordDefFlags);
|
||||
const currentWord = model.getWordUntilPosition(position, wordDefRegExp);
|
||||
const wordUntil = model.getWordUntilPosition(position, wordDefRegExp);
|
||||
|
||||
const seen: Record<string, boolean> = Object.create(null);
|
||||
seen[currentWord.word] = true;
|
||||
const wordAt = model.getWordAtPosition(position, wordDefRegExp);
|
||||
if (wordAt) {
|
||||
seen[model.getValueInRange(wordAt)] = true;
|
||||
}
|
||||
|
||||
for (
|
||||
let iter = model.createWordIterator(wordDefRegExp), e = iter.next();
|
||||
@@ -515,10 +519,9 @@ export abstract class BaseEditorSimpleWorker {
|
||||
kind: CompletionItemKind.Text,
|
||||
label: word,
|
||||
insertText: word,
|
||||
range: { startLineNumber: position.lineNumber, startColumn: currentWord.startColumn, endLineNumber: position.lineNumber, endColumn: currentWord.endColumn }
|
||||
range: { startLineNumber: position.lineNumber, startColumn: wordUntil.startColumn, endLineNumber: position.lineNumber, endColumn: wordUntil.endColumn }
|
||||
});
|
||||
}
|
||||
|
||||
return Promise.resolve({ suggestions });
|
||||
}
|
||||
|
||||
@@ -599,7 +602,7 @@ export abstract class BaseEditorSimpleWorker {
|
||||
this._foreignModule = this._foreignModuleFactory(ctx, createData);
|
||||
// static foreing module
|
||||
let methods: string[] = [];
|
||||
for (let prop in this._foreignModule) {
|
||||
for (const prop of getAllPropertyNames(this._foreignModule)) {
|
||||
if (typeof this._foreignModule[prop] === 'function') {
|
||||
methods.push(prop);
|
||||
}
|
||||
@@ -612,7 +615,7 @@ export abstract class BaseEditorSimpleWorker {
|
||||
this._foreignModule = foreignModule.create(ctx, createData);
|
||||
|
||||
let methods: string[] = [];
|
||||
for (let prop in this._foreignModule) {
|
||||
for (const prop of getAllPropertyNames(this._foreignModule)) {
|
||||
if (typeof this._foreignModule[prop] === 'function') {
|
||||
methods.push(prop);
|
||||
}
|
||||
|
||||
@@ -146,7 +146,7 @@ class WordBasedCompletionItemProvider implements modes.CompletionItemProvider {
|
||||
|
||||
class WorkerManager extends Disposable {
|
||||
|
||||
private _modelService: IModelService;
|
||||
private readonly _modelService: IModelService;
|
||||
private _editorWorkerClient: EditorWorkerClient | null;
|
||||
private _lastWorkerUsedTime: number;
|
||||
|
||||
@@ -211,8 +211,8 @@ class WorkerManager extends Disposable {
|
||||
|
||||
class EditorModelManager extends Disposable {
|
||||
|
||||
private _proxy: EditorSimpleWorkerImpl;
|
||||
private _modelService: IModelService;
|
||||
private readonly _proxy: EditorSimpleWorkerImpl;
|
||||
private readonly _modelService: IModelService;
|
||||
private _syncedModels: { [modelUrl: string]: IDisposable[]; } = Object.create(null);
|
||||
private _syncedModelsLastUsedTime: { [modelUrl: string]: number; } = Object.create(null);
|
||||
|
||||
@@ -312,8 +312,8 @@ interface IWorkerClient<T> {
|
||||
}
|
||||
|
||||
class SynchronousWorkerClient<T extends IDisposable> implements IWorkerClient<T> {
|
||||
private _instance: T;
|
||||
private _proxyObj: Promise<T>;
|
||||
private readonly _instance: T;
|
||||
private readonly _proxyObj: Promise<T>;
|
||||
|
||||
constructor(instance: T) {
|
||||
this._instance = instance;
|
||||
@@ -331,9 +331,9 @@ class SynchronousWorkerClient<T extends IDisposable> implements IWorkerClient<T>
|
||||
|
||||
export class EditorWorkerClient extends Disposable {
|
||||
|
||||
private _modelService: IModelService;
|
||||
private readonly _modelService: IModelService;
|
||||
private _worker: IWorkerClient<EditorSimpleWorkerImpl> | null;
|
||||
private _workerFactory: DefaultWorkerFactory;
|
||||
private readonly _workerFactory: DefaultWorkerFactory;
|
||||
private _modelManager: EditorModelManager | null;
|
||||
|
||||
constructor(modelService: IModelService, label: string | undefined) {
|
||||
|
||||
@@ -12,9 +12,11 @@ import { IModelService } from 'vs/editor/common/services/modelService';
|
||||
import { FileKind } from 'vs/platform/files/common/files';
|
||||
|
||||
export function getIconClasses(modelService: IModelService, modeService: IModeService, resource: uri | undefined, fileKind?: FileKind): string[] {
|
||||
|
||||
// we always set these base classes even if we do not have a path
|
||||
const classes = fileKind === FileKind.ROOT_FOLDER ? ['rootfolder-icon'] : fileKind === FileKind.FOLDER ? ['folder-icon'] : ['file-icon'];
|
||||
if (resource) {
|
||||
|
||||
// Get the path and name of the resource. For data-URIs, we need to parse specially
|
||||
let name: string | undefined;
|
||||
let path: string | undefined;
|
||||
@@ -22,17 +24,19 @@ export function getIconClasses(modelService: IModelService, modeService: IModeSe
|
||||
const metadata = DataUri.parseMetaData(resource);
|
||||
name = metadata.get(DataUri.META_DATA_LABEL);
|
||||
path = name;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
name = cssEscape(basenameOrAuthority(resource).toLowerCase());
|
||||
path = resource.path.toLowerCase();
|
||||
}
|
||||
|
||||
// Folders
|
||||
if (fileKind === FileKind.FOLDER) {
|
||||
classes.push(`${name}-name-folder-icon`);
|
||||
}
|
||||
|
||||
// Files
|
||||
else {
|
||||
|
||||
// Name & Extension(s)
|
||||
if (name) {
|
||||
classes.push(`${name}-name-file-icon`);
|
||||
@@ -42,8 +46,9 @@ export function getIconClasses(modelService: IModelService, modeService: IModeSe
|
||||
}
|
||||
classes.push(`ext-file-icon`); // extra segment to increase file-ext score
|
||||
}
|
||||
|
||||
// Configured Language
|
||||
let configuredLangId: string | null = getConfiguredLangId(modelService, resource);
|
||||
let configuredLangId: string | null = getConfiguredLangId(modelService, modeService, resource);
|
||||
configuredLangId = configuredLangId || (path ? modeService.getModeIdByFilepathOrFirstLine(path) : null);
|
||||
if (configuredLangId) {
|
||||
classes.push(`${cssEscape(configuredLangId)}-lang-file-icon`);
|
||||
@@ -53,16 +58,32 @@ export function getIconClasses(modelService: IModelService, modeService: IModeSe
|
||||
return classes;
|
||||
}
|
||||
|
||||
export function getConfiguredLangId(modelService: IModelService, resource: uri): string | null {
|
||||
export function getConfiguredLangId(modelService: IModelService, modeService: IModeService, resource: uri): string | null {
|
||||
let configuredLangId: string | null = null;
|
||||
if (resource) {
|
||||
const model = modelService.getModel(resource);
|
||||
if (model) {
|
||||
const modeId = model.getLanguageIdentifier().language;
|
||||
if (modeId && modeId !== PLAINTEXT_MODE_ID) {
|
||||
configuredLangId = modeId; // only take if the mode is specific (aka no just plain text)
|
||||
let modeId: string | null = null;
|
||||
|
||||
// Data URI: check for encoded metadata
|
||||
if (resource.scheme === Schemas.data) {
|
||||
const metadata = DataUri.parseMetaData(resource);
|
||||
const mime = metadata.get(DataUri.META_DATA_MIME);
|
||||
|
||||
if (mime) {
|
||||
modeId = modeService.getModeId(mime);
|
||||
}
|
||||
}
|
||||
|
||||
// Any other URI: check for model if existing
|
||||
else {
|
||||
const model = modelService.getModel(resource);
|
||||
if (model) {
|
||||
modeId = model.getLanguageIdentifier().language;
|
||||
}
|
||||
}
|
||||
|
||||
if (modeId && modeId !== PLAINTEXT_MODE_ID) {
|
||||
configuredLangId = modeId; // only take if the mode is specific (aka no just plain text)
|
||||
}
|
||||
}
|
||||
|
||||
return configuredLangId;
|
||||
|
||||
@@ -36,8 +36,8 @@ export class LanguagesRegistry extends Disposable {
|
||||
private readonly _warnOnOverwrite: boolean;
|
||||
|
||||
private _nextLanguageId2: number;
|
||||
private _languageIdToLanguage: string[];
|
||||
private _languageToLanguageId: { [id: string]: number; };
|
||||
private readonly _languageIdToLanguage: string[];
|
||||
private readonly _languageToLanguageId: { [id: string]: number; };
|
||||
|
||||
private _languages: { [id: string]: IResolvedLanguage; };
|
||||
private _mimeTypesMap: { [mimeType: string]: LanguageIdentifier; };
|
||||
@@ -273,7 +273,7 @@ export class LanguagesRegistry extends Disposable {
|
||||
return (language.mimetypes[0] || null);
|
||||
}
|
||||
|
||||
public extractModeIds(commaSeparatedMimetypesOrCommaSeparatedIds: string): string[] {
|
||||
public extractModeIds(commaSeparatedMimetypesOrCommaSeparatedIds: string | undefined): string[] {
|
||||
if (!commaSeparatedMimetypesOrCommaSeparatedIds) {
|
||||
return [];
|
||||
}
|
||||
|
||||
@@ -15,6 +15,7 @@ import { Range } from 'vs/editor/common/core/range';
|
||||
import { keys } from 'vs/base/common/map';
|
||||
import { IMarkerDecorationsService } from 'vs/editor/common/services/markersDecorationService';
|
||||
import { Schemas } from 'vs/base/common/network';
|
||||
import { Emitter, Event } from 'vs/base/common/event';
|
||||
|
||||
function MODEL_ID(resource: URI): string {
|
||||
return resource.toString();
|
||||
@@ -44,12 +45,26 @@ class MarkerDecorations extends Disposable {
|
||||
getMarker(decoration: IModelDecoration): IMarker | undefined {
|
||||
return this._markersData.get(decoration.id);
|
||||
}
|
||||
|
||||
getMarkers(): [Range, IMarker][] {
|
||||
const res: [Range, IMarker][] = [];
|
||||
this._markersData.forEach((marker, id) => {
|
||||
let range = this.model.getDecorationRange(id);
|
||||
if (range) {
|
||||
res.push([range, marker]);
|
||||
}
|
||||
});
|
||||
return res;
|
||||
}
|
||||
}
|
||||
|
||||
export class MarkerDecorationsService extends Disposable implements IMarkerDecorationsService {
|
||||
|
||||
_serviceBrand: any;
|
||||
|
||||
private readonly _onDidChangeMarker = new Emitter<ITextModel>();
|
||||
readonly onDidChangeMarker: Event<ITextModel> = this._onDidChangeMarker.event;
|
||||
|
||||
private readonly _markerDecorations: Map<string, MarkerDecorations> = new Map<string, MarkerDecorations>();
|
||||
|
||||
constructor(
|
||||
@@ -68,11 +83,16 @@ export class MarkerDecorationsService extends Disposable implements IMarkerDecor
|
||||
return markerDecorations ? markerDecorations.getMarker(decoration) || null : null;
|
||||
}
|
||||
|
||||
getLiveMarkers(model: ITextModel): [Range, IMarker][] {
|
||||
const markerDecorations = this._markerDecorations.get(MODEL_ID(model.uri));
|
||||
return markerDecorations ? markerDecorations.getMarkers() : [];
|
||||
}
|
||||
|
||||
private _handleMarkerChange(changedResources: URI[]): void {
|
||||
changedResources.forEach((resource) => {
|
||||
const markerDecorations = this._markerDecorations.get(MODEL_ID(resource));
|
||||
if (markerDecorations) {
|
||||
this.updateDecorations(markerDecorations);
|
||||
this._updateDecorations(markerDecorations);
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -80,7 +100,7 @@ export class MarkerDecorationsService extends Disposable implements IMarkerDecor
|
||||
private _onModelAdded(model: ITextModel): void {
|
||||
const markerDecorations = new MarkerDecorations(model);
|
||||
this._markerDecorations.set(MODEL_ID(model.uri), markerDecorations);
|
||||
this.updateDecorations(markerDecorations);
|
||||
this._updateDecorations(markerDecorations);
|
||||
}
|
||||
|
||||
private _onModelRemoved(model: ITextModel): void {
|
||||
@@ -100,7 +120,7 @@ export class MarkerDecorationsService extends Disposable implements IMarkerDecor
|
||||
}
|
||||
}
|
||||
|
||||
private updateDecorations(markerDecorations: MarkerDecorations): void {
|
||||
private _updateDecorations(markerDecorations: MarkerDecorations): void {
|
||||
// Limit to the first 500 errors/warnings
|
||||
const markers = this._markerService.read({ resource: markerDecorations.model.uri, take: 500 });
|
||||
let newModelDecorations: IModelDeltaDecoration[] = markers.map((marker) => {
|
||||
@@ -110,6 +130,7 @@ export class MarkerDecorationsService extends Disposable implements IMarkerDecor
|
||||
};
|
||||
});
|
||||
markerDecorations.update(markers, newModelDecorations);
|
||||
this._onDidChangeMarker.fire(markerDecorations.model);
|
||||
}
|
||||
|
||||
private _createDecorationRange(model: ITextModel, rawMarker: IMarker): Range {
|
||||
|
||||
@@ -6,11 +6,17 @@
|
||||
import { ITextModel, IModelDecoration } from 'vs/editor/common/model';
|
||||
import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
|
||||
import { IMarker } from 'vs/platform/markers/common/markers';
|
||||
import { Event } from 'vs/base/common/event';
|
||||
import { Range } from 'vs/editor/common/core/range';
|
||||
|
||||
export const IMarkerDecorationsService = createDecorator<IMarkerDecorationsService>('markerDecorationsService');
|
||||
|
||||
export interface IMarkerDecorationsService {
|
||||
_serviceBrand: any;
|
||||
|
||||
onDidChangeMarker: Event<ITextModel>;
|
||||
|
||||
getMarker(model: ITextModel, decoration: IModelDecoration): IMarker | null;
|
||||
}
|
||||
|
||||
getLiveMarkers(model: ITextModel): [Range, IMarker][];
|
||||
}
|
||||
|
||||
@@ -47,7 +47,7 @@ export interface IModeService {
|
||||
getConfigurationFiles(modeId: string): URI[];
|
||||
|
||||
// --- instantiation
|
||||
create(commaSeparatedMimetypesOrCommaSeparatedIds: string): ILanguageSelection;
|
||||
create(commaSeparatedMimetypesOrCommaSeparatedIds: string | undefined): ILanguageSelection;
|
||||
createByLanguageName(languageName: string): ILanguageSelection;
|
||||
createByFilepathOrFirstLine(filepath: string | null, firstLine?: string): ILanguageSelection;
|
||||
|
||||
|
||||
@@ -104,7 +104,7 @@ export class ModeServiceImpl implements IModeService {
|
||||
return null;
|
||||
}
|
||||
|
||||
public getModeId(commaSeparatedMimetypesOrCommaSeparatedIds: string): string | null {
|
||||
public getModeId(commaSeparatedMimetypesOrCommaSeparatedIds: string | undefined): string | null {
|
||||
const modeIds = this._registry.extractModeIds(commaSeparatedMimetypesOrCommaSeparatedIds);
|
||||
|
||||
if (modeIds.length > 0) {
|
||||
@@ -124,7 +124,7 @@ export class ModeServiceImpl implements IModeService {
|
||||
|
||||
// --- instantiation
|
||||
|
||||
public create(commaSeparatedMimetypesOrCommaSeparatedIds: string): ILanguageSelection {
|
||||
public create(commaSeparatedMimetypesOrCommaSeparatedIds: string | undefined): ILanguageSelection {
|
||||
return new LanguageSelection(this.onLanguagesMaybeChanged, () => {
|
||||
const modeId = this.getModeId(commaSeparatedMimetypesOrCommaSeparatedIds);
|
||||
return this._createModeAndGetLanguageIdentifier(modeId);
|
||||
|
||||
@@ -73,6 +73,7 @@ class ModelData implements IDisposable {
|
||||
|
||||
interface IRawEditorConfig {
|
||||
tabSize?: any;
|
||||
indentSize?: any;
|
||||
insertSpaces?: any;
|
||||
detectIndentation?: any;
|
||||
trimAutoWhitespace?: any;
|
||||
@@ -90,9 +91,9 @@ const DEFAULT_EOL = (platform.isLinux || platform.isMacintosh) ? DefaultEndOfLin
|
||||
export class ModelServiceImpl extends Disposable implements IModelService {
|
||||
public _serviceBrand: any;
|
||||
|
||||
private _configurationService: IConfigurationService;
|
||||
private _configurationServiceSubscription: IDisposable;
|
||||
private _resourcePropertiesService: ITextResourcePropertiesService;
|
||||
private readonly _configurationService: IConfigurationService;
|
||||
private readonly _configurationServiceSubscription: IDisposable;
|
||||
private readonly _resourcePropertiesService: ITextResourcePropertiesService;
|
||||
|
||||
private readonly _onModelAdded: Emitter<ITextModel> = this._register(new Emitter<ITextModel>());
|
||||
public readonly onModelAdded: Event<ITextModel> = this._onModelAdded.event;
|
||||
@@ -110,7 +111,7 @@ export class ModelServiceImpl extends Disposable implements IModelService {
|
||||
/**
|
||||
* All the models known in the system.
|
||||
*/
|
||||
private _models: { [modelId: string]: ModelData; };
|
||||
private readonly _models: { [modelId: string]: ModelData; };
|
||||
|
||||
constructor(
|
||||
@IConfigurationService configurationService: IConfigurationService,
|
||||
@@ -138,6 +139,17 @@ export class ModelServiceImpl extends Disposable implements IModelService {
|
||||
}
|
||||
}
|
||||
|
||||
let indentSize = tabSize;
|
||||
if (config.editor && typeof config.editor.indentSize !== 'undefined' && config.editor.indentSize !== 'tabSize') {
|
||||
let parsedIndentSize = parseInt(config.editor.indentSize, 10);
|
||||
if (!isNaN(parsedIndentSize)) {
|
||||
indentSize = parsedIndentSize;
|
||||
}
|
||||
if (indentSize < 1) {
|
||||
indentSize = 1;
|
||||
}
|
||||
}
|
||||
|
||||
let insertSpaces = EDITOR_MODEL_DEFAULTS.insertSpaces;
|
||||
if (config.editor && typeof config.editor.insertSpaces !== 'undefined') {
|
||||
insertSpaces = (config.editor.insertSpaces === 'false' ? false : Boolean(config.editor.insertSpaces));
|
||||
@@ -169,6 +181,7 @@ export class ModelServiceImpl extends Disposable implements IModelService {
|
||||
return {
|
||||
isForSimpleWidget: isForSimpleWidget,
|
||||
tabSize: tabSize,
|
||||
indentSize: indentSize,
|
||||
insertSpaces: insertSpaces,
|
||||
detectIndentation: detectIndentation,
|
||||
defaultEOL: newDefaultEOL,
|
||||
@@ -210,6 +223,7 @@ export class ModelServiceImpl extends Disposable implements IModelService {
|
||||
&& (currentOptions.detectIndentation === newOptions.detectIndentation)
|
||||
&& (currentOptions.insertSpaces === newOptions.insertSpaces)
|
||||
&& (currentOptions.tabSize === newOptions.tabSize)
|
||||
&& (currentOptions.indentSize === newOptions.indentSize)
|
||||
&& (currentOptions.trimAutoWhitespace === newOptions.trimAutoWhitespace)
|
||||
) {
|
||||
// Same indent opts, no need to touch the model
|
||||
@@ -225,6 +239,7 @@ export class ModelServiceImpl extends Disposable implements IModelService {
|
||||
model.updateOptions({
|
||||
insertSpaces: newOptions.insertSpaces,
|
||||
tabSize: newOptions.tabSize,
|
||||
indentSize: newOptions.indentSize,
|
||||
trimAutoWhitespace: newOptions.trimAutoWhitespace
|
||||
});
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@ export interface ITextModelService {
|
||||
* Provided a resource URI, it will return a model reference
|
||||
* which should be disposed once not needed anymore.
|
||||
*/
|
||||
createModelReference(resource: URI): Promise<IReference<ITextEditorModel>>;
|
||||
createModelReference(resource: URI): Promise<IReference<IResolvedTextEditorModel>>;
|
||||
|
||||
/**
|
||||
* Registers a specific `scheme` content provider.
|
||||
@@ -36,7 +36,7 @@ export interface ITextModelContentProvider {
|
||||
/**
|
||||
* Given a resource, return the content of the resource as `ITextModel`.
|
||||
*/
|
||||
provideTextContent(resource: URI): Promise<ITextModel> | null;
|
||||
provideTextContent(resource: URI): Promise<ITextModel | undefined | null> | null | undefined;
|
||||
}
|
||||
|
||||
export interface ITextEditorModel extends IEditorModel {
|
||||
@@ -44,7 +44,15 @@ export interface ITextEditorModel extends IEditorModel {
|
||||
/**
|
||||
* Provides access to the underlying `ITextModel`.
|
||||
*/
|
||||
readonly textEditorModel: ITextModel;
|
||||
readonly textEditorModel: ITextModel | null;
|
||||
|
||||
isReadonly(): boolean;
|
||||
}
|
||||
|
||||
export interface IResolvedTextEditorModel extends ITextEditorModel {
|
||||
|
||||
/**
|
||||
* Same as ITextEditorModel#textEditorModel, but never null.
|
||||
*/
|
||||
readonly textEditorModel: ITextModel;
|
||||
}
|
||||
|
||||
@@ -24,13 +24,13 @@ export interface ITextResourceConfigurationService {
|
||||
* Fetches the value of the section for the given resource by applying language overrides.
|
||||
* Value can be of native type or an object keyed off the section name.
|
||||
*
|
||||
* @param resource - Resource for which the configuration has to be fetched. Can be `null` or `undefined`.
|
||||
* @param postion - Position in the resource for which configuration has to be fetched. Can be `null` or `undefined`.
|
||||
* @param section - Section of the configuraion. Can be `null` or `undefined`.
|
||||
* @param resource - Resource for which the configuration has to be fetched.
|
||||
* @param postion - Position in the resource for which configuration has to be fetched.
|
||||
* @param section - Section of the configuraion.
|
||||
*
|
||||
*/
|
||||
getValue<T>(resource: URI, section?: string): T;
|
||||
getValue<T>(resource: URI, position?: IPosition, section?: string): T;
|
||||
getValue<T>(resource: URI | undefined, section?: string): T;
|
||||
getValue<T>(resource: URI | undefined, position?: IPosition, section?: string): T;
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -52,7 +52,7 @@ export interface IWebWorkerOptions {
|
||||
|
||||
class MonacoWebWorkerImpl<T> extends EditorWorkerClient implements MonacoWebWorker<T> {
|
||||
|
||||
private _foreignModuleId: string;
|
||||
private readonly _foreignModuleId: string;
|
||||
private _foreignModuleCreateData: any | null;
|
||||
private _foreignProxy: Promise<T> | null;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user