@sagmans/dsh-tui 0.11.1 → 0.12.1
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 +72 -20
- package/cordis.patch.yml +4 -0
- package/lib/agent/status.d.ts +5 -0
- package/lib/agent/status.d.ts.map +1 -1
- package/lib/agent/status.js +2 -0
- package/lib/agent/status.js.map +1 -1
- package/lib/compat/section.d.ts +8 -0
- package/lib/compat/section.d.ts.map +1 -1
- package/lib/compat/section.js +9 -0
- package/lib/compat/section.js.map +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +14 -1
- package/lib/index.js.map +1 -1
- package/lib/input/action-catalog.d.ts +3 -1
- package/lib/input/action-catalog.d.ts.map +1 -1
- package/lib/input/action-catalog.js +7 -2
- package/lib/input/action-catalog.js.map +1 -1
- package/lib/input/actions.d.ts +8 -3
- package/lib/input/actions.d.ts.map +1 -1
- package/lib/input/actions.js +22 -12
- package/lib/input/actions.js.map +1 -1
- package/lib/input/keymap-conflicts.d.ts +5 -4
- package/lib/input/keymap-conflicts.d.ts.map +1 -1
- package/lib/input/keymap-conflicts.js +12 -12
- package/lib/input/keymap-conflicts.js.map +1 -1
- package/lib/input/keymap-settings.d.ts +4 -7
- package/lib/input/keymap-settings.d.ts.map +1 -1
- package/lib/input/keymap-settings.js +6 -5
- package/lib/input/keymap-settings.js.map +1 -1
- package/lib/input/keymap.d.ts.map +1 -1
- package/lib/input/keymap.js +6 -6
- package/lib/input/keymap.js.map +1 -1
- package/lib/input/submission.d.ts +3 -0
- package/lib/input/submission.d.ts.map +1 -1
- package/lib/input/submission.js.map +1 -1
- package/lib/keymaps.d.ts +56 -0
- package/lib/keymaps.d.ts.map +1 -0
- package/lib/keymaps.js +106 -0
- package/lib/keymaps.js.map +1 -0
- package/lib/keys-command.d.ts.map +1 -1
- package/lib/keys-command.js +4 -4
- package/lib/keys-command.js.map +1 -1
- package/lib/surface/appearance-preferences.d.ts +3 -0
- package/lib/surface/appearance-preferences.d.ts.map +1 -1
- package/lib/surface/appearance-preferences.js +6 -0
- package/lib/surface/appearance-preferences.js.map +1 -1
- package/lib/surface/appearance.d.ts +3 -0
- package/lib/surface/appearance.d.ts.map +1 -1
- package/lib/surface/appearance.js +17 -4
- package/lib/surface/appearance.js.map +1 -1
- package/lib/surface/commands.d.ts +2 -0
- package/lib/surface/commands.d.ts.map +1 -1
- package/lib/surface/commands.js +3 -0
- package/lib/surface/commands.js.map +1 -1
- package/lib/surface/model-choice.d.ts +5 -0
- package/lib/surface/model-choice.d.ts.map +1 -1
- package/lib/surface/model-choice.js +6 -2
- package/lib/surface/model-choice.js.map +1 -1
- package/lib/surface/plugin-actions.d.ts +18 -0
- package/lib/surface/plugin-actions.d.ts.map +1 -0
- package/lib/surface/plugin-actions.js +45 -0
- package/lib/surface/plugin-actions.js.map +1 -0
- package/lib/surface/prompt-input.d.ts.map +1 -1
- package/lib/surface/prompt-input.js +4 -0
- package/lib/surface/prompt-input.js.map +1 -1
- package/lib/theme-command.d.ts +19 -3
- package/lib/theme-command.d.ts.map +1 -1
- package/lib/theme-command.js +18 -6
- package/lib/theme-command.js.map +1 -1
- package/lib/theme-settings.d.ts +2 -10
- package/lib/theme-settings.d.ts.map +1 -1
- package/lib/ui/copy.js +3 -0
- package/lib/ui/copy.js.map +1 -1
- package/lib/ui/editor.d.ts +15 -10
- package/lib/ui/editor.d.ts.map +1 -1
- package/lib/ui/editor.js +48 -33
- package/lib/ui/editor.js.map +1 -1
- package/lib/ui/frame.d.ts +11 -5
- package/lib/ui/frame.d.ts.map +1 -1
- package/lib/ui/frame.js +23 -7
- package/lib/ui/frame.js.map +1 -1
- package/lib/ui/layout.d.ts +3 -4
- package/lib/ui/layout.d.ts.map +1 -1
- package/lib/ui/layout.js +14 -6
- package/lib/ui/layout.js.map +1 -1
- package/lib/ui/queue.d.ts +1 -1
- package/lib/ui/queue.d.ts.map +1 -1
- package/lib/ui/queue.js +3 -2
- package/lib/ui/queue.js.map +1 -1
- package/lib/ui/status.d.ts +2 -0
- package/lib/ui/status.d.ts.map +1 -1
- package/lib/ui/status.js +4 -3
- package/lib/ui/status.js.map +1 -1
- package/lib/ui/view/transcript-message.d.ts.map +1 -1
- package/lib/ui/view/transcript-message.js +4 -3
- package/lib/ui/view/transcript-message.js.map +1 -1
- package/lib/ui/view.js +2 -2
- package/lib/ui/view.js.map +1 -1
- package/package.json +5 -1
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { TUI_KEYMAP_SERVICE } from "../keymaps.js";
|
|
2
|
+
import { stripControlCharacters } from "../text.js";
|
|
3
|
+
import { EffortPicker } from "../ui/picker.js";
|
|
4
|
+
const FAILED = 'plugin action could not complete; check plugin configuration and retry';
|
|
5
|
+
/** The modal owner and current route remain authoritative for every plugin invocation. */
|
|
6
|
+
export function createPluginActions(ctx, ports) {
|
|
7
|
+
let opening = false;
|
|
8
|
+
const invoke = async (id, route) => {
|
|
9
|
+
if (opening)
|
|
10
|
+
return;
|
|
11
|
+
opening = true;
|
|
12
|
+
try {
|
|
13
|
+
const registry = ctx.get(TUI_KEYMAP_SERVICE);
|
|
14
|
+
if (registry === undefined)
|
|
15
|
+
throw new Error(FAILED);
|
|
16
|
+
const surface = { route, notice: ports.notice, pick: async (spec) => {
|
|
17
|
+
const rows = spec.rows.map(row => ({ ...row, name: stripControlCharacters(row.name),
|
|
18
|
+
description: stripControlCharacters(row.description ?? ''), current: row.current ?? false }));
|
|
19
|
+
return await ports.openPicker(new EffortPicker(() => rows, stripControlCharacters(spec.title), ports.keymap));
|
|
20
|
+
} };
|
|
21
|
+
if (id === undefined)
|
|
22
|
+
await registry.effortConfirmed(surface);
|
|
23
|
+
else
|
|
24
|
+
await registry.dispatch(id, surface);
|
|
25
|
+
}
|
|
26
|
+
catch {
|
|
27
|
+
ports.notice(FAILED);
|
|
28
|
+
}
|
|
29
|
+
finally {
|
|
30
|
+
opening = false;
|
|
31
|
+
ports.render();
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
return {
|
|
35
|
+
run: async (id) => {
|
|
36
|
+
const facts = ports.statusFacts();
|
|
37
|
+
await invoke(id, facts.provider !== undefined && facts.model !== undefined ? { provider: facts.provider, model: facts.model } : undefined);
|
|
38
|
+
},
|
|
39
|
+
afterEffort: async (route) => {
|
|
40
|
+
if (ctx.get(TUI_KEYMAP_SERVICE) !== undefined)
|
|
41
|
+
await invoke(undefined, route);
|
|
42
|
+
},
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=plugin-actions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-actions.js","sourceRoot":"","sources":["../../src/surface/plugin-actions.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAyC,MAAM,eAAe,CAAA;AACzF,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAI9C,MAAM,MAAM,GAAG,wEAAwE,CAAA;AAEvF,0FAA0F;AAC1F,MAAM,UAAU,mBAAmB,CAAC,GAAY,EAAE,KAMjD;IACC,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,MAAM,MAAM,GAAG,KAAK,EAAE,EAAsB,EAAE,KAA2B,EAAiB,EAAE;QAC1F,IAAI,OAAO;YAAE,OAAM;QACnB,OAAO,GAAG,IAAI,CAAA;QACd,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,kBAAkB,CAA+B,CAAA;YAC1E,IAAI,QAAQ,KAAK,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAA;YACnD,MAAM,OAAO,GAAgB,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAC,IAAI,EAAC,EAAE;oBAC7E,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,IAAI,EAAE,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC;wBACjF,WAAW,EAAE,sBAAsB,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,KAAK,EAAE,CAAC,CAAC,CAAA;oBAC/F,OAAO,MAAM,KAAK,CAAC,UAAU,CAAC,IAAI,YAAY,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;gBAC/G,CAAC,EAAE,CAAA;YACH,IAAI,EAAE,KAAK,SAAS;gBAAE,MAAM,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;;gBACxD,MAAM,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;QAC3C,CAAC;QAAC,MAAM,CAAC;YAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAAC,CAAC;gBACxB,CAAC;YAAC,OAAO,GAAG,KAAK,CAAC;YAAC,KAAK,CAAC,MAAM,EAAE,CAAA;QAAC,CAAC;IAC7C,CAAC,CAAA;IACD,OAAO;QACL,GAAG,EAAE,KAAK,EAAE,EAAU,EAAiB,EAAE;YACvC,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAA;YACjC,MAAM,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;QAC5I,CAAC;QACD,WAAW,EAAE,KAAK,EAAE,KAAwC,EAAiB,EAAE;YAC7E,IAAI,GAAG,CAAC,GAAG,CAAC,kBAAkB,CAAC,KAAK,SAAS;gBAAE,MAAM,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;QAC/E,CAAC;KACF,CAAA;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-input.d.ts","sourceRoot":"","sources":["../../src/surface/prompt-input.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"prompt-input.d.ts","sourceRoot":"","sources":["../../src/surface/prompt-input.ts"],"names":[],"mappings":"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"}
|
|
@@ -194,6 +194,10 @@ export function createPromptInput(ctx, ports) {
|
|
|
194
194
|
for (const binding of surfaceBindings(ports.keymap())) {
|
|
195
195
|
if (!matchesKey(data, binding.key))
|
|
196
196
|
continue;
|
|
197
|
+
if (binding.action === 'plugin') {
|
|
198
|
+
ports.runSubmission({ kind: 'plugin-action', id: binding.id });
|
|
199
|
+
return { consume: true };
|
|
200
|
+
}
|
|
197
201
|
return surfaceActions[binding.action]() ? { consume: true } : undefined;
|
|
198
202
|
}
|
|
199
203
|
return undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-input.js","sourceRoot":"","sources":["../../src/surface/prompt-input.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"prompt-input.js","sourceRoot":"","sources":["../../src/surface/prompt-input.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,UAAU,GAGX,MAAM,wBAAwB,CAAA;AAM/B,OAAO,EAAE,eAAe,EAAe,MAAM,qBAAqB,CAAA;AAElE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,EAAE,8BAA8B,EAAE,wBAAwB,EAA0B,MAAM,wBAAwB,CAAA;AACzH,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AACnF,OAAO,EAAE,kBAAkB,EAAmB,MAAM,wBAAwB,CAAA;AAkF5E;;;;;;;;;;GAUG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAY,EAAE,KAAuB;IACrE;;;;;;;OAOG;IACH,MAAM,QAAQ,GAAG,IAAI,WAAW,CAC9B,GAAG,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,EACxB,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EACnC,GAAG,EAAE,CAAC,KAAK,CAAC,cAAc,EAAE,EAC5B,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,aAAa,EAAE,CAClC,CAAA;IAED;;;;;;OAMG;IACH,MAAM,UAAU,GAAG,GAAY,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,eAAe,EAAE,KAAK,EAAE,CAAA;IAEzE;;;;;OAKG;IACH,MAAM,cAAc,GAAqD;QACvE,UAAU,EAAE,GAAG,EAAE;YACf,KAAK,CAAC,WAAW,EAAE,CAAA;YACnB,KAAK,CAAC,GAAG,EAAE,CAAC,aAAa,EAAE,CAAA;YAC3B,OAAO,IAAI,CAAA;QACb,CAAC;QACD,QAAQ,EAAE,GAAG,EAAE;YACb,KAAK,CAAC,cAAc,EAAE,CAAA;YACtB,KAAK,CAAC,GAAG,EAAE,CAAC,aAAa,EAAE,CAAA;YAC3B,OAAO,IAAI,CAAA;QACb,CAAC;QACD,SAAS,EAAE,GAAG,EAAE;YACd,KAAK,CAAC,eAAe,EAAE,CAAA;YACvB,KAAK,CAAC,GAAG,EAAE,CAAC,aAAa,EAAE,CAAA;YAC3B,OAAO,IAAI,CAAA;QACb,CAAC;QACD,MAAM,EAAE,GAAG,EAAE;YACX,KAAK,CAAC,gBAAgB,EAAE,CAAA;YACxB,OAAO,IAAI,CAAA;QACb,CAAC;QACD,OAAO,EAAE,GAAG,EAAE;YACZ,KAAK,CAAC,iBAAiB,EAAE,CAAA;YACzB,OAAO,IAAI,CAAA;QACb,CAAC;QACD,IAAI,EAAE,GAAG,EAAE;YACT,KAAK,CAAC,IAAI,EAAE,CAAA;YACZ,OAAO,IAAI,CAAA;QACb,CAAC;QACD,SAAS,EAAE,GAAG,EAAE;YACd,yEAAyE;YACzE,uEAAuE;YACvE,sDAAsD;YACtD,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,EAAE,CAAA;YACpC,MAAM,IAAI,GAAG,UAAU,CAAC;gBACtB,UAAU,EAAE,UAAU,EAAE;gBACxB,aAAa,EAAE,MAAM,CAAC,MAAM;gBAC5B,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE;gBAChC,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE;aACnC,CAAC,CAAA;YACF,QAAQ,IAAI,EAAE,CAAC;gBACb,KAAK,cAAc;oBACjB,KAAK,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;oBAC1B,KAAK,CAAC,GAAG,EAAE,CAAC,aAAa,EAAE,CAAA;oBAC3B,OAAO,IAAI,CAAA;gBACb,KAAK,gBAAgB;oBACnB,uEAAuE;oBACvE,uEAAuE;oBACvE,wEAAwE;oBACxE,KAAK,CAAC,SAAS,EAAE,CAAA;oBACjB,KAAK,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;oBACzC,KAAK,CAAC,MAAM,CAAC,yBAAyB,MAAM,CAAC,MAAM,WAAW,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,kBAAkB,CAAC,CAAA;oBAC3H,KAAK,CAAC,GAAG,EAAE,CAAC,aAAa,EAAE,CAAA;oBAC3B,OAAO,IAAI,CAAA;gBACb,KAAK,gBAAgB;oBACnB,KAAK,CAAC,SAAS,EAAE,CAAA;oBACjB,KAAK,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAA;oBACnC,KAAK,CAAC,GAAG,EAAE,CAAC,aAAa,EAAE,CAAA;oBAC3B,OAAO,IAAI,CAAA;gBACb,KAAK,kBAAkB;oBACrB,KAAK,CAAC,IAAI,EAAE,CAAA;oBACZ,OAAO,IAAI,CAAA;gBACb,KAAK,WAAW;oBACd,OAAO,KAAK,CAAA;YAChB,CAAC;QACH,CAAC;QACD,IAAI,EAAE,GAAG,EAAE;YACT,wEAAwE;YACxE,4EAA4E;YAC5E,QAAQ,QAAQ,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,UAAU,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC;gBACxH,KAAK,kBAAkB;oBACrB,mEAAmE;oBACnE,4DAA4D;oBAC5D,KAAK,CAAC,SAAS,EAAE,CAAA;oBACjB,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;oBACpB,OAAO,IAAI,CAAA;gBACb,KAAK,MAAM;oBACT,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;oBACpB,OAAO,IAAI,CAAA;gBACb,KAAK,WAAW;oBACd,OAAO,KAAK,CAAA;YAChB,CAAC;QACH,CAAC;KACF,CAAA;IAED,4FAA4F;IAC5F,MAAM,SAAS,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;IAChD,oGAAoG;IACpG,IAAI,gBAA0D,CAAA;IAC9D,8EAA8E;IAC9E,IAAI,gBAA0D,CAAA;IAE9D;;;;;;;OAOG;IACH,MAAM,eAAe,GAAG,GAAS,EAAE;QACjC,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAA;QACnF,IAAI,MAAM,KAAK,SAAS;YAAE,KAAK,CAAC,MAAM,EAAE,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAA;IAC1E,CAAC,CAAA;IAED;;;;;;;;OAQG;IACH,MAAM,iBAAiB,GAAG,GAAS,EAAE;QACnC,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,EAAE,CAAA;QACnC,IAAI,OAAO,KAAK,SAAS;YAAE,OAAM;QACjC,MAAM,QAAQ,GAAG,KAAK,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAA;QAClD,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAM;QAClC,gBAAgB,GAAG,8BAA8B,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,CAAA;QAC3E,gBAAgB,GAAG,wBAAwB,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,CAAA;QAC/E,eAAe,EAAE,CAAA;IACnB,CAAC,CAAA;IAED,OAAO;QACL,eAAe,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QACzD,WAAW,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE;QACpC,SAAS,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE;QAChC,eAAe;QACf,iBAAiB;QACjB,gBAAgB,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,iBAAiB,EAAE,GAAG,EAAE,CAAC,iBAAiB,EAAE,CAAC,CAAC;QAC9E,aAAa,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE;YACvD,4EAA4E;YAC5E,wEAAwE;YACxE,0EAA0E;YAC1E,4EAA4E;YAC5E,yEAAyE;YACzE,mCAAmC;YACnC,IAAI,YAAY,CAAC,IAAI,CAAC;gBAAE,OAAO,SAAS,CAAA;YACxC,IAAI,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC;gBAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;YACxD,sEAAsE;YACtE,4EAA4E;YAC5E,0EAA0E;YAC1E,mDAAmD;YACnD,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YACrC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ;oBAAE,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;gBAC9E,KAAK,CAAC,GAAG,EAAE,CAAC,aAAa,EAAE,CAAA;gBAC3B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;YAC1B,CAAC;YACD,KAAK,MAAM,OAAO,IAAI,eAAe,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;gBACtD,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC;oBAAE,SAAQ;gBAC5C,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;oBAChC,KAAK,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAA;oBAC9D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;gBAC1B,CAAC;gBACD,OAAO,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;YACzE,CAAC;YACD,OAAO,SAAS,CAAA;QAClB,CAAC,CAAC;QACF,YAAY,EAAE,GAAG,EAAE;YACjB,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE;gBAC/B,MAAM,UAAU,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAA;gBAC3C,IAAI,UAAU,CAAC,IAAI,KAAK,OAAO;oBAAE,OAAM;gBACvC,0EAA0E;gBAC1E,8EAA8E;gBAC9E,KAAK,CAAC,MAAM,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;gBACjC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;gBACxB,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,CAAA;YACjC,CAAC,CAAA;QACH,CAAC;KACF,CAAA;AACH,CAAC"}
|
package/lib/theme-command.d.ts
CHANGED
|
@@ -1,13 +1,29 @@
|
|
|
1
1
|
import type { ThemeLibrary } from './theme-files.ts';
|
|
2
2
|
import { type ThemeOverrides } from './theme-settings.ts';
|
|
3
|
+
/**
|
|
4
|
+
* Where a preference the reader sets is written.
|
|
5
|
+
*
|
|
6
|
+
* The surface cannot name that place from its own knowledge: which owner holds a
|
|
7
|
+
* section is what the host answers, and a host that keeps none leaves nothing to
|
|
8
|
+
* edit at all. Naming a path the running host never reads is worse than naming
|
|
9
|
+
* none, because the reader edits the file and sees nothing move.
|
|
10
|
+
*/
|
|
11
|
+
export type PreferenceHome = {
|
|
12
|
+
readonly kind: 'document';
|
|
13
|
+
readonly path: string;
|
|
14
|
+
} | {
|
|
15
|
+
readonly kind: 'section';
|
|
16
|
+
} | {
|
|
17
|
+
readonly kind: 'unknown';
|
|
18
|
+
};
|
|
3
19
|
/**
|
|
4
20
|
* The effective table, one line per element.
|
|
5
21
|
*
|
|
6
|
-
* The token name comes first because it is what the reader
|
|
7
|
-
* settings
|
|
22
|
+
* The token name comes first because it is what the reader writes into the row's
|
|
23
|
+
* own settings; the origin comes last because it is what explains the value when
|
|
8
24
|
* the value is not what they expected. The footer names the themes that exist
|
|
9
25
|
* rather than the ones this build was compiled with, because the file a reader
|
|
10
26
|
* saved a second ago is the one they need to hear about.
|
|
11
27
|
*/
|
|
12
|
-
export declare function renderThemeTable(overrides: ThemeOverrides, library: ThemeLibrary): string[];
|
|
28
|
+
export declare function renderThemeTable(overrides: ThemeOverrides, library: ThemeLibrary, home?: PreferenceHome): string[];
|
|
13
29
|
//# sourceMappingURL=theme-command.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme-command.d.ts","sourceRoot":"","sources":["../src/theme-command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,EAAc,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"theme-command.d.ts","sourceRoot":"","sources":["../src/theme-command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,EAAc,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAqDrE;;;;;;;GAOG;AACH,MAAM,MAAM,cAAc,GACtB;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACpD;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CAAE,GAC5B;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CAAE,CAAA;AAehC;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,MAAM,EAAE,CA4BlH"}
|
package/lib/theme-command.js
CHANGED
|
@@ -39,18 +39,30 @@ function describeToken(token, overrides, themed) {
|
|
|
39
39
|
: named ? 'palette' : 'default';
|
|
40
40
|
return { text: fields.length === 0 ? 'plain' : fields.join(' '), source };
|
|
41
41
|
}
|
|
42
|
-
/**
|
|
43
|
-
|
|
42
|
+
/**
|
|
43
|
+
* The one line that says where the reader edits what this table reports.
|
|
44
|
+
*
|
|
45
|
+
* A Config-backed row keeps its own document, so the footer names the file the
|
|
46
|
+
* write lands in — the fact a reader cannot find alone, since it is neither beside
|
|
47
|
+
* the package nor at the settings path older releases used.
|
|
48
|
+
*/
|
|
49
|
+
function settingsHint(home) {
|
|
50
|
+
if (home?.kind === 'document')
|
|
51
|
+
return `edit ${home.path} under this row's config · /theme shows the result`;
|
|
52
|
+
if (home?.kind === 'section')
|
|
53
|
+
return 'edit $DSH_HOME/settings.yaml (default ~/.dsh/settings.yaml) under "dsh-tui:" · /theme shows the result';
|
|
54
|
+
return '/theme <name> writes the choice once the settings service can store it · /theme shows the result';
|
|
55
|
+
}
|
|
44
56
|
/**
|
|
45
57
|
* The effective table, one line per element.
|
|
46
58
|
*
|
|
47
|
-
* The token name comes first because it is what the reader
|
|
48
|
-
* settings
|
|
59
|
+
* The token name comes first because it is what the reader writes into the row's
|
|
60
|
+
* own settings; the origin comes last because it is what explains the value when
|
|
49
61
|
* the value is not what they expected. The footer names the themes that exist
|
|
50
62
|
* rather than the ones this build was compiled with, because the file a reader
|
|
51
63
|
* saved a second ago is the one they need to hear about.
|
|
52
64
|
*/
|
|
53
|
-
export function renderThemeTable(overrides, library) {
|
|
65
|
+
export function renderThemeTable(overrides, library, home) {
|
|
54
66
|
const themed = themeLayer(overrides);
|
|
55
67
|
const chosen = overrides.theme;
|
|
56
68
|
// The name is in the heading rather than the footer because a reader who opened
|
|
@@ -76,7 +88,7 @@ export function renderThemeTable(overrides, library) {
|
|
|
76
88
|
// guess: the package's own file is replaced on update, so the copy is the only
|
|
77
89
|
// editable one and it does not live beside the original.
|
|
78
90
|
lines.push(`export: /theme export <built-in> writes a copy into ${library.home} to edit`);
|
|
79
|
-
lines.push('',
|
|
91
|
+
lines.push('', settingsHint(home));
|
|
80
92
|
return lines;
|
|
81
93
|
}
|
|
82
94
|
//# sourceMappingURL=theme-command.js.map
|
package/lib/theme-command.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme-command.js","sourceRoot":"","sources":["../src/theme-command.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAuB,MAAM,qBAAqB,CAAA;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EACL,aAAa,EACb,UAAU,GAKX,MAAM,mBAAmB,CAAA;AAK1B,iFAAiF;AACjF,SAAS,UAAU,CAAC,IAAgB,EAAE,OAA8C;IAClF,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAK,aAAmC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACpF,OAAO,OAAO,CAAC,IAAmB,CAAC,CAAA;IACrC,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAA;AACrB,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,aAAa,CACpB,KAAe,EACf,SAAyB,EACzB,MAA+B;IAE/B,MAAM,IAAI,GAAG,cAAc,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC5D,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,IAAI,IAAI,CAAC,EAAE,KAAK,SAAS;QAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAA;IAC9E,IAAI,IAAI,CAAC,EAAE,KAAK,SAAS;QAAE,MAAM,CAAC,IAAI,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IACtF,KAAK,MAAM,SAAS,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,CAAU,EAAE,CAAC;QAClF,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI;YAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACtD,CAAC;IACD,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,EAAE;QAAE,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IACrG,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI;QAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAC/C,MAAM,KAAK,GAAG,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,IAAK,aAAmC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACnG,4EAA4E;IAC5E,2EAA2E;IAC3E,MAAM,MAAM,GAAW,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU;QAC7D,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO;YACvC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAA;IACnC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,CAAA;AAC3E,CAAC;
|
|
1
|
+
{"version":3,"file":"theme-command.js","sourceRoot":"","sources":["../src/theme-command.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAuB,MAAM,qBAAqB,CAAA;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EACL,aAAa,EACb,UAAU,GAKX,MAAM,mBAAmB,CAAA;AAK1B,iFAAiF;AACjF,SAAS,UAAU,CAAC,IAAgB,EAAE,OAA8C;IAClF,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAK,aAAmC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACpF,OAAO,OAAO,CAAC,IAAmB,CAAC,CAAA;IACrC,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAA;AACrB,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,aAAa,CACpB,KAAe,EACf,SAAyB,EACzB,MAA+B;IAE/B,MAAM,IAAI,GAAG,cAAc,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC5D,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,IAAI,IAAI,CAAC,EAAE,KAAK,SAAS;QAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAA;IAC9E,IAAI,IAAI,CAAC,EAAE,KAAK,SAAS;QAAE,MAAM,CAAC,IAAI,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IACtF,KAAK,MAAM,SAAS,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,CAAU,EAAE,CAAC;QAClF,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI;YAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACtD,CAAC;IACD,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,EAAE;QAAE,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IACrG,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI;QAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAC/C,MAAM,KAAK,GAAG,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,IAAK,aAAmC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACnG,4EAA4E;IAC5E,2EAA2E;IAC3E,MAAM,MAAM,GAAW,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU;QAC7D,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO;YACvC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAA;IACnC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,CAAA;AAC3E,CAAC;AAeD;;;;;;GAMG;AACH,SAAS,YAAY,CAAC,IAAgC;IACpD,IAAI,IAAI,EAAE,IAAI,KAAK,UAAU;QAAE,OAAO,QAAQ,IAAI,CAAC,IAAI,oDAAoD,CAAA;IAC3G,IAAI,IAAI,EAAE,IAAI,KAAK,SAAS;QAAE,OAAO,wGAAwG,CAAA;IAC7I,OAAO,kGAAkG,CAAA;AAC3G,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAAC,SAAyB,EAAE,OAAqB,EAAE,IAAqB;IACtG,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,CAAA;IACpC,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAA;IAC9B,gFAAgF;IAChF,8EAA8E;IAC9E,+DAA+D;IAC/D,MAAM,OAAO,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,MAAM,CAAC,IAAI,EAAE,CAAA;IACzE,MAAM,KAAK,GAAG,CAAC,GAAG,OAAO,MAAM,UAAU,CAAC,MAAM,WAAW,EAAE,EAAE,CAAC,CAAA;IAChE,IAAI,KAAK,GAAG,EAAE,CAAA;IACd,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAA;QACzC,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;YACnB,KAAK,GAAG,IAAI,CAAA;YACZ,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,CAAA;QACzB,CAAC;QACD,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;QAChE,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,MAAM,IAAI,KAAK,MAAM,GAAG,CAAC,CAAA;IAChD,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,YAAY,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IACtH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;IAC5F,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;IAC9E,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,+BAA+B,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAA;IAC/G,4EAA4E;IAC5E,+EAA+E;IAC/E,yDAAyD;IACzD,KAAK,CAAC,IAAI,CAAC,uDAAuD,OAAO,CAAC,IAAI,UAAU,CAAC,CAAA;IACzF,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,CAAA;IAClC,OAAO,KAAK,CAAA;AACd,CAAC"}
|
package/lib/theme-settings.d.ts
CHANGED
|
@@ -79,11 +79,7 @@ export declare const TuiSettingsSchema: z<Schemastery.ObjectS<NoInfer<{
|
|
|
79
79
|
mermaid: z<"off" | "final" | "streaming", "off" | "final" | "streaming", "defined">;
|
|
80
80
|
prefix: z<string, string, "plain">;
|
|
81
81
|
prefixWindow: z<number, number, "defined">;
|
|
82
|
-
keys: z<
|
|
83
|
-
[k: string]: z<string | string[], string | string[], "plain">;
|
|
84
|
-
}>>, Schemastery.ObjectT<NoInfer<{
|
|
85
|
-
[k: string]: z<string | string[], string | string[], "plain">;
|
|
86
|
-
}>>, "defined">;
|
|
82
|
+
keys: z<any, any, "defined">;
|
|
87
83
|
history: z<Schemastery.ObjectS<NoInfer<{
|
|
88
84
|
enabled: z<boolean, boolean, "defined">;
|
|
89
85
|
ghost: z<boolean, boolean, "defined">;
|
|
@@ -155,11 +151,7 @@ export declare const TuiSettingsSchema: z<Schemastery.ObjectS<NoInfer<{
|
|
|
155
151
|
mermaid: z<"off" | "final" | "streaming", "off" | "final" | "streaming", "defined">;
|
|
156
152
|
prefix: z<string, string, "plain">;
|
|
157
153
|
prefixWindow: z<number, number, "defined">;
|
|
158
|
-
keys: z<
|
|
159
|
-
[k: string]: z<string | string[], string | string[], "plain">;
|
|
160
|
-
}>>, Schemastery.ObjectT<NoInfer<{
|
|
161
|
-
[k: string]: z<string | string[], string | string[], "plain">;
|
|
162
|
-
}>>, "defined">;
|
|
154
|
+
keys: z<any, any, "defined">;
|
|
163
155
|
history: z<Schemastery.ObjectS<NoInfer<{
|
|
164
156
|
enabled: z<boolean, boolean, "defined">;
|
|
165
157
|
ghost: z<boolean, boolean, "defined">;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme-settings.d.ts","sourceRoot":"","sources":["../src/theme-settings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AACnD,OAAO,CAAC,MAAM,0BAA0B,CAAA;AAGxC,OAAO,EAA4D,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAG1G,OAAO,EAIL,KAAK,gBAAgB,EAGtB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAiB,KAAK,WAAW,EAAE,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAQrF,OAAO,EAAiC,KAAK,OAAO,EAAE,MAAM,cAAc,CAAA;AAE1E,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAEtF,wDAAwD;AACxD,eAAO,MAAM,sBAAsB,YAAY,CAAA;AAE/C,oGAAoG;AACpG,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,QAAQ,CAAA;AAcnD,uFAAuF;AACvF,eAAO,MAAM,aAAa,wCAAyC,CAAA;AACnE,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAA;AA6DxD;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB
|
|
1
|
+
{"version":3,"file":"theme-settings.d.ts","sourceRoot":"","sources":["../src/theme-settings.ts"],"names":[],"mappings":"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"}
|
package/lib/ui/copy.js
CHANGED
|
@@ -78,6 +78,9 @@ function readLine(line, rows, whole) {
|
|
|
78
78
|
// itself there was the shape and nothing more.
|
|
79
79
|
const from = Math.max(hit.column, frame.lead);
|
|
80
80
|
const to = Math.min(hit.column + visibleWidth(line), visibleWidth(drawn) - frame.trail);
|
|
81
|
+
// Whole empty message rows preserve paragraph breaks; rail-only fragments do not.
|
|
82
|
+
if (hit.whole && own.trimEnd() === '')
|
|
83
|
+
return '';
|
|
81
84
|
if (to <= from)
|
|
82
85
|
return undefined;
|
|
83
86
|
return sliceByColumn(own, from - frame.lead, to - from, true).trimEnd();
|
package/lib/ui/copy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copy.js","sourceRoot":"","sources":["../../src/ui/copy.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"copy.js","sourceRoot":"","sources":["../../src/ui/copy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAGpE;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,IAAyB;IACjE,IAAI,IAAI,KAAK,EAAE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IACjD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;IAC1B,MAAM,IAAI,GAAa,EAAE,CAAA;IACzB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;QACxC,2EAA2E;QAC3E,oDAAoD;QACpD,IAAI,IAAI,KAAK,SAAS;YAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACzC,CAAC;IACD,iFAAiF;IACjF,gFAAgF;IAChF,sCAAsC;IACtC,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACnD,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,MAAM,CAAC,IAAyB;IACvC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAoB,CAAA;IACzC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,CAAA;QAChC,mEAAmE;QACnE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IAC5C,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,2GAA2G;AAC3G,SAAS,QAAQ,CAAC,IAAY,EAAE,IAAyB,EAAE,KAAoC;IAC7F,gFAAgF;IAChF,uDAAuD;IACvD,IAAI,IAAI,KAAK,EAAE;QAAE,OAAO,IAAI,CAAA;IAC5B,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;IACrC,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,IAAI,CAAA;IAClC,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAA;IAC3B,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAA;IAC3B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,+EAA+E;QAC/E,8EAA8E;QAC9E,4EAA4E;QAC5E,6EAA6E;QAC7E,gDAAgD;QAChD,IAAI,GAAG,CAAC,KAAK;YAAE,OAAO,SAAS,CAAA;QAC/B,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAA;QAC3C,OAAO,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,GAAG,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAA;IAC1E,CAAC;IACD,MAAM,GAAG,GAAG,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;IACzG,8EAA8E;IAC9E,iFAAiF;IACjF,mFAAmF;IACnF,+EAA+E;IAC/E,+CAA+C;IAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;IAC7C,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAA;IACvF,kFAAkF;IAClF,IAAI,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE;QAAE,OAAO,EAAE,CAAA;IAChD,IAAI,EAAE,IAAI,IAAI;QAAE,OAAO,SAAS,CAAA;IAChC,OAAO,aAAa,CAAC,GAAG,EAAE,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC,OAAO,EAAE,CAAA;AACzE,CAAC;AAED;;;GAGG;AACH,SAAS,MAAM,CAAC,IAAY,EAAE,IAAyB,EAAE,KAAoC;IAC3F,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAC7B,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;IACtE,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QACtC,IAAI,MAAM,KAAK,CAAC,CAAC;YAAE,SAAQ;QAC3B,gFAAgF;QAChF,gFAAgF;QAChF,6EAA6E;QAC7E,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;IAChF,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC"}
|
package/lib/ui/editor.d.ts
CHANGED
|
@@ -25,12 +25,11 @@ export interface GhostBrush {
|
|
|
25
25
|
paint(text: string, cell: GhostCell): string;
|
|
26
26
|
}
|
|
27
27
|
/**
|
|
28
|
-
* The input bar
|
|
28
|
+
* The input bar shares the messages' left rail without enclosing the draft.
|
|
29
29
|
*
|
|
30
|
-
* The editor
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
* while writing: a list that grows upward never covers the line being typed.
|
|
30
|
+
* The base editor still owns wrapping and scrolling, so only its enclosing
|
|
31
|
+
* rules are removed. Completion stays above the draft to avoid covering the
|
|
32
|
+
* line being typed, and scroll counts keep clipped text discoverable.
|
|
34
33
|
*/
|
|
35
34
|
export declare class BoxedEditor extends Editor {
|
|
36
35
|
private readonly keymap;
|
|
@@ -39,8 +38,14 @@ export declare class BoxedEditor extends Editor {
|
|
|
39
38
|
private menuRows;
|
|
40
39
|
/** Rows between the rules in the last render; how the base editor counts its own. */
|
|
41
40
|
private textRows;
|
|
42
|
-
/**
|
|
43
|
-
private
|
|
41
|
+
/** Pointer translation is safe only after recognizing the base layout. */
|
|
42
|
+
private mapped;
|
|
43
|
+
/** Hidden rows stay discoverable after removing the enclosing rules. */
|
|
44
|
+
private hiddenAbove;
|
|
45
|
+
private hiddenBelow;
|
|
46
|
+
/** Pointer offsets follow only the furniture actually drawn. */
|
|
47
|
+
private railColumns;
|
|
48
|
+
private topIndicatorRows;
|
|
44
49
|
constructor(tui: TUI, theme: EditorTheme, keymap?: () => Keymap, ghost?: GhostBrush | undefined);
|
|
45
50
|
/**
|
|
46
51
|
* Read the two presses the base class cannot place on its own.
|
|
@@ -54,8 +59,8 @@ export declare class BoxedEditor extends Editor {
|
|
|
54
59
|
handleInput(data: string): void;
|
|
55
60
|
/** Tag the closing rule so {@link render} can find where the box ends. */
|
|
56
61
|
protected renderBottomBorder(width: number, hiddenLineCount: number): string;
|
|
57
|
-
/**
|
|
58
|
-
|
|
62
|
+
/** The base owns scrolling; its count survives without its top rule. */
|
|
63
|
+
protected renderTopBorder(width: number, hiddenLineCount: number): string;
|
|
59
64
|
/**
|
|
60
65
|
* Rewrite one row of the text before it is framed, so a subclass can hide
|
|
61
66
|
* what it collects without hiding the box the reader types inside.
|
|
@@ -83,7 +88,7 @@ export declare class BoxedEditor extends Editor {
|
|
|
83
88
|
* The base editor hit-tests the rows it painted in its own order — the input
|
|
84
89
|
* under the top rule, the menu after the bottom one — and measures columns
|
|
85
90
|
* from the edge of the width it was asked for. This subclass draws the menu
|
|
86
|
-
* first
|
|
91
|
+
* first, removes the rules, and adds a rail, so clicks must be translated
|
|
87
92
|
* back before that hit test can say what it hit.
|
|
88
93
|
*/
|
|
89
94
|
handleMouse(event: TuiMouseEvent): TuiMouseEventResult | undefined;
|
package/lib/ui/editor.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editor.d.ts","sourceRoot":"","sources":["../../src/ui/editor.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EAMN,KAAK,WAAW,EAChB,KAAK,GAAG,EACR,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACzB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAiB,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAEhE,OAAO,EAAsE,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAmDzH,kFAAkF;AAClF,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAA;AAEzC,wDAAwD;AACxD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;IACjC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAA;CAC9B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,UAAU;IACzB,+EAA+E;IAC/E,OAAO,IAAI,OAAO,CAAA;IAClB,uEAAuE;IACvE,UAAU,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,CAAA;IACnD,8DAA8D;IAC9D,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,MAAM,CAAA;CAC7C;AAED
|
|
1
|
+
{"version":3,"file":"editor.d.ts","sourceRoot":"","sources":["../../src/ui/editor.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EAMN,KAAK,WAAW,EAChB,KAAK,GAAG,EACR,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACzB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAiB,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAEhE,OAAO,EAAsE,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAmDzH,kFAAkF;AAClF,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAA;AAEzC,wDAAwD;AACxD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;IACjC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAA;CAC9B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,UAAU;IACzB,+EAA+E;IAC/E,OAAO,IAAI,OAAO,CAAA;IAClB,uEAAuE;IACvE,UAAU,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,CAAA;IACnD,8DAA8D;IAC9D,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,MAAM,CAAA;CAC7C;AAED;;;;;;GAMG;AACH,qBAAa,WAAY,SAAQ,MAAM;IAiBnC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;IAjBzB,gFAAgF;IAChF,OAAO,CAAC,QAAQ,CAAI;IACpB,qFAAqF;IACrF,OAAO,CAAC,QAAQ,CAAI;IACpB,0EAA0E;IAC1E,OAAO,CAAC,MAAM,CAAQ;IACtB,wEAAwE;IACxE,OAAO,CAAC,WAAW,CAAI;IACvB,OAAO,CAAC,WAAW,CAAI;IACvB,gEAAgE;IAChE,OAAO,CAAC,WAAW,CAAI;IACvB,OAAO,CAAC,gBAAgB,CAAI;gBAG1B,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,WAAW,EACD,MAAM,GAAE,MAAM,MAAsB,EACpC,KAAK,CAAC,EAAE,UAAU,YAAA;IAKrC;;;;;;;;OAQG;IACM,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAkCxC,0EAA0E;cACvD,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,MAAM;IAKrF,wEAAwE;cACrD,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,MAAM;IAKlF;;;OAGG;IACH,SAAS,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAI3C,kFAAkF;IAClF,OAAO,CAAC,kBAAkB;IAmB1B;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ;IA0BhB;;;OAGG;IACH,OAAO,CAAC,WAAW;IAgBV,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE;IAmCxC;;;;;;;;OAQG;IACM,WAAW,CAAC,KAAK,EAAE,aAAa,GAAG,mBAAmB,GAAG,SAAS;CAQ5E"}
|
package/lib/ui/editor.js
CHANGED
|
@@ -4,7 +4,7 @@ import { ENTER_KEY } from "../input/key-press.js";
|
|
|
4
4
|
import { ghostDisplayLine, ghostGraphemes, isCursorAtTextEnd, nextGhostWord } from "../input/ghost.js";
|
|
5
5
|
import { promptKeys } from "../input/keymap.js";
|
|
6
6
|
import { renderTerminalText } from "../terminal-text.js";
|
|
7
|
-
import { FRAME_COLUMNS, FRAME_GLYPHS, MIN_BOX_WIDTH, PADDING_X } from "./frame.js";
|
|
7
|
+
import { FRAME_COLUMNS, RAIL_COLUMNS, FRAME_GLYPHS, MIN_BOX_WIDTH, MIN_RAIL_WIDTH, PADDING_X, textRow } from "./frame.js";
|
|
8
8
|
/**
|
|
9
9
|
* Marks the rule that closes the input while one render is in flight.
|
|
10
10
|
*
|
|
@@ -47,12 +47,11 @@ const KITTY_CTRL_J = '\u001b[106;5u';
|
|
|
47
47
|
*/
|
|
48
48
|
const CURSOR_AT_END = '\u001b[7m \u001b[0m';
|
|
49
49
|
/**
|
|
50
|
-
* The input bar
|
|
50
|
+
* The input bar shares the messages' left rail without enclosing the draft.
|
|
51
51
|
*
|
|
52
|
-
* The editor
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
* while writing: a list that grows upward never covers the line being typed.
|
|
52
|
+
* The base editor still owns wrapping and scrolling, so only its enclosing
|
|
53
|
+
* rules are removed. Completion stays above the draft to avoid covering the
|
|
54
|
+
* line being typed, and scroll counts keep clipped text discoverable.
|
|
56
55
|
*/
|
|
57
56
|
export class BoxedEditor extends Editor {
|
|
58
57
|
keymap;
|
|
@@ -61,8 +60,14 @@ export class BoxedEditor extends Editor {
|
|
|
61
60
|
menuRows = 0;
|
|
62
61
|
/** Rows between the rules in the last render; how the base editor counts its own. */
|
|
63
62
|
textRows = 0;
|
|
64
|
-
/**
|
|
65
|
-
|
|
63
|
+
/** Pointer translation is safe only after recognizing the base layout. */
|
|
64
|
+
mapped = false;
|
|
65
|
+
/** Hidden rows stay discoverable after removing the enclosing rules. */
|
|
66
|
+
hiddenAbove = 0;
|
|
67
|
+
hiddenBelow = 0;
|
|
68
|
+
/** Pointer offsets follow only the furniture actually drawn. */
|
|
69
|
+
railColumns = 0;
|
|
70
|
+
topIndicatorRows = 0;
|
|
66
71
|
constructor(tui, theme, keymap = defaultKeymap, ghost) {
|
|
67
72
|
super(tui, theme, { paddingX: PADDING_X });
|
|
68
73
|
this.keymap = keymap;
|
|
@@ -113,11 +118,13 @@ export class BoxedEditor extends Editor {
|
|
|
113
118
|
}
|
|
114
119
|
/** Tag the closing rule so {@link render} can find where the box ends. */
|
|
115
120
|
renderBottomBorder(width, hiddenLineCount) {
|
|
121
|
+
this.hiddenBelow = hiddenLineCount;
|
|
116
122
|
return `${super.renderBottomBorder(width, hiddenLineCount)}${CLOSING_TAG}`;
|
|
117
123
|
}
|
|
118
|
-
/**
|
|
119
|
-
|
|
120
|
-
|
|
124
|
+
/** The base owns scrolling; its count survives without its top rule. */
|
|
125
|
+
renderTopBorder(width, hiddenLineCount) {
|
|
126
|
+
this.hiddenAbove = hiddenLineCount;
|
|
127
|
+
return super.renderTopBorder(width, hiddenLineCount);
|
|
121
128
|
}
|
|
122
129
|
/**
|
|
123
130
|
* Rewrite one row of the text before it is framed, so a subclass can hide
|
|
@@ -206,32 +213,40 @@ export class BoxedEditor extends Editor {
|
|
|
206
213
|
return true;
|
|
207
214
|
}
|
|
208
215
|
render(width) {
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
216
|
+
// Borrowed question editors remain dialog furniture, not conversation messages.
|
|
217
|
+
const enclosed = this.disableSubmit;
|
|
218
|
+
const minimum = enclosed ? MIN_BOX_WIDTH : MIN_RAIL_WIDTH;
|
|
219
|
+
const side = width >= minimum ? this.borderColor(FRAME_GLYPHS.side) : '';
|
|
220
|
+
this.railColumns = side === '' ? 0 : enclosed ? FRAME_COLUMNS : RAIL_COLUMNS;
|
|
221
|
+
const boxed = enclosed && this.railColumns > 0;
|
|
222
|
+
const inside = width - this.railColumns;
|
|
213
223
|
const ghost = this.disableSubmit ? undefined : this.currentGhostSuffix();
|
|
214
|
-
|
|
215
|
-
this.boxed = false;
|
|
216
|
-
return super.render(width).map(row => this.decorateText(this.ghostRow(row, ghost)));
|
|
217
|
-
}
|
|
218
|
-
const rows = super.render(width - FRAME_COLUMNS);
|
|
224
|
+
const rows = super.render(inside);
|
|
219
225
|
const closing = rows.findIndex(row => row.includes(CLOSING_TAG));
|
|
220
|
-
//
|
|
221
|
-
|
|
222
|
-
|
|
226
|
+
// An unfamiliar base layout must not receive guessed pointer offsets.
|
|
227
|
+
if (closing < 0) {
|
|
228
|
+
this.mapped = false;
|
|
223
229
|
return rows.map(row => row.replace(CLOSING_TAG, ''));
|
|
230
|
+
}
|
|
224
231
|
const menu = rows.slice(closing + 1);
|
|
225
232
|
const text = rows.slice(1, closing);
|
|
226
233
|
this.menuRows = menu.length;
|
|
227
234
|
this.textRows = text.length;
|
|
228
|
-
this.
|
|
229
|
-
|
|
230
|
-
const lines = menu.map(row => row + ' '.repeat(
|
|
231
|
-
|
|
235
|
+
this.mapped = true;
|
|
236
|
+
this.topIndicatorRows = boxed || this.hiddenAbove > 0 ? 1 : 0;
|
|
237
|
+
const lines = menu.map(row => row + ' '.repeat(this.railColumns));
|
|
238
|
+
const indicator = (direction, count) => side + textRow(this.borderColor(`${direction} ${count} more`), inside);
|
|
239
|
+
const edge = (open, row, close) => this.borderColor(open + stripTerminalSequences(row) + close);
|
|
240
|
+
if (boxed)
|
|
241
|
+
lines.push(edge(FRAME_GLYPHS.topLeft, rows[0] ?? '', FRAME_GLYPHS.topRight));
|
|
242
|
+
else if (this.hiddenAbove > 0)
|
|
243
|
+
lines.push(indicator('↑', this.hiddenAbove));
|
|
232
244
|
for (const row of text)
|
|
233
|
-
lines.push(
|
|
234
|
-
|
|
245
|
+
lines.push(side + this.decorateText(this.ghostRow(row, ghost)) + (boxed ? side : ''));
|
|
246
|
+
if (boxed)
|
|
247
|
+
lines.push(edge(FRAME_GLYPHS.bottomLeft, rows[closing].replace(CLOSING_TAG, ''), FRAME_GLYPHS.bottomRight));
|
|
248
|
+
else if (this.hiddenBelow > 0)
|
|
249
|
+
lines.push(indicator('↓', this.hiddenBelow));
|
|
235
250
|
return lines;
|
|
236
251
|
}
|
|
237
252
|
/**
|
|
@@ -240,17 +255,17 @@ export class BoxedEditor extends Editor {
|
|
|
240
255
|
* The base editor hit-tests the rows it painted in its own order — the input
|
|
241
256
|
* under the top rule, the menu after the bottom one — and measures columns
|
|
242
257
|
* from the edge of the width it was asked for. This subclass draws the menu
|
|
243
|
-
* first
|
|
258
|
+
* first, removes the rules, and adds a rail, so clicks must be translated
|
|
244
259
|
* back before that hit test can say what it hit.
|
|
245
260
|
*/
|
|
246
261
|
handleMouse(event) {
|
|
247
|
-
if (!this.
|
|
262
|
+
if (!this.mapped)
|
|
248
263
|
return super.handleMouse(event);
|
|
249
|
-
const width = event.width -
|
|
264
|
+
const width = event.width - this.railColumns;
|
|
250
265
|
if (event.y < this.menuRows) {
|
|
251
266
|
return super.handleMouse({ ...event, width, y: event.y + this.textRows + 2 });
|
|
252
267
|
}
|
|
253
|
-
return super.handleMouse({ ...event, width, x: event.x -
|
|
268
|
+
return super.handleMouse({ ...event, width, x: event.x - (this.railColumns > 0 ? RAIL_COLUMNS : 0), y: event.y - this.menuRows + 1 - this.topIndicatorRows });
|
|
254
269
|
}
|
|
255
270
|
}
|
|
256
271
|
//# sourceMappingURL=editor.js.map
|
package/lib/ui/editor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editor.js","sourceRoot":"","sources":["../../src/ui/editor.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,cAAc,EACd,qBAAqB,EACrB,UAAU,EACV,sBAAsB,EACtB,YAAY,GAKb,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,aAAa,EAAe,MAAM,qBAAqB,CAAA;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACjD,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,iBAAiB,EAAE,aAAa,EAAqB,MAAM,mBAAmB,CAAA;AACzH,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"editor.js","sourceRoot":"","sources":["../../src/ui/editor.ts"],"names":[],"mappings":"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"}
|
package/lib/ui/frame.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* The
|
|
2
|
+
* The shared furniture keeps prompts recognizable through their whole life.
|
|
3
3
|
*
|
|
4
4
|
* The editor, the prompts queued above it, and the prompts already submitted
|
|
5
5
|
* draw the same glyphs at the same width, so one prompt reads as the same object
|
|
@@ -15,10 +15,14 @@ export declare const FRAME_GLYPHS: {
|
|
|
15
15
|
};
|
|
16
16
|
/** The frame costs one column each side, so the text wraps that much narrower. */
|
|
17
17
|
export declare const FRAME_COLUMNS = 2;
|
|
18
|
+
/** A message rail leaves the right edge open without changing boxed pickers. */
|
|
19
|
+
export declare const RAIL_COLUMNS = 1;
|
|
18
20
|
/** One column of air inside the frame, so a full line never touches the border. */
|
|
19
21
|
export declare const PADDING_X = 1;
|
|
20
22
|
/** A box needs both edges, both paddings, and one column left to type in. */
|
|
21
23
|
export declare const MIN_BOX_WIDTH: number;
|
|
24
|
+
/** Narrow rails still need padding and one writable cell. */
|
|
25
|
+
export declare const MIN_RAIL_WIDTH: number;
|
|
22
26
|
/** The columns the text of a bar owns, given the width of everything inside its frame. */
|
|
23
27
|
export declare function textWidth(innerWidth: number): number;
|
|
24
28
|
/** One text row of a bar: the air, the text, and the rest of the inside width. */
|
|
@@ -35,10 +39,12 @@ export declare function frameRule(innerWidth: number, hiddenRows: number): strin
|
|
|
35
39
|
export interface FrameFaces {
|
|
36
40
|
/** Paints one row of the block's own text. */
|
|
37
41
|
readonly text: (line: string) => string;
|
|
38
|
-
/**
|
|
42
|
+
/** One border face keeps rails and enclosed picker edges theme-compatible. */
|
|
39
43
|
readonly border: (rule: string) => string;
|
|
40
44
|
/** Whether the frame may be drawn at all. */
|
|
41
45
|
readonly framed: boolean;
|
|
46
|
+
/** Messages share a quiet left edge; picker dialogs retain their enclosure. */
|
|
47
|
+
readonly rail?: boolean;
|
|
42
48
|
}
|
|
43
49
|
/**
|
|
44
50
|
* One row a frame drew, as a copy of it comes back from the terminal.
|
|
@@ -65,7 +71,7 @@ export interface FrameBlock {
|
|
|
65
71
|
readonly copy: readonly FrameRow[];
|
|
66
72
|
}
|
|
67
73
|
/** Whether a bar has the width, and the visible border, to close a frame. */
|
|
68
|
-
export declare function canFrame(width: number, borderVisible: boolean): boolean;
|
|
74
|
+
export declare function canFrame(width: number, borderVisible: boolean, rail?: boolean): boolean;
|
|
69
75
|
/**
|
|
70
76
|
* One block of already-rendered rows as a bar draws it: padded to the frame's
|
|
71
77
|
* own text width, and closed into it when the frame can be drawn.
|
|
@@ -73,8 +79,8 @@ export declare function canFrame(width: number, borderVisible: boolean): boolean
|
|
|
73
79
|
* Markdown lays itself out to the width it is given, so its rows may not be
|
|
74
80
|
* wrapped again here: a second pass would break a fence or a table the markdown
|
|
75
81
|
* just drew. A block with a limit is a preview, and the rows it drops are
|
|
76
|
-
* counted on the closing rule: a
|
|
77
|
-
*
|
|
82
|
+
* counted beside the rail or on the closing rule: a clipped preview must still
|
|
83
|
+
* tell the reader that it continues.
|
|
78
84
|
*
|
|
79
85
|
* The copy of a block reads the same rows back as text: the frame's own rows
|
|
80
86
|
* carry no text at all, and a row the frame holds names the columns of it that
|
package/lib/ui/frame.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frame.d.ts","sourceRoot":"","sources":["../../src/ui/frame.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY;;;;;;CAAyF,CAAA;AAElH,kFAAkF;AAClF,eAAO,MAAM,aAAa,IAAI,CAAA;AAC9B,mFAAmF;AACnF,eAAO,MAAM,SAAS,IAAI,CAAA;AAG1B,6EAA6E;AAC7E,eAAO,MAAM,aAAa,QAAoC,CAAA;AAE9D,0FAA0F;AAC1F,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,kFAAkF;AAClF,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAQhE;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAgBxE;AAED,0EAA0E;AAC1E,MAAM,WAAW,UAAU;IACzB,8CAA8C;IAC9C,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;IACvC,
|
|
1
|
+
{"version":3,"file":"frame.d.ts","sourceRoot":"","sources":["../../src/ui/frame.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY;;;;;;CAAyF,CAAA;AAElH,kFAAkF;AAClF,eAAO,MAAM,aAAa,IAAI,CAAA;AAC9B,gFAAgF;AAChF,eAAO,MAAM,YAAY,IAAI,CAAA;AAC7B,mFAAmF;AACnF,eAAO,MAAM,SAAS,IAAI,CAAA;AAG1B,6EAA6E;AAC7E,eAAO,MAAM,aAAa,QAAoC,CAAA;AAC9D,6DAA6D;AAC7D,eAAO,MAAM,cAAc,QAAmC,CAAA;AAE9D,0FAA0F;AAC1F,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,kFAAkF;AAClF,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAQhE;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAgBxE;AAED,0EAA0E;AAC1E,MAAM,WAAW,UAAU;IACzB,8CAA8C;IAC9C,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;IACvC,8EAA8E;IAC9E,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;IACzC,6CAA6C;IAC7C,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;IACxB,+EAA+E;IAC/E,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CACxB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,QAAQ;IACvB,wEAAwE;IACxE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,iGAAiG;IACjG,QAAQ,CAAC,KAAK,CAAC,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;CACnE;AAED,wEAAwE;AACxE,MAAM,WAAW,UAAU;IACzB,sDAAsD;IACtD,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;IACjC,kDAAkD;IAClD,QAAQ,CAAC,IAAI,EAAE,SAAS,QAAQ,EAAE,CAAA;CACnC;AAED,6EAA6E;AAC7E,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,IAAI,UAAQ,GAAG,OAAO,CAErF;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,SAA2B,GAAG,UAAU,CAmCnI;AAED,6EAA6E;AAC7E,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,SAA2B,GAAG,MAAM,EAAE,CAEjI;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,SAA2B,GAAG,MAAM,EAAE,CAIpH"}
|