在TextMate 1.5.10 r1623中,您可以获得允许折叠方法块的小箭头:
不幸的是,如果你有一个多行的Python评论,它不会识别它,所以你不能折叠它:
def foo():
"""
How do
I fold
these comments?
"""
print "bar"
TextMate在其网站上有关于如何自定义折叠的信息:http://manual.macromates.com/en/navigation_overview#customizing_foldings
...但我对正则表达式的熟练程度不足以对此做任何事情。 TextMate使用Oniguruma正则表达式API,我使用默认的Python.tmbundle通过GetBundles更新到最新版本。
有没有人知道如何做到这一点?在此先感谢您的帮助! :)
在Bundle Editor的Python语言下为Python.tmbundle添加默认的foldingStartMarker
和foldingStopMarker
正则表达式值:
foldingStartMarker = '^\s*(def|class)\s+([.a-zA-Z0-9_ <]+)\s*(\((.*)\))?\s*:|\{\s*$|\(\s*$|\[\s*$|^\s*"""(?=.)(?!.*""")';
foldingStopMarker = '^\s*$|^\s*\}|^\s*\]|^\s*\)|^\s*"""\s*$';
答案 0 :(得分:2)
看起来多行注释折叠在TextMate中有效,但您必须完全按照这样的方式排列引号:
""" Some sort of multi
line comment, which needs quotes
in just the right places to work. """
这似乎是这样做的:
答案 1 :(得分:1)
根据this Textmate Mailing list thread,如果你遵循它到最后,不支持适当的Python代码折叠。基本上,在foldingStartMarker和foldingStopMarker中实现的正则表达式不允许捕获,因此“结束折叠”开头的间距量不能与“开始折叠”匹配。
Textmate的创作者Allan Odgaard最终没有正式解决这个问题。但是由于线程来自2005年,我认为它是一个死的问题,而不是一个将被支持的问题。