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

Alternative​Autocompletion

Fuzzy word completion, based on the contents of the current file.

Details

  • 2.1.7
  • github.​com
  • 5 months ago
  • 1 hour ago
  • 8 years ago

Installs

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

Readme

Source
raw.​githubusercontent.​com

Alternative autocompletion

This plugin adds an autocompletion command to Sublime Text that acts similarly to TextMate:

  • Hitting the autocomplete key will attempt to complete the current word by looking at similar words in the current document.
  • Hitting the autocomplete key multiple times will cycle through the available words.
  • The last autocomplete position is remembered, so you can perform an autocompletion, move the cursor around, move back to where you were, and continue cycling through the completions.
  • Candidate completions are selected prioritized by distance to the cursor.

The plugin improves on TextMate in one respect: If no candidates are found, the plugin reverts to using a simple fuzzy, case-sensitive matching algorithm that is similar to Sublime's file/class matching algorithm. For example, typing AppC might match ApplicationController.

Installation

Using Package Control, install “AlternativeAutocompletion” or clone this repo in your packages folder.

I recommended you add key bindings for the commands. I've included my preferred bindings below. Copy them to your key bindings file (⌘⇧,).

Key Bindings

Copy these to your user key bindings file.

{ "keys": ["escape"], "command": "alternative_autocomplete", "context":
  [
    { "key": "num_selections", "operator": "equal", "operand": 1 },
    { "key": "panel_visible", "operator": "equal", "operand": false },
    { "key": "overlay_visible", "operator": "equal", "operand": false },
    { "key": "has_prev_field", "operator": "equal", "operand": false },
    { "key": "has_next_field", "operator": "equal", "operand": false }
  ]
},
{ "keys": ["shift+escape"], "command": "alternative_autocomplete", "args": {"cycle": "previous"}, "context":
  [
    { "key": "num_selections", "operator": "equal", "operand": 1 },
    { "key": "overlay_visible", "operator": "equal", "operand": false },
    { "key": "panel_visible", "operator": "equal", "operand": false },
    { "key": "has_prev_field", "operator": "equal", "operand": false },
    { "key": "has_next_field", "operator": "equal", "operand": false }
  ]
},
{ "keys": ["tab"], "command": "alternative_autocomplete", "args": {"tab": true}, "context":
  [
    { "key": "num_selections", "operator": "equal", "operand": 1 }
  ]
},
{ "keys": ["tab"], "command": "next_field", "context":
  [
    { "key": "has_next_field", "operator": "equal", "operand": true }
  ]
},
{ "keys": ["shift+tab"], "command": "alternative_autocomplete", "args": {"tab" : true, "cycle": "previous"}, "context":
  [
    { "key": "num_selections", "operator": "equal", "operand": 1 }
  ]
},
{ "keys": ["shift+tab"], "command": "prev_field", "context":
  [
    { "key": "has_prev_field", "operator": "equal", "operand": true }
  ]
},

Limitations

Currently does not work with multiple selections.

License

Copyright 2011 Alexander Staubo. MIT license. See LICENSE file for license. Modified by Colin Gray