2014-12-13 2 views
0

Есть ли в сети код API/IDE для сценария кофе?Код CoffeeScript для веб-IDE

Ace Editor и CodeMirror имеют хорошую подсветку синтаксиса и поддержку синтаксис ворса на основе, и то, что я хотел бы добавить в моем приложении (Node-WebKit-REPL) является код полной поддержки

+0

Хотя я проголосовал за закрытие вашего вопроса, я думаю, вы можете попробовать Jetbrains Webstorm. – drinchev

+0

Почему закрыты, это довольно важная функция для веб-редакторов кода? И да, я имею и использую WebStorm, но здесь нужно иметь веб-редактор с полным кодом (в идеале FOSS, например Ace или CodeMirror) –

+0

Ну да, это важная функция, но в любом случае в соответствии с ссылкой на документацию ([ точно в точке 4] (http://stackoverflow.com/help/on-topic)] эта тема выходит из StackOverflow. Вы можете спросить на некоторых других сайтах stackexchange. – drinchev

ответ

1

К сожалению, ни CodeMirror, ни Ace есть autocompleters специально для coffeescript, но они оба имеют api для добавления дополнения.

вот простой пример, чтобы показать, как это сделать для аса

var lang = require("ace/lib/lang") 
 
var languageTools = require("ace/ext/language_tools") 
 
editor = ace.edit("editor") 
 
editor.setOptions({ 
 
    enableBasicAutocompletion: true, 
 
    enableLiveAutocompletion: true, // this does not work very well atm 
 
    mode: "ace/mode/coffee" 
 
}) 
 
var evalCompleter = { 
 
    getCompletions: function(editor, session, pos, prefix, callback) {   
 
    var completions = []; 
 
    var props = Object.keys(window); 
 
    props.forEach(function(key){  
 
     completions.push({ 
 
     value: key,   
 
     meta: 'window', 
 
     type: 'eval', 
 
     score: 1000 
 
     }); 
 
    }) 
 
    callback(null, completions) 
 
    }, 
 
    getDocTooltip: function(item) { 
 
    if (item.type == 'eval' && !item.docHTML) { 
 
     var o = window[item.value] 
 
     var type = typeof o 
 
     item.docHTML = "<b>" + type + "</b><br>" 
 
     + lang.escapeHTML(o + ""); 
 
    } 
 
    } 
 
} 
 
editor.completers = [evalCompleter, languageTools.keyWordCompleter, 
 
    languageTools.snippetCompleter, languageTools.textCompleter 
 
];

, конечно, в реальном приложении вам потребуется какой-то парсер, чтобы получить выражение перед. для оценки

http://sevin7676.github.io/Ace.Tern/demo.html также может быть полезным.

+0

thx, это выглядит пром ising, я дам ему попробовать –

+0

Для справки здесь проблема GitHub, которая отслеживает этот https://github.com/o2platform/nwr/issues/29 –