Skip to content

Commit 6a70dd0

Browse files
committed
fix: gutter area
1 parent 22b9d17 commit 6a70dd0

File tree

2 files changed

+13
-26
lines changed

2 files changed

+13
-26
lines changed

src/cm/baseExtensions.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import {
1414
drawSelection,
1515
dropCursor,
1616
highlightActiveLine,
17+
highlightActiveLineGutter,
1718
highlightSpecialChars,
1819
keymap,
1920
rectangularSelection,
@@ -25,8 +26,10 @@ import {
2526
*/
2627
export default function createBaseExtensions() {
2728
return [
29+
highlightActiveLineGutter(),
2830
highlightSpecialChars(),
2931
history(),
32+
foldGutter(),
3033
drawSelection(),
3134
dropCursor(),
3235
EditorState.allowMultipleSelections.of(true),
@@ -38,7 +41,6 @@ export default function createBaseExtensions() {
3841
crosshairCursor(),
3942
highlightActiveLine(),
4043
highlightSelectionMatches(),
41-
foldGutter(),
4244
keymap.of([...defaultKeymap, ...historyKeymap]),
4345
];
4446
}

src/lib/editorManager.js

Lines changed: 10 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -189,20 +189,6 @@ async function EditorManager($header, $body) {
189189
function makeLineNumberExtension() {
190190
const { linenumbers = true, relativeLineNumbers = false } =
191191
appSettings?.value || {};
192-
const baseTheme = EditorView.theme({
193-
".cm-gutters": {
194-
padding: "0 4px 0 0",
195-
borderRight: "none",
196-
backgroundColor: "transparent",
197-
},
198-
".cm-lineNumbers .cm-gutterElement": {
199-
padding: "0 6px 0 2px",
200-
},
201-
".cm-foldGutter .cm-gutterElement": {
202-
padding: "0 2px",
203-
margin: 0,
204-
},
205-
});
206192
if (!linenumbers)
207193
return EditorView.theme({
208194
".cm-gutter": {
@@ -213,8 +199,8 @@ async function EditorManager($header, $body) {
213199
},
214200
});
215201
if (!relativeLineNumbers)
216-
return [lineNumbers(), highlightActiveLineGutter(), baseTheme];
217-
return [
202+
return Prec.highest([lineNumbers(), highlightActiveLineGutter()]);
203+
return Prec.highest([
218204
lineNumbers({
219205
formatNumber: (lineNo, state) => {
220206
try {
@@ -227,8 +213,7 @@ async function EditorManager($header, $body) {
227213
},
228214
}),
229215
highlightActiveLineGutter(),
230-
baseTheme,
231-
];
216+
]);
232217
}
233218

234219
function makeIndentExtensions() {
@@ -243,6 +228,13 @@ async function EditorManager($header, $body) {
243228
// Centralised CodeMirror options registry for organized configuration
244229
// Each spec declares related settings keys, its compartment(s), and a builder returning extension(s)
245230
const cmOptionSpecs = [
231+
{
232+
keys: ["linenumbers", "relativeLineNumbers"],
233+
compartments: [lineNumberCompartment],
234+
build() {
235+
return makeLineNumberExtension();
236+
},
237+
},
246238
{
247239
keys: ["rainbowBrackets"],
248240
compartments: [rainbowCompartment],
@@ -274,13 +266,6 @@ async function EditorManager($header, $body) {
274266
return [indentExt, tabSizeExt];
275267
},
276268
},
277-
{
278-
keys: ["linenumbers", "relativeLineNumbers"],
279-
compartments: [lineNumberCompartment],
280-
build() {
281-
return makeLineNumberExtension();
282-
},
283-
},
284269
{
285270
keys: ["rtlText"],
286271
compartments: [rtlCompartment],

0 commit comments

Comments
 (0)