kentaro-m/coverage-markers

View on GitHub
lib/marker.js

Summary

Maintainability
B
5 hrs
Test Coverage
import { Range } from 'atom';

export default class Marker {
  constructor(editor) {
    this.editor = editor;
  }

  addTestUncovered(line) {
    const range = new Range([line - 1, 0], [line - 1, 0]);
    const marker = this.editor.markBufferRange(range, { invalidate: 'never' });
    this.editor.decorateMarker(marker, {
      type: 'line-number',
      class: 'line-number-red',
    });
  }

  addTestCovered(line) {
    const range = new Range([line - 1, 0], [line - 1, 0]);
    const marker = this.editor.markBufferRange(range, { invalidate: 'never' });
    this.editor.decorateMarker(marker, {
      type: 'line-number',
      class: 'line-number-green',
    });
  }

  remove() {
    const markers = this.editor.getMarkers();
    if (markers.length > 0) {
      markers.forEach(marker => {
        marker.destroy();
      });
    }
  }
}