如何使用ACE或CodeMirror自动缩进/格式化groovy脚本

时间:2014-03-30 21:14:57

标签: groovy codemirror ace-editor auto-indent autoformatting

我正在开发一个需要嵌入式groovy脚本编辑器的Web应用程序,我尝试使用CodeMirror和ACE,但既不提供自动缩进也不提供格式化。

我从数据库中获取脚本代码,然后将其放在名为 myScript 的javascript变量上; 然后使用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 = row [1]; }; def calculatedRank = 0; def reviewResult = message.properties [' reviews']; for(reviewResult中的行){if(reputationMapping [row [0]]!= null){def reputation = reputationMapping [row [0]]; computedRank = calculatedRank +(信誉* row [1]); }; }; message.payload = calculatedRank;

你能帮帮忙吗?感谢。

0 个答案:

没有答案