On Apr 16, 2013, at 19:38, Martin Batholdy batholdy@googlemail.com wrote:
Now I realized that by replacing the original start and stop markers, I lose the ability to fold function definition, which is more annoying than I anticipated. My problem now is that I don't know how to redefine the marker definitions and I am not able to revert the language definition.
You can always (temporarily) remove your customizations from ~/Library/Application Support/TextMate/Bundles
Can somebody help me by just sending the original foldingStartMarker / foldingStopMarker definition in the python language definition?
From https://github.com/textmate/python.tmbundle/blob/textmate-1.x/Syntaxes/Pytho...
<key>foldingStartMarker</key> <string>^\s*(def|class)\s+([.a-zA-Z0-9_ <]+)\s*(((.*)))?\s*:|{\s*$|(\s*$|[\s*$|^\s*"""(?=.)(?!.*""")</string> <key>foldingStopMarker</key> <string>^\s*$|^\s*}|^\s*]|^\s*)|^\s*"""\s*$</string>
You may want to clone the (1.x branch) of that bundle so that future changes are under version control.
How can I define more than one Start/Stop marker?
Use alternations, i.e.: foldingStartMarker = 'foo|bar'. This will fold on either ‘foo’ or ‘bar’.
You can enable extended mode for regular expressions to have whitespace ignored and comment support, which can be used to make them more readable.
Look e.g. at the HTML folding patterns.