Rustupefy! script to automagically transform vim into a stunningly beautiful and fast IDE for rust

##Project Link

A basic installation of VIM

https://raw.githubusercontent.com/ivanceras/rustupefy/master/bare_vim.png

#...... Rustupefy!

BOOM!!

https://raw.githubusercontent.com/ivanceras/rustupefy/master/vim_action.gif

A vim editor comparable to eclipse, intelli-j but using only ~4 MB of RAM, and loads instantly.

3 Likes

Great! I've just tweaked vim for rust today.
It'll be more better with tagbar (like symbols-tree-view in atom or outline view in eclipse) and rusty-tags (automatically generates ctags for given crate & dependencies)

2 Likes

Thanks, I'll be evaluating tagbar, from the looks of it, I'm guessing tagbar is equivalent to outline in eclipse. Though, as far as I am aware, RustDT for eclipse outline is not yet supported.
I don't know if rust.vim supports extracting the tags though, I will see.

Oops seems like tagbar is a bit tricky to install, and it seems it needs dependency that is still hosted on sourceforge.net. I guess I'll skip this plugin for now.

It uses exuberant ctags. You can get them through your favorite OS package manager. (homebrew, apt, etc)

I'm trying out “semantic” highlighting, so I have a patch to add rust keywords to the blacklist for that: PR

For light backgrounds, I use these colors:

let g:semanticTermColors = [28,202,54,3,4,5,6,25,9,10,34,12,52,16,125,124,19, 235]

And I'd recommend patching the semantic highlight plugin to only match on lowercase identifiers (so types and traits stay their usual color).

Hi, I think you might be interested in the this, I've started work this week on an external tool that could be used to provide an outline for IDEs/editors:

As you guessed, RustDT doesn't support this yet, but I plan to use the tool above to support editor outline (as well as on-the-fly error reporting). It could be used to provide the ranges for editor folding, although I'm not sure that apply to Vim :stuck_out_tongue_winking_eye:

2 Likes

I have set up my vim with the rust syntax plugin and YouCompleteMe, which connects to racer to complete functions etc. I welcome your effort to build a complete package.

2 Likes

Use https://github.com/universal-ctags/ctags It already has Rust support.