68 lines
1.9 KiB
JavaScript
Vendored
68 lines
1.9 KiB
JavaScript
Vendored
var instantiateCodeMirror = function(CmMode, config) {
|
|
|
|
// if no code highlight needed, we apply default settings
|
|
if (!config.edit.codeHighlight) {
|
|
|
|
currentmode = 'default';
|
|
|
|
// we highlight code according to extension file
|
|
} else {
|
|
|
|
if (CmMode === 'txt') {
|
|
var currentmode = 'default';
|
|
}
|
|
if (CmMode === 'js') {
|
|
loadJS('./scripts/CodeMirror/mode/javascript/javascript.js');
|
|
var currentmode = 'javascript';
|
|
}
|
|
if (CmMode === 'css') {
|
|
loadJS('./scripts/CodeMirror/mode/css/css.js');
|
|
var currentmode = 'css';
|
|
}
|
|
if (CmMode === 'html') {
|
|
loadJS('./scripts/CodeMirror/mode/xml/xml.js');
|
|
var currentmode = 'text/html';
|
|
}
|
|
if (CmMode === 'xml') {
|
|
loadJS('./scripts/CodeMirror/mode/xml/xml.js');
|
|
var currentmode = 'application/xml';
|
|
}
|
|
if (CmMode === 'php') {
|
|
loadJS('./scripts/CodeMirror/mode/htmlmixed/htmlmixed.js');
|
|
loadJS('./scripts/CodeMirror/mode/xml/xml.js');
|
|
loadJS('./scripts/CodeMirror/mode/javascript/javascript.js');
|
|
loadJS('./scripts/CodeMirror/mode/css/css.js');
|
|
loadJS('./scripts/CodeMirror/mode/clike/clike.js');
|
|
loadJS('./scripts/CodeMirror/mode/php/php.js');
|
|
var currentmode = 'application/x-httpd-php';
|
|
}
|
|
if (CmMode === 'sql') {
|
|
loadJS('./scripts/CodeMirror/mode/sql/sql.js');
|
|
var currentmode = 'text/x-mysql';
|
|
}
|
|
|
|
}
|
|
|
|
var editor = CodeMirror.fromTextArea(document.getElementById("edit-content"), {
|
|
styleActiveLine : true,
|
|
viewportMargin : Infinity,
|
|
lineNumbers : config.edit.lineNumbers,
|
|
lineWrapping : config.edit.lineWrapping,
|
|
theme : config.edit.theme,
|
|
extraKeys: {
|
|
"F11": function(cm) {
|
|
cm.setOption("fullScreen", !cm.getOption("fullScreen"));
|
|
},
|
|
"Esc": function(cm) {
|
|
if (cm.getOption("fullScreen")) cm.setOption("fullScreen", false);
|
|
}
|
|
}
|
|
});
|
|
|
|
// we finnaly set option
|
|
editor.setOption("mode", currentmode);
|
|
//console.log('CodeMirror mode : ' + editor.getOption("mode"));
|
|
|
|
return editor;
|
|
}
|