|
@@ -850,6 +850,34 @@ function initEditor() {
|
|
else {
|
|
else {
|
|
codeMirrorEditor.setOption("lineWrapping", false);
|
|
codeMirrorEditor.setOption("lineWrapping", false);
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ // get the filename without any folder
|
|
|
|
+ var value = $editFilename.val();
|
|
|
|
+ if (value.length === 0) {
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ value = value.split('/');
|
|
|
|
+ value = value[value.length - 1];
|
|
|
|
+
|
|
|
|
+ $.getJSON($editFilename.data('ec-url-prefix')+value, function(editorconfig) {
|
|
|
|
+ if (editorconfig.indent_style === 'tab') {
|
|
|
|
+ codeMirrorEditor.setOption("indentWithTabs", true);
|
|
|
|
+ codeMirrorEditor.setOption('extraKeys', {});
|
|
|
|
+ } else {
|
|
|
|
+ codeMirrorEditor.setOption("indentWithTabs", false);
|
|
|
|
+ // required because CodeMirror doesn't seems to use spaces correctly for {"indentWithTabs": false}:
|
|
|
|
+ // - https://github.com/codemirror/CodeMirror/issues/988
|
|
|
|
+ // - https://codemirror.net/doc/manual.html#keymaps
|
|
|
|
+ codeMirrorEditor.setOption('extraKeys', {
|
|
|
|
+ Tab: function(cm) {
|
|
|
|
+ var spaces = Array(parseInt(cm.getOption("indentUnit")) + 1).join(" ");
|
|
|
|
+ cm.replaceSelection(spaces);
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ codeMirrorEditor.setOption("indentUnit", editorconfig.indent_size || 4);
|
|
|
|
+ codeMirrorEditor.setOption("tabSize", editorconfig.tab_width || 4);
|
|
|
|
+ });
|
|
}).trigger('keyup');
|
|
}).trigger('keyup');
|
|
}
|
|
}
|
|
|
|
|