# PyCover
A plugin for Sublime Text 2/3
that can highlight lines of Python lacking test coverage,
based on the output of Ned Batchelder's
[coverage.py](http://nedbatchelder.com/code/coverage/),
based on the original plugin for ST2,
[SublimePythonCoverage](https://github.com/davisagli/SublimePythonCoverage).
![Default sublime theme](/demo/default-theme.png?raw=true "Using default sublime theme")
![Cobalt2 theme](/demo/cobalt2-theme.png?raw=true "Using cobalt2 theme")
## Installation
Set up
[Sublime Package Control](http://wbond.net/sublime_packages/package_control)
if you don't have it yet.
Go to Tools > Command Palette.
Type `Package Control: Install Package` and hit enter.
Type `PyCover` and hit enter.
PyCover relies on the external
[coverage.py](http://nedbatchelder.com/code/coverage/) package,
which you can install with
pip install coverage
## Usage
Toggle missing line highlights by running the `show_python_coverage` command,
bound to ctrl+alt+shift+c
by default.
You can also access it with the Command Palette under "Toggle Uncovered Lines",
or via the right-click menu.
### Settings
With the settings option `"onload": true`,
PyCover will start highlighting missing lines as soon as your file loads.
The `highlight_uncovered_lines` option is used to toggle highlighting of uncovered lines.
When this option is set to `true`, uncovered lines are highlighted in both editor window and minimap.
However, this can be disruptive to the experience for some users, so by default this option is set to `false`.
![Highlight uncovered lines of code](/demo/highlight_uncovered_lines.png?raw=true "Highlight uncovered lines of code")
### Details
PyCover works by looking in all parent directories of the active file
until it finds a `.coverage` file (as produced by `coverage.py`).
Obviously, it only works if that file exists
and contains coverage information for the file you opened.
Once the `.coverage` file is found, PyCover invoke the `coverage` module
with system Python (see the 'python' settings option to change this)
and highlights any missing lines with a gutter mark.