A Neovim plugin for displaying code coverage overlays directly in your editor using virtual text and configurable colors.
- Multi-Format Support: LCOV, LLVM JSON, Cobertura XML, GCOV, LLVM Profdata
- Virtual Text Overlay: Display hit counts and branch coverage inline
- Auto-Detection: Automatically detects coverage format from file extension
- Configurable: Customize colors, position, and display options
- Two-Layer Architecture: Decoupled parsers and converters for easy extension
Using lazy.nvim
{
"mr-u0b0dy/crazy-coverage.nvim",
config = function()
require("crazy-coverage").setup()
end,
}Using packer.nvim
use {
"mr-u0b0dy/crazy-coverage.nvim",
config = function()
require("crazy-coverage").setup()
end,
}Using vim-plug
Plug "mr-u0b0dy/crazy-coverage.nvim"Then add to your config:
require("crazy-coverage").setup()-- Load coverage file (auto-detects format)
:CoverageLoad coverage.lcov
-- Toggle coverage overlay
:CoverageToggle
-- Clear coverage
:CoverageClearrequire("crazy-coverage").setup({
virt_text_pos = "eol", -- "eol", "inline", "overlay", "right_align"
show_hit_count = true, -- Show hit counts
show_branch_summary = false, -- Show branch coverage as b:taken/total
auto_load = true, -- Auto-load on file open
})- Usage Guide - Commands, configuration, and examples
- Supported Formats - Coverage format details and generation
- Architecture - Plugin design and extension guide
- Development - Testing and contributing
- Neovim 0.7+
- Optional:
lcov(for GCOV support) - Optional:
llvm-profdataandllvm-cov(for LLVM Profdata support)
Apache License 2.0 - See LICENSE file for details.
Copyright © 2025 - mr-u0b0dy
See doc/development.md for testing and contribution guidelines.