in gr-editor/gr-editor.js [189:223]
getCodeMirrorParams(type, value, prefs) {
const params = {value};
params.scrollbarStyle = 'overlay';
if (prefs) {
// TODO: Add gerrit's customizations from java codemirror to javascript
// gerrit-gwtui/src/main/java/net/codemirror/lib/Extras.java
params.autoCloseBrackets = prefs.auto_close_brackets;
params.cursorHeight = 0.85;
params.indentUnit = prefs.indent_unit;
params.indentWithTabs = prefs.indent_with_tabs;
// TODO(kaspern): Add support for keymaps.
// params.keyMap = prefs.key_map_type.toLowerCase();
params.lineNumbers = true;
params.lineWrapping = prefs.line_wrapping;
params.matchBrackets = prefs.match_brackets;
// TODO: Add support for a new commit msg MIME type
// Support for this is somewhere in gerrit's codebase
// needs backporting to javascript
params.mode = prefs.syntax_highlighting ? this._mapFileType(type) : '';
params.showTabs = prefs.show_tabs;
params.showTrailingSpace = prefs.show_whitespace_errors;
params.tabSize = prefs.tab_size;
// TODO(kaspern): Add support for themes.
// params.theme = prefs.theme.toLowerCase();
params.rulers = [{column: prefs.line_length}];
if (value && value.includes('\r\n')) {
params.lineSeparator = '\r\n';
}
}
return params;
}