From c0b3a1940f77559c581800ac7f2cc25d993dcf9f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Losada=20Hern=C3=A1ndez?= Date: Fri, 27 Mar 2026 12:16:27 +0100 Subject: [PATCH] final fixes --- client/components/codeEditor/codeEditor.jsx | 6 ++++-- client/components/codeEditor/customHighlight.js | 8 +------- client/components/codeEditor/customKeyMap.js | 1 + client/components/codeEditor/legacyCustomHighlight.js | 6 ------ client/homebrew/editor/editor.jsx | 3 +-- 5 files changed, 7 insertions(+), 17 deletions(-) diff --git a/client/components/codeEditor/codeEditor.jsx b/client/components/codeEditor/codeEditor.jsx index 4ebe2c7ee..899edb673 100644 --- a/client/components/codeEditor/codeEditor.jsx +++ b/client/components/codeEditor/codeEditor.jsx @@ -1,3 +1,4 @@ +/* eslint max-lines: ["error", { "max": 400 }] */ import './codeEditor.less'; import React, { useEffect, useRef, forwardRef, useImperativeHandle } from 'react'; @@ -19,7 +20,7 @@ import { languages } from '@codemirror/language-data'; import { css } from '@codemirror/lang-css'; import { markdown, markdownLanguage } from '@codemirror/lang-markdown'; import { autocompleteEmoji } from './autocompleteEmoji.js'; -import { searchKeymap, highlightSelectionMatches, search, openSearchPanel } from '@codemirror/search'; +import { searchKeymap, search } from '@codemirror/search'; import * as themes from '@uiw/codemirror-themes-all'; const themeCompartment = new Compartment(); @@ -32,7 +33,7 @@ import { legacyCustomHighlightStyle, legacyTokenizeCustomMarkdown } from './lega const createHighlightPlugin = (renderer, tab)=>{ const tokenize = renderer === 'V3' ? tokenizeCustomMarkdown : legacyTokenizeCustomMarkdown; - + /* eslint-disable no-restricted-syntax */ class countWidget extends WidgetType { constructor(count) { super(); @@ -47,6 +48,7 @@ const createHighlightPlugin = (renderer, tab)=>{ } ignoreEvent() { return true; } } + /* eslint-enable no-restricted-syntax */ return ViewPlugin.fromClass( class { diff --git a/client/components/codeEditor/customHighlight.js b/client/components/codeEditor/customHighlight.js index 88a219b30..5ad5d10d5 100644 --- a/client/components/codeEditor/customHighlight.js +++ b/client/components/codeEditor/customHighlight.js @@ -15,17 +15,13 @@ const customTags = { definitionList : 'definitionList', // .cm-definitionList definitionTerm : 'definitionTerm', // .cm-definitionTerm definitionDesc : 'definitionDesc', // .cm-definitionDesc - definitionColon : 'definitionColon',// .cm-definitionColon + definitionColon : 'definitionColon', // .cm-definitionColon }; export function tokenizeCustomMarkdown(text) { const tokens = []; const lines = text.split('\n'); - // Track multi-line blocks - const inBlock = false; - const blockStart = 0; - lines.forEach((lineText, lineNumber)=>{ // --- Page / snippet lines --- if(/^(?=\\page(?:break)?(?: *{[^\n{}]*})?$)/m.test(lineText)) tokens.push({ line: lineNumber, type: customTags.pageLine }); @@ -92,7 +88,6 @@ export function tokenizeCustomMarkdown(text) { if(match) { const [full, term, colons, desc] = match; let offset = 0; - // Entire line as definitionList tokens.push({ line : lineNumber, @@ -131,7 +126,6 @@ export function tokenizeCustomMarkdown(text) { // multiline def list if(!/^::/.test(lines[lineNumber]) && lineNumber + 1 < lines.length && /^::/.test(lines[lineNumber + 1])) { - const term = lineText; const startLine = lineNumber; const defs = []; let endLine = startLine; diff --git a/client/components/codeEditor/customKeyMap.js b/client/components/codeEditor/customKeyMap.js index 93760d7d0..8fa1d7792 100644 --- a/client/components/codeEditor/customKeyMap.js +++ b/client/components/codeEditor/customKeyMap.js @@ -1,3 +1,4 @@ +/* eslint max-lines: ["error", { "max": 300 }] */ import { keymap } from '@codemirror/view'; import { undo, redo } from '@codemirror/commands'; diff --git a/client/components/codeEditor/legacyCustomHighlight.js b/client/components/codeEditor/legacyCustomHighlight.js index 2777b3102..e011e15f5 100644 --- a/client/components/codeEditor/legacyCustomHighlight.js +++ b/client/components/codeEditor/legacyCustomHighlight.js @@ -1,7 +1,6 @@ import { HighlightStyle } from '@codemirror/language'; import { tags } from '@lezer/highlight'; -// Making the tokens const customTags = { pageLine : 'pageLine', // .cm-pageLine snippetLine : 'snippetLine', // .cm-snippetLine @@ -11,10 +10,6 @@ export function legacyTokenizeCustomMarkdown(text) { const tokens = []; const lines = text.split('\n'); - // Track multi-line blocks - const inBlock = false; - const blockStart = 0; - lines.forEach((lineText, lineNumber)=>{ // --- Page / snippet lines --- if(/^(?=\\page(?:break)?(?: *{[^\n{}]*})?$)/m.test(lineText)) tokens.push({ line: lineNumber, type: customTags.pageLine }); @@ -31,4 +26,3 @@ export const legacyCustomHighlightStyle = HighlightStyle.define([ { tag: customTags.snippetLine, class: 'cm-snippetLine', color: '#0af' }, ]); - diff --git a/client/homebrew/editor/editor.jsx b/client/homebrew/editor/editor.jsx index f52153438..17b30b6ce 100644 --- a/client/homebrew/editor/editor.jsx +++ b/client/homebrew/editor/editor.jsx @@ -4,7 +4,6 @@ import React from 'react'; import createReactClass from 'create-react-class'; import _ from 'lodash'; import dedent from 'dedent'; -import Markdown from '@shared/markdown.js'; import CodeEditor from '../../components/codeEditor/codeEditor.jsx'; import SnippetBar from './snippetbar/snippetbar.jsx'; @@ -13,7 +12,7 @@ import MetadataEditor from './metadataEditor/metadataEditor.jsx'; const EDITOR_THEME_KEY = 'HB_editor_theme'; const PAGEBREAK_REGEX_V3 = /^(?=\\page(?:break)?(?: *{[^\n{}]*})?$)/m; -const SNIPPETBREAK_REGEX_V3 = /^\\snippet\ .*$/; +//const SNIPPETBREAK_REGEX_V3 = /^\\snippet\ .*$/; const DEFAULT_STYLE_TEXT = dedent` /*=======--- Example CSS styling ---=======*/ /* Any CSS here will apply to your document! */