CoverageService aims to have a more responsive and cached loop for the main program flow
sections are added to the in memory sections set (keyed by file path) to allow for greatly improved performance of sequential renders of the coverage to the IDE
Functionality:
getSections (private)
returns the currently cache sections set
displayForFile (public)
takes a file path (current active editor file path) and looks up in the sections set
watchWorkspace (public)
activates the subscribers for IDE events and file system events
runs loadCache to load lcov files (xml and lcov) into a memory structure
runs displayForFile on currently active editor
loadCache (public)
finds all coverage files and loads them via parser then adding them to sections set
listenToFileSystem(private)
sets up listeners on the vscode file system watcher blob
if event fired (new lcov, lcov changed, removed, etc) run load cache, parse lcov and render to visible
listenToEditorEvents(private)
sets up listeners on the vscode editor event watcher
if IDE event fires (new file opened, new pane created, folder added to workspace) used cached sections set to render coverage to visible editors
Description:
Functionality:
getSections (private)
displayForFile (public)
watchWorkspace (public)
loadCache (public)
listenToFileSystem(private)
listenToEditorEvents(private)