Here, first atempt to create command to set surrounding folding markers. Thanks to Markdown bundle dev ;)
HTH
Alexey
P.S.
Command code (not sure about attachment)
--------------------------------------------------
#!/usr/bin/env ruby
# just to remind you of some useful environment variables
# see Help / Environment Variables for the full list
$: << ENV['TM_SUPPORT_PATH'] + '/lib'
require 'escape'
s = STDIN.read
if s.empty? then
print "# fold comment here # {{{\n\n# }}}"
elsif ENV.has_key? 'TM_SELECTED_TEXT'
print "# ${1:fold comment here} # {{{\n#{e_sn s}\n# }}}\n"
else
print "# hmm... not sure what is this... # {{{\n#{e_sn s}\n# }}}\n"
end
--------------------------------------------------
Input: Selected text or Line
Output: Insert as Snippet
On Dec 11, 2007 1:28 PM, Allan Odgaard <throw-away-2@macromates.com> wrote:Thanks you for link.On 11 Dec 2007, at 09:38, Alexey Blinov wrote:
> [...] new folding rule to fold code based on that pair of markers
> #{{{
> def test
> ...
> #}}}
> [...] I can't do it myself yet but i hope someone will...
Have a look at http://macromates.com/textmate/manual/navigation_overview#customizing_foldings
-- I wanted to say that if you can code Python, I am sure you can
add the proper patterns, but then I remembered that Python lack
regexps as first class citizens ;)
So if anyone like an idea here what i do (im on the way to create some snippet to make fold-marking easier...)
#Python lang dict - change current folding regexp to
# this one catch only next combo (w/o variants)
# # some fold description # {{{
# ...
# # }}}
foldingStartMarker = '^#\s[\w\s]*(#\s{{{)$';
foldingStopMarker = '^#\s}}}$';
and it folds nice, leaving `# some fold description # {{{` visible so you can read your comment for that fold (i'd like to hide `# {{{` but can't found how yet...)
P.S. Still WIP and i'd like to hear some nice ideas ;)