Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Codemirror - minimum lines number

Anbody does have an solution for a min lines number - in Codemirror?

min-height worked for me but do not insert empty lines for the height.

JS

var editor = CodeMirror.fromTextArea(document.getElementById("code"), {
    lineNumbers: true,
    gutter: true,
    lineWrapping: true
});

CSS

.CodeMirror-scroll {
  overflow: auto;
  height: auto; overflow: visible;
  position: relative;
  outline: none;
  min-height: 300px; /* the minimum height */
}

Maybe there is a simple solution to insert empty lines for that ?

like image 227
e382df99a7950919789725ceeec126 Avatar asked Jan 16 '23 19:01

e382df99a7950919789725ceeec126


2 Answers

remove the min-height: 300px; and initialize the editor with new lines as the starting value:

var minLines = 3;
var startingValue = '';
for (var i = 0; i < minLines; i++) {
    startingValue += '\n';
}

var editor = CodeMirror.fromTextArea(document.getElementById("code"), {
    lineNumbers: true,
    gutter: true,
    lineWrapping: true,
    value: startingValue
});

currently, CodeMirror's value option does not seem to have an affect for up to version 2.21. this can be easily bypassed by using setValue() after initialization:

///...
// initialize as before, omitting the value option

editor.setValue(startingValue);

note: make sure not to set autoClearEmptyLines: true as it will clash and cancel out the inserted empty lines.

like image 145
Eliran Malka Avatar answered Jan 25 '23 16:01

Eliran Malka


so guys I got the solution. on any reason the editor does not get the value from the configuration options so i set the value after it. @Eliran thanks, i used your method to set the value.

editor.setValue(startingValue);

DEMO

http://jsfiddle.net/vujLv/1/

like image 38
e382df99a7950919789725ceeec126 Avatar answered Jan 25 '23 14:01

e382df99a7950919789725ceeec126