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 922
  • OS X 819
  • Linux 517
Jul 23 Jul 22 Jul 21 Jul 20 Jul 19 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
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 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 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 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
Linux 0 0 0 0 0 0 1 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

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?