cursedbelt 5.79.4 → 5.80.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/dist/react/activity-bar/ActivityBar.d.ts +18 -1
- package/dist/react/activity-bar/ActivityBar.d.ts.map +1 -1
- package/dist/react/activity-bar/ActivityBar.js +34 -5
- package/dist/react/activity-bar/ActivityBar.js.map +1 -1
- package/dist/react/activity-bar/activityBar.css +20 -0
- package/dist/react/code-editor/CodeEditor.d.ts +5 -1
- package/dist/react/code-editor/CodeEditor.d.ts.map +1 -1
- package/dist/react/code-editor/CodeEditor.js +13 -6
- package/dist/react/code-editor/CodeEditor.js.map +1 -1
- package/dist/react/code-editor/keys.d.ts +8 -0
- package/dist/react/code-editor/keys.d.ts.map +1 -0
- package/dist/react/code-editor/keys.js +16 -0
- package/dist/react/code-editor/keys.js.map +1 -0
- package/dist/react/code-editor/languages.d.ts.map +1 -1
- package/dist/react/code-editor/languages.js +4 -2
- package/dist/react/code-editor/languages.js.map +1 -1
- package/dist/react/code-editor/lineAbove.d.ts +5 -4
- package/dist/react/code-editor/lineAbove.d.ts.map +1 -1
- package/dist/react/code-editor/lineAbove.js +6 -10
- package/dist/react/code-editor/lineAbove.js.map +1 -1
- package/dist/react/code-editor/markdownRules.d.ts +8 -0
- package/dist/react/code-editor/markdownRules.d.ts.map +1 -0
- package/dist/react/code-editor/markdownRules.js +64 -0
- package/dist/react/code-editor/markdownRules.js.map +1 -0
- package/dist/react/code-editor/occurrences.d.ts +8 -0
- package/dist/react/code-editor/occurrences.d.ts.map +1 -0
- package/dist/react/code-editor/occurrences.js +63 -0
- package/dist/react/code-editor/occurrences.js.map +1 -0
- package/dist/react/code-editor/plainInput.d.ts +4 -0
- package/dist/react/code-editor/plainInput.d.ts.map +1 -0
- package/dist/react/code-editor/plainInput.js +36 -0
- package/dist/react/code-editor/plainInput.js.map +1 -0
- package/dist/react/code-editor/theme.d.ts.map +1 -1
- package/dist/react/code-editor/theme.js +5 -0
- package/dist/react/code-editor/theme.js.map +1 -1
- package/dist/react/line-keys/lineKeys.d.ts +12 -8
- package/dist/react/line-keys/lineKeys.d.ts.map +1 -1
- package/dist/react/line-keys/lineKeys.js +14 -10
- package/dist/react/line-keys/lineKeys.js.map +1 -1
- package/package.json +1 -1
- package/src/react/activity-bar/ActivityBar.spec.tsx +46 -0
- package/src/react/activity-bar/ActivityBar.tsx +67 -4
- package/src/react/activity-bar/activityBar.css +20 -0
- package/src/react/code-editor/CodeEditor.tsx +24 -7
- package/src/react/code-editor/keys.spec.ts +61 -0
- package/src/react/code-editor/keys.ts +17 -0
- package/src/react/code-editor/languages.ts +4 -2
- package/src/react/code-editor/lineAbove.spec.ts +1 -16
- package/src/react/code-editor/lineAbove.ts +6 -10
- package/src/react/code-editor/markdownRules.spec.ts +26 -0
- package/src/react/code-editor/markdownRules.ts +73 -0
- package/src/react/code-editor/occurrences.ts +69 -0
- package/src/react/code-editor/plainInput.spec.ts +23 -0
- package/src/react/code-editor/plainInput.ts +35 -0
- package/src/react/code-editor/theme.ts +5 -0
- package/src/react/line-keys/lineKeys.spec.tsx +19 -7
- package/src/react/line-keys/lineKeys.ts +14 -10
|
@@ -63,6 +63,14 @@
|
|
|
63
63
|
* It folds again when the mouse leaves, focus leaves, a touch lands outside it, Escape is
|
|
64
64
|
* pressed, or a control is chosen. {@link ActivityBarProps.expandable} `false` opts out.
|
|
65
65
|
*
|
|
66
|
+
* ── 🔒 It can be LOCKED open (forge task 3183) ──────────────────────────────────────────
|
|
67
|
+
* The owner, 2026-10-14: *"add lock button for the left nav menu. when locked it should stay
|
|
68
|
+
* open and the right collapses to fit screen size. this does not apply to mobile."* Given
|
|
69
|
+
* {@link ActivityBarProps.onLockedChange}, the rail draws a lock at its floor; locked, it stays
|
|
70
|
+
* expanded and takes its expanded width IN the layout — the page beside it narrows instead of
|
|
71
|
+
* being covered, Linear's and Obsidian's pinned sidebar. Under {@link LOCK_MIN_WIDTH} (a phone)
|
|
72
|
+
* there is no lock and a saved one is ignored: a 15rem rail on a 390px screen is the page.
|
|
73
|
+
*
|
|
66
74
|
* ── Plain CSS, deliberately ─────────────────────────────────────────────────────────────
|
|
67
75
|
* `activityBar.css` under the `cbab-` prefix, the same convention (and the same reason) as
|
|
68
76
|
* `fileTree.css` and `denseGallery.css`: this mounts inside apps whose Tailwind build cannot
|
|
@@ -154,10 +162,19 @@ export interface ActivityBarProps {
|
|
|
154
162
|
* icon-only column (a rail whose every control is already named beside it).
|
|
155
163
|
*/
|
|
156
164
|
expandable?: boolean;
|
|
165
|
+
/**
|
|
166
|
+
* Whether the rail is locked open — see the file header. Controlled: the consumer keeps it
|
|
167
|
+
* (per device, usually) and hears the lock's presses through {@link onLockedChange}.
|
|
168
|
+
*/
|
|
169
|
+
locked?: boolean;
|
|
170
|
+
/** Present ⇒ the rail draws its lock. Ignored when {@link expandable} is `false`. */
|
|
171
|
+
onLockedChange?: (locked: boolean) => void;
|
|
157
172
|
}
|
|
173
|
+
/** The narrowest screen the lock works on — below it the rail stays an overlay (a phone). */
|
|
174
|
+
export declare const LOCK_MIN_WIDTH = 768;
|
|
158
175
|
/** How long a mouse rests on the rail before it opens its words. */
|
|
159
176
|
export declare const EXPAND_HOVER_MS = 350;
|
|
160
177
|
/** How long a touch holds before the rail opens its words — Android's long-press. */
|
|
161
178
|
export declare const EXPAND_PRESS_MS = 450;
|
|
162
|
-
export declare function ActivityBar({ top, bottom, ariaLabel, className, expandable, }: ActivityBarProps): JSX.Element;
|
|
179
|
+
export declare function ActivityBar({ top, bottom, ariaLabel, className, expandable, locked, onLockedChange, }: ActivityBarProps): JSX.Element;
|
|
163
180
|
//# sourceMappingURL=ActivityBar.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActivityBar.d.ts","sourceRoot":"","sources":["../../../src/react/activity-bar/ActivityBar.tsx"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"ActivityBar.d.ts","sourceRoot":"","sources":["../../../src/react/activity-bar/ActivityBar.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+EG;AACH,OAAO,EAEL,KAAK,GAAG,EAIR,KAAK,SAAS,EAKf,MAAM,OAAO,CAAC;AAGf,OAAO,mBAAmB,CAAC;AAG3B;;;;;;;GAOG;AACH,MAAM,WAAW,eAAe;IAC9B,wEAAwE;IACxE,EAAE,EAAE,MAAM,CAAC;IACX;;;;;;;;OAQG;IACH,KAAK,EAAE,MAAM,CAAC;IACd,2FAA2F;IAC3F,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,wFAAwF;IACxF,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,iFAAiF;IACjF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAChD;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,uFAAuF;IACvF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kEAAkE;IAClE,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,iDAAiD;IACjD,GAAG,EAAE,SAAS,eAAe,EAAE,CAAC;IAChC,uFAAuF;IACvF,MAAM,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC;IACpC,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,qFAAqF;IACrF,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CAC5C;AAID,6FAA6F;AAC7F,eAAO,MAAM,cAAc,MAAM,CAAC;AAElC,oEAAoE;AACpE,eAAO,MAAM,eAAe,MAAM,CAAC;AACnC,qFAAqF;AACrF,eAAO,MAAM,eAAe,MAAM,CAAC;AAyNnC,wBAAgB,WAAW,CAAC,EAC1B,GAAG,EACH,MAAW,EACX,SAAgC,EAChC,SAAS,EACT,UAAiB,EACjB,MAAc,EACd,cAAc,GACf,EAAE,gBAAgB,GAAG,GAAG,CAAC,OAAO,CAmDhC"}
|
|
@@ -64,6 +64,14 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
64
64
|
* It folds again when the mouse leaves, focus leaves, a touch lands outside it, Escape is
|
|
65
65
|
* pressed, or a control is chosen. {@link ActivityBarProps.expandable} `false` opts out.
|
|
66
66
|
*
|
|
67
|
+
* ── 🔒 It can be LOCKED open (forge task 3183) ──────────────────────────────────────────
|
|
68
|
+
* The owner, 2026-10-14: *"add lock button for the left nav menu. when locked it should stay
|
|
69
|
+
* open and the right collapses to fit screen size. this does not apply to mobile."* Given
|
|
70
|
+
* {@link ActivityBarProps.onLockedChange}, the rail draws a lock at its floor; locked, it stays
|
|
71
|
+
* expanded and takes its expanded width IN the layout — the page beside it narrows instead of
|
|
72
|
+
* being covered, Linear's and Obsidian's pinned sidebar. Under {@link LOCK_MIN_WIDTH} (a phone)
|
|
73
|
+
* there is no lock and a saved one is ignored: a 15rem rail on a 390px screen is the page.
|
|
74
|
+
*
|
|
67
75
|
* ── Plain CSS, deliberately ─────────────────────────────────────────────────────────────
|
|
68
76
|
* `activityBar.css` under the `cbab-` prefix, the same convention (and the same reason) as
|
|
69
77
|
* `fileTree.css` and `denseGallery.css`: this mounts inside apps whose Tailwind build cannot
|
|
@@ -73,22 +81,26 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
73
81
|
*/
|
|
74
82
|
import { useCallback, useEffect, useRef, useState, } from 'react';
|
|
75
83
|
import { Tooltip } from '../components/Tooltip.js';
|
|
84
|
+
import { useMediaQuery } from '../hooks/useMediaQuery.js';
|
|
76
85
|
import './activityBar.css';
|
|
77
86
|
import { cn, RAW_BUTTON } from '../lib/cn.js';
|
|
87
|
+
const noop = () => { };
|
|
88
|
+
/** The narrowest screen the lock works on — below it the rail stays an overlay (a phone). */
|
|
89
|
+
export const LOCK_MIN_WIDTH = 768;
|
|
78
90
|
/** How long a mouse rests on the rail before it opens its words. */
|
|
79
91
|
export const EXPAND_HOVER_MS = 350;
|
|
80
92
|
/** How long a touch holds before the rail opens its words — Android's long-press. */
|
|
81
93
|
export const EXPAND_PRESS_MS = 450;
|
|
82
94
|
/** A hold that drifts further than this is a scroll or a drag, not a press. */
|
|
83
95
|
const PRESS_SLOP_PX = 10;
|
|
84
|
-
function ActivityButton({ item, onChosen }) {
|
|
96
|
+
function ActivityButton({ item, onChosen, className, }) {
|
|
85
97
|
const disabled = item.unavailableReason !== undefined;
|
|
86
98
|
const button = (_jsxs("button", {
|
|
87
99
|
// guardrails-ignore no-raw-action-button: THE rail's own icon control, styled by this
|
|
88
100
|
// module's self-contained plain CSS. cursedbelt's `Button` runs on the Tailwind token
|
|
89
101
|
// layer, which fights `.cbab-btn`'s fixed 48px column geometry on cascade order rather
|
|
90
102
|
// than composing with it — the same split `GalleryActionButton` records.
|
|
91
|
-
type: 'button', className: cn(RAW_BUTTON, 'cbab-btn'), "data-active": item.active || undefined, onClick: disabled
|
|
103
|
+
type: 'button', className: cn(RAW_BUTTON, 'cbab-btn', className), "data-active": item.active || undefined, onClick: disabled
|
|
92
104
|
? undefined
|
|
93
105
|
: (event) => {
|
|
94
106
|
item.onSelect?.(event.currentTarget);
|
|
@@ -96,6 +108,10 @@ function ActivityButton({ item, onChosen }) {
|
|
|
96
108
|
}, "aria-disabled": disabled || undefined, ...(item.active === undefined ? {} : { 'aria-pressed': item.active }), ...(item.hasMenu ? { 'aria-haspopup': 'menu', 'aria-expanded': item.menuOpen === true } : {}), "aria-label": item.label, children: [_jsxs("span", { className: 'cbab-glyph', "aria-hidden": 'true', children: [item.icon, item.badge ? _jsx("span", { className: 'cbab-badge' }) : null] }), _jsx("span", { className: 'cbab-label', "aria-hidden": 'true', children: item.label }), item.count ? (_jsx("span", { className: 'cbab-count', "aria-hidden": 'true', children: item.count.toLocaleString() })) : null] }));
|
|
97
109
|
return (_jsx(Tooltip, { content: item.unavailableReason ?? item.title ?? item.label, side: 'right', children: button }));
|
|
98
110
|
}
|
|
111
|
+
/** The lock's glyph — a padlock, its shackle shut while the rail is locked open. */
|
|
112
|
+
function LockGlyph({ locked }) {
|
|
113
|
+
return (_jsxs("svg", { "aria-hidden": 'true', viewBox: '0 0 24 24', fill: 'none', stroke: 'currentColor', strokeWidth: '1.7', strokeLinecap: 'round', strokeLinejoin: 'round', children: [_jsx("rect", { x: '5', y: '11', width: '14', height: '10', rx: '2' }), _jsx("path", { d: locked ? 'M8 11V7a4 4 0 0 1 8 0v4' : 'M8 11V7a4 4 0 0 1 7.6-1.7' })] }));
|
|
114
|
+
}
|
|
99
115
|
function Group({ items, onChosen }) {
|
|
100
116
|
if (items.length === 0)
|
|
101
117
|
return null;
|
|
@@ -224,8 +240,21 @@ function useExpand(enabled) {
|
|
|
224
240
|
};
|
|
225
241
|
return { root, by, handlers, collapse };
|
|
226
242
|
}
|
|
227
|
-
export function ActivityBar({ top, bottom = [], ariaLabel = 'Views and settings', className, expandable = true, }) {
|
|
228
|
-
const
|
|
229
|
-
|
|
243
|
+
export function ActivityBar({ top, bottom = [], ariaLabel = 'Views and settings', className, expandable = true, locked = false, onLockedChange, }) {
|
|
244
|
+
const wide = useMediaQuery(`(min-width: ${LOCK_MIN_WIDTH}px)`);
|
|
245
|
+
const lockable = expandable && onLockedChange !== undefined && wide;
|
|
246
|
+
const isLocked = lockable && locked;
|
|
247
|
+
// Locked, there is nothing to open or fold: the hover, focus and hold machinery stands down.
|
|
248
|
+
const { root, by, handlers, collapse } = useExpand(expandable && !isLocked);
|
|
249
|
+
return (_jsx("fieldset", { ref: root, className: className ? `cbab ${className}` : 'cbab', "aria-label": ariaLabel, "data-expandable": expandable || undefined, "data-expanded": isLocked ? 'locked' : (by ?? undefined), "data-locked": isLocked || undefined, ...handlers, children: _jsxs("div", { className: 'cbab-panel', children: [_jsx(Group, { items: top, onChosen: collapse }), _jsx("div", { className: 'cbab-spacer' }), _jsx(Group, { items: bottom, onChosen: collapse }), lockable && onLockedChange ? (_jsx("div", { className: 'cbab-group', children: _jsx(ActivityButton, { className: 'cbab-lock',
|
|
250
|
+
// A stable name with the state in aria-pressed — ActivityBarItem.label's own rule.
|
|
251
|
+
item: {
|
|
252
|
+
id: 'cbab-lock',
|
|
253
|
+
label: 'Keep the menu open',
|
|
254
|
+
title: isLocked ? 'Let the menu fold away again' : 'Keep the menu open — the page beside it makes room',
|
|
255
|
+
icon: _jsx(LockGlyph, { locked: isLocked }),
|
|
256
|
+
active: isLocked,
|
|
257
|
+
onSelect: () => onLockedChange(!isLocked),
|
|
258
|
+
}, onChosen: noop }) })) : null] }) }));
|
|
230
259
|
}
|
|
231
260
|
//# sourceMappingURL=ActivityBar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActivityBar.js","sourceRoot":"","sources":["../../../src/react/activity-bar/ActivityBar.tsx"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"ActivityBar.js","sourceRoot":"","sources":["../../../src/react/activity-bar/ActivityBar.tsx"],"names":[],"mappings":"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"}
|
|
@@ -56,6 +56,26 @@
|
|
|
56
56
|
box-shadow: var(--shadow-overlay);
|
|
57
57
|
}
|
|
58
58
|
|
|
59
|
+
/*
|
|
60
|
+
* 🔒 Locked open (forge task 3183): the TRACK takes the expanded width, so the page beside the
|
|
61
|
+
* rail narrows to fit instead of being covered — no overlay shadow, no lift over its neighbours.
|
|
62
|
+
* The component only sets `data-locked` on a screen at least LOCK_MIN_WIDTH wide.
|
|
63
|
+
*/
|
|
64
|
+
.cbab[data-locked] {
|
|
65
|
+
inline-size: var(--cbab-expanded);
|
|
66
|
+
flex-basis: var(--cbab-expanded);
|
|
67
|
+
z-index: auto;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.cbab[data-locked] .cbab-panel {
|
|
71
|
+
box-shadow: none;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/* The lock is a toggle, not a place: pressed, it is lit, without the "you are here" hairline. */
|
|
75
|
+
.cbab .cbab-lock[data-active]::before {
|
|
76
|
+
content: none;
|
|
77
|
+
}
|
|
78
|
+
|
|
59
79
|
@media (prefers-reduced-motion: reduce) {
|
|
60
80
|
.cbab-panel {
|
|
61
81
|
transition: none;
|
|
@@ -18,7 +18,11 @@ export interface CodeEditorProps {
|
|
|
18
18
|
lineWrapping?: boolean;
|
|
19
19
|
/** Text shown, dimmed, while the document is empty. */
|
|
20
20
|
placeholder?: string;
|
|
21
|
-
/**
|
|
21
|
+
/**
|
|
22
|
+
* Let the browser spell-check the text — prose like markdown wants it, source does not. Default:
|
|
23
|
+
* false. Only the red underline: autocorrect stays CodeMirror's `off` either way, because an OS
|
|
24
|
+
* that rewrites `--` to `—` or `"` to `“` rewrites the syntax (forge task 3184, `plainInput`).
|
|
25
|
+
*/
|
|
22
26
|
spellCheck?: boolean;
|
|
23
27
|
/**
|
|
24
28
|
* Called once with the live `EditorView` after it mounts — the seam for imperative work a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodeEditor.d.ts","sourceRoot":"","sources":["../../../src/react/code-editor/CodeEditor.tsx"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,
|
|
1
|
+
{"version":3,"file":"CodeEditor.d.ts","sourceRoot":"","sources":["../../../src/react/code-editor/CodeEditor.tsx"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,EAEL,UAAU,EAIX,MAAM,kBAAkB,CAAC;AAG1B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAMnD,MAAM,WAAW,eAAe;IAC9B,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,sFAAsF;IACtF,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,kFAAkF;IAClF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,+CAA+C;IAC/C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iEAAiE;IACjE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gGAAgG;IAChG,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,uDAAuD;IACvD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;IAC5C,uEAAuE;IACvE,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;IACzB,mDAAmD;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wEAAwE;IACxE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAkBD,wBAAgB,UAAU,CAAC,EACzB,KAAU,EACV,QAAQ,EACR,QAAiB,EACjB,QAAgB,EAChB,WAAW,EAAE,eAAsB,EACnC,UAAU,EAAE,cAAsB,EAClC,YAAoB,EACpB,WAAW,EACX,UAAkB,EAClB,cAAc,EACd,UAAU,EAAE,eAAoB,EAChC,SAAkB,EAClB,SAAS,EACT,OAAW,EACX,SAAS,EACT,YAAY,EAAE,SAAS,GACxB,EAAE,eAAe,+BAuIjB"}
|
|
@@ -10,18 +10,25 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
10
10
|
// RHF via Controller:
|
|
11
11
|
// <Controller control={control} name='query'
|
|
12
12
|
// render={({ field }) => <CodeEditor value={field.value} onChange={field.onChange} language='sql' />} />
|
|
13
|
-
import {
|
|
13
|
+
import { history } from '@codemirror/commands';
|
|
14
14
|
import { bracketMatching, defaultHighlightStyle, foldGutter as foldGutterExt, indentOnInput, indentUnit, syntaxHighlighting, } from '@codemirror/language';
|
|
15
15
|
import { Compartment, EditorState, Transaction } from '@codemirror/state';
|
|
16
|
-
import { EditorView, keymap, lineNumbers as lineNumbersExt, placeholder as placeholderExt } from '@codemirror/view';
|
|
16
|
+
import { drawSelection, EditorView, keymap, lineNumbers as lineNumbersExt, placeholder as placeholderExt, } from '@codemirror/view';
|
|
17
17
|
import { useEffect, useMemo, useRef, useState } from 'react';
|
|
18
18
|
import { cn } from '../lib/cn.js';
|
|
19
19
|
import { loadLanguageExtension } from './languages.js';
|
|
20
|
-
import {
|
|
20
|
+
import { editorKeyBindings } from './keys.js';
|
|
21
|
+
import { plainInput } from './plainInput.js';
|
|
21
22
|
import { cbEditorTheme, cbSyntaxHighlighting } from './theme.js';
|
|
22
|
-
// Fixed extensions shared across all instances — created once.
|
|
23
|
+
// Fixed extensions shared across all instances — created once. Several cursors, as in VS Code:
|
|
24
|
+
// ⌥-click adds one, ⌥⌘↑ / ⌥⌘↓ (`defaultKeymap`) one above or below, ⌘D the next match, Esc
|
|
25
|
+
// back to one — `drawSelection` is what paints the cursors past the browser's single caret.
|
|
23
26
|
const FIXED_EXTENSIONS = [
|
|
24
27
|
history(),
|
|
28
|
+
EditorState.allowMultipleSelections.of(true),
|
|
29
|
+
drawSelection(),
|
|
30
|
+
EditorView.clickAddsSelectionRange.of((event) => event.altKey),
|
|
31
|
+
plainInput,
|
|
25
32
|
indentOnInput(),
|
|
26
33
|
bracketMatching(),
|
|
27
34
|
syntaxHighlighting(defaultHighlightStyle, { fallback: true }),
|
|
@@ -55,7 +62,7 @@ export function CodeEditor({ value = '', onChange, language = 'text', readOnly =
|
|
|
55
62
|
const dynExtensions = useMemo(() => {
|
|
56
63
|
const exts = [
|
|
57
64
|
indentUnit.of(' '.repeat(tabSize)),
|
|
58
|
-
keymap.of(
|
|
65
|
+
keymap.of(editorKeyBindings),
|
|
59
66
|
];
|
|
60
67
|
if (showLineNumbers)
|
|
61
68
|
exts.push(lineNumbersExt());
|
|
@@ -69,7 +76,7 @@ export function CodeEditor({ value = '', onChange, language = 'text', readOnly =
|
|
|
69
76
|
if (ariaLabel)
|
|
70
77
|
exts.push(EditorView.contentAttributes.of({ 'aria-label': ariaLabel }));
|
|
71
78
|
if (spellCheck)
|
|
72
|
-
exts.push(EditorView.contentAttributes.of({ spellcheck: 'true'
|
|
79
|
+
exts.push(EditorView.contentAttributes.of({ spellcheck: 'true' }));
|
|
73
80
|
if (readOnly)
|
|
74
81
|
exts.push(EditorState.readOnly.of(true));
|
|
75
82
|
if (langExtension)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodeEditor.js","sourceRoot":"","sources":["../../../src/react/code-editor/CodeEditor.tsx"],"names":[],"mappings":";AAAA,yEAAyE;AACzE,sFAAsF;AACtF,6EAA6E;AAC7E,EAAE;AACF,SAAS;AACT,+DAA+D;AAC/D,yEAAyE;AACzE,EAAE;AACF,sBAAsB;AACtB,+CAA+C;AAC/C,6GAA6G;AAC7G,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"CodeEditor.js","sourceRoot":"","sources":["../../../src/react/code-editor/CodeEditor.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { KeyBinding } from '@codemirror/view';
|
|
2
|
+
/**
|
|
3
|
+
* Every key `CodeEditor` answers, first match wins: cb's VS Code additions IN FRONT of
|
|
4
|
+
* CodeMirror's `defaultKeymap`, which is already VS Code's for the rest. Nothing here may shadow
|
|
5
|
+
* a `defaultKeymap` key VS Code means the same way — `keys.spec.ts` holds ⌘↑ / ⌘↓ to the jump.
|
|
6
|
+
*/
|
|
7
|
+
export declare const editorKeyBindings: readonly KeyBinding[];
|
|
8
|
+
//# sourceMappingURL=keys.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../../src/react/code-editor/keys.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAInD;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAE,SAAS,UAAU,EAMlD,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { defaultKeymap, historyKeymap, indentWithTab } from '@codemirror/commands';
|
|
2
|
+
import { lineKeyBindings } from './lineAbove.js';
|
|
3
|
+
import { occurrenceBindings } from './occurrences.js';
|
|
4
|
+
/**
|
|
5
|
+
* Every key `CodeEditor` answers, first match wins: cb's VS Code additions IN FRONT of
|
|
6
|
+
* CodeMirror's `defaultKeymap`, which is already VS Code's for the rest. Nothing here may shadow
|
|
7
|
+
* a `defaultKeymap` key VS Code means the same way — `keys.spec.ts` holds ⌘↑ / ⌘↓ to the jump.
|
|
8
|
+
*/
|
|
9
|
+
export const editorKeyBindings = [
|
|
10
|
+
...lineKeyBindings,
|
|
11
|
+
...occurrenceBindings,
|
|
12
|
+
...defaultKeymap,
|
|
13
|
+
...historyKeymap,
|
|
14
|
+
indentWithTab,
|
|
15
|
+
];
|
|
16
|
+
//# sourceMappingURL=keys.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keys.js","sourceRoot":"","sources":["../../../src/react/code-editor/keys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAEnF,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAA0B;IACtD,GAAG,eAAe;IAClB,GAAG,kBAAkB;IACrB,GAAG,aAAa;IAChB,GAAG,aAAa;IAChB,aAAa;CACd,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"languages.d.ts","sourceRoot":"","sources":["../../../src/react/code-editor/languages.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"languages.d.ts","sourceRoot":"","sources":["../../../src/react/code-editor/languages.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAGnD,kFAAkF;AAClF,MAAM,MAAM,YAAY,GACpB,MAAM,GACN,MAAM,GACN,MAAM,GACN,MAAM,GACN,KAAK,GACL,YAAY,GACZ,YAAY,GACZ,KAAK,GACL,OAAO,GACP,YAAY,GACZ,QAAQ,GACR,IAAI,GACJ,MAAM,GACN,MAAM,GACN,MAAM,GACN,KAAK,GACL,OAAO,GACP,MAAM,GACN,QAAQ,GACR,GAAG,GACH,KAAK,GACL,QAAQ,GACR,KAAK,GACL,MAAM,GACN,KAAK,GACL,YAAY,GACZ,MAAM,GACN,MAAM,GACN,UAAU,GACV,OAAO,GACP,MAAM,GACN,SAAS,GACT,QAAQ,GACR,SAAS,GACT,OAAO,GACP,GAAG,GACH,UAAU,CAAC;AAEf;;;oEAGoE;AACpE,eAAO,MAAM,cAAc,EAAE,SAAS,YAAY,EAsCjD,CAAC;AAEF,iFAAiF;AACjF,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAsC7D,CAAC;AAgHF,MAAM,WAAW,sBAAsB;IACrC,oEAAoE;IACpE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,2EAA2E;IAC3E,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,GAAG,YAAY,CAiD7E;AAYD,wBAAsB,qBAAqB,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CA6F7F"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { markdownRules } from './markdownRules.js';
|
|
1
2
|
/** Every identifier the picker offers, in the order it offers them — most-used
|
|
2
3
|
* first rather than alphabetical, because the top of the list is what gets used.
|
|
3
4
|
* Exported so a consumer's language `<select>` can never drift from the loader:
|
|
@@ -327,10 +328,11 @@ export async function loadLanguageExtension(language) {
|
|
|
327
328
|
case 'diff':
|
|
328
329
|
return stream((await import('@codemirror/legacy-modes/mode/diff')).diff);
|
|
329
330
|
// The one Lezer grammar past the first six: a markdown fence highlights its own
|
|
330
|
-
// code, and `#`, `**` and `[](…)` read as structure rather than as punctuation.
|
|
331
|
+
// code, and `#`, `**` and `[](…)` read as structure rather than as punctuation. A `---`
|
|
332
|
+
// rule is drawn as one while the caret is off its line (`markdownRules`).
|
|
331
333
|
case 'markdown': {
|
|
332
334
|
const { markdown } = await import('@codemirror/lang-markdown');
|
|
333
|
-
return markdown();
|
|
335
|
+
return [markdown(), markdownRules];
|
|
334
336
|
}
|
|
335
337
|
case 'scala':
|
|
336
338
|
return stream((await import('@codemirror/legacy-modes/mode/clike')).scala);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"languages.js","sourceRoot":"","sources":["../../../src/react/code-editor/languages.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"languages.js","sourceRoot":"","sources":["../../../src/react/code-editor/languages.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,10 +8,11 @@ import type { KeyBinding } from '@codemirror/view';
|
|
|
8
8
|
*/
|
|
9
9
|
export declare const insertBlankLineAbove: StateCommand;
|
|
10
10
|
/**
|
|
11
|
-
* The line keys `CodeEditor` adds IN FRONT of `defaultKeymap`: ⇧⌘↵ above
|
|
12
|
-
*
|
|
13
|
-
* bottom
|
|
14
|
-
* the
|
|
11
|
+
* The line keys `CodeEditor` adds IN FRONT of `defaultKeymap`: ⇧⌘↵ above. Everything else VS Code
|
|
12
|
+
* binds for lines `defaultKeymap` already has — ⌥↑ / ⌥↓ move, ⇧⌥↑ / ⇧⌥↓ copy, ⌘↑ / ⌘↓ the jump to
|
|
13
|
+
* the top or bottom with the line left where it is. ⌘↑ / ⌘↓ moved the line here from 2026-10-05
|
|
14
|
+
* until the owner asked for VS Code's meaning back (2026-10-14, forge task 3182); the same keys
|
|
15
|
+
* in a `<textarea>` are `cursedbelt/react/line-keys`.
|
|
15
16
|
*/
|
|
16
17
|
export declare const lineKeyBindings: readonly KeyBinding[];
|
|
17
18
|
//# sourceMappingURL=lineAbove.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lineAbove.d.ts","sourceRoot":"","sources":["../../../src/react/code-editor/lineAbove.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"lineAbove.d.ts","sourceRoot":"","sources":["../../../src/react/code-editor/lineAbove.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,EAAE,YAYlC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,EAAE,SAAS,UAAU,EAA4D,CAAC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { moveLineDown, moveLineUp } from '@codemirror/commands';
|
|
2
1
|
import { EditorSelection } from '@codemirror/state';
|
|
3
2
|
/**
|
|
4
3
|
* ⇧⌘↵ — a blank line ABOVE each cursor's line, keeping that line's indentation, the caret on it.
|
|
@@ -21,14 +20,11 @@ export const insertBlankLineAbove = ({ state, dispatch }) => {
|
|
|
21
20
|
return true;
|
|
22
21
|
};
|
|
23
22
|
/**
|
|
24
|
-
* The line keys `CodeEditor` adds IN FRONT of `defaultKeymap`: ⇧⌘↵ above
|
|
25
|
-
*
|
|
26
|
-
* bottom
|
|
27
|
-
* the
|
|
23
|
+
* The line keys `CodeEditor` adds IN FRONT of `defaultKeymap`: ⇧⌘↵ above. Everything else VS Code
|
|
24
|
+
* binds for lines `defaultKeymap` already has — ⌥↑ / ⌥↓ move, ⇧⌥↑ / ⇧⌥↓ copy, ⌘↑ / ⌘↓ the jump to
|
|
25
|
+
* the top or bottom with the line left where it is. ⌘↑ / ⌘↓ moved the line here from 2026-10-05
|
|
26
|
+
* until the owner asked for VS Code's meaning back (2026-10-14, forge task 3182); the same keys
|
|
27
|
+
* in a `<textarea>` are `cursedbelt/react/line-keys`.
|
|
28
28
|
*/
|
|
29
|
-
export const lineKeyBindings = [
|
|
30
|
-
{ key: 'Shift-Mod-Enter', run: insertBlankLineAbove },
|
|
31
|
-
{ key: 'Mod-ArrowUp', run: moveLineUp },
|
|
32
|
-
{ key: 'Mod-ArrowDown', run: moveLineDown },
|
|
33
|
-
];
|
|
29
|
+
export const lineKeyBindings = [{ key: 'Shift-Mod-Enter', run: insertBlankLineAbove }];
|
|
34
30
|
//# sourceMappingURL=lineAbove.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lineAbove.js","sourceRoot":"","sources":["../../../src/react/code-editor/lineAbove.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"lineAbove.js","sourceRoot":"","sources":["../../../src/react/code-editor/lineAbove.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAqB,MAAM,mBAAmB,CAAC;AAGvE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAiB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;IACxE,IAAI,KAAK,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC;IACjC,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,EAAE;QAC5C,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACpD,OAAO;YACL,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,KAAK,CAAC,SAAS,EAAE,EAAE;YACnE,KAAK,EAAE,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;SACzD,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IAC9E,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,eAAe,GAA0B,CAAC,EAAE,GAAG,EAAE,iBAAiB,EAAE,GAAG,EAAE,oBAAoB,EAAE,CAAC,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { EditorState, Extension } from '@codemirror/state';
|
|
2
|
+
/** The line starts of every rule in the visible ranges, less any line a selection touches. */
|
|
3
|
+
export declare function ruleLines(state: EditorState, ranges: readonly {
|
|
4
|
+
from: number;
|
|
5
|
+
to: number;
|
|
6
|
+
}[]): number[];
|
|
7
|
+
export declare const markdownRules: Extension;
|
|
8
|
+
//# sourceMappingURL=markdownRules.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markdownRules.d.ts","sourceRoot":"","sources":["../../../src/react/code-editor/markdownRules.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAS,MAAM,mBAAmB,CAAC;AAYvE,8FAA8F;AAC9F,wBAAgB,SAAS,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,EAAE,GAAG,MAAM,EAAE,CAgBvG;AA0CD,eAAO,MAAM,aAAa,EAAE,SAAmC,CAAC"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { syntaxTree } from '@codemirror/language';
|
|
2
|
+
import { Decoration, EditorView, ViewPlugin } from '@codemirror/view';
|
|
3
|
+
/**
|
|
4
|
+
* A markdown rule (`---`, `***`, `___`) drawn as a rule while you write, the dashes coming back
|
|
5
|
+
* when the caret is on its line — Obsidian's live preview of the same thing. The owner, 2026-10-14
|
|
6
|
+
* (forge task 3184): "it should show as a solid line in editing and in view". Only a rule the
|
|
7
|
+
* grammar agrees is one: `---` under a line of text is that line's heading underline, and the
|
|
8
|
+
* preview reads it the same way.
|
|
9
|
+
*/
|
|
10
|
+
const rule = Decoration.line({ class: 'cb-md-rule' });
|
|
11
|
+
/** The line starts of every rule in the visible ranges, less any line a selection touches. */
|
|
12
|
+
export function ruleLines(state, ranges) {
|
|
13
|
+
const starts = [];
|
|
14
|
+
const tree = syntaxTree(state);
|
|
15
|
+
for (const { from, to } of ranges) {
|
|
16
|
+
tree.iterate({
|
|
17
|
+
from,
|
|
18
|
+
to,
|
|
19
|
+
enter: (node) => {
|
|
20
|
+
if (node.name !== 'HorizontalRule')
|
|
21
|
+
return;
|
|
22
|
+
const line = state.doc.lineAt(node.from);
|
|
23
|
+
const touched = state.selection.ranges.some((r) => r.from <= line.to && r.to >= line.from);
|
|
24
|
+
if (!touched && starts.at(-1) !== line.from)
|
|
25
|
+
starts.push(line.from);
|
|
26
|
+
},
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
return starts;
|
|
30
|
+
}
|
|
31
|
+
function build(view) {
|
|
32
|
+
const marks = ruleLines(view.state, view.visibleRanges).map((at) => rule.range(at));
|
|
33
|
+
return Decoration.set(marks);
|
|
34
|
+
}
|
|
35
|
+
const rulePlugin = ViewPlugin.fromClass(class {
|
|
36
|
+
decorations;
|
|
37
|
+
constructor(view) {
|
|
38
|
+
this.decorations = build(view);
|
|
39
|
+
}
|
|
40
|
+
update(update) {
|
|
41
|
+
if (update.docChanged ||
|
|
42
|
+
update.selectionSet ||
|
|
43
|
+
update.viewportChanged ||
|
|
44
|
+
syntaxTree(update.startState) !== syntaxTree(update.state))
|
|
45
|
+
this.decorations = build(update.view);
|
|
46
|
+
}
|
|
47
|
+
}, { decorations: (plugin) => plugin.decorations });
|
|
48
|
+
const ruleTheme = EditorView.baseTheme({
|
|
49
|
+
// The rule is the line's background, centred, the width of the text column; the dashes stay
|
|
50
|
+
// in the document (and under the caret's click), just not painted.
|
|
51
|
+
'.cb-md-rule': {
|
|
52
|
+
backgroundImage: 'linear-gradient(var(--border), var(--border))',
|
|
53
|
+
backgroundSize: '100% 1px',
|
|
54
|
+
backgroundPosition: 'center',
|
|
55
|
+
backgroundRepeat: 'no-repeat',
|
|
56
|
+
backgroundOrigin: 'content-box',
|
|
57
|
+
backgroundClip: 'content-box',
|
|
58
|
+
},
|
|
59
|
+
'.cb-md-rule, .cb-md-rule *': {
|
|
60
|
+
color: 'transparent !important',
|
|
61
|
+
},
|
|
62
|
+
});
|
|
63
|
+
export const markdownRules = [rulePlugin, ruleTheme];
|
|
64
|
+
//# sourceMappingURL=markdownRules.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markdownRules.js","sourceRoot":"","sources":["../../../src/react/code-editor/markdownRules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,EAAE,UAAU,EAAsB,UAAU,EAAE,UAAU,EAAmB,MAAM,kBAAkB,CAAC;AAE3G;;;;;;GAMG;AACH,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;AAEtD,8FAA8F;AAC9F,MAAM,UAAU,SAAS,CAAC,KAAkB,EAAE,MAA+C;IAC3F,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAC/B,KAAK,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,MAAM,EAAE,CAAC;QAClC,IAAI,CAAC,OAAO,CAAC;YACX,IAAI;YACJ,EAAE;YACF,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE;gBACd,IAAI,IAAI,CAAC,IAAI,KAAK,gBAAgB;oBAAE,OAAO;gBAC3C,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACzC,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC3F,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI;oBAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtE,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,KAAK,CAAC,IAAgB;IAC7B,MAAM,KAAK,GAAwB,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IACzG,OAAO,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,GAAG,UAAU,CAAC,SAAS,CACrC;IACE,WAAW,CAAgB;IAC3B,YAAY,IAAgB;QAC1B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IACD,MAAM,CAAC,MAAkB;QACvB,IACE,MAAM,CAAC,UAAU;YACjB,MAAM,CAAC,YAAY;YACnB,MAAM,CAAC,eAAe;YACtB,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC;YAE1D,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;CACF,EACD,EAAE,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,CAChD,CAAC;AAEF,MAAM,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;IACrC,4FAA4F;IAC5F,mEAAmE;IACnE,aAAa,EAAE;QACb,eAAe,EAAE,+CAA+C;QAChE,cAAc,EAAE,UAAU;QAC1B,kBAAkB,EAAE,QAAQ;QAC5B,gBAAgB,EAAE,WAAW;QAC7B,gBAAgB,EAAE,aAAa;QAC/B,cAAc,EAAE,aAAa;KAC9B;IACD,4BAA4B,EAAE;QAC5B,KAAK,EAAE,wBAAwB;KAChC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,aAAa,GAAc,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type StateCommand } from '@codemirror/state';
|
|
2
|
+
import type { KeyBinding } from '@codemirror/view';
|
|
3
|
+
/** ⌘D — select the word under the caret, then add the next match of it, wrapping at the end. */
|
|
4
|
+
export declare const selectNextOccurrence: StateCommand;
|
|
5
|
+
/** ⇧⌘L — every match of the selection (or the word under the caret) selected at once. */
|
|
6
|
+
export declare const selectAllOccurrences: StateCommand;
|
|
7
|
+
export declare const occurrenceBindings: readonly KeyBinding[];
|
|
8
|
+
//# sourceMappingURL=occurrences.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"occurrences.d.ts","sourceRoot":"","sources":["../../../src/react/code-editor/occurrences.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0D,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC9G,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AA2BnD,gGAAgG;AAChG,eAAO,MAAM,oBAAoB,EAAE,YAsBlC,CAAC;AAEF,yFAAyF;AACzF,eAAO,MAAM,oBAAoB,EAAE,YASlC,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,SAAS,UAAU,EAGnD,CAAC"}
|