2011-01-09 5 views
4

В TextMate 1.5.10 r1623, вы получаете маленькие стрелки, которые позволяют сложить метод блоков:Как включить блокировку блоков для комментариев Python в TextMate?

alt text

К сожалению, если у вас есть многострочный Python комментарий, он не признает, так вы не можете сбросить его:

def foo(): 
""" 
How do 
I fold 
these comments? 
""" 

print "bar" 

TextMate имеет это на своем сайте о том, как настроить сворачивание: http://manual.macromates.com/en/navigation_overview#customizing_foldings

... но я не опытный в достаточно, чтобы сделать что-нибудь аЬ регулярное выражение из него. TextMate использует regex API Oniguruma, и я использую Python.tmbundle по умолчанию, обновленный до последней версии с помощью GetBundles.

У кого-нибудь есть идеи, как это сделать? Заранее спасибо за вашу помощь! :)


Добавление по умолчанию foldingStartMarker и foldingStopMarker регулярные выражения значения для Python.tmbundle под языка Python в Bundle редактор:

foldingStartMarker = '^\s*(def|class)\s+([.a-zA-Z0-9_ <]+)\s*(\((.*)\))?\s*:|\{\s*$|\(\s*$|\[\s*$|^\s*"""(?=.)(?!.*""")'; 
foldingStopMarker = '^\s*$|^\s*\}|^\s*\]|^\s*\)|^\s*"""\s*$'; 
+0

Должно быть, это не вопрос определения foldingStartMarker и foldingStopMarker как '" "" | '' ''? – delnan

+0

@delnan, я думаю, что вы на правильном пути. Текущие значения регулярных выражений немного сложны (I добавили их к вопросу выше). –

ответ

1

Согласно this Textmate Mailing list thread, если вы будете следовать до конца, собственно сворачивания кода для Python не поддерживается. В принципе, регулярные выражения, реализованные в foldingStartMarker и foldingStopMarker, не позволяют захватывать, поэтому количество интервалов в начале «конечной складки» не может быть сопоставлено с «начальным сгибом».

Вопрос не окончательно и официально не адресован создателем Textmate, Allan Odgaard; однако, поскольку поток с 2005 года, я предполагаю, что это мертвая проблема, и не тот, который будет поддерживаться.

+0

Интересно. Это объясняет, почему, в пустых строках в комментариях он все равно разрешит сбой (он видит это как пробел и рассматривает его как обычный символ). –

2

Оказывается, что многострочный комментарий складывание делает работу в TextMate, но ваш должны выстраиваться ваши котировки точно так:

""" Some sort of multi 
    line comment, which needs quotes 
    in just the right places to work. """ 

это, кажется, сделать это:

enter image description here

enter image description here

+1

Это правильно, но вы не указали на тот важный факт, что для вашей строки 21 требуется вкладка, соответствующая строке 18, или она НЕ будет работать. –

 Смежные вопросы

  • Нет связанных вопросов^_^