Как автоматически сделать отступ / отформатировать Groovy скрипт с помощью ACE или CodeMirror
Я занимаюсь разработкой веб-приложения, которому нужен встроенный редактор скриптов Groovy, я пробовал и с CodeMirror, и с ACE, но не предлагает ни авто-отступа, ни форматирования.
Я извлекаю код сценария из базы данных, а затем помещаю его в переменную javascript, которая называется myScript; Затем с помощью ACE я делаю это:
var editor = ace.edit("editor");
editor.setTheme("ace/theme/monokai");
editor.getSession().setMode("ace/mode/groovy");
editor.getSession().setUseWrapMode(true);
editor.setShowPrintMargin(false);
editor.setValue(myScript);
и я делаю это так с CodeMirror:
var myCodeMirror = CodeMirror(document.body, {
value: myScript,
mode: "groovy",
theme: "monokai",
lineWrapping: true,
lineNumbers: true
});
и редактор работает отлично, проблема в том, что код, который он показывает, не имеет отступа и не отформатирован, и это довольно уродливо. Например:
def reputationMapping = []; def totalReputation = 0; def userReputationResult = message.properties ['репутация']; for (строка в userReputationResult) { reputationMapping[row[0]] = row[1]; totalReputation = строка [1]; }; def computedRank = 0; def reviewResult = message.properties['reviews']; for (строка в reviewResult) { if (reputationMapping[row[0]]!= null) { def reputation = reputationMapping[row[0]]; computedRank = computedRank + (репутация * строка [1]); }; }; message.payload = computedRank;
Можете ли вы помочь? Благодарю.