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

Indent To Parenthesis

by rchl ALL

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

Details

Installs

  • Total 2K
  • Win 1K
  • Mac 406
  • Linux 397
May 13 May 12 May 11 May 10 May 9 May 8 May 7 May 6 May 5 May 4 May 3 May 2 May 1 Apr 30 Apr 29 Apr 28 Apr 27 Apr 26 Apr 25 Apr 24 Apr 23 Apr 22 Apr 21 Apr 20 Apr 19 Apr 18 Apr 17 Apr 16 Apr 15 Apr 14 Apr 13 Apr 12 Apr 11 Apr 10 Apr 9 Apr 8 Apr 7 Apr 6 Apr 5 Apr 4 Apr 3 Apr 2 Apr 1 Mar 31 Mar 30
Windows 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0
Mac 0 0 0 0 0 0 0 0 0 0 1 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 0 0 0 0 0 0 1
Linux 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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

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.