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