On 19 Sep 2013, at 0:06, Stephen Bannasch wrote:

[…] I wanted a similar indentation behavior when pressing return after an open square brace followed by content as I get when I enter return after an open curly brace followed by content. […] How do I find the code that produces the indentation after entering return when my cursor is after an opening curly brace […]

By default, no bundle item is executed when you press return at random places. How much indent is inserted is estimated via the indent rules, this is explained here: http://manual.macromates.com/en/appendix#indentation_rules

So if you want only a change to indent, then it’s the indentation rules that should be changed.

If however you want more complex behavior, you can overload the key binding with a snippet or command.

For JavaScript, square brackets are assigned the “meta.brace.square.js” scope.

If we work with the grammar as-is, then we can make a snippet fire on return only when a square bracket is to the left of the caret by using a scope selector of:

    (L:meta.brace.square.js)

Here the scope selector targets the “left scope” via the (L:…) syntax, meaning the scope to the left of the caret. You can view the scope to the right of the caret by pressing ⌃⇧P (so move it one to the left to view the left scope).

But if your desire is simply to increase the indent, when pressing return after ‘[’, then it should be enough to edit the indent patterns (which already target squigly braces).
_______________________________________________
textmate-dev mailing list
textmate-dev@lists.macromates.com
http://lists.macromates.com/listinfo/textmate-dev

Reply via email to