diff --git a/client/homebrew/editor/editor.jsx b/client/homebrew/editor/editor.jsx index 61d330772..14038f740 100644 --- a/client/homebrew/editor/editor.jsx +++ b/client/homebrew/editor/editor.jsx @@ -108,7 +108,7 @@ const Editor = createClass({ const codeMirror = this.refs.codeEditor.codeMirror; //reset custom text styles - const customHighlights = codeMirror.getAllMarks().filter((mark)=>!mark.__isFold); + const customHighlights = codeMirror.getAllMarks().filter((mark)=>!mark.__isFold); //Don't undo code folding for (let i=0;i{ diff --git a/shared/naturalcrit/codeEditor/codeEditor.jsx b/shared/naturalcrit/codeEditor/codeEditor.jsx index 8f23d984c..5b61c7130 100644 --- a/shared/naturalcrit/codeEditor/codeEditor.jsx +++ b/shared/naturalcrit/codeEditor/codeEditor.jsx @@ -103,6 +103,7 @@ const CodeEditor = createClass({ }, foldGutter : true, foldOptions : { + scanUp : true, rangeFinder : CodeMirror.fold.homebrewery, widget : (from, to)=>{ let text = ''; @@ -110,13 +111,16 @@ const CodeEditor = createClass({ const maxLength = 50; while (currentLine <= to.line && text.length <= maxLength) { text += this.codeMirror.getLine(currentLine); - if(currentLine < to.line) { + if(currentLine < to.line) text += ' '; - } currentLine += 1; } - return `\u21A4${text.substr(0, maxLength)}\u21A6`; + text = text.trim(); + if(text.length > maxLength) + text = `${text.substr(0, maxLength)}...`; + + return `\u21A4 ${text} \u21A6`; } }, gutters : ['CodeMirror-linenumbers', 'CodeMirror-foldgutter'], diff --git a/shared/naturalcrit/codeEditor/codeEditor.less b/shared/naturalcrit/codeEditor/codeEditor.less index fa00ba750..4913ff3e5 100644 --- a/shared/naturalcrit/codeEditor/codeEditor.less +++ b/shared/naturalcrit/codeEditor/codeEditor.less @@ -6,6 +6,8 @@ .codeEditor{ .CodeMirror-foldmarker { font-family: inherit; + text-shadow: none; + font-weight: 600; } .cm-trailingspace { diff --git a/shared/naturalcrit/codeEditor/fold-code.js b/shared/naturalcrit/codeEditor/fold-code.js index f7e8b0901..e43fda8ec 100644 --- a/shared/naturalcrit/codeEditor/fold-code.js +++ b/shared/naturalcrit/codeEditor/fold-code.js @@ -9,12 +9,8 @@ module.exports = { let end = start.line, nextLine = cm.getLine(start.line + 1); while (end < lastLineNo) { - if(nextLine.match(matcher)) { - return { - from : CodeMirror.Pos(start.line, 0), - to : CodeMirror.Pos(end, cm.getLine(end).length) - }; - } + if(nextLine.match(matcher)) + break; ++end; nextLine = cm.getLine(end + 1); }