Skip to content

fargies/coverage-lsp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Code Coverage Language Server

Crates.io CI License

GitHub Sponsors Buy Me A Coffee

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.

Zed-editor extension

Installation

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-lsp

Configuration

The server can be configured through the following settings.

hit

CSS color used to highlight covered lines.

  • Accepts any valid CSS Color Level 4 value.
  • Set to null to disable highlighting for covered lines.
  • Parsed using csscolorparser.
  • Default: rgba(0%,100%,0%,10%)

miss

CSS color used to highlight uncovered lines.

  • Accepts any valid CSS Color Level 4 value.
  • Set to null to disable highlighting for uncovered lines.
  • Parsed using csscolorparser.
  • Default: rgba(100%,0%,0%,10%)

interval

Interval used to check whether the coverage file has changed.

lcov_file

Path to the LCOV coverage file to load.

  • If not specified, the server searches the workspace and uses the first *.info file it finds.

Example Configuration

{
  "lsp": {
    "coverage-lsp": {
      "settings": {
        "hit": null,
        "miss": "#FFAA0020",
        "interval": "20s",
        "lcov_file": "./build/lcov.info"
      }
    }
  }
}

Development

# 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

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Sponsor this project

  •  

Packages

 
 
 

Contributors

Languages