Support Editorconfig on web editor

This commit is contained in:
Andrey Nering 2016-08-30 20:18:40 -03:00
parent 47a3243ff1
commit 9ac46fb983
7 changed files with 53 additions and 3 deletions

View file

@ -850,6 +850,34 @@ function initEditor() {
else {
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');
}