From 5671728c9736be3fd9ed1a596b683ce7615b5a4f Mon Sep 17 00:00:00 2001 From: Trevor Buckner Date: Mon, 26 Aug 2024 17:23:44 -0400 Subject: [PATCH] Change filter to some `some` stops once it finds a true case; `filter` has to process the whole list of folds first. --- client/homebrew/editor/editor.jsx | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/client/homebrew/editor/editor.jsx b/client/homebrew/editor/editor.jsx index bfe438f79..faa2f9827 100644 --- a/client/homebrew/editor/editor.jsx +++ b/client/homebrew/editor/editor.jsx @@ -160,11 +160,8 @@ const Editor = createClass({ // Don't process lines inside folded text // If the current lineNumber is inside any folded marks, skip line styling - if(_.filter(foldLines, (fold)=>{ - return lineNumber >= fold.from && lineNumber <= fold.to; - }).length > 0) { + if (foldLines.some(fold => lineNumber >= fold.from && lineNumber <= fold.to)) return; - }; // Styling for \page breaks if((this.props.renderer == 'legacy' && line.includes('\\page')) || @@ -278,7 +275,7 @@ const Editor = createClass({ // Iterate over conflicting marks and clear them var marks = codeMirror.findMarks(startPos, endPos); marks.forEach(function(marker) { - marker.clear(); + if(!marker.__isFold) marker.clear(); }); codeMirror.markText(startPos, endPos, { className: 'emoji' }); }