A binding for Sublime Text to the Rust auto completion tool by Phil Dawes (https://github.com/phildawes/racer).
- Auto complete (invoked automatically on Rust files).
- Go to definition (default key binding is F2).
Initial version. Works on the basic projects I have tested on. Partially works on Servo when the search paths are set correctly.
Pull requests for fixes and new features are very welcome.
I have only tested this on Linux (Ubuntu 14.04). It may work on Mac / Windows.
- Install the Rust syntax highlighting package from Package Control: https://sublime.wbond.net/packages/Rust
- Clone and build the auto completion tool racer: https://github.com/phildawes/racer
- Install the package through package control (or clone from git if you prefer): https://sublime.wbond.net/packages/RustAutoComplete
- Configure the plugin to be able to find the racer executable and
Rust source code. Open menu
Preferences -> Package settings -> RustAutoComplete -> Settings - Userand edit the settings file using below as a template:
{
// The full path to the racer binary. If racer is already
// in your system path, then this default will be fine.
"racer": "racer",
// A list of search paths. This should generally just
// be the path to the rust compiler src/ directory.
"search_paths": [
"/home/git/rust-lang/rust/src"
]
}
- (Optional) Set autocomplete to trigger on '.' and ':'.
Open
Preferences -> Settings - Userand add this entry:
"auto_complete_triggers": [ {"selector": "source.rust", "characters": ".:"} ],
- (Optional) Set a keybinding for triggering autocomplete (the Linux default is
alt+/, which isn't common elsewhere). OpenPreferences -> Key Bindings - Userand add these entries (for aCtrl+Spacetrigger):
{ "keys": ["ctrl+space"], "command": "auto_complete" },
{ "keys": ["ctrl+space"], "command": "replace_completion_with_auto_complete", "context":
[
{ "key": "last_command", "operator": "equal", "operand": "insert_best_completion" },
{ "key": "auto_complete_visible", "operator": "equal", "operand": false },
{ "key": "setting.tab_completion", "operator": "equal", "operand": true }
]
},

