33import * as vscode from 'vscode' ;
44import { commentController } from '../controllers/comments' ;
55import { BanditParser } from '../parsers/bandit' ;
6- import { SemgrepParser } from '../parsers/semgrep' ;
76import { BrakemanParser } from '../parsers/brakeman' ;
7+ import { CheckovParser } from '../parsers/checkov' ;
8+ import { SemgrepParser } from '../parsers/semgrep' ;
89import { ToolFinding } from '../models/toolFinding' ;
910import { saveNoteComment } from '../helpers' ;
1011import { RemoteDb } from '../persistence/remote-db' ;
@@ -82,9 +83,10 @@ export class ImportToolResultsWebview implements vscode.WebviewViewProvider {
8283 <p>Select tool:</p>
8384 <p>
8485 <select id="toolSelect">
85- <option value="semgrep">semgrep</option>
8686 <option value="bandit">bandit</option>
8787 <option value="brakeman">brakeman</option>
88+ <option value="checkov">checkov</option>
89+ <option value="semgrep">semgrep</option>
8890 </select>
8991 </p>
9092 <p>Select file:</p>
@@ -110,10 +112,6 @@ function processToolFile(
110112
111113 // parse tool findings
112114 switch ( toolName ) {
113- case 'semgrep' : {
114- toolFindings = SemgrepParser . parse ( fileContent ) ;
115- break ;
116- }
117115 case 'bandit' : {
118116 toolFindings = BanditParser . parse ( fileContent ) ;
119117 break ;
@@ -122,6 +120,14 @@ function processToolFile(
122120 toolFindings = BrakemanParser . parse ( fileContent ) ;
123121 break ;
124122 }
123+ case 'checkov' : {
124+ toolFindings = CheckovParser . parse ( fileContent ) ;
125+ break ;
126+ }
127+ case 'semgrep' : {
128+ toolFindings = SemgrepParser . parse ( fileContent ) ;
129+ break ;
130+ }
125131 }
126132
127133 if ( ! toolFindings . length ) {
0 commit comments