github.com/SagerNet/gvisor@v0.0.0-20210707092255-7731c139d75c/tools/nogo/config-schema.json (about) 1 { 2 "$schema": "http://json-schema.org/draft-07/schema", 3 "definitions": { 4 "group": { 5 "type": "object", 6 "properties": { 7 "name": { 8 "description": "The name of the group.", 9 "type": "string" 10 }, 11 "regex": { 12 "description": "A regular expression for matching paths.", 13 "type": "string" 14 }, 15 "default": { 16 "description": "Whether the group is enabled by default.", 17 "type": "boolean" 18 } 19 }, 20 "required": [ 21 "name", 22 "regex", 23 "default" 24 ], 25 "additionalProperties": false 26 }, 27 "regexlist": { 28 "description": "A list of regular expressions.", 29 "oneOf": [ 30 { 31 "type": "array", 32 "items": { 33 "type": "string" 34 } 35 }, 36 { 37 "type": "null" 38 } 39 ] 40 }, 41 "rule": { 42 "type": "object", 43 "properties": { 44 "exclude": { 45 "description": "A regular expression for paths to exclude.", 46 "$ref": "#/definitions/regexlist" 47 }, 48 "suppress": { 49 "description": "A regular expression for messages to suppress.", 50 "$ref": "#/definitions/regexlist" 51 } 52 }, 53 "additionalProperties": false 54 }, 55 "ruleList": { 56 "type": "object", 57 "additionalProperties": { 58 "oneOf": [ 59 { 60 "$ref": "#/definitions/rule" 61 }, 62 { 63 "type": "null" 64 } 65 ] 66 } 67 } 68 }, 69 "properties": { 70 "groups": { 71 "description": "A definition of all groups.", 72 "type": "array", 73 "items": { 74 "$ref": "#/definitions/group" 75 }, 76 "minItems": 1 77 }, 78 "global": { 79 "description": "A global set of rules.", 80 "type": "object", 81 "additionalProperties": { 82 "$ref": "#/definitions/rule" 83 } 84 }, 85 "analyzers": { 86 "description": "A definition of all groups.", 87 "type": "object", 88 "additionalProperties": { 89 "$ref": "#/definitions/ruleList" 90 } 91 } 92 }, 93 "required": [ 94 "groups" 95 ], 96 "additionalProperties": false 97 }