Display code coverage
Something I whipped up the last few days, feel free to comment and critique :)
Currently, C/C++ coverage via gcov and Rust coverage via tarpaulin is supported, but additional coverage provider should be easy to add. The side-bar/gutter provides general fully covered/partially covered/not covered information while more detailed (e.g. branch coverage) information is contained in the gutter tooltip.
Limitations of the current implementation:
- Requires a compile_commands.json file to determine the object file path.
- Only works with C/C++ source files, not with headers (unless they have an object-file entry in the compile_commands.json)
- If a C/C++ source file is part of multiple targets, only the first entry in compile_commands.json is used.
Support for header files/files included in multiple targets could be achieved by parsing and merging the results for all related object-files.
Edited by doe300