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

Installs

  • Total 2K
  • Win 919
  • OS X 812
  • Linux 513
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 Mar 29 Mar 28 Mar 27 Mar 26 Mar 25 Mar 24 Mar 23 Mar 22 Mar 21 Mar 20 Mar 19 Mar 18 Mar 17 Mar 16 Mar 15 Mar 14 Mar 13 Mar 12
Windows 0 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 0 0 0 1 0 0 0 0 0 0 1 0 0 0
OS X 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 0 0 0 0 0 0 0 0 0 0
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 1 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?