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

Valloric / ycmd / 977 / 5
94%
master: 94%

Build:
DEFAULT BRANCH: master
Ran 14 Dec 2015 02:43AM UTC
Files 39
Run time 1s
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

14 Dec 2015 02:09AM UTC coverage: 81.297% (+0.7%) from 80.555%
USE_CLANG_COMPLETER=true YCMD_PYTHON_VERSION=2.7 COVERAGE=true

push

travis-ci

homu
Auto merge of #272 - puremourning:tern-completer-locking, r=Valloric

[READY] JavaScript completer using Tern.js

# Overview

Adds support for a JavaScript completer using [Tern.js](http://ternjs.net).

The completer supports:

* Intelligent auto-completion
* Go to definition, references (`GoTo`, etc.)
* Semantic type information for identifiers (`GetType`)
* View documentation comments for identifiers (`GetDoc`)
* Management of `tern` server instance

This provides (for Vim at least) a replacement, for [tern_for_vim](https://github.com/ternjs/tern_for_vim) automagically in ycmd.

## Demo

Completions:

![ycm-tern-demo](https://cloud.githubusercontent.com/assets/10584846/11763113/035f748c-a0f6-11e5-8961-77139d4e6f45.gif)

Subcommands:

![ycm-tern-demo-subcommands](https://cloud.githubusercontent.com/assets/10584846/11763115/0523467c-a0f6-11e5-8552-357bcdda2e6a.gif)

## Installation

Run `install.py --tern-completer`

## Caveats and differences vs. tern_for_vim

* Currently, to use it there must be a `.tern-project` configuration file somewhere in the directory tree above Vim's working directory when the first JavaScript file is opened (i.e. when the server starts). I believe this is also true for `tern_for_vim`.
* Does not support refactoring (rename) which `tern_for_vim` does
* Methods from `Object.prototype` are always included. Tern has the ability to only include them when they match some number of typed characters, as they are otherwise "noise". This is incompatible with ycmd's cache and LCS matching.

## Status

I believe this to be fully working with the above caveats. I think the first one is the most frustrating, but it isn't obvious how to avoid it.

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

2282 of 2807 relevant lines covered (81.3%)

0.81 hits per line

Source Files on job 977.5 (USE_CLANG_COMPLETER=true YCMD_PYTHON_VERSION=2.7 COVERAGE=true)
  • Tree
  • List 0
  • Changed 8
  • Source Changed 7
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 977
  • Travis Job 977.5
  • 1caabf52 on github
  • Prev Job for USE_CLANG_COMPLETER=true YCMD_PYTHON_VERSION=2.7 COVERAGE=true on master (#974.5)
  • Next Job for USE_CLANG_COMPLETER=true YCMD_PYTHON_VERSION=2.7 COVERAGE=true on master (#982.5)
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