• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Valloric / ycmd / 1085
94%

Build:
DEFAULT BRANCH: master
Ran 07 Jan 2016 05:35PM UTC
Jobs 1
Files 42
Run time 2s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

pending completion
1085

push

travis-ci

homu
Auto merge of #268 - jwilm:rust-support, r=micbou

[READY] Add support for the Rust programming language

[racerd][] and the ycmd completer wrapper for racerd are finally ready for some peer review and testing. There are some blocking issues that need to get resolved before we can launch; these are enumerated later.

### Demonstration

This gif shows semantic completion support (module paths and object members) and GoTo jumping (starting with BinaryHeap and further into the standard library). GoTo, GoToDefinition, and GoToDeclaration are all equivalent at this time.

![racerd_ycm](https://cloud.githubusercontent.com/assets/4285147/11676180/e924255e-9de4-11e5-9b32-5eda431f79a3.gif)

### Building ycmd with rust support

1. Install [multirust][] if you don't already have it.
2. Add this branch to your local ycmd installation. For example,

    ```
    cd $YCMD_PATH
    git remote add jwilm https://github.com/jwilm/ycmd.git
    git fetch jwilm
    git checkout rust-support
    ```

3. Run the ycmd build.py script with an additional argument. If you only care about rust support, the build command might look like this.

    ```
    ./build.py --racerd-completer
    ```

### Outstanding Issues

- [x] Racerd `::racer::core::Session` usage leaks memory. Need to patch racer + racerd to support a mutable, long-lived file cache. Until then, the FileCache's Arena grows indefinitely (can be witnessed by watching racerd's memory usage).
- [x] Add tests for the rust completer in ycmd
- [x] racerd HMAC support
- [x] RustCompleter utilizes racerd hmac
- [x] Support specifying rust source path as a ycm option (eg. via .vimrc for vim)
- [x] Remove `multirust` dependency from _build.py_
- [x] Tests pass on appveyor
- [x] Add user option for overriding `racerd` path
- [x] Add logging for racerd output
- [x] Add synchronization for `self._racerd_phandle` (and friends) in RustCompleter
- [x] Update racerd to handle `PoisonError` (jwilm/racerd#9)
- [x] Eliminate OpenSSL dependencies (windows support)
- [x] Rebase and include latest racerd

[racerd]: https://github.com/jwilm/racerd
[multirust]: https://github.com/brson/multirust

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/valloric/ycmd/268)
<!-- Reviewable:end -->

2533 of 3093 relevant lines covered (81.89%)

0.82 hits per line

Jobs
ID Job ID Ran Files Coverage
5 1085.5 (USE_CLANG_COMPLETER=true YCMD_PYTHON_VERSION=2.7 COVERAGE=true) 07 Jan 2016 05:35PM UTC 0
81.89
Travis Job 1085.5
Source Files on build 1085
Detailed source file information is not available for this build.
  • Back to Repo
  • Travis Build #1085
  • 3c10266f on github
  • Prev Build on master (#1082)
  • Next Build on master (#1092)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc