[help] implement "--list-issue-types"

Summary:
```
$ infer help --list-issue-types
Format:
Issue type unique identifier:Human-readable version:Visibility:Default severity:Enabled:Checker:Documentation URL (AL only):Linters definition file (AL only)

ARRAY_OUT_OF_BOUNDS_L1:Array Out Of Bounds L1:Developer:ERROR:false:biabduction::
ARRAY_OUT_OF_BOUNDS_L2:Array Out Of Bounds L2:Developer:WARNING:false:biabduction::
ARRAY_OUT_OF_BOUNDS_L3:Array Out Of Bounds L3:Developer:WARNING:false:biabduction::
Abduction_case_not_implemented:Abduction Case Not Implemented:Developer:ERROR:true:biabduction::
...
```

Reviewed By: skcho

Differential Revision: D21934371

fbshipit-source-id: 77df2a40f
master
Jules Villard 5 years ago committed by Facebook GitHub Bot
parent 7ba6e015a8
commit 1c0f242e8b

@ -14,6 +14,8 @@ type visibility =
| Silent (** never add to error log *)
[@@deriving compare, equal]
val string_of_visibility : visibility -> string
(** severity of the report *)
type severity = Like | Info | Advice | Warning | Error [@@deriving compare, equal, enumerate]

@ -169,8 +169,9 @@ let () =
then (
if Config.list_checkers then Help.list_checkers () ;
if Config.list_issue_types then Help.list_issue_types () ;
Help.show_checkers Config.help_checker ;
Help.show_issue_types Config.help_issue_type ;
if not (List.is_empty Config.help_checker) then Help.show_checkers Config.help_checker ;
if not (List.is_empty Config.help_issue_type) then
Help.show_issue_types Config.help_issue_type ;
Option.iter Config.write_website ~f:(fun website_root -> Help.write_website ~website_root) ;
() )
else

@ -6,10 +6,37 @@
*)
open! IStd
module L = Logging
let list_checkers () = assert false
let list_issue_types () = assert false
let list_issue_types () =
L.progress
"@[Format:@\n\
Issue type unique identifier:Human-readable version:Visibility:Default \
severity:Enabled:Checker:Documentation URL (AL only):Linters definition file (AL only)@\n\
@\n\
@]%!" ;
L.result "@[<v>" ;
IssueType.all_issues ()
|> List.iter
~f:(fun ({ IssueType.unique_id
; checker
; visibility
; default_severity
; enabled
; hum
; doc_url
; linters_def_file }[@warning "+9"])
->
L.result "%s:%s:%s:%s:%b:%s:%s:%s@;" unique_id hum
(IssueType.string_of_visibility visibility)
(IssueType.string_of_severity default_severity)
enabled (Checker.get_id checker)
(Option.value ~default:"" doc_url)
(Option.value ~default:"" linters_def_file) ) ;
L.result "@]%!"
let show_checkers _ = assert false

Loading…
Cancel
Save