К сожалению, ни 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 также может быть полезным.
Хотя я проголосовал за закрытие вашего вопроса, я думаю, вы можете попробовать Jetbrains Webstorm. – drinchev
Почему закрыты, это довольно важная функция для веб-редакторов кода? И да, я имею и использую WebStorm, но здесь нужно иметь веб-редактор с полным кодом (в идеале FOSS, например Ace или CodeMirror) –
Ну да, это важная функция, но в любом случае в соответствии с ссылкой на документацию ([ точно в точке 4] (http://stackoverflow.com/help/on-topic)] эта тема выходит из StackOverflow. Вы можете спросить на некоторых других сайтах stackexchange. – drinchev