This project implements a Code Coverage Language Server that reads LCOV coverage reports and exposes the results through the Language Server Protocol.
Coverage information is surfaced using the
textDocument/documentColor
request, allowing editors to visually highlight covered and uncovered lines.
The extension may be installed from source, by cloning fargies/coverage-lsp repository and selecting the zed-coverage-lsp directory from "Install Dev Extension" menu.
If not already found in path, the extension will download and install latest coverage-lsp server from GitHub's project releases.
To install your own version of coverage-lsp, simply use:
cargo install coverage-lspThe server can be configured through the following settings.
CSS color used to highlight covered lines.
- Accepts any valid CSS Color Level 4 value.
- Set to
nullto disable highlighting for covered lines. - Parsed using
csscolorparser. - Default:
rgba(0%,100%,0%,10%)
CSS color used to highlight uncovered lines.
- Accepts any valid CSS Color Level 4 value.
- Set to
nullto disable highlighting for uncovered lines. - Parsed using
csscolorparser. - Default:
rgba(100%,0%,0%,10%)
Interval used to check whether the coverage file has changed.
- Parsed using
humantime-serde. - Example values:
3s,20s,1m - Default:
3s
Path to the LCOV coverage file to load.
- If not specified, the server searches the workspace and uses the first
*.infofile it finds.
{
"lsp": {
"coverage-lsp": {
"settings": {
"hit": null,
"miss": "#FFAA0020",
"interval": "20s",
"lcov_file": "./build/lcov.info"
}
}
}
}# remove downloaded releases
rm -rf ~/.local/share/zed/extensions/work/coverage-lsp/*
# Clone and build this project
git clone https://github.com/fargies/coverage-lsp.git && cd coverage-lsp
cargo build
# Add `coverage-lsp` to your path
export PATH=$PATH:$(path)/target/debug
# Start `zeditor`
zeditor
# From the "Install Dev Extension" menu select `zed-coverage-lsp` directory
# Don't forget to "Rebuild" the extension and/or "Restart" the language-server to
# reflect changes