ctrl+shift+p filters: :st2 :st3 :win :osx :linux
Browse

Indent To Parenthesis

by rchl ST2/ST3

Sublime Text plugin for better auto-indenting of function arguments on breaking lines

Details

Installs

  • Total 759
  • Win 426
  • OS X 161
  • Linux 172
Jul 18 Jul 17 Jul 16 Jul 15 Jul 14 Jul 13 Jul 12 Jul 11 Jul 10 Jul 9 Jul 8 Jul 7 Jul 6 Jul 5 Jul 4 Jul 3 Jul 2 Jul 1 Jun 30 Jun 29 Jun 28 Jun 27 Jun 26 Jun 25 Jun 24 Jun 23 Jun 22 Jun 21 Jun 20 Jun 19 Jun 18 Jun 17 Jun 16 Jun 15 Jun 14 Jun 13 Jun 12 Jun 11 Jun 10 Jun 9 Jun 8 Jun 7 Jun 6 Jun 5 Jun 4 Jun 3
Windows 0 2 1 0 0 3 2 2 1 0 0 1 0 1 0 0 1 0 1 0 0 0 1 1 0 1 0 1 1 0 1 0 0 2 0 1 0 0 0 0 0 1 0 0 0 1
OS X 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 2 0 0 0
Linux 0 0 0 0 0 0 1 1 0 0 0 0 1 1 0 1 0 0 0 1 0 1 0 0 0 0 0 1 0 2 0 0 1 1 0 3 0 0 0 0 0 0 0 1 0 0

Readme

Source
raw.​githubusercontent.​com

Indent to parenthesis Sublime Text package

As I was dissatisfied with Sublime's indent_to_bracket option, I've created my own implementation that behaves in a smarter way.

The general idea is to indent arguments in a function call to the opening bracket so that:

function Foo(arg1,<enter>

aligns caret following way:

function Foo(arg1,
             |

Caveat: Currently this package only works when using spaces for indentation (translate_tabs_to_spaces setting is true). I don't code with tabs so I'm probably not gonna spend time to make it work with tabs. If you care, please submit a pull request.

Why is it better than built-in functionality?

For example, with code like this:

function(arg1, arg2) {}

when wanting to break the arguments into two lines (because line is too long, for example), one would put the caret after the comma and press enter.

Built-in functionality would break them incorrectly, leaving this result:

function(arg1,
 arg2) {}

while this package will align it correctly:

function(arg1,
         arg2) {}

Built-in functionality aligns code properly when placing cursor after the space (that follows the comma), but then it leaves trailing space on the line. This package handles both cases properly.