[TxMt] Start/end tag from previous word (ctr+cmd+space)
Allan Odgaard
allan at macromates.com
Sun Sep 25 18:31:24 UTC 2005
On 25/09/2005, at 11.39, Andreas Wahlin wrote:
> [...] but when I do the same on a h1 tag, the result becomes
> <h1>
> |</h1>
This isn't the macro. The macro is just a regexp replace on the
current word to <$1></$1>, though catching those tags w/o closing tag
and using a condition in the replace string -- Michael Sheets has
flirted with the thought of looking up the tag name and insert a
customized snippet instead.
As for the extra indent and newline, this is done by having the HTML
language grammar match a select set of open/close tag pairs (those
which were part of the increase indent pattern) -- the rule is
meta.tag.html, and it should be quite easy to add more tag names (or
even make it a catch-all instead).
The rule assigns a special scope to the position between the two tags
(meta.scope.between-tag-pair.html) and then the “Smart return/indent
for tag pairs” snippet is set to insert the extra indent + newline,
assigned return as key equivalent, and have the scope set to
“meta.scope.between-tag-pair.html”.
So that's how this smart newline + indent is achieved for <tag></tag>
pairs.
More information about the textmate
mailing list