@theia/monaco 1.53.0-next.6 → 1.53.0-next.64
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/browser/monaco-context-key-service.js +1 -1
- package/lib/browser/monaco-context-key-service.js.map +1 -1
- package/lib/browser/monaco-editor-model.d.ts +11 -5
- package/lib/browser/monaco-editor-model.d.ts.map +1 -1
- package/lib/browser/monaco-editor-model.js +2 -1
- package/lib/browser/monaco-editor-model.js.map +1 -1
- package/lib/browser/monaco-editor-service.js +1 -1
- package/lib/browser/monaco-editor-service.js.map +1 -1
- package/lib/browser/monaco-editor.d.ts +5 -4
- package/lib/browser/monaco-editor.d.ts.map +1 -1
- package/lib/browser/monaco-editor.js +5 -2
- package/lib/browser/monaco-editor.js.map +1 -1
- package/lib/browser/monaco-quick-input-service.d.ts.map +1 -1
- package/lib/browser/monaco-quick-input-service.js +15 -15
- package/lib/browser/monaco-quick-input-service.js.map +1 -1
- package/lib/browser/monaco-text-model-service.d.ts +0 -10
- package/lib/browser/monaco-text-model-service.d.ts.map +1 -1
- package/lib/browser/monaco-text-model-service.js +0 -36
- package/lib/browser/monaco-text-model-service.js.map +1 -1
- package/lib/browser/monaco-to-protocol-converter.d.ts +2 -0
- package/lib/browser/monaco-to-protocol-converter.d.ts.map +1 -1
- package/lib/browser/monaco-to-protocol-converter.js +10 -0
- package/lib/browser/monaco-to-protocol-converter.js.map +1 -1
- package/lib/browser/simple-monaco-editor.d.ts +3 -1
- package/lib/browser/simple-monaco-editor.d.ts.map +1 -1
- package/lib/browser/simple-monaco-editor.js +9 -2
- package/lib/browser/simple-monaco-editor.js.map +1 -1
- package/package.json +9 -9
- package/src/browser/monaco-context-key-service.ts +2 -2
- package/src/browser/monaco-editor-model.ts +14 -6
- package/src/browser/monaco-editor-service.ts +1 -1
- package/src/browser/monaco-editor.ts +11 -7
- package/src/browser/monaco-quick-input-service.ts +14 -15
- package/src/browser/monaco-text-model-service.ts +0 -42
- package/src/browser/monaco-to-protocol-converter.ts +11 -0
- package/src/browser/simple-monaco-editor.ts +14 -2
|
@@ -17,12 +17,6 @@ export interface MonacoEditorModelFactory {
|
|
|
17
17
|
}
|
|
18
18
|
export declare class MonacoTextModelService implements ITextModelService {
|
|
19
19
|
readonly _serviceBrand: undefined;
|
|
20
|
-
/**
|
|
21
|
-
* This component does some asynchronous work before being fully initialized.
|
|
22
|
-
*
|
|
23
|
-
* @deprecated since 1.25.0. Is instantly resolved.
|
|
24
|
-
*/
|
|
25
|
-
readonly ready: Promise<void>;
|
|
26
20
|
protected readonly _models: ReferenceCollection<string, MonacoEditorModel>;
|
|
27
21
|
protected readonly resourceProvider: ResourceProvider;
|
|
28
22
|
protected readonly editorPreferences: EditorPreferences;
|
|
@@ -47,10 +41,6 @@ export declare class MonacoTextModelService implements ITextModelService {
|
|
|
47
41
|
[name: string]: (keyof ITextModelUpdateOptions | undefined);
|
|
48
42
|
};
|
|
49
43
|
protected toModelOption(editorPreference: EditorPreferenceChange['preferenceName']): keyof ITextModelUpdateOptions | undefined;
|
|
50
|
-
protected updateModel(model: MonacoEditorModel, change?: EditorPreferenceChange): void;
|
|
51
|
-
/** @deprecated pass MonacoEditorModel instead */
|
|
52
|
-
protected getModelOptions(uri: string): ITextModelUpdateOptions;
|
|
53
|
-
protected getModelOptions(model: MonacoEditorModel): ITextModelUpdateOptions;
|
|
54
44
|
registerTextModelContentProvider(scheme: string, provider: ITextModelContentProvider): IDisposable;
|
|
55
45
|
canHandleResource(resource: monaco.Uri): boolean;
|
|
56
46
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monaco-text-model-service.d.ts","sourceRoot":"","sources":["../../src/browser/monaco-text-model-service.ts"],"names":[],"mappings":"AAiBA,OAAO,GAAG,MAAM,4BAA4B,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,oBAAoB,EAAM,MAAM,aAAa,CAAC;AAC7H,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACtF,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,wDAAwD,CAAC;AACjG,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACxD,OAAO,KAAK,MAAM,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,yEAAyE,CAAC;AACvI,OAAO,EAAE,uBAAuB,EAAE,MAAM,sDAAsD,CAAC;AAC/F,OAAO,EAAE,WAAW,EAAE,MAAM,4CAA4C,CAAC;AAIzE,eAAO,MAAM,wBAAwB,eAAqC,CAAC;AAC3E,MAAM,WAAW,wBAAwB;IAErC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB,WAAW,CACP,QAAQ,EAAE,QAAQ,GACnB,YAAY,CAAC,iBAAiB,CAAC,CAAC;CAEtC;AAED,qBACa,sBAAuB,YAAW,iBAAiB;IAC5D,SAAiB,aAAa,EAAE,SAAS,CAAC;IAE1C
|
|
1
|
+
{"version":3,"file":"monaco-text-model-service.d.ts","sourceRoot":"","sources":["../../src/browser/monaco-text-model-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,12 +31,6 @@ const textResourceConfiguration_1 = require("@theia/monaco-editor-core/esm/vs/ed
|
|
|
31
31
|
exports.MonacoEditorModelFactory = Symbol('MonacoEditorModelFactory');
|
|
32
32
|
let MonacoTextModelService = class MonacoTextModelService {
|
|
33
33
|
constructor() {
|
|
34
|
-
/**
|
|
35
|
-
* This component does some asynchronous work before being fully initialized.
|
|
36
|
-
*
|
|
37
|
-
* @deprecated since 1.25.0. Is instantly resolved.
|
|
38
|
-
*/
|
|
39
|
-
this.ready = Promise.resolve();
|
|
40
34
|
this._models = new core_1.ReferenceCollection(uri => this.loadModel(new uri_1.default(uri)));
|
|
41
35
|
this.modelOptions = {
|
|
42
36
|
'editor.tabSize': 'tabSize',
|
|
@@ -79,10 +73,6 @@ let MonacoTextModelService = class MonacoTextModelService {
|
|
|
79
73
|
await this.editorPreferences.ready;
|
|
80
74
|
const resource = await this.resourceProvider(uri);
|
|
81
75
|
const model = await (await this.createModel(resource)).load();
|
|
82
|
-
this.updateModel(model);
|
|
83
|
-
model.textEditorModel.onDidChangeLanguage(() => this.updateModel(model));
|
|
84
|
-
const disposable = this.editorPreferences.onPreferenceChanged(change => this.updateModel(model, change));
|
|
85
|
-
model.onDispose(() => disposable.dispose());
|
|
86
76
|
return model;
|
|
87
77
|
}
|
|
88
78
|
createModel(resource) {
|
|
@@ -102,32 +92,6 @@ let MonacoTextModelService = class MonacoTextModelService {
|
|
|
102
92
|
}
|
|
103
93
|
return undefined;
|
|
104
94
|
}
|
|
105
|
-
updateModel(model, change) {
|
|
106
|
-
if (!change) {
|
|
107
|
-
model.textEditorModel.updateOptions(this.getModelOptions(model));
|
|
108
|
-
}
|
|
109
|
-
else if (change.affects(model.uri, model.languageId)) {
|
|
110
|
-
const modelOption = this.toModelOption(change.preferenceName);
|
|
111
|
-
if (modelOption) {
|
|
112
|
-
model.textEditorModel.updateOptions(this.getModelOptions(model));
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
getModelOptions(arg) {
|
|
117
|
-
const uri = typeof arg === 'string' ? arg : arg.uri;
|
|
118
|
-
const overrideIdentifier = typeof arg === 'string' ? undefined : arg.languageId;
|
|
119
|
-
return {
|
|
120
|
-
tabSize: this.editorPreferences.get({ preferenceName: 'editor.tabSize', overrideIdentifier }, undefined, uri),
|
|
121
|
-
// @monaco-uplift: when available, switch to 'editor.indentSize' preference.
|
|
122
|
-
indentSize: this.editorPreferences.get({ preferenceName: 'editor.tabSize', overrideIdentifier }, undefined, uri),
|
|
123
|
-
insertSpaces: this.editorPreferences.get({ preferenceName: 'editor.insertSpaces', overrideIdentifier }, undefined, uri),
|
|
124
|
-
bracketColorizationOptions: {
|
|
125
|
-
enabled: this.editorPreferences.get({ preferenceName: 'editor.bracketPairColorization.enabled', overrideIdentifier }, undefined, uri),
|
|
126
|
-
independentColorPoolPerBracketType: this.editorPreferences.get({ preferenceName: 'editor.bracketPairColorization.independentColorPoolPerBracketType', overrideIdentifier }, undefined, uri),
|
|
127
|
-
},
|
|
128
|
-
trimAutoWhitespace: this.editorPreferences.get({ preferenceName: 'editor.trimAutoWhitespace', overrideIdentifier }, undefined, uri),
|
|
129
|
-
};
|
|
130
|
-
}
|
|
131
95
|
registerTextModelContentProvider(scheme, provider) {
|
|
132
96
|
return {
|
|
133
97
|
dispose() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monaco-text-model-service.js","sourceRoot":"","sources":["../../src/browser/monaco-text-model-service.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAEhF,4DAAwF;AACxF,oDAA6C;AAC7C,sCAA6H;AAC7H,uDAAsF;AACtF,+DAA0D;AAE1D,iFAA2E;AAC3E,iFAA2E;AAC3E,0DAAwD;AAIxD,6EAAyE;AACzE,sHAAmH;AACnH,iIAAmI;AAEtH,QAAA,wBAAwB,GAAG,MAAM,CAAC,0BAA0B,CAAC,CAAC;AAYpE,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IAA5B;
|
|
1
|
+
{"version":3,"file":"monaco-text-model-service.js","sourceRoot":"","sources":["../../src/browser/monaco-text-model-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Position, Range } from '@theia/core/shared/vscode-languageserver-protocol';
|
|
2
2
|
import { RecursivePartial } from '@theia/core/lib/common/types';
|
|
3
3
|
import * as monaco from '@theia/monaco-editor-core';
|
|
4
|
+
import { Selection } from '@theia/editor/lib/browser';
|
|
4
5
|
export interface MonacoRangeReplace {
|
|
5
6
|
insert: monaco.IRange;
|
|
6
7
|
replace: monaco.IRange;
|
|
@@ -23,5 +24,6 @@ export declare class MonacoToProtocolConverter {
|
|
|
23
24
|
}): Range;
|
|
24
25
|
asRange(range: Partial<monaco.IRange>): RecursivePartial<Range>;
|
|
25
26
|
asRange(range: Partial<monaco.IRange> | undefined): RecursivePartial<Range> | undefined;
|
|
27
|
+
asSelection(selection: monaco.Selection): Selection;
|
|
26
28
|
}
|
|
27
29
|
//# sourceMappingURL=monaco-to-protocol-converter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monaco-to-protocol-converter.d.ts","sourceRoot":"","sources":["../../src/browser/monaco-to-protocol-converter.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mDAAmD,CAAC;AACpF,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,MAAM,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"monaco-to-protocol-converter.d.ts","sourceRoot":"","sources":["../../src/browser/monaco-to-protocol-converter.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mDAAmD,CAAC;AACpF,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,MAAM,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAEtD,MAAM,WAAW,kBAAkB;IAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAA;CACzB;AACD,yBAAiB,kBAAkB,CAAC;IAChC,SAAgB,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,kBAAkB,GAAG,CAAC,IAAI,kBAAkB,CAE1F;CACJ;AAED,qBACa,yBAAyB;IAElC,UAAU,CAAC,UAAU,EAAE,SAAS,GAAG,IAAI,EAAE,MAAM,EAAE,SAAS,GAAG,IAAI,GAAG,EAAE;IACtE,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,GAAG,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC;IAChF,UAAU,CAAC,UAAU,EAAE,SAAS,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC;IACrF,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,QAAQ;IACxD,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC;IASvG,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS;IACpC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,GAAG,KAAK;IACpC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS;IAC5D,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,GAAG;QAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAA;KAAE,GAAG,KAAK;IACxF,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,gBAAgB,CAAC,KAAK,CAAC;IAC/D,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,SAAS,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,SAAS;IAkBvF,WAAW,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,GAAG,SAAS;CAUtD"}
|
|
@@ -18,6 +18,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
18
18
|
exports.MonacoToProtocolConverter = exports.MonacoRangeReplace = void 0;
|
|
19
19
|
const tslib_1 = require("tslib");
|
|
20
20
|
const inversify_1 = require("@theia/core/shared/inversify");
|
|
21
|
+
const monaco = require("@theia/monaco-editor-core");
|
|
21
22
|
;
|
|
22
23
|
var MonacoRangeReplace;
|
|
23
24
|
(function (MonacoRangeReplace) {
|
|
@@ -49,6 +50,15 @@ let MonacoToProtocolConverter = class MonacoToProtocolConverter {
|
|
|
49
50
|
};
|
|
50
51
|
}
|
|
51
52
|
}
|
|
53
|
+
asSelection(selection) {
|
|
54
|
+
const start = this.asPosition(selection.selectionStartLineNumber, selection.selectionStartColumn);
|
|
55
|
+
const end = this.asPosition(selection.positionLineNumber, selection.positionColumn);
|
|
56
|
+
return {
|
|
57
|
+
start,
|
|
58
|
+
end,
|
|
59
|
+
direction: selection.getDirection() === monaco.SelectionDirection.LTR ? 'ltr' : 'rtl'
|
|
60
|
+
};
|
|
61
|
+
}
|
|
52
62
|
};
|
|
53
63
|
exports.MonacoToProtocolConverter = MonacoToProtocolConverter;
|
|
54
64
|
exports.MonacoToProtocolConverter = MonacoToProtocolConverter = tslib_1.__decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monaco-to-protocol-converter.js","sourceRoot":"","sources":["../../src/browser/monaco-to-protocol-converter.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAEhF,4DAA0D;
|
|
1
|
+
{"version":3,"file":"monaco-to-protocol-converter.js","sourceRoot":"","sources":["../../src/browser/monaco-to-protocol-converter.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAEhF,4DAA0D;AAG1D,oDAAoD;AAMnD,CAAC;AACF,IAAiB,kBAAkB,CAIlC;AAJD,WAAiB,kBAAkB;IAC/B,SAAgB,EAAE,CAAC,CAA8C;QAC7D,OAAQ,CAAwB,CAAC,MAAM,KAAK,SAAS,CAAC;IAC1D,CAAC;IAFe,qBAAE,KAEjB,CAAA;AACL,CAAC,EAJgB,kBAAkB,kCAAlB,kBAAkB,QAIlC;AAGM,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;IAOlC,UAAU,CAAC,UAAqC,EAAE,MAAiC;QAC/E,MAAM,IAAI,GAAG,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC;QACzE,MAAM,SAAS,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QACtE,OAAO;YACH,IAAI,EAAE,SAAS;SAClB,CAAC;IACN,CAAC;IAQD,OAAO,CAAC,KAA8D;QAClE,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACtB,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,IAAI,kBAAkB,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAEtC,CAAC;aAAM,CAAC;YACJ,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;YACxE,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YAClE,OAAO;gBACH,KAAK,EAAE,GAAG;aACb,CAAC;QACN,CAAC;IACL,CAAC;IAED,WAAW,CAAC,SAA2B;QACnC,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,wBAAwB,EAAE,SAAS,CAAC,oBAAoB,CAAC,CAAC;QAClG,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,kBAAkB,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;QACpF,OAAO;YACH,KAAK;YACL,GAAG;YACH,SAAS,EAAE,SAAS,CAAC,YAAY,EAAE,KAAK,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK;SACxF,CAAC;IACN,CAAC;CAEJ,CAAA;AAhDY,8DAAyB;oCAAzB,yBAAyB;IADrC,IAAA,sBAAU,GAAE;GACA,yBAAyB,CAgDrC"}
|
|
@@ -6,6 +6,7 @@ import { MonacoEditorModel } from './monaco-editor-model';
|
|
|
6
6
|
import { Dimension, EditorMouseEvent, Position, TextDocumentChangeEvent } from '@theia/editor/lib/browser';
|
|
7
7
|
import * as monaco from '@theia/monaco-editor-core';
|
|
8
8
|
import { ElementExt } from '@theia/core/shared/@phosphor/domutils';
|
|
9
|
+
import { Selection } from '@theia/editor/lib/browser/editor';
|
|
9
10
|
export declare class SimpleMonacoEditor extends MonacoEditorServices implements Disposable {
|
|
10
11
|
readonly uri: URI;
|
|
11
12
|
readonly document: MonacoEditorModel;
|
|
@@ -13,7 +14,6 @@ export declare class SimpleMonacoEditor extends MonacoEditorServices implements
|
|
|
13
14
|
protected editor: CodeEditorWidget;
|
|
14
15
|
protected readonly toDispose: DisposableCollection;
|
|
15
16
|
protected readonly onCursorPositionChangedEmitter: Emitter<Position>;
|
|
16
|
-
protected readonly onSelectionChangedEmitter: Emitter<Range>;
|
|
17
17
|
protected readonly onFocusChangedEmitter: Emitter<boolean>;
|
|
18
18
|
protected readonly onDocumentContentChangedEmitter: Emitter<TextDocumentChangeEvent>;
|
|
19
19
|
readonly onDocumentContentChanged: import("@theia/core").Event<TextDocumentChangeEvent>;
|
|
@@ -27,12 +27,14 @@ export declare class SimpleMonacoEditor extends MonacoEditorServices implements
|
|
|
27
27
|
readonly onDidChangeReadOnly: import("@theia/core").Event<boolean | import("@theia/core/lib/common/markdown-rendering").MarkdownString>;
|
|
28
28
|
constructor(uri: URI, document: MonacoEditorModel, node: HTMLElement, services: MonacoEditorServices, options?: MonacoEditor.IOptions, override?: EditorServiceOverrides, widgetOptions?: ICodeEditorWidgetOptions);
|
|
29
29
|
getControl(): CodeEditorWidget;
|
|
30
|
+
onSelectionChanged(listener: (range: Selection) => void): Disposable;
|
|
30
31
|
protected create(options?: MonacoEditor.IOptions, override?: EditorServiceOverrides, widgetOptions?: ICodeEditorWidgetOptions): Disposable;
|
|
31
32
|
protected addHandlers(codeEditor: CodeEditorWidget): void;
|
|
32
33
|
setLanguage(languageId: string): void;
|
|
33
34
|
protected fireLanguageChanged(languageId: string): void;
|
|
34
35
|
protected getInstantiatorWithOverrides(override?: EditorServiceOverrides): IInstantiationService;
|
|
35
36
|
protected mapModelContentChange(change: monaco.editor.IModelContentChange): TextDocumentContentChangeDelta;
|
|
37
|
+
focus(): void;
|
|
36
38
|
refresh(): void;
|
|
37
39
|
resizeToFit(): void;
|
|
38
40
|
setSize(dimension: Dimension): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simple-monaco-editor.d.ts","sourceRoot":"","sources":["../../src/browser/simple-monaco-editor.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAE7F,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,yEAAyE,CAAC;AACrI,OAAO,EAAE,qBAAqB,EAAE,MAAM,8EAA8E,CAAC;AAGrH,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,OAAO,EAAE,8BAA8B,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAC7G,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAe,QAAQ,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACxH,OAAO,KAAK,MAAM,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;
|
|
1
|
+
{"version":3,"file":"simple-monaco-editor.d.ts","sourceRoot":"","sources":["../../src/browser/simple-monaco-editor.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,7 +32,6 @@ class SimpleMonacoEditor extends monaco_editor_1.MonacoEditorServices {
|
|
|
32
32
|
this.node = node;
|
|
33
33
|
this.toDispose = new core_1.DisposableCollection();
|
|
34
34
|
this.onCursorPositionChangedEmitter = new core_1.Emitter();
|
|
35
|
-
this.onSelectionChangedEmitter = new core_1.Emitter();
|
|
36
35
|
this.onFocusChangedEmitter = new core_1.Emitter();
|
|
37
36
|
this.onDocumentContentChangedEmitter = new core_1.Emitter();
|
|
38
37
|
this.onDocumentContentChanged = this.onDocumentContentChangedEmitter.event;
|
|
@@ -46,7 +45,6 @@ class SimpleMonacoEditor extends monaco_editor_1.MonacoEditorServices {
|
|
|
46
45
|
this.onDidChangeReadOnly = this.document.onDidChangeReadOnly;
|
|
47
46
|
this.toDispose.pushAll([
|
|
48
47
|
this.onCursorPositionChangedEmitter,
|
|
49
|
-
this.onSelectionChangedEmitter,
|
|
50
48
|
this.onFocusChangedEmitter,
|
|
51
49
|
this.onDocumentContentChangedEmitter,
|
|
52
50
|
this.onMouseDownEmitter,
|
|
@@ -63,6 +61,12 @@ class SimpleMonacoEditor extends monaco_editor_1.MonacoEditorServices {
|
|
|
63
61
|
getControl() {
|
|
64
62
|
return this.editor;
|
|
65
63
|
}
|
|
64
|
+
onSelectionChanged(listener) {
|
|
65
|
+
return this.editor.onDidChangeCursorSelection(event => listener({
|
|
66
|
+
...this.m2p.asRange(event.selection),
|
|
67
|
+
direction: event.selection.getDirection() === 0 /* SelectionDirection.LTR */ ? 'ltr' : 'rtl'
|
|
68
|
+
}));
|
|
69
|
+
}
|
|
66
70
|
create(options, override, widgetOptions) {
|
|
67
71
|
const combinedOptions = {
|
|
68
72
|
...options,
|
|
@@ -137,6 +141,9 @@ class SimpleMonacoEditor extends monaco_editor_1.MonacoEditorServices {
|
|
|
137
141
|
text: change.text
|
|
138
142
|
};
|
|
139
143
|
}
|
|
144
|
+
focus() {
|
|
145
|
+
this.editor.focus();
|
|
146
|
+
}
|
|
140
147
|
refresh() {
|
|
141
148
|
this.autoresize();
|
|
142
149
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simple-monaco-editor.js","sourceRoot":"","sources":["../../src/browser/simple-monaco-editor.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;AAEhF,mDAA6F;AAE7F,8GAAqI;AACrI,gHAAqH;AACrH,sHAAmH;AACnH,wHAAqH;AACrH,sCAA6G;AAG7G,oDAAoD;AACpD,oEAAmE;
|
|
1
|
+
{"version":3,"file":"simple-monaco-editor.js","sourceRoot":"","sources":["../../src/browser/simple-monaco-editor.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@theia/monaco",
|
|
3
|
-
"version": "1.53.0-next.
|
|
3
|
+
"version": "1.53.0-next.64+23b351d26",
|
|
4
4
|
"description": "Theia - Monaco Extension",
|
|
5
5
|
"dependencies": {
|
|
6
|
-
"@theia/core": "1.53.0-next.
|
|
7
|
-
"@theia/editor": "1.53.0-next.
|
|
8
|
-
"@theia/filesystem": "1.53.0-next.
|
|
9
|
-
"@theia/markers": "1.53.0-next.
|
|
6
|
+
"@theia/core": "1.53.0-next.64+23b351d26",
|
|
7
|
+
"@theia/editor": "1.53.0-next.64+23b351d26",
|
|
8
|
+
"@theia/filesystem": "1.53.0-next.64+23b351d26",
|
|
9
|
+
"@theia/markers": "1.53.0-next.64+23b351d26",
|
|
10
10
|
"@theia/monaco-editor-core": "1.83.101",
|
|
11
|
-
"@theia/outline-view": "1.53.0-next.
|
|
12
|
-
"@theia/workspace": "1.53.0-next.
|
|
11
|
+
"@theia/outline-view": "1.53.0-next.64+23b351d26",
|
|
12
|
+
"@theia/workspace": "1.53.0-next.64+23b351d26",
|
|
13
13
|
"fast-plist": "^0.1.2",
|
|
14
14
|
"idb": "^4.0.5",
|
|
15
15
|
"jsonc-parser": "^2.2.0",
|
|
@@ -52,10 +52,10 @@
|
|
|
52
52
|
"watch": "theiaext watch"
|
|
53
53
|
},
|
|
54
54
|
"devDependencies": {
|
|
55
|
-
"@theia/ext-scripts": "1.
|
|
55
|
+
"@theia/ext-scripts": "1.53.0"
|
|
56
56
|
},
|
|
57
57
|
"nyc": {
|
|
58
58
|
"extends": "../../configs/nyc.json"
|
|
59
59
|
},
|
|
60
|
-
"gitHead": "
|
|
60
|
+
"gitHead": "23b351d26346a2b5d6aca3ee81fba59c056132f7"
|
|
61
61
|
}
|
|
@@ -109,9 +109,9 @@ export class MonacoContextKeyService implements TheiaContextKeyService {
|
|
|
109
109
|
createScoped(target: HTMLElement): ScopedValueStore {
|
|
110
110
|
const scoped = this.contextKeyService.createScoped(target);
|
|
111
111
|
if (scoped instanceof AbstractContextKeyService) {
|
|
112
|
-
return scoped as
|
|
112
|
+
return scoped as unknown as ScopedValueStore;
|
|
113
113
|
}
|
|
114
|
-
|
|
114
|
+
throw new Error('Could not created scoped value store');
|
|
115
115
|
}
|
|
116
116
|
|
|
117
117
|
createOverlay(overlay: Iterable<[string, unknown]>): ContextMatcher {
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
|
-
import { Position, Range, TextDocumentSaveReason
|
|
17
|
+
import { Position, Range, TextDocumentSaveReason } from '@theia/core/shared/vscode-languageserver-protocol';
|
|
18
18
|
import { TextEditorDocument, EncodingMode, FindMatchesOptions, FindMatch, EditorPreferences } from '@theia/editor/lib/browser';
|
|
19
19
|
import { DisposableCollection, Disposable } from '@theia/core/lib/common/disposable';
|
|
20
20
|
import { Emitter, Event } from '@theia/core/lib/common/event';
|
|
@@ -48,7 +48,14 @@ export interface WillSaveMonacoModelEvent {
|
|
|
48
48
|
|
|
49
49
|
export interface MonacoModelContentChangedEvent {
|
|
50
50
|
readonly model: MonacoEditorModel;
|
|
51
|
-
readonly contentChanges:
|
|
51
|
+
readonly contentChanges: MonacoTextDocumentContentChange[];
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export interface MonacoTextDocumentContentChange {
|
|
55
|
+
readonly range: Range;
|
|
56
|
+
readonly rangeOffset: number;
|
|
57
|
+
readonly rangeLength: number;
|
|
58
|
+
readonly text: string;
|
|
52
59
|
}
|
|
53
60
|
|
|
54
61
|
export class MonacoEditorModel implements IResolvedTextEditorModel, TextEditorDocument {
|
|
@@ -479,8 +486,8 @@ export class MonacoEditorModel implements IResolvedTextEditorModel, TextEditorDo
|
|
|
479
486
|
}
|
|
480
487
|
|
|
481
488
|
protected ignoreContentChanges = false;
|
|
482
|
-
protected readonly contentChanges:
|
|
483
|
-
protected pushContentChanges(contentChanges:
|
|
489
|
+
protected readonly contentChanges: MonacoTextDocumentContentChange[] = [];
|
|
490
|
+
protected pushContentChanges(contentChanges: MonacoTextDocumentContentChange[]): void {
|
|
484
491
|
if (!this.ignoreContentChanges) {
|
|
485
492
|
this.contentChanges.push(...contentChanges);
|
|
486
493
|
}
|
|
@@ -503,11 +510,12 @@ export class MonacoEditorModel implements IResolvedTextEditorModel, TextEditorDo
|
|
|
503
510
|
const contentChanges = event.changes.map(change => this.asTextDocumentContentChangeEvent(change));
|
|
504
511
|
return { model: this, contentChanges };
|
|
505
512
|
}
|
|
506
|
-
protected asTextDocumentContentChangeEvent(change: monaco.editor.IModelContentChange):
|
|
513
|
+
protected asTextDocumentContentChangeEvent(change: monaco.editor.IModelContentChange): MonacoTextDocumentContentChange {
|
|
507
514
|
const range = this.m2p.asRange(change.range);
|
|
515
|
+
const rangeOffset = change.rangeOffset;
|
|
508
516
|
const rangeLength = change.rangeLength;
|
|
509
517
|
const text = change.text;
|
|
510
|
-
return { range, rangeLength, text };
|
|
518
|
+
return { range, rangeOffset, rangeLength, text };
|
|
511
519
|
}
|
|
512
520
|
|
|
513
521
|
protected applyEdits(
|
|
@@ -67,7 +67,7 @@ export class MonacoEditorService extends StandaloneCodeEditorService {
|
|
|
67
67
|
let editor = MonacoEditor.getCurrent(this.editors);
|
|
68
68
|
if (!editor && CustomEditorWidget.is(this.shell.activeWidget)) {
|
|
69
69
|
const model = this.shell.activeWidget.modelRef.object;
|
|
70
|
-
if (model
|
|
70
|
+
if (model?.editorTextModel instanceof MonacoEditorModel) {
|
|
71
71
|
editor = MonacoEditor.findByDocument(this.editors, model.editorTextModel)[0];
|
|
72
72
|
}
|
|
73
73
|
}
|
|
@@ -62,6 +62,7 @@ import { IAccessibilityService } from '@theia/monaco-editor-core/esm/vs/platform
|
|
|
62
62
|
import { ILanguageConfigurationService } from '@theia/monaco-editor-core/esm/vs/editor/common/languages/languageConfigurationRegistry';
|
|
63
63
|
import { ILanguageFeaturesService } from '@theia/monaco-editor-core/esm/vs/editor/common/services/languageFeatures';
|
|
64
64
|
import * as objects from '@theia/monaco-editor-core/esm/vs/base/common/objects';
|
|
65
|
+
import { Selection } from '@theia/editor/lib/browser/editor';
|
|
65
66
|
|
|
66
67
|
export type ServicePair<T> = [ServiceIdentifier<T>, T];
|
|
67
68
|
|
|
@@ -94,7 +95,7 @@ export class MonacoEditor extends MonacoEditorServices implements TextEditor {
|
|
|
94
95
|
protected editor: monaco.editor.IStandaloneCodeEditor;
|
|
95
96
|
|
|
96
97
|
protected readonly onCursorPositionChangedEmitter = new Emitter<Position>();
|
|
97
|
-
protected readonly onSelectionChangedEmitter = new Emitter<
|
|
98
|
+
protected readonly onSelectionChangedEmitter = new Emitter<Selection>();
|
|
98
99
|
protected readonly onFocusChangedEmitter = new Emitter<boolean>();
|
|
99
100
|
protected readonly onDocumentContentChangedEmitter = new Emitter<TextDocumentChangeEvent>();
|
|
100
101
|
protected readonly onMouseDownEmitter = new Emitter<EditorMouseEvent>();
|
|
@@ -192,8 +193,11 @@ export class MonacoEditor extends MonacoEditorServices implements TextEditor {
|
|
|
192
193
|
this.toDispose.push(codeEditor.onDidChangeCursorPosition(() =>
|
|
193
194
|
this.onCursorPositionChangedEmitter.fire(this.cursor)
|
|
194
195
|
));
|
|
195
|
-
this.toDispose.push(codeEditor.onDidChangeCursorSelection(
|
|
196
|
-
this.onSelectionChangedEmitter.fire(
|
|
196
|
+
this.toDispose.push(codeEditor.onDidChangeCursorSelection(event =>
|
|
197
|
+
this.onSelectionChangedEmitter.fire({
|
|
198
|
+
...this.m2p.asRange(event.selection),
|
|
199
|
+
direction: event.selection.getDirection() === monaco.SelectionDirection.LTR ? 'ltr' : 'rtl'
|
|
200
|
+
})
|
|
197
201
|
));
|
|
198
202
|
this.toDispose.push(codeEditor.onDidFocusEditorText(() =>
|
|
199
203
|
this.onFocusChangedEmitter.fire(this.isFocused())
|
|
@@ -261,16 +265,16 @@ export class MonacoEditor extends MonacoEditorServices implements TextEditor {
|
|
|
261
265
|
return this.onCursorPositionChangedEmitter.event;
|
|
262
266
|
}
|
|
263
267
|
|
|
264
|
-
get selection():
|
|
265
|
-
return this.m2p.
|
|
268
|
+
get selection(): Selection {
|
|
269
|
+
return this.m2p.asSelection(this.editor.getSelection()!);
|
|
266
270
|
}
|
|
267
271
|
|
|
268
|
-
set selection(selection:
|
|
272
|
+
set selection(selection: Selection) {
|
|
269
273
|
const range = this.p2m.asRange(selection);
|
|
270
274
|
this.editor.setSelection(range);
|
|
271
275
|
}
|
|
272
276
|
|
|
273
|
-
get onSelectionChanged(): Event<
|
|
277
|
+
get onSelectionChanged(): Event<Selection> {
|
|
274
278
|
return this.onSelectionChangedEmitter.event;
|
|
275
279
|
}
|
|
276
280
|
|
|
@@ -375,21 +375,6 @@ export class MonacoQuickInputService implements QuickInputService {
|
|
|
375
375
|
wrapped.activeItems = [options.activeItem];
|
|
376
376
|
}
|
|
377
377
|
|
|
378
|
-
wrapped.onDidAccept(() => {
|
|
379
|
-
if (options?.onDidAccept) {
|
|
380
|
-
options.onDidAccept();
|
|
381
|
-
}
|
|
382
|
-
wrapped.hide();
|
|
383
|
-
resolve(wrapped.selectedItems[0]);
|
|
384
|
-
});
|
|
385
|
-
|
|
386
|
-
wrapped.onDidHide(() => {
|
|
387
|
-
if (options.onDidHide) {
|
|
388
|
-
options.onDidHide();
|
|
389
|
-
};
|
|
390
|
-
wrapped.dispose();
|
|
391
|
-
setTimeout(() => resolve(undefined));
|
|
392
|
-
});
|
|
393
378
|
wrapped.onDidChangeValue((filter: string) => {
|
|
394
379
|
if (options.onDidChangeValue) {
|
|
395
380
|
options.onDidChangeValue(wrapped, filter);
|
|
@@ -425,6 +410,20 @@ export class MonacoQuickInputService implements QuickInputService {
|
|
|
425
410
|
}
|
|
426
411
|
});
|
|
427
412
|
}
|
|
413
|
+
wrapped.onDidAccept(() => {
|
|
414
|
+
if (options?.onDidAccept) {
|
|
415
|
+
options.onDidAccept();
|
|
416
|
+
}
|
|
417
|
+
wrapped.hide();
|
|
418
|
+
resolve(wrapped.selectedItems[0]);
|
|
419
|
+
});
|
|
420
|
+
wrapped.onDidHide(() => {
|
|
421
|
+
if (options?.onDidHide) {
|
|
422
|
+
options?.onDidHide();
|
|
423
|
+
};
|
|
424
|
+
wrapped.dispose();
|
|
425
|
+
setTimeout(() => resolve(undefined));
|
|
426
|
+
});
|
|
428
427
|
wrapped.show();
|
|
429
428
|
}).then(item => {
|
|
430
429
|
if (item?.execute) {
|
|
@@ -45,13 +45,6 @@ export interface MonacoEditorModelFactory {
|
|
|
45
45
|
export class MonacoTextModelService implements ITextModelService {
|
|
46
46
|
declare readonly _serviceBrand: undefined;
|
|
47
47
|
|
|
48
|
-
/**
|
|
49
|
-
* This component does some asynchronous work before being fully initialized.
|
|
50
|
-
*
|
|
51
|
-
* @deprecated since 1.25.0. Is instantly resolved.
|
|
52
|
-
*/
|
|
53
|
-
readonly ready: Promise<void> = Promise.resolve();
|
|
54
|
-
|
|
55
48
|
protected readonly _models = new ReferenceCollection<string, MonacoEditorModel>(
|
|
56
49
|
uri => this.loadModel(new URI(uri))
|
|
57
50
|
);
|
|
@@ -121,10 +114,6 @@ export class MonacoTextModelService implements ITextModelService {
|
|
|
121
114
|
await this.editorPreferences.ready;
|
|
122
115
|
const resource = await this.resourceProvider(uri);
|
|
123
116
|
const model = await (await this.createModel(resource)).load();
|
|
124
|
-
this.updateModel(model);
|
|
125
|
-
model.textEditorModel.onDidChangeLanguage(() => this.updateModel(model));
|
|
126
|
-
const disposable = this.editorPreferences.onPreferenceChanged(change => this.updateModel(model, change));
|
|
127
|
-
model.onDispose(() => disposable.dispose());
|
|
128
117
|
return model;
|
|
129
118
|
}
|
|
130
119
|
|
|
@@ -154,37 +143,6 @@ export class MonacoTextModelService implements ITextModelService {
|
|
|
154
143
|
return undefined;
|
|
155
144
|
}
|
|
156
145
|
|
|
157
|
-
protected updateModel(model: MonacoEditorModel, change?: EditorPreferenceChange): void {
|
|
158
|
-
if (!change) {
|
|
159
|
-
model.textEditorModel.updateOptions(this.getModelOptions(model));
|
|
160
|
-
} else if (change.affects(model.uri, model.languageId)) {
|
|
161
|
-
const modelOption = this.toModelOption(change.preferenceName);
|
|
162
|
-
if (modelOption) {
|
|
163
|
-
model.textEditorModel.updateOptions(this.getModelOptions(model));
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
/** @deprecated pass MonacoEditorModel instead */
|
|
169
|
-
protected getModelOptions(uri: string): ITextModelUpdateOptions;
|
|
170
|
-
protected getModelOptions(model: MonacoEditorModel): ITextModelUpdateOptions;
|
|
171
|
-
protected getModelOptions(arg: string | MonacoEditorModel): ITextModelUpdateOptions {
|
|
172
|
-
const uri = typeof arg === 'string' ? arg : arg.uri;
|
|
173
|
-
const overrideIdentifier = typeof arg === 'string' ? undefined : arg.languageId;
|
|
174
|
-
return {
|
|
175
|
-
tabSize: this.editorPreferences.get({ preferenceName: 'editor.tabSize', overrideIdentifier }, undefined, uri),
|
|
176
|
-
// @monaco-uplift: when available, switch to 'editor.indentSize' preference.
|
|
177
|
-
indentSize: this.editorPreferences.get({ preferenceName: 'editor.tabSize', overrideIdentifier }, undefined, uri),
|
|
178
|
-
insertSpaces: this.editorPreferences.get({ preferenceName: 'editor.insertSpaces', overrideIdentifier }, undefined, uri),
|
|
179
|
-
bracketColorizationOptions: {
|
|
180
|
-
enabled: this.editorPreferences.get({ preferenceName: 'editor.bracketPairColorization.enabled', overrideIdentifier }, undefined, uri),
|
|
181
|
-
independentColorPoolPerBracketType: this.editorPreferences.get(
|
|
182
|
-
{ preferenceName: 'editor.bracketPairColorization.independentColorPoolPerBracketType', overrideIdentifier }, undefined, uri),
|
|
183
|
-
},
|
|
184
|
-
trimAutoWhitespace: this.editorPreferences.get({ preferenceName: 'editor.trimAutoWhitespace', overrideIdentifier }, undefined, uri),
|
|
185
|
-
};
|
|
186
|
-
}
|
|
187
|
-
|
|
188
146
|
registerTextModelContentProvider(scheme: string, provider: ITextModelContentProvider): IDisposable {
|
|
189
147
|
return {
|
|
190
148
|
dispose(): void {
|
|
@@ -18,6 +18,7 @@ import { injectable } from '@theia/core/shared/inversify';
|
|
|
18
18
|
import { Position, Range } from '@theia/core/shared/vscode-languageserver-protocol';
|
|
19
19
|
import { RecursivePartial } from '@theia/core/lib/common/types';
|
|
20
20
|
import * as monaco from '@theia/monaco-editor-core';
|
|
21
|
+
import { Selection } from '@theia/editor/lib/browser';
|
|
21
22
|
|
|
22
23
|
export interface MonacoRangeReplace {
|
|
23
24
|
insert: monaco.IRange;
|
|
@@ -68,4 +69,14 @@ export class MonacoToProtocolConverter {
|
|
|
68
69
|
}
|
|
69
70
|
}
|
|
70
71
|
|
|
72
|
+
asSelection(selection: monaco.Selection): Selection {
|
|
73
|
+
const start = this.asPosition(selection.selectionStartLineNumber, selection.selectionStartColumn);
|
|
74
|
+
const end = this.asPosition(selection.positionLineNumber, selection.positionColumn);
|
|
75
|
+
return {
|
|
76
|
+
start,
|
|
77
|
+
end,
|
|
78
|
+
direction: selection.getDirection() === monaco.SelectionDirection.LTR ? 'ltr' : 'rtl'
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
|
|
71
82
|
}
|