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

Block Nav

by jmm ALL

Adds functionality to assist with navigating block structures in "braceless" languages like Ruby and Python where brace matching can not be used.

Details

  • 2012.02.22.08.33.57
  • github.​com
  • github.​com
  • 12 years ago
  • 1 hour ago
  • 12 years ago

Installs

  • Total 2K
  • Win 1K
  • Mac 877
  • Linux 552
May 30 May 29 May 28 May 27 May 26 May 25 May 24 May 23 May 22 May 21 May 20 May 19 May 18 May 17 May 16 May 15 May 14 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
Windows 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 0 0 0 0 0
Mac 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 0 0 0 0 0
Linux 0 0 0 1 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 0

Readme

Source
raw.​githubusercontent.​com

Block Nav plugin for Sublime Text 2.
Copyright 2012 Jesse McCarthy <http://jessemccarthy.net/>.

The Software may be used under the MIT (aka X11) license or Simplified
BSD (aka FreeBSD) license. See LICENSE

Adds functionality to assist with navigating block structures in
"braceless" languages like Ruby and Python where brace matching can
not be used.

Adds a command that can be called from key bindings to navigate to the
start / end of block structures such as classes, methods, functions,
and blocks.

The operation of the plugin is based on indentation, so it will only
work for well-indented code, that does not mix tabs and spaces.


USAGE:

See the keymap for bindings. It includes commands to navigate:

* Up and out (northwest), to find the beginning of the block
structure that the current line is nested in.

* Up (north), for example to find the beginning of IF / ELSEIF blocks
that correspond to ELSEIF / ELSE blocks. Or, when on a line of Ruby
code containing an 'end' keyword for something like a method, to find
the line where it started. When on the 'end' line for something like
and IF expression with ELSIF / ELSE clauses, will navigate to start
lines for intervening ELSIF / ELSE clauses on the way to the start
line for the IF expression.

* Down (south), for example to find the beginning of ELSEIF / ELSE
blocks that correspeond to IF / ELSEIF blocks.

* Down and in (southeast), to find the end of the block structure that
begins on the current line.


Does not currently do anything when the cursor is on a line that
contains only whitespace. Start with the cursor on a line that
contains non-whitespace and that is nested within the block you want
to find the start of.

With the currently included key bindings it's unfortunately easy to
accidentally screw up the key combo and accidentally invoke the
built-in key binding to shift the current line up / down, so be
careful.


TO DO:

* Figure out better key bindings?

* Handle starting on a line containing only whitespace?