@fieldia/monaco 0.16.0 → 0.18.0
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/README.md +29 -6
- package/package.json +4 -4
- package/src/lib/monaco.d.mts +10 -8
- package/src/lib/monaco.d.ts +10 -8
- package/src/lib/monaco.js +131 -13
- package/src/lib/monaco.js.map +1 -1
- package/src/lib/monaco.mjs +131 -13
- package/src/lib/monaco.mjs.map +1 -1
- package/src/lib/styles.js +21 -1
- package/src/lib/styles.js.map +1 -1
- package/src/lib/styles.mjs +21 -1
- package/src/lib/styles.mjs.map +1 -1
- package/src/lib/theme.js +15 -8
- package/src/lib/theme.js.map +1 -1
- package/src/lib/theme.mjs +15 -8
- package/src/lib/theme.mjs.map +1 -1
- package/src/lib/types.d.mts +50 -1
- package/src/lib/types.d.ts +50 -1
package/README.md
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# @fieldia/monaco
|
|
2
2
|
|
|
3
|
-
[Fieldia](https://fieldia.dev) text and JSON fields in VS Code's
|
|
4
|
-
[Monaco](https://microsoft.github.io/monaco-editor/): find and
|
|
5
|
-
folding, several cursors, moving lines, VS Code's keys — coloured in
|
|
6
|
-
language a page names, and wearing the form's theme.
|
|
3
|
+
[Fieldia](https://fieldia.dev) text, one-line and JSON fields in VS Code's
|
|
4
|
+
editor, [Monaco](https://microsoft.github.io/monaco-editor/): find and
|
|
5
|
+
replace, folding, several cursors, moving lines, VS Code's keys — coloured in
|
|
6
|
+
the language a page names, and wearing the form's theme.
|
|
7
7
|
|
|
8
8
|
```sh
|
|
9
9
|
npm install @fieldia/monaco
|
|
@@ -26,6 +26,9 @@ A node opts in with `"widget": "monaco"`:
|
|
|
26
26
|
every name `@fieldia/code` takes (`python`, `sql`, `typescript`, `bash`…)
|
|
27
27
|
and Monaco's other grammars besides (GraphQL, SCSS, Elixir, F#, HCL…):
|
|
28
28
|
`MONACO_LANGUAGES` lists them. One Monaco has no grammar for is plain text.
|
|
29
|
+
- `char.monaco`: a `char` field, one line of code in the language
|
|
30
|
+
`options.language` names, such as a condition:
|
|
31
|
+
`order.total > 100 && !order.paid`. See [One line](#one-line).
|
|
29
32
|
- `json.monaco`: a `json` field, edited as JSON. Valid JSON reaches the form
|
|
30
33
|
as it is typed; text that is not valid is said so, and the last good value
|
|
31
34
|
stays.
|
|
@@ -78,13 +81,33 @@ fields ask for none: `createMonacoWidgets({ getWorker, services: ['json'] })`
|
|
|
78
81
|
(`json`, `typescript` — JavaScript's too —, `css` — SCSS's and Less's too —
|
|
79
82
|
and `html`).
|
|
80
83
|
|
|
84
|
+
## One line
|
|
85
|
+
|
|
86
|
+
A `char` field's editor is one line, as `@fieldia/code`'s is:
|
|
87
|
+
|
|
88
|
+
- As tall as a text box, in a frame drawn as the form's text boxes are, in
|
|
89
|
+
either skin and in the dark: no line numbers, no minimap, no folding. A
|
|
90
|
+
long line scrolls sideways with the caret.
|
|
91
|
+
- Enter adds no line, with Shift, Alt or Ctrl either. Ctrl+Enter (Cmd+Enter
|
|
92
|
+
on a Mac) saves, as from any field; with the viewer's
|
|
93
|
+
`keys: { enterMovesToNext: true }`, Enter moves on to the next field, as
|
|
94
|
+
from a text box. Otherwise Enter does nothing.
|
|
95
|
+
- Pasted lines become one line, as a text box joins them; a paste of line
|
|
96
|
+
breaks alone adds nothing. A line break that gets in another way — a line
|
|
97
|
+
copied down, a suggestion of several lines — is joined at once, and Undo
|
|
98
|
+
takes the join back with it. A value set from elsewhere is shown whole.
|
|
99
|
+
- Ctrl+F opens the browser's find, as in a text box: VS Code's find has no
|
|
100
|
+
room in one line.
|
|
101
|
+
- The node's `placeholder` shows while it is empty. Its input says it is one
|
|
102
|
+
line (`aria-multiline="false"`).
|
|
103
|
+
|
|
81
104
|
## Every editor
|
|
82
105
|
|
|
83
106
|
- Tab moves to the next field, as in every field; Ctrl+] and Ctrl+[ indent.
|
|
84
107
|
- Read-only when the field is; required, invalid and its messages said on
|
|
85
108
|
the editor's input, which the field's label names and points at.
|
|
86
|
-
-
|
|
87
|
-
past
|
|
109
|
+
- Text and JSON grow with their text, from a few lines to a screenful; the
|
|
110
|
+
page scrolls past them under the mouse wheel.
|
|
88
111
|
- Its theme is made from Fieldia's tokens as the page has them (theme,
|
|
89
112
|
scheme, accent), and made again when they change. Code is coloured as in
|
|
90
113
|
`@fieldia/code`, light or dark with the page, readable on every theme's
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fieldia/monaco",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "Fieldia text and JSON fields in VS Code’s editor (Monaco), coloured in the language a page names, following Fieldia’s themes.",
|
|
3
|
+
"version": "0.18.0",
|
|
4
|
+
"description": "Fieldia text, one-line and JSON fields in VS Code’s editor (Monaco), coloured in the language a page names, following Fieldia’s themes.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"homepage": "https://fieldia.dev",
|
|
7
7
|
"type": "commonjs",
|
|
@@ -21,8 +21,8 @@
|
|
|
21
21
|
"./package.json": "./package.json"
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@fieldia/core": "0.
|
|
25
|
-
"@fieldia/widgets": "0.
|
|
24
|
+
"@fieldia/core": "0.18.0",
|
|
25
|
+
"@fieldia/widgets": "0.18.0",
|
|
26
26
|
"monaco-editor": "^0.57.0",
|
|
27
27
|
"tslib": "^2.8.1"
|
|
28
28
|
},
|
package/src/lib/monaco.d.mts
CHANGED
|
@@ -2,13 +2,14 @@ import { type WidgetFactory } from '@fieldia/widgets';
|
|
|
2
2
|
import { type MonacoService } from './languages.mjs';
|
|
3
3
|
import type { MonacoLoader } from './types.mjs';
|
|
4
4
|
/**
|
|
5
|
-
* Text and JSON fields in VS Code's editor, Monaco: `"widget": "monaco"`,
|
|
6
|
-
* with `"options": { "language": "python" }` on a text field. Until
|
|
7
|
-
* has loaded — it is large, and loads only when a page has such a
|
|
8
|
-
* the field is a plain text box that works as one; if Monaco cannot
|
|
9
|
-
* loaded, it stays one. Tab moves on to the next field, as in every field
|
|
10
|
-
* (Ctrl+] and Ctrl+[ indent).
|
|
11
|
-
*
|
|
5
|
+
* Text, char and JSON fields in VS Code's editor, Monaco: `"widget": "monaco"`,
|
|
6
|
+
* with `"options": { "language": "python" }` on a text or char field. Until
|
|
7
|
+
* Monaco has loaded — it is large, and loads only when a page has such a
|
|
8
|
+
* field — the field is a plain text box that works as one; if Monaco cannot
|
|
9
|
+
* be loaded, it stays one. Tab moves on to the next field, as in every field
|
|
10
|
+
* (Ctrl+] and Ctrl+[ indent). A char field is one line, as tall as a text
|
|
11
|
+
* box. The editor wears a theme made from the page's tokens, and reads left to
|
|
12
|
+
* right on an Arabic page too.
|
|
12
13
|
*/
|
|
13
14
|
export interface MonacoWidgetsOptions {
|
|
14
15
|
/**
|
|
@@ -31,7 +32,8 @@ export interface MonacoWidgetsOptions {
|
|
|
31
32
|
}
|
|
32
33
|
/**
|
|
33
34
|
* The widgets, made with the app's choices: `text.monaco` for text in a
|
|
34
|
-
* language, `
|
|
35
|
+
* language, `char.monaco` for one line of it, `json.monaco` for JSON. Pass
|
|
36
|
+
* them to the viewer (`widgets`).
|
|
35
37
|
*/
|
|
36
38
|
export declare function createMonacoWidgets(options?: MonacoWidgetsOptions): Record<string, WidgetFactory>;
|
|
37
39
|
/** The widgets with no language services: code coloured, no worker started. */
|
package/src/lib/monaco.d.ts
CHANGED
|
@@ -2,13 +2,14 @@ import { type WidgetFactory } from '@fieldia/widgets';
|
|
|
2
2
|
import { type MonacoService } from './languages';
|
|
3
3
|
import type { MonacoLoader } from './types';
|
|
4
4
|
/**
|
|
5
|
-
* Text and JSON fields in VS Code's editor, Monaco: `"widget": "monaco"`,
|
|
6
|
-
* with `"options": { "language": "python" }` on a text field. Until
|
|
7
|
-
* has loaded — it is large, and loads only when a page has such a
|
|
8
|
-
* the field is a plain text box that works as one; if Monaco cannot
|
|
9
|
-
* loaded, it stays one. Tab moves on to the next field, as in every field
|
|
10
|
-
* (Ctrl+] and Ctrl+[ indent).
|
|
11
|
-
*
|
|
5
|
+
* Text, char and JSON fields in VS Code's editor, Monaco: `"widget": "monaco"`,
|
|
6
|
+
* with `"options": { "language": "python" }` on a text or char field. Until
|
|
7
|
+
* Monaco has loaded — it is large, and loads only when a page has such a
|
|
8
|
+
* field — the field is a plain text box that works as one; if Monaco cannot
|
|
9
|
+
* be loaded, it stays one. Tab moves on to the next field, as in every field
|
|
10
|
+
* (Ctrl+] and Ctrl+[ indent). A char field is one line, as tall as a text
|
|
11
|
+
* box. The editor wears a theme made from the page's tokens, and reads left to
|
|
12
|
+
* right on an Arabic page too.
|
|
12
13
|
*/
|
|
13
14
|
export interface MonacoWidgetsOptions {
|
|
14
15
|
/**
|
|
@@ -31,7 +32,8 @@ export interface MonacoWidgetsOptions {
|
|
|
31
32
|
}
|
|
32
33
|
/**
|
|
33
34
|
* The widgets, made with the app's choices: `text.monaco` for text in a
|
|
34
|
-
* language, `
|
|
35
|
+
* language, `char.monaco` for one line of it, `json.monaco` for JSON. Pass
|
|
36
|
+
* them to the viewer (`widgets`).
|
|
35
37
|
*/
|
|
36
38
|
export declare function createMonacoWidgets(options?: MonacoWidgetsOptions): Record<string, WidgetFactory>;
|
|
37
39
|
/** The widgets with no language services: code coloured, no worker started. */
|
package/src/lib/monaco.js
CHANGED
|
@@ -29,9 +29,49 @@ const EDITOR_OPTIONS = {
|
|
|
29
29
|
// Several on a form: only the one being typed in marks its line.
|
|
30
30
|
renderLineHighlightOnlyWhenFocus: true,
|
|
31
31
|
};
|
|
32
|
+
/**
|
|
33
|
+
* A char field's editor: one line, as tall as a text box (its frame drawn as
|
|
34
|
+
* one), nothing beside the code, scrolled sideways by the caret as a text box is.
|
|
35
|
+
*/
|
|
36
|
+
const LINE_OPTIONS = {
|
|
37
|
+
lineNumbers: 'off',
|
|
38
|
+
glyphMargin: false,
|
|
39
|
+
folding: false,
|
|
40
|
+
lineDecorationsWidth: 0,
|
|
41
|
+
lineNumbersMinChars: 0,
|
|
42
|
+
renderLineHighlight: 'none',
|
|
43
|
+
scrollBeyondLastColumn: 0,
|
|
44
|
+
padding: { top: 0, bottom: 0 },
|
|
45
|
+
scrollbar: { vertical: 'hidden', horizontal: 'hidden', alwaysConsumeMouseWheel: false, useShadows: false },
|
|
46
|
+
};
|
|
32
47
|
/** Between a few lines and a screenful, as the field's text grows. */
|
|
33
48
|
const LEAST = 96;
|
|
34
49
|
const MOST = 360;
|
|
50
|
+
/** The context key a one-line editor sets, for the keys turned off in it alone. */
|
|
51
|
+
const ONE_LINE = 'fieldiaOneLine';
|
|
52
|
+
/** Each Monaco whose keys that add a line are turned off in one-line editors: once each. */
|
|
53
|
+
const LINE_KEYS = new WeakSet();
|
|
54
|
+
/**
|
|
55
|
+
* Keys a one-line editor leaves to the page, as a text box leaves them, bound
|
|
56
|
+
* to nothing in it: Ctrl+Enter and Ctrl+Shift+Enter (Cmd on a Mac), which add
|
|
57
|
+
* a line in Monaco — Ctrl+Enter saves the form; and find's keys, for VS Code's
|
|
58
|
+
* find has no room in one line — the browser's find opens.
|
|
59
|
+
*/
|
|
60
|
+
function lineKeys(monaco) {
|
|
61
|
+
if (LINE_KEYS.has(monaco))
|
|
62
|
+
return;
|
|
63
|
+
LINE_KEYS.add(monaco);
|
|
64
|
+
// Monaco's numbers for the keys: Ctrl (Cmd on a Mac), Shift, Alt; Enter, E, F, G, H, F3.
|
|
65
|
+
const [ctrlCmd, shift, alt] = [2048, 1024, 512];
|
|
66
|
+
const [enter, e, f, g, h, f3] = [3, 35, 36, 37, 38, 61];
|
|
67
|
+
const lines = [ctrlCmd | enter, ctrlCmd | shift | enter];
|
|
68
|
+
// Find, find and replace (Cmd+Alt+F on a Mac), find again and back (F3, or Cmd+G on a Mac), find the chosen text.
|
|
69
|
+
const find = [ctrlCmd | f, ctrlCmd | h, ctrlCmd | alt | f, f3, shift | f3, ctrlCmd | f3, ctrlCmd | shift | f3, ctrlCmd | g, ctrlCmd | shift | g, ctrlCmd | e];
|
|
70
|
+
monaco.editor.addKeybindingRules([...lines, ...find].map((keybinding) => ({ keybinding, command: null, when: `${ONE_LINE} && editorTextFocus` })));
|
|
71
|
+
}
|
|
72
|
+
/** Text as one line, as a text box takes it: each line break, and the spaces round it, one space. */
|
|
73
|
+
const oneLineOf = (text) => text.replace(/\s*[\r\n]+\s*/g, ' ');
|
|
74
|
+
const BREAK = /[\r\n]/;
|
|
35
75
|
/** Each Monaco's themes defined so far, by name: one is defined once, and worn by any editor that wants it. */
|
|
36
76
|
const THEMES = new WeakMap();
|
|
37
77
|
/** A short name for a theme, the same for the same colours. */
|
|
@@ -60,24 +100,25 @@ function readJson(text) {
|
|
|
60
100
|
}
|
|
61
101
|
}
|
|
62
102
|
function monacoWidget(context, json, loader, { getWorker, services: named = languages_1.MONACO_SERVICES }) {
|
|
63
|
-
const { form, name, node, id, document, labels = widgets_1.WIDGET_LABELS.en } = context;
|
|
103
|
+
const { form, name, field, node, id, document, labels = widgets_1.WIDGET_LABELS.en } = context;
|
|
64
104
|
(0, styles_1.installMonacoStyles)(document);
|
|
65
105
|
const language = json ? 'json' : node.options?.['language'];
|
|
106
|
+
// A char field is one line.
|
|
107
|
+
const line = !json && field.type === 'char';
|
|
66
108
|
// This field's language service, when it has one and the app gives a worker for it.
|
|
67
109
|
const service = (0, languages_1.serviceOf)(language);
|
|
68
110
|
const services = typeof getWorker === 'function' && service !== null && named.includes(service);
|
|
69
111
|
const element = document.createElement('div');
|
|
70
|
-
element.className = 'fd-monaco';
|
|
112
|
+
element.className = line ? 'fd-monaco fd-monaco-line' : 'fd-monaco';
|
|
71
113
|
element.dir = 'ltr';
|
|
72
114
|
/** The value as text, as the editor shows it. */
|
|
73
115
|
const show = (value) => (json ? (value === null || value === undefined ? '' : JSON.stringify(value, null, 2)) : textOf(value));
|
|
74
116
|
/** The value as the widget compares it with what the form holds. */
|
|
75
117
|
const keyOf = (value) => (json ? JSON.stringify(value ?? null) : textOf(value));
|
|
76
118
|
// Until Monaco is here, and for good if it cannot be loaded: a plain box that works as one.
|
|
77
|
-
const plain = document.createElement('textarea');
|
|
119
|
+
const plain = line ? Object.assign(document.createElement('input'), { type: 'text' }) : Object.assign(document.createElement('textarea'), { rows: 4 });
|
|
78
120
|
plain.id = id;
|
|
79
|
-
plain.className = 'fd-input fd-textarea fd-code fd-monaco-plain';
|
|
80
|
-
plain.rows = 4;
|
|
121
|
+
plain.className = line ? 'fd-input fd-monaco-plain' : 'fd-input fd-textarea fd-code fd-monaco-plain';
|
|
81
122
|
plain.spellcheck = false;
|
|
82
123
|
if (node.placeholder)
|
|
83
124
|
plain.placeholder = node.placeholder;
|
|
@@ -101,6 +142,8 @@ function monacoWidget(context, json, loader, { getWorker, services: named = lang
|
|
|
101
142
|
let editor = null;
|
|
102
143
|
let model = null;
|
|
103
144
|
let box = null;
|
|
145
|
+
/** A one-line editor's frame, drawn as a text box is. */
|
|
146
|
+
let frame = null;
|
|
104
147
|
let worn = '';
|
|
105
148
|
const leave = [];
|
|
106
149
|
/** Monaco's own input, or the plain box while there is no Monaco. */
|
|
@@ -169,6 +212,49 @@ function monacoWidget(context, json, loader, { getWorker, services: named = lang
|
|
|
169
212
|
leave.push(() => dark.removeEventListener('change', wear));
|
|
170
213
|
}
|
|
171
214
|
}
|
|
215
|
+
/** Monaco's own input, which the event is for: not a box of its find, say. */
|
|
216
|
+
const forInput = (event) => !!editor && !!event.target?.classList?.contains('inputarea');
|
|
217
|
+
/**
|
|
218
|
+
* In one line, Enter adds none, with Shift, Alt or Ctrl too. The key is left
|
|
219
|
+
* to the form, as a text box leaves it: Ctrl+Enter saves, and Enter moves on
|
|
220
|
+
* where the page asks it to (`enterMovesToNext`). A key being composed is
|
|
221
|
+
* the input method's.
|
|
222
|
+
*/
|
|
223
|
+
function enter(event) {
|
|
224
|
+
if (event.key !== 'Enter' || event.isComposing || event.keyCode === 229 || !forInput(event))
|
|
225
|
+
return;
|
|
226
|
+
event.preventDefault();
|
|
227
|
+
}
|
|
228
|
+
/** Lines pasted into one line are joined, as a text box joins them, in one paste; line breaks alone paste nothing. */
|
|
229
|
+
function pasted(event) {
|
|
230
|
+
if (!forInput(event) || last?.readonly)
|
|
231
|
+
return;
|
|
232
|
+
const text = event.clipboardData?.getData('text/plain') ?? '';
|
|
233
|
+
if (!BREAK.test(text))
|
|
234
|
+
return;
|
|
235
|
+
event.preventDefault();
|
|
236
|
+
event.stopPropagation();
|
|
237
|
+
if (text.trim() !== '')
|
|
238
|
+
editor?.trigger('keyboard', 'paste', { text: oneLineOf(text) });
|
|
239
|
+
}
|
|
240
|
+
/**
|
|
241
|
+
* A line break that came in some other way — a line copied down, a
|
|
242
|
+
* suggestion of several lines — is joined at once. Undo and Redo step over
|
|
243
|
+
* the join together with what brought the line break.
|
|
244
|
+
*/
|
|
245
|
+
function rejoin({ isUndoing, isRedoing }) {
|
|
246
|
+
if (gone || !editor || !model || model.getLineCount() < 2)
|
|
247
|
+
return;
|
|
248
|
+
if (isUndoing || isRedoing) {
|
|
249
|
+
editor.trigger('fieldia', isUndoing ? 'undo' : 'redo', null);
|
|
250
|
+
return;
|
|
251
|
+
}
|
|
252
|
+
const text = model.getValue();
|
|
253
|
+
const joined = oneLineOf(text);
|
|
254
|
+
const before = oneLineOf(text.slice(0, model.getOffsetAt(editor.getPosition() ?? { lineNumber: 1, column: 1 })));
|
|
255
|
+
const column = Math.min(before.length, joined.length) + 1;
|
|
256
|
+
editor.executeEdits('fieldia', [{ range: model.getFullModelRange(), text: joined }], [{ selectionStartLineNumber: 1, selectionStartColumn: column, positionLineNumber: 1, positionColumn: column }]);
|
|
257
|
+
}
|
|
172
258
|
function fit(contentHeight) {
|
|
173
259
|
if (!box || !editor)
|
|
174
260
|
return;
|
|
@@ -185,11 +271,27 @@ function monacoWidget(context, json, loader, { getWorker, services: named = lang
|
|
|
185
271
|
monaco = loaded;
|
|
186
272
|
box = document.createElement('div');
|
|
187
273
|
box.className = 'fd-monaco-box';
|
|
188
|
-
|
|
274
|
+
if (line) {
|
|
275
|
+
frame = document.createElement('div');
|
|
276
|
+
frame.className = 'fd-monaco-frame';
|
|
277
|
+
frame.append(box);
|
|
278
|
+
// A press on the frame, round the code, goes into it, as one on a text box's edge does.
|
|
279
|
+
frame.addEventListener('mousedown', (event) => {
|
|
280
|
+
if (event.target !== frame || !editor)
|
|
281
|
+
return;
|
|
282
|
+
event.preventDefault();
|
|
283
|
+
editor.focus();
|
|
284
|
+
});
|
|
285
|
+
element.addEventListener('keydown', enter, true);
|
|
286
|
+
element.addEventListener('paste', pasted, true);
|
|
287
|
+
lineKeys(monaco);
|
|
288
|
+
}
|
|
289
|
+
element.insertBefore(frame ?? box, plain);
|
|
189
290
|
const focused = document.activeElement === plain;
|
|
190
291
|
model = monaco.editor.createModel(plain.value, monacoId);
|
|
191
292
|
editor = monaco.editor.create(box, {
|
|
192
293
|
...EDITOR_OPTIONS,
|
|
294
|
+
...(line ? LINE_OPTIONS : {}),
|
|
193
295
|
model,
|
|
194
296
|
readOnly: !!last?.readonly,
|
|
195
297
|
domReadOnly: !!last?.readonly,
|
|
@@ -206,14 +308,26 @@ function monacoWidget(context, json, loader, { getWorker, services: named = lang
|
|
|
206
308
|
const area = input();
|
|
207
309
|
area.id = id;
|
|
208
310
|
area.setAttribute('aria-labelledby', `${id}-label`);
|
|
311
|
+
if (line) {
|
|
312
|
+
// One line, said to assistive technology, and to the form, which moves on from it at Enter as from a text box.
|
|
313
|
+
area.setAttribute('aria-multiline', 'false');
|
|
314
|
+
editor.createContextKey(ONE_LINE, true);
|
|
315
|
+
}
|
|
209
316
|
describe();
|
|
210
317
|
const current = model;
|
|
211
|
-
editor.onDidChangeModelContent(() => {
|
|
212
|
-
if (
|
|
213
|
-
|
|
318
|
+
editor.onDidChangeModelContent((change) => {
|
|
319
|
+
if (writing)
|
|
320
|
+
return;
|
|
321
|
+
// A line break typed into one line: joined in a moment, and never in the form.
|
|
322
|
+
const broken = line && change.changes.some(({ text }) => BREAK.test(text));
|
|
323
|
+
if (broken)
|
|
324
|
+
queueMicrotask(() => rejoin(change));
|
|
325
|
+
typed(broken ? oneLineOf(current.getValue()) : current.getValue());
|
|
214
326
|
});
|
|
215
|
-
|
|
216
|
-
|
|
327
|
+
if (!line) {
|
|
328
|
+
editor.onDidContentSizeChange(({ contentHeight }) => fit(contentHeight));
|
|
329
|
+
fit(editor.getContentHeight());
|
|
330
|
+
}
|
|
217
331
|
if (focused)
|
|
218
332
|
editor.focus();
|
|
219
333
|
}
|
|
@@ -224,6 +338,8 @@ function monacoWidget(context, json, loader, { getWorker, services: named = lang
|
|
|
224
338
|
focus: () => (editor ? editor.focus() : plain.focus()),
|
|
225
339
|
destroy() {
|
|
226
340
|
gone = true;
|
|
341
|
+
element.removeEventListener('keydown', enter, true);
|
|
342
|
+
element.removeEventListener('paste', pasted, true);
|
|
227
343
|
for (const stop of leave.splice(0))
|
|
228
344
|
stop();
|
|
229
345
|
editor?.dispose();
|
|
@@ -259,12 +375,14 @@ function monacoWidget(context, json, loader, { getWorker, services: named = lang
|
|
|
259
375
|
}
|
|
260
376
|
/**
|
|
261
377
|
* The widgets, made with the app's choices: `text.monaco` for text in a
|
|
262
|
-
* language, `
|
|
378
|
+
* language, `char.monaco` for one line of it, `json.monaco` for JSON. Pass
|
|
379
|
+
* them to the viewer (`widgets`).
|
|
263
380
|
*/
|
|
264
381
|
function createMonacoWidgets(options = {}) {
|
|
265
382
|
const loader = options.loader ?? loader_1.defaultLoader;
|
|
266
383
|
const factory = (json) => (context) => monacoWidget(context, json, loader, options);
|
|
267
|
-
|
|
384
|
+
const text = factory(false);
|
|
385
|
+
return { 'text.monaco': text, 'char.monaco': text, 'json.monaco': factory(true) };
|
|
268
386
|
}
|
|
269
387
|
/** The widgets with no language services: code coloured, no worker started. */
|
|
270
388
|
exports.monacoWidgets = createMonacoWidgets();
|
package/src/lib/monaco.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monaco.js","sourceRoot":"","sources":["../../../../../libs/monaco/src/lib/monaco.ts"],"names":[],"mappings":";;;AA+RA,kDAIC;AAlSD,8CAAwH;AACxH,2CAA6E;AAC7E,qCAAyC;AACzC,qCAA+C;AAC/C,mCAAmD;AAiCnD,uHAAuH;AACvH,MAAM,cAAc,GAAG;IACrB,eAAe,EAAE,IAAI;IACrB,YAAY,EAAE,IAAI;IAClB,kGAAkG;IAClG,WAAW,EAAE,KAAK;IAClB,OAAO,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;IAC3B,oBAAoB,EAAE,KAAK;IAC3B,SAAS,EAAE,EAAE,uBAAuB,EAAE,KAAK,EAAE,qBAAqB,EAAE,EAAE,EAAE,uBAAuB,EAAE,EAAE,EAAE;IACrG,kBAAkB,EAAE,CAAC;IACrB,yBAAyB,EAAE,IAAI;IAC/B,oBAAoB,EAAE,IAAI;IAC1B,UAAU,EAAE,0DAA0D;IACtE,QAAQ,EAAE,EAAE;IACZ,UAAU,EAAE,EAAE;IACd,mBAAmB,EAAE,CAAC;IACtB,WAAW,EAAE,KAAK;IAClB,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;IAC9B,KAAK,EAAE,KAAK;IACZ,iEAAiE;IACjE,gCAAgC,EAAE,IAAI;CACvC,CAAC;AAEF,sEAAsE;AACtE,MAAM,KAAK,GAAG,EAAE,CAAC;AACjB,MAAM,IAAI,GAAG,GAAG,CAAC;AAEjB,+GAA+G;AAC/G,MAAM,MAAM,GAAG,IAAI,OAAO,EAA0B,CAAC;AAErD,+DAA+D;AAC/D,SAAS,MAAM,CAAC,IAAa;IAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAClC,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE;QAAE,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC5F,OAAO,WAAW,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;AAChD,CAAC;AAED,4EAA4E;AAC5E,SAAS,WAAW,CAAC,SAAyD;IAC5E,MAAM,KAAK,GAAG,UAA6D,CAAC;IAC5E,KAAK,CAAC,iBAAiB,KAAK,EAAE,SAAS,EAAE,CAAC;AAC5C,CAAC;AAED,MAAM,MAAM,GAAG,CAAC,KAAwB,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AAC1G,iFAAiF;AACjF,SAAS,QAAQ,CAAC,IAAY;IAC5B,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IACpC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAc,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,OAAsB,EAAE,IAAa,EAAE,MAAoB,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,GAAG,2BAAe,EAAwB;IACvJ,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,uBAAa,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC;IAC9E,IAAA,4BAAmB,EAAC,QAAQ,CAAC,CAAC;IAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,CAAC;IAC5D,oFAAoF;IACpF,MAAM,OAAO,GAAG,IAAA,qBAAS,EAAC,QAAQ,CAAC,CAAC;IACpC,MAAM,QAAQ,GAAG,OAAO,SAAS,KAAK,UAAU,IAAI,OAAO,KAAK,IAAI,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAChG,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC9C,OAAO,CAAC,SAAS,GAAG,WAAW,CAAC;IAChC,OAAO,CAAC,GAAG,GAAG,KAAK,CAAC;IAEpB,iDAAiD;IACjD,MAAM,IAAI,GAAG,CAAC,KAAwB,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAClJ,oEAAoE;IACpE,MAAM,KAAK,GAAG,CAAC,KAAwB,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAEnG,4FAA4F;IAC5F,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IACjD,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC;IACd,KAAK,CAAC,SAAS,GAAG,8CAA8C,CAAC;IACjE,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;IACf,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC;IACzB,IAAI,IAAI,CAAC,WAAW;QAAE,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;IAC3D,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IACjD,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1D,IAAI,KAAK,EAAE,CAAC;QACV,KAAK,CAAC,SAAS,GAAG,0BAA0B,CAAC;QAC7C,KAAK,CAAC,GAAG,GAAG,MAAM,CAAC;QACnB,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpC,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACvC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;IACtB,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEjD,iGAAiG;IACjG,IAAI,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAChD,IAAI,KAAK,GAAG,IAAI,CAAC;IACjB,IAAI,IAAI,GAAuB,IAAI,CAAC;IACpC,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,IAAI,MAAM,GAAqB,IAAI,CAAC;IACpC,IAAI,MAAM,GAAwB,IAAI,CAAC;IACvC,IAAI,KAAK,GAAuB,IAAI,CAAC;IACrC,IAAI,GAAG,GAAuB,IAAI,CAAC;IACnC,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,MAAM,KAAK,GAAmB,EAAE,CAAC;IAEjC,qEAAqE;IACrE,MAAM,KAAK,GAAG,GAAgB,EAAE,CAAC,GAAG,EAAE,aAAa,CAAc,8BAA8B,CAAC,IAAI,KAAK,CAAC;IAE1G,0DAA0D;IAC1D,SAAS,QAAQ;QACf,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;QACnB,EAAE,CAAC,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QACnE,IAAI,IAAI,EAAE,WAAW;YAAE,EAAE,CAAC,YAAY,CAAC,kBAAkB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;;YACxE,EAAE,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC;QAC5C,IAAI,EAAE,KAAK,KAAK;YAAE,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC7E,OAAO,CAAC,eAAe,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,CAAC;IAClD,CAAC;IAED,SAAS,KAAK,CAAC,IAAY;QACzB,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,KAAK,GAAG,IAAI,CAAC;YACb,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC/C,OAAO;QACT,CAAC;QACD,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC9B,KAAK,GAAG,MAAM,KAAK,SAAS,CAAC;QAC7B,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC;YACrB,+EAA+E;YAC/E,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAA,qBAAW,EAAC,IAAI,CAAC,CAAC;YACjD,IAAI,OAAO;gBAAE,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QAC5I,CAAC;QACD,QAAQ,EAAE,CAAC;QACX,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO;QACjC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC/B,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC9B,CAAC;IACD,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAE1D,qFAAqF;IACrF,SAAS,IAAI;QACX,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW;YAAE,OAAO;QAC5C,MAAM,IAAI,GAAG,IAAA,mBAAW,EAAC,IAAA,mBAAW,EAAC,OAAO,CAAC,CAAC,CAAC;QAC/C,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,SAAS,KAAK,IAAI;YAAE,OAAO;QAC/B,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,GAAG,EAAU,CAAC;QACxD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;YAAE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACxE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;QAC3C,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAClC,IAAI,GAAG,SAAS,CAAC;IACnB,CAAC;IAED,mHAAmH;IACnH,SAAS,MAAM;QACb,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,sCAAsC,CAAC,CAAC;QACrE,MAAM,IAAI,GAAG,QAAQ,CAAC,WAAW,CAAC;QAClC,IAAI,IAAI,IAAI,IAAI,IAAI,kBAAkB,IAAI,IAAI,EAAE,CAAC;YAC/C,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;YACzD,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,aAAa,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;YACjJ,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QAC1C,CAAC;QACD,MAAM,IAAI,GAAG,OAAO,IAAI,EAAE,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,8BAA8B,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7G,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAED,SAAS,GAAG,CAAC,aAAqB;QAChC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM;YAAE,OAAO;QAC5B,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,aAAa,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7E,MAAM,CAAC,MAAM,EAAE,CAAC;IAClB,CAAC;IAED,KAAK,UAAU,KAAK;QAClB,IAAI,SAAS;YAAE,WAAW,CAAC,SAAS,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACnE,IAAI,IAAI;YAAE,OAAO;QACjB,MAAM,GAAG,MAAM,CAAC;QAChB,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACpC,GAAG,CAAC,SAAS,GAAG,eAAe,CAAC;QAChC,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACjC,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,KAAK,KAAK,CAAC;QACjD,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACzD,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE;YACjC,GAAG,cAAc;YACjB,KAAK;YACL,QAAQ,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ;YAC1B,WAAW,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ;YAC7B,YAAY,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ;YAC9B,oBAAoB,EAAE,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,KAAK;YAC1D,gBAAgB,EAAE,QAAQ;YAC1B,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACjE,CAAC,CAAC;QACH,IAAI,EAAE,CAAC;QACP,MAAM,EAAE,CAAC;QACT,gEAAgE;QAChE,KAAK,CAAC,MAAM,EAAE,CAAC;QACf,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC5B,MAAM,IAAI,GAAG,KAAK,EAAE,CAAC;QACrB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;QACpD,QAAQ,EAAE,CAAC;QACX,MAAM,OAAO,GAAG,KAAK,CAAC;QACtB,MAAM,CAAC,uBAAuB,CAAC,GAAG,EAAE;YAClC,IAAI,CAAC,OAAO;gBAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,sBAAsB,CAAC,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;QACzE,GAAG,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;QAC/B,IAAI,OAAO;YAAE,MAAM,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;IACD,qDAAqD;IACrD,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAE/B,OAAO;QACL,OAAO;QACP,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACtD,OAAO;YACL,IAAI,GAAG,IAAI,CAAC;YACZ,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;gBAAE,IAAI,EAAE,CAAC;YAC3C,MAAM,EAAE,OAAO,EAAE,CAAC;YAClB,KAAK,EAAE,OAAO,EAAE,CAAC;QACnB,CAAC;QACD,MAAM,CAAC,KAAkB;YACvB,IAAI,GAAG,KAAK,CAAC;YACb,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;YAChC,OAAO,CAAC,eAAe,CAAC,eAAe,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;YACzD,MAAM,EAAE,aAAa,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC/G,IAAI,CAAC,IAAI;gBAAE,IAAI,EAAE,CAAC;YAClB,QAAQ,EAAE,CAAC;YACX,oHAAoH;YACpH,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACpC,IAAI,QAAQ,KAAK,KAAK;gBAAE,OAAO;YAC/B,KAAK,GAAG,QAAQ,CAAC;YACjB,KAAK,GAAG,IAAI,CAAC;YACb,IAAI,KAAK;gBAAE,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;YAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC/B,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,GAAG,IAAI,CAAC;gBACf,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACrB,OAAO,GAAG,KAAK,CAAC;YAClB,CAAC;;gBAAM,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;YAC1B,QAAQ,EAAE,CAAC;QACb,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAgB,mBAAmB,CAAC,UAAgC,EAAE;IACpE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,sBAAa,CAAC;IAC/C,MAAM,OAAO,GAAG,CAAC,IAAa,EAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5G,OAAO,EAAE,aAAa,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;AACzE,CAAC;AAED,+EAA+E;AAClE,QAAA,aAAa,GAAkC,mBAAmB,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"monaco.js","sourceRoot":"","sources":["../../../../../libs/monaco/src/lib/monaco.ts"],"names":[],"mappings":"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"}
|
package/src/lib/monaco.mjs
CHANGED
|
@@ -25,9 +25,49 @@ const EDITOR_OPTIONS = {
|
|
|
25
25
|
// Several on a form: only the one being typed in marks its line.
|
|
26
26
|
renderLineHighlightOnlyWhenFocus: true,
|
|
27
27
|
};
|
|
28
|
+
/**
|
|
29
|
+
* A char field's editor: one line, as tall as a text box (its frame drawn as
|
|
30
|
+
* one), nothing beside the code, scrolled sideways by the caret as a text box is.
|
|
31
|
+
*/
|
|
32
|
+
const LINE_OPTIONS = {
|
|
33
|
+
lineNumbers: 'off',
|
|
34
|
+
glyphMargin: false,
|
|
35
|
+
folding: false,
|
|
36
|
+
lineDecorationsWidth: 0,
|
|
37
|
+
lineNumbersMinChars: 0,
|
|
38
|
+
renderLineHighlight: 'none',
|
|
39
|
+
scrollBeyondLastColumn: 0,
|
|
40
|
+
padding: { top: 0, bottom: 0 },
|
|
41
|
+
scrollbar: { vertical: 'hidden', horizontal: 'hidden', alwaysConsumeMouseWheel: false, useShadows: false },
|
|
42
|
+
};
|
|
28
43
|
/** Between a few lines and a screenful, as the field's text grows. */
|
|
29
44
|
const LEAST = 96;
|
|
30
45
|
const MOST = 360;
|
|
46
|
+
/** The context key a one-line editor sets, for the keys turned off in it alone. */
|
|
47
|
+
const ONE_LINE = 'fieldiaOneLine';
|
|
48
|
+
/** Each Monaco whose keys that add a line are turned off in one-line editors: once each. */
|
|
49
|
+
const LINE_KEYS = new WeakSet();
|
|
50
|
+
/**
|
|
51
|
+
* Keys a one-line editor leaves to the page, as a text box leaves them, bound
|
|
52
|
+
* to nothing in it: Ctrl+Enter and Ctrl+Shift+Enter (Cmd on a Mac), which add
|
|
53
|
+
* a line in Monaco — Ctrl+Enter saves the form; and find's keys, for VS Code's
|
|
54
|
+
* find has no room in one line — the browser's find opens.
|
|
55
|
+
*/
|
|
56
|
+
function lineKeys(monaco) {
|
|
57
|
+
if (LINE_KEYS.has(monaco))
|
|
58
|
+
return;
|
|
59
|
+
LINE_KEYS.add(monaco);
|
|
60
|
+
// Monaco's numbers for the keys: Ctrl (Cmd on a Mac), Shift, Alt; Enter, E, F, G, H, F3.
|
|
61
|
+
const [ctrlCmd, shift, alt] = [2048, 1024, 512];
|
|
62
|
+
const [enter, e, f, g, h, f3] = [3, 35, 36, 37, 38, 61];
|
|
63
|
+
const lines = [ctrlCmd | enter, ctrlCmd | shift | enter];
|
|
64
|
+
// Find, find and replace (Cmd+Alt+F on a Mac), find again and back (F3, or Cmd+G on a Mac), find the chosen text.
|
|
65
|
+
const find = [ctrlCmd | f, ctrlCmd | h, ctrlCmd | alt | f, f3, shift | f3, ctrlCmd | f3, ctrlCmd | shift | f3, ctrlCmd | g, ctrlCmd | shift | g, ctrlCmd | e];
|
|
66
|
+
monaco.editor.addKeybindingRules([...lines, ...find].map((keybinding) => ({ keybinding, command: null, when: `${ONE_LINE} && editorTextFocus` })));
|
|
67
|
+
}
|
|
68
|
+
/** Text as one line, as a text box takes it: each line break, and the spaces round it, one space. */
|
|
69
|
+
const oneLineOf = (text) => text.replace(/\s*[\r\n]+\s*/g, ' ');
|
|
70
|
+
const BREAK = /[\r\n]/;
|
|
31
71
|
/** Each Monaco's themes defined so far, by name: one is defined once, and worn by any editor that wants it. */
|
|
32
72
|
const THEMES = new WeakMap();
|
|
33
73
|
/** A short name for a theme, the same for the same colours. */
|
|
@@ -56,24 +96,25 @@ function readJson(text) {
|
|
|
56
96
|
}
|
|
57
97
|
}
|
|
58
98
|
function monacoWidget(context, json, loader, { getWorker, services: named = MONACO_SERVICES }) {
|
|
59
|
-
const { form, name, node, id, document, labels = WIDGET_LABELS.en } = context;
|
|
99
|
+
const { form, name, field, node, id, document, labels = WIDGET_LABELS.en } = context;
|
|
60
100
|
installMonacoStyles(document);
|
|
61
101
|
const language = json ? 'json' : node.options?.['language'];
|
|
102
|
+
// A char field is one line.
|
|
103
|
+
const line = !json && field.type === 'char';
|
|
62
104
|
// This field's language service, when it has one and the app gives a worker for it.
|
|
63
105
|
const service = serviceOf(language);
|
|
64
106
|
const services = typeof getWorker === 'function' && service !== null && named.includes(service);
|
|
65
107
|
const element = document.createElement('div');
|
|
66
|
-
element.className = 'fd-monaco';
|
|
108
|
+
element.className = line ? 'fd-monaco fd-monaco-line' : 'fd-monaco';
|
|
67
109
|
element.dir = 'ltr';
|
|
68
110
|
/** The value as text, as the editor shows it. */
|
|
69
111
|
const show = (value) => (json ? (value === null || value === undefined ? '' : JSON.stringify(value, null, 2)) : textOf(value));
|
|
70
112
|
/** The value as the widget compares it with what the form holds. */
|
|
71
113
|
const keyOf = (value) => (json ? JSON.stringify(value ?? null) : textOf(value));
|
|
72
114
|
// Until Monaco is here, and for good if it cannot be loaded: a plain box that works as one.
|
|
73
|
-
const plain = document.createElement('textarea');
|
|
115
|
+
const plain = line ? Object.assign(document.createElement('input'), { type: 'text' }) : Object.assign(document.createElement('textarea'), { rows: 4 });
|
|
74
116
|
plain.id = id;
|
|
75
|
-
plain.className = 'fd-input fd-textarea fd-code fd-monaco-plain';
|
|
76
|
-
plain.rows = 4;
|
|
117
|
+
plain.className = line ? 'fd-input fd-monaco-plain' : 'fd-input fd-textarea fd-code fd-monaco-plain';
|
|
77
118
|
plain.spellcheck = false;
|
|
78
119
|
if (node.placeholder)
|
|
79
120
|
plain.placeholder = node.placeholder;
|
|
@@ -97,6 +138,8 @@ function monacoWidget(context, json, loader, { getWorker, services: named = MONA
|
|
|
97
138
|
let editor = null;
|
|
98
139
|
let model = null;
|
|
99
140
|
let box = null;
|
|
141
|
+
/** A one-line editor's frame, drawn as a text box is. */
|
|
142
|
+
let frame = null;
|
|
100
143
|
let worn = '';
|
|
101
144
|
const leave = [];
|
|
102
145
|
/** Monaco's own input, or the plain box while there is no Monaco. */
|
|
@@ -165,6 +208,49 @@ function monacoWidget(context, json, loader, { getWorker, services: named = MONA
|
|
|
165
208
|
leave.push(() => dark.removeEventListener('change', wear));
|
|
166
209
|
}
|
|
167
210
|
}
|
|
211
|
+
/** Monaco's own input, which the event is for: not a box of its find, say. */
|
|
212
|
+
const forInput = (event) => !!editor && !!event.target?.classList?.contains('inputarea');
|
|
213
|
+
/**
|
|
214
|
+
* In one line, Enter adds none, with Shift, Alt or Ctrl too. The key is left
|
|
215
|
+
* to the form, as a text box leaves it: Ctrl+Enter saves, and Enter moves on
|
|
216
|
+
* where the page asks it to (`enterMovesToNext`). A key being composed is
|
|
217
|
+
* the input method's.
|
|
218
|
+
*/
|
|
219
|
+
function enter(event) {
|
|
220
|
+
if (event.key !== 'Enter' || event.isComposing || event.keyCode === 229 || !forInput(event))
|
|
221
|
+
return;
|
|
222
|
+
event.preventDefault();
|
|
223
|
+
}
|
|
224
|
+
/** Lines pasted into one line are joined, as a text box joins them, in one paste; line breaks alone paste nothing. */
|
|
225
|
+
function pasted(event) {
|
|
226
|
+
if (!forInput(event) || last?.readonly)
|
|
227
|
+
return;
|
|
228
|
+
const text = event.clipboardData?.getData('text/plain') ?? '';
|
|
229
|
+
if (!BREAK.test(text))
|
|
230
|
+
return;
|
|
231
|
+
event.preventDefault();
|
|
232
|
+
event.stopPropagation();
|
|
233
|
+
if (text.trim() !== '')
|
|
234
|
+
editor?.trigger('keyboard', 'paste', { text: oneLineOf(text) });
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* A line break that came in some other way — a line copied down, a
|
|
238
|
+
* suggestion of several lines — is joined at once. Undo and Redo step over
|
|
239
|
+
* the join together with what brought the line break.
|
|
240
|
+
*/
|
|
241
|
+
function rejoin({ isUndoing, isRedoing }) {
|
|
242
|
+
if (gone || !editor || !model || model.getLineCount() < 2)
|
|
243
|
+
return;
|
|
244
|
+
if (isUndoing || isRedoing) {
|
|
245
|
+
editor.trigger('fieldia', isUndoing ? 'undo' : 'redo', null);
|
|
246
|
+
return;
|
|
247
|
+
}
|
|
248
|
+
const text = model.getValue();
|
|
249
|
+
const joined = oneLineOf(text);
|
|
250
|
+
const before = oneLineOf(text.slice(0, model.getOffsetAt(editor.getPosition() ?? { lineNumber: 1, column: 1 })));
|
|
251
|
+
const column = Math.min(before.length, joined.length) + 1;
|
|
252
|
+
editor.executeEdits('fieldia', [{ range: model.getFullModelRange(), text: joined }], [{ selectionStartLineNumber: 1, selectionStartColumn: column, positionLineNumber: 1, positionColumn: column }]);
|
|
253
|
+
}
|
|
168
254
|
function fit(contentHeight) {
|
|
169
255
|
if (!box || !editor)
|
|
170
256
|
return;
|
|
@@ -181,11 +267,27 @@ function monacoWidget(context, json, loader, { getWorker, services: named = MONA
|
|
|
181
267
|
monaco = loaded;
|
|
182
268
|
box = document.createElement('div');
|
|
183
269
|
box.className = 'fd-monaco-box';
|
|
184
|
-
|
|
270
|
+
if (line) {
|
|
271
|
+
frame = document.createElement('div');
|
|
272
|
+
frame.className = 'fd-monaco-frame';
|
|
273
|
+
frame.append(box);
|
|
274
|
+
// A press on the frame, round the code, goes into it, as one on a text box's edge does.
|
|
275
|
+
frame.addEventListener('mousedown', (event) => {
|
|
276
|
+
if (event.target !== frame || !editor)
|
|
277
|
+
return;
|
|
278
|
+
event.preventDefault();
|
|
279
|
+
editor.focus();
|
|
280
|
+
});
|
|
281
|
+
element.addEventListener('keydown', enter, true);
|
|
282
|
+
element.addEventListener('paste', pasted, true);
|
|
283
|
+
lineKeys(monaco);
|
|
284
|
+
}
|
|
285
|
+
element.insertBefore(frame ?? box, plain);
|
|
185
286
|
const focused = document.activeElement === plain;
|
|
186
287
|
model = monaco.editor.createModel(plain.value, monacoId);
|
|
187
288
|
editor = monaco.editor.create(box, {
|
|
188
289
|
...EDITOR_OPTIONS,
|
|
290
|
+
...(line ? LINE_OPTIONS : {}),
|
|
189
291
|
model,
|
|
190
292
|
readOnly: !!last?.readonly,
|
|
191
293
|
domReadOnly: !!last?.readonly,
|
|
@@ -202,14 +304,26 @@ function monacoWidget(context, json, loader, { getWorker, services: named = MONA
|
|
|
202
304
|
const area = input();
|
|
203
305
|
area.id = id;
|
|
204
306
|
area.setAttribute('aria-labelledby', `${id}-label`);
|
|
307
|
+
if (line) {
|
|
308
|
+
// One line, said to assistive technology, and to the form, which moves on from it at Enter as from a text box.
|
|
309
|
+
area.setAttribute('aria-multiline', 'false');
|
|
310
|
+
editor.createContextKey(ONE_LINE, true);
|
|
311
|
+
}
|
|
205
312
|
describe();
|
|
206
313
|
const current = model;
|
|
207
|
-
editor.onDidChangeModelContent(() => {
|
|
208
|
-
if (
|
|
209
|
-
|
|
314
|
+
editor.onDidChangeModelContent((change) => {
|
|
315
|
+
if (writing)
|
|
316
|
+
return;
|
|
317
|
+
// A line break typed into one line: joined in a moment, and never in the form.
|
|
318
|
+
const broken = line && change.changes.some(({ text }) => BREAK.test(text));
|
|
319
|
+
if (broken)
|
|
320
|
+
queueMicrotask(() => rejoin(change));
|
|
321
|
+
typed(broken ? oneLineOf(current.getValue()) : current.getValue());
|
|
210
322
|
});
|
|
211
|
-
|
|
212
|
-
|
|
323
|
+
if (!line) {
|
|
324
|
+
editor.onDidContentSizeChange(({ contentHeight }) => fit(contentHeight));
|
|
325
|
+
fit(editor.getContentHeight());
|
|
326
|
+
}
|
|
213
327
|
if (focused)
|
|
214
328
|
editor.focus();
|
|
215
329
|
}
|
|
@@ -220,6 +334,8 @@ function monacoWidget(context, json, loader, { getWorker, services: named = MONA
|
|
|
220
334
|
focus: () => (editor ? editor.focus() : plain.focus()),
|
|
221
335
|
destroy() {
|
|
222
336
|
gone = true;
|
|
337
|
+
element.removeEventListener('keydown', enter, true);
|
|
338
|
+
element.removeEventListener('paste', pasted, true);
|
|
223
339
|
for (const stop of leave.splice(0))
|
|
224
340
|
stop();
|
|
225
341
|
editor?.dispose();
|
|
@@ -255,12 +371,14 @@ function monacoWidget(context, json, loader, { getWorker, services: named = MONA
|
|
|
255
371
|
}
|
|
256
372
|
/**
|
|
257
373
|
* The widgets, made with the app's choices: `text.monaco` for text in a
|
|
258
|
-
* language, `
|
|
374
|
+
* language, `char.monaco` for one line of it, `json.monaco` for JSON. Pass
|
|
375
|
+
* them to the viewer (`widgets`).
|
|
259
376
|
*/
|
|
260
377
|
export function createMonacoWidgets(options = {}) {
|
|
261
378
|
const loader = options.loader ?? defaultLoader;
|
|
262
379
|
const factory = (json) => (context) => monacoWidget(context, json, loader, options);
|
|
263
|
-
|
|
380
|
+
const text = factory(false);
|
|
381
|
+
return { 'text.monaco': text, 'char.monaco': text, 'json.monaco': factory(true) };
|
|
264
382
|
}
|
|
265
383
|
/** The widgets with no language services: code coloured, no worker started. */
|
|
266
384
|
export const monacoWidgets = createMonacoWidgets();
|
package/src/lib/monaco.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monaco.mjs","sourceRoot":"","sources":["../../../../../libs/monaco/src/lib/monaco.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"monaco.mjs","sourceRoot":"","sources":["../../../../../libs/monaco/src/lib/monaco.ts"],"names":[],"mappings":"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"}
|
package/src/lib/styles.js
CHANGED
|
@@ -20,9 +20,29 @@ exports.MONACO_CSS = `
|
|
|
20
20
|
}
|
|
21
21
|
.fd-monaco-box:focus-within { outline: 2px solid var(--fd-focus); outline-offset: 1px; }
|
|
22
22
|
.fd-monaco[data-invalid] .fd-monaco-box { border-color: var(--fd-error); }
|
|
23
|
-
.fd-monaco-plain { min-height: 96px; }
|
|
23
|
+
textarea.fd-monaco-plain { min-height: 96px; }
|
|
24
|
+
input.fd-monaco-plain { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 13px; }
|
|
24
25
|
/* Only to be read: shaded as Fieldia shades such a box, over the colours Monaco's theme gives it. */
|
|
25
26
|
.fd-monaco[data-readonly] .monaco-editor { --vscode-editor-background: color-mix(in srgb, var(--fd-text) 4%, var(--fd-surface)); }
|
|
27
|
+
/* A char field's code: one line, in a frame drawn as the form's text boxes are in each skin, the code on its ground. */
|
|
28
|
+
.fd-monaco-line .fd-monaco-frame {
|
|
29
|
+
box-sizing: border-box; display: grid; align-content: center; min-width: 0; cursor: text;
|
|
30
|
+
min-height: var(--fd-control-height, 30px); padding: var(--fd-pad-y) var(--fd-pad-x);
|
|
31
|
+
background: var(--fd-surface); border: solid var(--fd-border); border-width: var(--fd-input-border); border-radius: var(--fd-control-radius);
|
|
32
|
+
transition: border-color 0.15s ease, box-shadow 0.15s ease;
|
|
33
|
+
}
|
|
34
|
+
.fd-monaco-line .fd-monaco-box { height: 20px; border: 0; border-radius: 0; background: none; }
|
|
35
|
+
.fd-monaco-line .fd-monaco-box:focus-within { outline: none; }
|
|
36
|
+
.fd-monaco.fd-monaco-line .monaco-editor, .fd-monaco.fd-monaco-line[data-readonly] .monaco-editor { --vscode-editor-background: transparent; --vscode-editorGutter-background: transparent; }
|
|
37
|
+
.fd-monaco-line .fd-monaco-frame:hover { border-color: var(--fd-border-strong); }
|
|
38
|
+
.fd-monaco-line .fd-monaco-frame:focus-within { border-color: var(--fd-focus); box-shadow: var(--fd-focus-ring); }
|
|
39
|
+
.fd-form[data-fd-skin="underline"] .fd-monaco-line .fd-monaco-frame { background: transparent; }
|
|
40
|
+
.fd-form[data-fd-skin="underline"] .fd-monaco-line .fd-monaco-frame:focus-within { box-shadow: 0 1px 0 0 var(--fd-focus); }
|
|
41
|
+
.fd-form[data-fd-skin="underline"] .fd-field.fd-required .fd-monaco-line .fd-monaco-frame { border-color: var(--fd-accent); }
|
|
42
|
+
.fd-monaco-line[data-readonly] .fd-monaco-frame { background: transparent; border-color: transparent; padding-inline: 0; }
|
|
43
|
+
.fd-form[data-fd-skin="outlined"] .fd-monaco-line[data-readonly] .fd-monaco-frame { background: color-mix(in srgb, var(--fd-text) 5%, var(--fd-surface)); border-color: var(--fd-border); padding-inline: var(--fd-pad-x); }
|
|
44
|
+
.fd-form[data-readonly] .fd-monaco-line[data-readonly] .fd-monaco-frame { background: transparent; border-color: transparent; padding-inline: 0; }
|
|
45
|
+
.fd-monaco-line:is([data-invalid], :has(.inputarea[aria-invalid="true"])) .fd-monaco-frame { border-color: var(--fd-error); }
|
|
26
46
|
@layer fieldia-tokens {
|
|
27
47
|
.fd-monaco { ${declare('light')} }
|
|
28
48
|
:is(.fd-form, .fd-form-dialog, .fd-theme)[data-scheme="dark"] .fd-monaco { ${declare('dark')} }
|
package/src/lib/styles.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../../../libs/monaco/src/lib/styles.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../../../libs/monaco/src/lib/styles.ts"],"names":[],"mappings":";;;AAmDA,kDAMC;AAzDD,mCAAuC;AAEvC,MAAM,OAAO,GAAG,CAAC,MAAwB,EAAE,EAAE,CAC3C,MAAM,CAAC,OAAO,CAAC,oBAAY,CAAC,MAAM,CAAC,CAAC;KACjC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,aAAa,IAAI,KAAK,MAAM,GAAG,CAAC;KACxD,IAAI,CAAC,GAAG,CAAC,CAAC;AAEf;;;;;GAKG;AACU,QAAA,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAgCX,OAAO,CAAC,OAAO,CAAC;6EAC8C,OAAO,CAAC,MAAM,CAAC;mHACuB,OAAO,CAAC,MAAM,CAAC;;CAEjI,CAAC;AAEF,SAAgB,mBAAmB,CAAC,GAAa;IAC/C,IAAI,GAAG,CAAC,cAAc,CAAC,uBAAuB,CAAC;QAAE,OAAO;IACxD,MAAM,KAAK,GAAG,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACzC,KAAK,CAAC,EAAE,GAAG,uBAAuB,CAAC;IACnC,KAAK,CAAC,WAAW,GAAG,kBAAU,CAAC;IAC/B,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACzB,CAAC"}
|
package/src/lib/styles.mjs
CHANGED
|
@@ -16,9 +16,29 @@ export const MONACO_CSS = `
|
|
|
16
16
|
}
|
|
17
17
|
.fd-monaco-box:focus-within { outline: 2px solid var(--fd-focus); outline-offset: 1px; }
|
|
18
18
|
.fd-monaco[data-invalid] .fd-monaco-box { border-color: var(--fd-error); }
|
|
19
|
-
.fd-monaco-plain { min-height: 96px; }
|
|
19
|
+
textarea.fd-monaco-plain { min-height: 96px; }
|
|
20
|
+
input.fd-monaco-plain { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 13px; }
|
|
20
21
|
/* Only to be read: shaded as Fieldia shades such a box, over the colours Monaco's theme gives it. */
|
|
21
22
|
.fd-monaco[data-readonly] .monaco-editor { --vscode-editor-background: color-mix(in srgb, var(--fd-text) 4%, var(--fd-surface)); }
|
|
23
|
+
/* A char field's code: one line, in a frame drawn as the form's text boxes are in each skin, the code on its ground. */
|
|
24
|
+
.fd-monaco-line .fd-monaco-frame {
|
|
25
|
+
box-sizing: border-box; display: grid; align-content: center; min-width: 0; cursor: text;
|
|
26
|
+
min-height: var(--fd-control-height, 30px); padding: var(--fd-pad-y) var(--fd-pad-x);
|
|
27
|
+
background: var(--fd-surface); border: solid var(--fd-border); border-width: var(--fd-input-border); border-radius: var(--fd-control-radius);
|
|
28
|
+
transition: border-color 0.15s ease, box-shadow 0.15s ease;
|
|
29
|
+
}
|
|
30
|
+
.fd-monaco-line .fd-monaco-box { height: 20px; border: 0; border-radius: 0; background: none; }
|
|
31
|
+
.fd-monaco-line .fd-monaco-box:focus-within { outline: none; }
|
|
32
|
+
.fd-monaco.fd-monaco-line .monaco-editor, .fd-monaco.fd-monaco-line[data-readonly] .monaco-editor { --vscode-editor-background: transparent; --vscode-editorGutter-background: transparent; }
|
|
33
|
+
.fd-monaco-line .fd-monaco-frame:hover { border-color: var(--fd-border-strong); }
|
|
34
|
+
.fd-monaco-line .fd-monaco-frame:focus-within { border-color: var(--fd-focus); box-shadow: var(--fd-focus-ring); }
|
|
35
|
+
.fd-form[data-fd-skin="underline"] .fd-monaco-line .fd-monaco-frame { background: transparent; }
|
|
36
|
+
.fd-form[data-fd-skin="underline"] .fd-monaco-line .fd-monaco-frame:focus-within { box-shadow: 0 1px 0 0 var(--fd-focus); }
|
|
37
|
+
.fd-form[data-fd-skin="underline"] .fd-field.fd-required .fd-monaco-line .fd-monaco-frame { border-color: var(--fd-accent); }
|
|
38
|
+
.fd-monaco-line[data-readonly] .fd-monaco-frame { background: transparent; border-color: transparent; padding-inline: 0; }
|
|
39
|
+
.fd-form[data-fd-skin="outlined"] .fd-monaco-line[data-readonly] .fd-monaco-frame { background: color-mix(in srgb, var(--fd-text) 5%, var(--fd-surface)); border-color: var(--fd-border); padding-inline: var(--fd-pad-x); }
|
|
40
|
+
.fd-form[data-readonly] .fd-monaco-line[data-readonly] .fd-monaco-frame { background: transparent; border-color: transparent; padding-inline: 0; }
|
|
41
|
+
.fd-monaco-line:is([data-invalid], :has(.inputarea[aria-invalid="true"])) .fd-monaco-frame { border-color: var(--fd-error); }
|
|
22
42
|
@layer fieldia-tokens {
|
|
23
43
|
.fd-monaco { ${declare('light')} }
|
|
24
44
|
:is(.fd-form, .fd-form-dialog, .fd-theme)[data-scheme="dark"] .fd-monaco { ${declare('dark')} }
|
package/src/lib/styles.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.mjs","sourceRoot":"","sources":["../../../../../libs/monaco/src/lib/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,MAAM,OAAO,GAAG,CAAC,MAAwB,EAAE,EAAE,CAC3C,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;KACjC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,aAAa,IAAI,KAAK,MAAM,GAAG,CAAC;KACxD,IAAI,CAAC,GAAG,CAAC,CAAC;AAEf;;;;;GAKG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG
|
|
1
|
+
{"version":3,"file":"styles.mjs","sourceRoot":"","sources":["../../../../../libs/monaco/src/lib/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,MAAM,OAAO,GAAG,CAAC,MAAwB,EAAE,EAAE,CAC3C,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;KACjC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,aAAa,IAAI,KAAK,MAAM,GAAG,CAAC;KACxD,IAAI,CAAC,GAAG,CAAC,CAAC;AAEf;;;;;GAKG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAgCX,OAAO,CAAC,OAAO,CAAC;6EAC8C,OAAO,CAAC,MAAM,CAAC;mHACuB,OAAO,CAAC,MAAM,CAAC;;CAEjI,CAAC;AAEF,MAAM,UAAU,mBAAmB,CAAC,GAAa;IAC/C,IAAI,GAAG,CAAC,cAAc,CAAC,uBAAuB,CAAC;QAAE,OAAO;IACxD,MAAM,KAAK,GAAG,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACzC,KAAK,CAAC,EAAE,GAAG,uBAAuB,CAAC;IACnC,KAAK,CAAC,WAAW,GAAG,UAAU,CAAC;IAC/B,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACzB,CAAC"}
|
package/src/lib/theme.js
CHANGED
|
@@ -69,24 +69,30 @@ function monacoTheme(given) {
|
|
|
69
69
|
/** Monaco takes a rule's colour without its #. */
|
|
70
70
|
const fg = (role) => c[role].slice(1);
|
|
71
71
|
const see = (role, opacity) => `${c[role]}${opacity}`;
|
|
72
|
+
// Each kind's words, and after them the words Monaco's own themes colour for one language — SQL's strings, say,
|
|
73
|
+
// in a red that reads at 4:1 — which outrank a rule for their kind: given their kind's colour too.
|
|
72
74
|
const roles = [
|
|
73
|
-
[['keyword', 'keyword.flow', 'keyword.control', 'storage'], 'keyword'],
|
|
74
|
-
[['string', 'string.escape', 'string.value.json', 'regexp', 'attribute.value'], 'string'],
|
|
75
|
-
[['number', 'number.hex', 'number.float', 'constant', 'variable.predefined', 'attribute.name'], 'literal'],
|
|
76
|
-
[['predefined', 'function'], 'function'],
|
|
75
|
+
[['keyword', 'keyword.flow', 'keyword.control', 'storage', 'keyword.flow.scss'], 'keyword'],
|
|
76
|
+
[['string', 'string.escape', 'string.value.json', 'regexp', 'attribute.value', 'string.sql', 'string.yaml', 'string.html', 'attribute.value.html', 'attribute.value.xml', 'metatag.content.html'], 'string'],
|
|
77
|
+
[['number', 'number.hex', 'number.float', 'constant', 'variable.predefined', 'attribute.name', 'keyword.json', 'attribute.value.number.css', 'attribute.value.unit.css', 'attribute.value.hex.css'], 'literal'],
|
|
78
|
+
[['predefined', 'function', 'predefined.sql'], 'function'],
|
|
77
79
|
[['type', 'type.identifier', 'namespace', 'annotation'], 'type'],
|
|
78
|
-
[['tag', 'metatag'], 'tag'],
|
|
80
|
+
[['tag', 'metatag', 'metatag.html', 'metatag.xml'], 'tag'],
|
|
79
81
|
[['string.key.json', 'key', 'variable.name'], 'property'],
|
|
80
|
-
[['delimiter', 'operator', 'identifier', 'variable'], 'text'],
|
|
82
|
+
[['delimiter', 'operator', 'identifier', 'variable', 'operator.sql', 'operator.scss', 'operator.swift', 'delimiter.html', 'delimiter.xml'], 'text'],
|
|
81
83
|
];
|
|
84
|
+
// A read-only field is shaded (styles.ts): comments, in the page's quiet words, are laid over the shade, to read there too.
|
|
85
|
+
const ground = channels(surface);
|
|
86
|
+
const shade = `#${channels(c.text).map((t, i) => byte(t * 0.04 + ground[i] * 0.96)).join('')}`;
|
|
87
|
+
const quiet = solid(given.muted, shade).slice(1);
|
|
82
88
|
return {
|
|
83
89
|
base: luminance(surface) < 0.4 ? 'vs-dark' : 'vs',
|
|
84
90
|
inherit: true,
|
|
85
91
|
rules: [
|
|
86
92
|
{ token: '', foreground: fg('text') },
|
|
87
93
|
...roles.flatMap(([tokens, role]) => tokens.map((token) => ({ token, foreground: fg(role) }))),
|
|
88
|
-
{ token: 'comment', foreground:
|
|
89
|
-
{ token: 'comment.doc', foreground:
|
|
94
|
+
{ token: 'comment', foreground: quiet, fontStyle: 'italic' },
|
|
95
|
+
{ token: 'comment.doc', foreground: quiet, fontStyle: 'italic' },
|
|
90
96
|
{ token: 'invalid', foreground: fg('error') },
|
|
91
97
|
{ token: 'emphasis', fontStyle: 'italic' },
|
|
92
98
|
{ token: 'strong', fontStyle: 'bold' },
|
|
@@ -98,6 +104,7 @@ function monacoTheme(given) {
|
|
|
98
104
|
'editorLineNumber.foreground': c.muted,
|
|
99
105
|
'editorLineNumber.activeForeground': c.text,
|
|
100
106
|
'editorCursor.foreground': c.text,
|
|
107
|
+
'editor.placeholder.foreground': c.muted,
|
|
101
108
|
'editor.selectionBackground': see('accent', '40'),
|
|
102
109
|
'editor.inactiveSelectionBackground': see('accent', '26'),
|
|
103
110
|
'editor.selectionHighlightBackground': see('accent', '1f'),
|
package/src/lib/theme.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.js","sourceRoot":"","sources":["../../../../../libs/monaco/src/lib/theme.ts"],"names":[],"mappings":";;;AAuCA,sBAcC;AAiBD,
|
|
1
|
+
{"version":3,"file":"theme.js","sourceRoot":"","sources":["../../../../../libs/monaco/src/lib/theme.ts"],"names":[],"mappings":";;;AAuCA,sBAcC;AAiBD,kCAuEC;AAOD,kCAgBC;AAlKD;;;;;;GAMG;AAEH,wGAAwG;AAC3F,QAAA,YAAY,GAAG;IAC1B,KAAK,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE;IAC/I,IAAI,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE;CACtI,CAAC;AAOX,sFAAsF;AACtF,MAAM,QAAQ,GAAmB;IAC/B,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS;IAChJ,GAAG,oBAAY,CAAC,KAAK;CACtB,CAAC;AAEF,MAAM,UAAU,GAAwB,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AACnH,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,oBAAY,CAAC,KAAK,CAAe,CAAC;AACjE,MAAM,QAAQ,GAAG,CAAC,IAAyB,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAgB,CAAC,CAAC,CAAC,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;AAE/H,MAAM,IAAI,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACpG,MAAM,OAAO,GAAG,CAAC,KAAyB,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AAElJ;;;;GAIG;AACH,SAAgB,KAAK,CAAC,GAAW;IAC/B,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACtC,MAAM,KAAK,GAAG,mCAAmC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7D,IAAI,KAAK;QAAE,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IACxF,IAAI,8BAA8B,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3D,MAAM,MAAM,GAAG,WAAW,CAAC;IAC3B,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC,gBAAgB,MAAM,UAAU,MAAM,UAAU,MAAM,sCAAsC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChI,MAAM,IAAI,GAAG,IAAI,MAAM,CAAC,oBAAoB,MAAM,OAAO,MAAM,OAAO,MAAM,mCAAmC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5H,MAAM,KAAK,GAAG,GAAG,IAAI,IAAI,CAAC;IAC1B,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAC5B,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAC/E,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,EAAE,CAAC;AACjF,CAAC;AAED,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAC1F,MAAM,KAAK,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzF,oFAAoF;AACpF,SAAS,KAAK,CAAC,MAAc,EAAE,MAAc;IAC3C,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IACxB,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC9B,OAAO,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;AACxF,CAAC;AACD,MAAM,SAAS,GAAG,CAAC,GAAW,EAAE,EAAE,CAChC,QAAQ,CAAC,GAAG,CAAC;KACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC;KACnB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;KACrE,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAErE,uCAAuC;AACvC,SAAgB,WAAW,CAAC,KAAqB;IAC/C,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAChD,MAAM,EAAE,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtD,MAAM,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAmB,CAAC;IACjJ,kDAAkD;IAClD,MAAM,EAAE,GAAG,CAAC,IAA0B,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC5D,MAAM,GAAG,GAAG,CAAC,IAA0B,EAAE,OAAe,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,EAAE,CAAC;IACpF,gHAAgH;IAChH,mGAAmG;IACnG,MAAM,KAAK,GAAuC;QAChD,CAAC,CAAC,SAAS,EAAE,cAAc,EAAE,iBAAiB,EAAE,SAAS,EAAE,mBAAmB,CAAC,EAAE,SAAS,CAAC;QAC3F,CAAC,CAAC,QAAQ,EAAE,eAAe,EAAE,mBAAmB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,sBAAsB,CAAC,EAAE,QAAQ,CAAC;QAC5M,CAAC,CAAC,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,cAAc,EAAE,4BAA4B,EAAE,0BAA0B,EAAE,yBAAyB,CAAC,EAAE,SAAS,CAAC;QAC/M,CAAC,CAAC,YAAY,EAAE,UAAU,EAAE,gBAAgB,CAAC,EAAE,UAAU,CAAC;QAC1D,CAAC,CAAC,MAAM,EAAE,iBAAiB,EAAE,WAAW,EAAE,YAAY,CAAC,EAAE,MAAM,CAAC;QAChE,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,CAAC,EAAE,KAAK,CAAC;QAC1D,CAAC,CAAC,iBAAiB,EAAE,KAAK,EAAE,eAAe,CAAC,EAAE,UAAU,CAAC;QACzD,CAAC,CAAC,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,eAAe,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,eAAe,CAAC,EAAE,MAAM,CAAC;KACpJ,CAAC;IACF,4HAA4H;IAC5H,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IACjC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;IAC/F,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACjD,OAAO;QACL,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI;QACjD,OAAO,EAAE,IAAI;QACb,KAAK,EAAE;YACL,EAAE,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE;YACrC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YAC9F,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE;YAC5D,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE;YAChE,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE;YAC7C,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE;YAC1C,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE;SACvC;QACD,MAAM,EAAE;YACN,mBAAmB,EAAE,OAAO;YAC5B,mBAAmB,EAAE,CAAC,CAAC,IAAI;YAC3B,yBAAyB,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC;YACrD,6BAA6B,EAAE,CAAC,CAAC,KAAK;YACtC,mCAAmC,EAAE,CAAC,CAAC,IAAI;YAC3C,yBAAyB,EAAE,CAAC,CAAC,IAAI;YACjC,+BAA+B,EAAE,CAAC,CAAC,KAAK;YACxC,4BAA4B,EAAE,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC;YACjD,oCAAoC,EAAE,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC;YACzD,qCAAqC,EAAE,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC;YAC1D,gCAAgC,EAAE,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC;YACrD,4BAA4B,EAAE,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC;YACjD,qCAAqC,EAAE,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC;YAC1D,iCAAiC,EAAE,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC;YACtD,gCAAgC,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC;YACnD,4BAA4B,EAAE,WAAW;YACzC,+BAA+B,EAAE,CAAC,CAAC,MAAM;YACzC,qCAAqC,EAAE,CAAC,CAAC,KAAK;YAC9C,6BAA6B,EAAE,CAAC,CAAC,MAAM;YACvC,+BAA+B,EAAE,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC;YACpD,2BAA2B,EAAE,CAAC,CAAC,KAAK;YACpC,wBAAwB,EAAE,CAAC,CAAC,KAAK;YACjC,4BAA4B,EAAE,WAAW;YACzC,WAAW,EAAE,CAAC,CAAC,KAAK;YACpB,yBAAyB,EAAE,OAAO;YAClC,yBAAyB,EAAE,CAAC,CAAC,IAAI;YACjC,qBAAqB,EAAE,CAAC,CAAC,MAAM;YAC/B,kBAAkB,EAAE,OAAO;YAC3B,kBAAkB,EAAE,CAAC,CAAC,IAAI;YAC1B,cAAc,EAAE,CAAC,CAAC,MAAM;YACxB,4BAA4B,EAAE,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC;YAChD,iCAAiC,EAAE,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC;YACrD,kCAAkC,EAAE,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC;SACvD;KACF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAgB,WAAW,CAAC,OAAoB;IAC9C,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC;IAC/C,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,GAAG,QAAQ,EAAE,CAAC;IAClC,MAAM,KAAK,GAAG,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC1D,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;IACpB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;IAChC,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,UAAU,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE;YAAE,SAAS;QAC5D,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,OAAO,IAAI,GAAG,CAAC;QACnC,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7E,CAAC;IACD,KAAK,CAAC,MAAM,EAAE,CAAC;IACf,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
package/src/lib/theme.mjs
CHANGED
|
@@ -63,24 +63,30 @@ export function monacoTheme(given) {
|
|
|
63
63
|
/** Monaco takes a rule's colour without its #. */
|
|
64
64
|
const fg = (role) => c[role].slice(1);
|
|
65
65
|
const see = (role, opacity) => `${c[role]}${opacity}`;
|
|
66
|
+
// Each kind's words, and after them the words Monaco's own themes colour for one language — SQL's strings, say,
|
|
67
|
+
// in a red that reads at 4:1 — which outrank a rule for their kind: given their kind's colour too.
|
|
66
68
|
const roles = [
|
|
67
|
-
[['keyword', 'keyword.flow', 'keyword.control', 'storage'], 'keyword'],
|
|
68
|
-
[['string', 'string.escape', 'string.value.json', 'regexp', 'attribute.value'], 'string'],
|
|
69
|
-
[['number', 'number.hex', 'number.float', 'constant', 'variable.predefined', 'attribute.name'], 'literal'],
|
|
70
|
-
[['predefined', 'function'], 'function'],
|
|
69
|
+
[['keyword', 'keyword.flow', 'keyword.control', 'storage', 'keyword.flow.scss'], 'keyword'],
|
|
70
|
+
[['string', 'string.escape', 'string.value.json', 'regexp', 'attribute.value', 'string.sql', 'string.yaml', 'string.html', 'attribute.value.html', 'attribute.value.xml', 'metatag.content.html'], 'string'],
|
|
71
|
+
[['number', 'number.hex', 'number.float', 'constant', 'variable.predefined', 'attribute.name', 'keyword.json', 'attribute.value.number.css', 'attribute.value.unit.css', 'attribute.value.hex.css'], 'literal'],
|
|
72
|
+
[['predefined', 'function', 'predefined.sql'], 'function'],
|
|
71
73
|
[['type', 'type.identifier', 'namespace', 'annotation'], 'type'],
|
|
72
|
-
[['tag', 'metatag'], 'tag'],
|
|
74
|
+
[['tag', 'metatag', 'metatag.html', 'metatag.xml'], 'tag'],
|
|
73
75
|
[['string.key.json', 'key', 'variable.name'], 'property'],
|
|
74
|
-
[['delimiter', 'operator', 'identifier', 'variable'], 'text'],
|
|
76
|
+
[['delimiter', 'operator', 'identifier', 'variable', 'operator.sql', 'operator.scss', 'operator.swift', 'delimiter.html', 'delimiter.xml'], 'text'],
|
|
75
77
|
];
|
|
78
|
+
// A read-only field is shaded (styles.ts): comments, in the page's quiet words, are laid over the shade, to read there too.
|
|
79
|
+
const ground = channels(surface);
|
|
80
|
+
const shade = `#${channels(c.text).map((t, i) => byte(t * 0.04 + ground[i] * 0.96)).join('')}`;
|
|
81
|
+
const quiet = solid(given.muted, shade).slice(1);
|
|
76
82
|
return {
|
|
77
83
|
base: luminance(surface) < 0.4 ? 'vs-dark' : 'vs',
|
|
78
84
|
inherit: true,
|
|
79
85
|
rules: [
|
|
80
86
|
{ token: '', foreground: fg('text') },
|
|
81
87
|
...roles.flatMap(([tokens, role]) => tokens.map((token) => ({ token, foreground: fg(role) }))),
|
|
82
|
-
{ token: 'comment', foreground:
|
|
83
|
-
{ token: 'comment.doc', foreground:
|
|
88
|
+
{ token: 'comment', foreground: quiet, fontStyle: 'italic' },
|
|
89
|
+
{ token: 'comment.doc', foreground: quiet, fontStyle: 'italic' },
|
|
84
90
|
{ token: 'invalid', foreground: fg('error') },
|
|
85
91
|
{ token: 'emphasis', fontStyle: 'italic' },
|
|
86
92
|
{ token: 'strong', fontStyle: 'bold' },
|
|
@@ -92,6 +98,7 @@ export function monacoTheme(given) {
|
|
|
92
98
|
'editorLineNumber.foreground': c.muted,
|
|
93
99
|
'editorLineNumber.activeForeground': c.text,
|
|
94
100
|
'editorCursor.foreground': c.text,
|
|
101
|
+
'editor.placeholder.foreground': c.muted,
|
|
95
102
|
'editor.selectionBackground': see('accent', '40'),
|
|
96
103
|
'editor.inactiveSelectionBackground': see('accent', '26'),
|
|
97
104
|
'editor.selectionHighlightBackground': see('accent', '1f'),
|
package/src/lib/theme.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.mjs","sourceRoot":"","sources":["../../../../../libs/monaco/src/lib/theme.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"theme.mjs","sourceRoot":"","sources":["../../../../../libs/monaco/src/lib/theme.ts"],"names":[],"mappings":"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"}
|
package/src/lib/types.d.mts
CHANGED
|
@@ -7,10 +7,46 @@
|
|
|
7
7
|
export interface MonacoDisposable {
|
|
8
8
|
dispose(): void;
|
|
9
9
|
}
|
|
10
|
+
/** A place in the text: its line and column, each from 1. */
|
|
11
|
+
export interface MonacoPosition {
|
|
12
|
+
lineNumber: number;
|
|
13
|
+
column: number;
|
|
14
|
+
}
|
|
15
|
+
/** A stretch of the text, from one place to another. */
|
|
16
|
+
export interface MonacoRange {
|
|
17
|
+
startLineNumber: number;
|
|
18
|
+
startColumn: number;
|
|
19
|
+
endLineNumber: number;
|
|
20
|
+
endColumn: number;
|
|
21
|
+
}
|
|
22
|
+
/** What is chosen: from where it starts to where the cursor is. */
|
|
23
|
+
export interface MonacoSelection {
|
|
24
|
+
selectionStartLineNumber: number;
|
|
25
|
+
selectionStartColumn: number;
|
|
26
|
+
positionLineNumber: number;
|
|
27
|
+
positionColumn: number;
|
|
28
|
+
}
|
|
29
|
+
/** A change to the text, as Monaco tells of it: what each edit put in, and whether Undo or Redo made it. */
|
|
30
|
+
export interface MonacoContentChange {
|
|
31
|
+
changes: readonly {
|
|
32
|
+
text: string;
|
|
33
|
+
}[];
|
|
34
|
+
isUndoing: boolean;
|
|
35
|
+
isRedoing: boolean;
|
|
36
|
+
}
|
|
37
|
+
/** A key bound to a command, or to none (`null`: Monaco does nothing, and leaves the key to the page), where `when` holds. */
|
|
38
|
+
export interface MonacoKeybindingRule {
|
|
39
|
+
keybinding: number;
|
|
40
|
+
command: string | null;
|
|
41
|
+
when?: string;
|
|
42
|
+
}
|
|
10
43
|
export interface MonacoModel extends MonacoDisposable {
|
|
11
44
|
getValue(): string;
|
|
12
45
|
setValue(value: string): void;
|
|
13
46
|
getLanguageId(): string;
|
|
47
|
+
getLineCount(): number;
|
|
48
|
+
getFullModelRange(): MonacoRange;
|
|
49
|
+
getOffsetAt(position: MonacoPosition): number;
|
|
14
50
|
}
|
|
15
51
|
export interface MonacoEditor extends MonacoDisposable {
|
|
16
52
|
getModel(): MonacoModel | null;
|
|
@@ -19,10 +55,22 @@ export interface MonacoEditor extends MonacoDisposable {
|
|
|
19
55
|
hasTextFocus(): boolean;
|
|
20
56
|
layout(): void;
|
|
21
57
|
getContentHeight(): number;
|
|
22
|
-
|
|
58
|
+
getPosition(): MonacoPosition | null;
|
|
59
|
+
onDidChangeModelContent(listener: (event: MonacoContentChange) => void): MonacoDisposable;
|
|
23
60
|
onDidContentSizeChange(listener: (event: {
|
|
24
61
|
contentHeight: number;
|
|
25
62
|
}) => void): MonacoDisposable;
|
|
63
|
+
/** Edits made as one step of Undo, the cursor left where `endCursorState` says. */
|
|
64
|
+
executeEdits(source: string, edits: {
|
|
65
|
+
range: MonacoRange;
|
|
66
|
+
text: string;
|
|
67
|
+
}[], endCursorState?: MonacoSelection[]): boolean;
|
|
68
|
+
/** One of the editor's own actions, as the keyboard runs it: `paste` with its text, `undo`, `redo`. */
|
|
69
|
+
trigger(source: string, handlerId: string, payload: unknown): void;
|
|
70
|
+
/** A key this editor alone has, for keybinding rules to name in their `when`. */
|
|
71
|
+
createContextKey(key: string, defaultValue: boolean): {
|
|
72
|
+
set(value: boolean): void;
|
|
73
|
+
};
|
|
26
74
|
}
|
|
27
75
|
/** A theme as Monaco defines one: its base, rules for tokens and colours for the editor's parts. */
|
|
28
76
|
export interface MonacoThemeData {
|
|
@@ -41,6 +89,7 @@ export interface MonacoApi {
|
|
|
41
89
|
createModel(value: string, language?: string): MonacoModel;
|
|
42
90
|
defineTheme(name: string, theme: MonacoThemeData): void;
|
|
43
91
|
setTheme(name: string): void;
|
|
92
|
+
addKeybindingRules(rules: MonacoKeybindingRule[]): MonacoDisposable;
|
|
44
93
|
};
|
|
45
94
|
languages: {
|
|
46
95
|
register(language: {
|
package/src/lib/types.d.ts
CHANGED
|
@@ -7,10 +7,46 @@
|
|
|
7
7
|
export interface MonacoDisposable {
|
|
8
8
|
dispose(): void;
|
|
9
9
|
}
|
|
10
|
+
/** A place in the text: its line and column, each from 1. */
|
|
11
|
+
export interface MonacoPosition {
|
|
12
|
+
lineNumber: number;
|
|
13
|
+
column: number;
|
|
14
|
+
}
|
|
15
|
+
/** A stretch of the text, from one place to another. */
|
|
16
|
+
export interface MonacoRange {
|
|
17
|
+
startLineNumber: number;
|
|
18
|
+
startColumn: number;
|
|
19
|
+
endLineNumber: number;
|
|
20
|
+
endColumn: number;
|
|
21
|
+
}
|
|
22
|
+
/** What is chosen: from where it starts to where the cursor is. */
|
|
23
|
+
export interface MonacoSelection {
|
|
24
|
+
selectionStartLineNumber: number;
|
|
25
|
+
selectionStartColumn: number;
|
|
26
|
+
positionLineNumber: number;
|
|
27
|
+
positionColumn: number;
|
|
28
|
+
}
|
|
29
|
+
/** A change to the text, as Monaco tells of it: what each edit put in, and whether Undo or Redo made it. */
|
|
30
|
+
export interface MonacoContentChange {
|
|
31
|
+
changes: readonly {
|
|
32
|
+
text: string;
|
|
33
|
+
}[];
|
|
34
|
+
isUndoing: boolean;
|
|
35
|
+
isRedoing: boolean;
|
|
36
|
+
}
|
|
37
|
+
/** A key bound to a command, or to none (`null`: Monaco does nothing, and leaves the key to the page), where `when` holds. */
|
|
38
|
+
export interface MonacoKeybindingRule {
|
|
39
|
+
keybinding: number;
|
|
40
|
+
command: string | null;
|
|
41
|
+
when?: string;
|
|
42
|
+
}
|
|
10
43
|
export interface MonacoModel extends MonacoDisposable {
|
|
11
44
|
getValue(): string;
|
|
12
45
|
setValue(value: string): void;
|
|
13
46
|
getLanguageId(): string;
|
|
47
|
+
getLineCount(): number;
|
|
48
|
+
getFullModelRange(): MonacoRange;
|
|
49
|
+
getOffsetAt(position: MonacoPosition): number;
|
|
14
50
|
}
|
|
15
51
|
export interface MonacoEditor extends MonacoDisposable {
|
|
16
52
|
getModel(): MonacoModel | null;
|
|
@@ -19,10 +55,22 @@ export interface MonacoEditor extends MonacoDisposable {
|
|
|
19
55
|
hasTextFocus(): boolean;
|
|
20
56
|
layout(): void;
|
|
21
57
|
getContentHeight(): number;
|
|
22
|
-
|
|
58
|
+
getPosition(): MonacoPosition | null;
|
|
59
|
+
onDidChangeModelContent(listener: (event: MonacoContentChange) => void): MonacoDisposable;
|
|
23
60
|
onDidContentSizeChange(listener: (event: {
|
|
24
61
|
contentHeight: number;
|
|
25
62
|
}) => void): MonacoDisposable;
|
|
63
|
+
/** Edits made as one step of Undo, the cursor left where `endCursorState` says. */
|
|
64
|
+
executeEdits(source: string, edits: {
|
|
65
|
+
range: MonacoRange;
|
|
66
|
+
text: string;
|
|
67
|
+
}[], endCursorState?: MonacoSelection[]): boolean;
|
|
68
|
+
/** One of the editor's own actions, as the keyboard runs it: `paste` with its text, `undo`, `redo`. */
|
|
69
|
+
trigger(source: string, handlerId: string, payload: unknown): void;
|
|
70
|
+
/** A key this editor alone has, for keybinding rules to name in their `when`. */
|
|
71
|
+
createContextKey(key: string, defaultValue: boolean): {
|
|
72
|
+
set(value: boolean): void;
|
|
73
|
+
};
|
|
26
74
|
}
|
|
27
75
|
/** A theme as Monaco defines one: its base, rules for tokens and colours for the editor's parts. */
|
|
28
76
|
export interface MonacoThemeData {
|
|
@@ -41,6 +89,7 @@ export interface MonacoApi {
|
|
|
41
89
|
createModel(value: string, language?: string): MonacoModel;
|
|
42
90
|
defineTheme(name: string, theme: MonacoThemeData): void;
|
|
43
91
|
setTheme(name: string): void;
|
|
92
|
+
addKeybindingRules(rules: MonacoKeybindingRule[]): MonacoDisposable;
|
|
44
93
|
};
|
|
45
94
|
languages: {
|
|
46
95
|
register(language: {
|