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

Block Nav

by jmm ST2/ST3

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
  • 8 years ago
  • 2 hours ago
  • 8 years ago

Installs

  • Total 2K
  • Win 931
  • OS X 826
  • Linux 521
Dec 6 Dec 5 Dec 4 Dec 3 Dec 2 Dec 1 Nov 30 Nov 29 Nov 28 Nov 27 Nov 26 Nov 25 Nov 24 Nov 23 Nov 22 Nov 21 Nov 20 Nov 19 Nov 18 Nov 17 Nov 16 Nov 15 Nov 14 Nov 13 Nov 12 Nov 11 Nov 10 Nov 9 Nov 8 Nov 7 Nov 6 Nov 5 Nov 4 Nov 3 Nov 2 Nov 1 Oct 31 Oct 30 Oct 29 Oct 28 Oct 27 Oct 26 Oct 25 Oct 24 Oct 23
Windows 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0
OS X 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 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
Linux 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 0 1 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?