Как автоматически сделать отступ / отформатировать 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;

Можете ли вы помочь? Благодарю.

0 ответов

Другие вопросы по тегам