@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 CHANGED
@@ -1,9 +1,9 @@
1
1
  # @fieldia/monaco
2
2
 
3
- [Fieldia](https://fieldia.dev) text and JSON fields in VS Code's editor,
4
- [Monaco](https://microsoft.github.io/monaco-editor/): find and replace,
5
- folding, several cursors, moving lines, VS Code's keys — coloured in the
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
- - Grows with its text, from a few lines to a screenful; the page scrolls
87
- past it under the mouse wheel.
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.16.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.16.0",
25
- "@fieldia/widgets": "0.16.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
  },
@@ -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 Monaco
7
- * has loaded — it is large, and loads only when a page has such a field —
8
- * the field is a plain text box that works as one; if Monaco cannot be
9
- * loaded, it stays one. Tab moves on to the next field, as in every field
10
- * (Ctrl+] and Ctrl+[ indent). The editor wears a theme made from the page's
11
- * tokens, and reads left to right on an Arabic page too.
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, `json.monaco` for JSON. Pass them to the viewer (`widgets`).
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. */
@@ -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 Monaco
7
- * has loaded — it is large, and loads only when a page has such a field —
8
- * the field is a plain text box that works as one; if Monaco cannot be
9
- * loaded, it stays one. Tab moves on to the next field, as in every field
10
- * (Ctrl+] and Ctrl+[ indent). The editor wears a theme made from the page's
11
- * tokens, and reads left to right on an Arabic page too.
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, `json.monaco` for JSON. Pass them to the viewer (`widgets`).
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
- element.insertBefore(box, plain);
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 (!writing)
213
- typed(current.getValue());
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
- editor.onDidContentSizeChange(({ contentHeight }) => fit(contentHeight));
216
- fit(editor.getContentHeight());
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, `json.monaco` for JSON. Pass them to the viewer (`widgets`).
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
- return { 'text.monaco': factory(false), 'json.monaco': factory(true) };
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();
@@ -1 +1 @@
1
- {"version":3,"file":"monaco.js","sourceRoot":"","sources":["../../../../../libs/monaco/src/lib/monaco.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"monaco.js","sourceRoot":"","sources":["../../../../../libs/monaco/src/lib/monaco.ts"],"names":[],"mappings":"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"}
@@ -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
- element.insertBefore(box, plain);
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 (!writing)
209
- typed(current.getValue());
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
- editor.onDidContentSizeChange(({ contentHeight }) => fit(contentHeight));
212
- fit(editor.getContentHeight());
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, `json.monaco` for JSON. Pass them to the viewer (`widgets`).
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
- return { 'text.monaco': factory(false), 'json.monaco': factory(true) };
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();
@@ -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')} }
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../../../libs/monaco/src/lib/styles.ts"],"names":[],"mappings":";;;AA+BA,kDAMC;AArCD,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;;;;;;;;;;;;eAYX,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"}
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"}
@@ -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')} }
@@ -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;;;;;;;;;;;;eAYX,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"}
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: fg('muted'), fontStyle: 'italic' },
89
- { token: 'comment.doc', foreground: fg('muted'), fontStyle: 'italic' },
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'),
@@ -1 +1 @@
1
- {"version":3,"file":"theme.js","sourceRoot":"","sources":["../../../../../libs/monaco/src/lib/theme.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"theme.js","sourceRoot":"","sources":["../../../../../libs/monaco/src/lib/theme.ts"],"names":[],"mappings":"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"}
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: fg('muted'), fontStyle: 'italic' },
83
- { token: 'comment.doc', foreground: fg('muted'), fontStyle: 'italic' },
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'),
@@ -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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"}
@@ -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
- onDidChangeModelContent(listener: () => void): MonacoDisposable;
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: {
@@ -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
- onDidChangeModelContent(listener: () => void): MonacoDisposable;
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: {