Files
faveo/public/filemanager/scripts/CodeMirror/dynamic-mode.js
Bhanu Slathia c710c20b9e Update v1.0.6
2016-02-16 23:22:09 +05:30

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;
}