An IDE for Rust
Rust
Latest commit 60d5bc0 Sep 2, 2016 @oakes committed on GitHub Delete vte3.rb

README.md

screenshot

Introduction

SolidOak is a simple IDE for Rust. See the website for binary releases. It has the following features:

  • An embedded copy of Neovim as its text editor
    • On first launch, it will create ~/.soak and ~/.soakrc (equivalent to ~/.vim and ~/.vimrc)
    • It starts off in "Easy Mode" (locked in insert mode) for Vim newbies, but you can toggle it off
  • An easy-to-use GUI written with gtk-rs
    • Buttons for common editing actions and a project tree that stays in sync with Neovim
    • You can bypass the GUI and run it as a console app by passing the -nw flag
  • Autocomplete via Racer
    • The binary releases come bundled with it, so no configuration is necessary

Build Instructions

Note: If neovim fails to build, try cloning it directly and running make libnvim to get more specific errors.

Linux (apt-get)

apt-get install libgtk-3-dev libglib2.0-dev libcairo2-dev libvte-2.91-dev
apt-get install libtool-bin autoconf automake cmake libncurses5-dev g++ pkg-config unzip
cargo build --release

Linux (yum)

yum install gtk3-devel glib2-devel vte291-devel
yum install autoconf automake cmake gcc gcc-c++ libtool ncurses-devel pkgconfig
cargo build --release

OS X (homebrew)

brew install gtk+3 vte3
brew install libtool automake cmake pkg-config gettext
cargo build --release

OS X (macports)

port install gtk3 vte
port install libtool automake cmake pkgconfig gettext
cargo build --release

Windows is not supported

It should be possible to build for Windows, but I have not found time to try it yet. The gtk bindings already build on Windows, but we may need to do some work to get neovim-rs to build on it. Additionally, we would need to find a replacement for all the Posix-specific functions being used in src/ffi.rs.

Licensing

All files that originate from this project are dedicated to the public domain. I would love pull requests, and will assume that they are also dedicated to the public domain.