coffeescript代码中不匹配的凹痕

Unmatched outdent in coffeescript code

本文关键字:不匹配 代码 coffeescript      更新时间:2023-09-26

我已经制作了这段coffeescript代码,但在编译过程中我得到了一个错误

错误:'callback newResults'附近的OUTDENT不匹配

$('#ticket_message_content').textcomplete([{
  match: /'B:(['-+'w]*)$/,
  search: (term, callback) ->
    results = []
    results2 = []
    results3 = []
    $.each(emojiStrategy, (shortname, data) ->
      if shortname.indexOf(term) > -1
        results.push(shortname)
      else
        if data.aliases isnt null && data.aliases.indexOf(term) > -1
          results2.push(shortname)
        else if data.keywords isnt null && data.keywords.indexOf(term) > -1
          results3.push(shortname)
    if term.length >= 3
      results.sort((a, b) ->
        return (a.length > b.length))
      results2.sort((a, b) ->
        return (a.length > b.length))
      results3.sort()
    newResults = results.concat(results2).concat(results3)
    callback newResults
  template: (shortname) ->
    return '<img class="emojione" src="//cdn.jsdelivr.net/emojione/assets/png/' + emojiStrategy[shortname].unicode + '.png"> :' + shortname + ':'
  replace: (shortname) ->
    return ':' + shortname + ': '
  index: 1,
  maxCount: 10
}], {
  footer: '<a href="http://www.emoji.codes" target="_blank">Browse All<span class="arrow">»</span></a>'
})

我理解错误,但我没有看到语法/缩进有任何问题。

我的第一个想法是在search函数之后没有逗号,但是当我删除所有search函数内容时,代码很好。

这就是我在coffeescript

中要做的
$('#ticket_message_content').textcomplete([{
    match: /'B:(['-+'w]*)$/,
    search: function(term, callback){},
    template: function (shortname) {},
    replace: function (shortname) {},
    index: 1,
    maxCount: 10
}]);

谢谢你的帮助

这行有一个左括号:

$.each(emojiStrategy, (shortname, data) ->

但是没有匹配的右括号。不匹配的缩进错误显示在最后一行,您可以在它导致语法错误之前关闭它。省略左括号或者在正确的位置将其关闭