То, как TextMate "анализирует" текущий "контекст" - в выражении Javascript - является ошибочным.Я люблю редактор ... но я НЕНАВИЖУ, что мне нужно быть таким бдительным в ручном режиме в моем ежедневном сопоставлении скобок.
См. Ниже - aсценарий, в котором Textmate неправильно «видит» скобки в закомментированных строках и «сопоставляет их» с незакомментированным кодом!
Вот код, если у вас отключены изображения, или вы используете Lynx, или что-то сумасшедшее, вроде этого ..
$('.parishilton').live( 'fartOn', function() {
sexy = $('#thatshot').fadeOut('fast');
/** $('shouldnt').matchThis(function(){ */
// $('or').thisOneEither(function(){
}); // Textmate thinks I should be here!
}); // Me too!
}); // ONLY this one should "match".
Этостановится очевидным при использовании встроенных ⬆ +
⌘ +
B для выделения текущего объема, а также при прохождении через них с помощьюточка вставки - которая «выталкивает» некорректно (закомментированные) скобки.(Невозможно сделать снимок экрана, извините)
Xcode лучше справляется с сопоставлением контекста и распознает синтаксис ... но я могу сказать - он тоже с этим борется.(Это проявляется в сложном сворачивании и т. Д. С такими структурами.) По крайней мере, Xcode знает, что это НЕПРАВИЛЬНО ... где as ™ позволит вам продолжать и продолжать ... Думать, что все хорошо ... Даже если ваши скобки серьезно f*%#@*d
.
Сложно ли Javascript для синтаксических анализаторов «точно знать», что происходит?Есть ли "лучший" синтаксис для комментариев, которые я мог бы использовать?В приведенном выше примере я пробовал как нотацию в стиле C /** comment */
, так и нотации // comment
, но, похоже, оба имеют одинаковые недостатки?
Или это просто случай плохой реализации вTextMate?Если так, есть ли plist
или что-то, с чем я могу покончить, чтобы попытаться улучшить положение дел?