-
Notifications
You must be signed in to change notification settings - Fork 2
/
config.schema.json
123 lines (123 loc) · 4.3 KB
/
config.schema.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Include Cleanup Configuration",
"description": "Configuration settings for use with include cleanup scripts",
"type": "object",
"properties": {
"dependencies": {
"description": "Configuration settings for dependencies",
"type": "object",
"patternProperties": {
".*": {
"description": "Path to dependency in the source tree",
"oneOf": [
{
"$ref": "#"
},
{
"description": "Path to another config file to include",
"type": "string"
}
]
}
}
},
"includeDirs": {
"description": "A list of include directories to use when processing this codebase. Paths to dependencies are automatically added to this list.",
"type": "array",
"items": {
"type": "string"
}
},
"ignores": {
"description": "Known inaccurate output which should be ignored",
"type": "object",
"properties": {
"skip": {
"description": "This is a list of filenames to skip entirely, for situations like when clangd infers a bad compile command",
"type": "array",
"items": {
"type": "string"
}
},
"add": {
"description": "Ignores for suggestions to add includes",
"type": "object",
"properties": {
"filenames": {
"description": "This is a list of known filenames to skip when suggesting includes to add.",
"type": "array",
"items": {
"type": "string"
}
},
"headers": {
"description": "This is a list of known headers where clangd produces a false positive when suggesting as includes to add.",
"type": "array",
"items": {
"type": "string"
}
},
"edges": {
"description": "This is a list of known edges where clangd produces a false positive when suggesting as an include to add.",
"type": "array",
"items": {
"type": "array",
"minItems": 2,
"maxItems": 2,
"items": {
"type": "string"
}
}
}
},
"additionalProperties": false
},
"remove": {
"description": "Ignores for suggestions to remove includes",
"type": "object",
"properties": {
"filenames": {
"description": "This is a list of known filenames to skip when suggesting unused includes. It's mostly a list of umbrella headers where the includes will appear to clangd to be unused, but are meant to be included.",
"type": "array",
"items": {
"type": "string"
}
},
"headers": {
"description": "This is a list of known headers where clangd produces a false positive when suggesting as unused includes to remove. Usually these are umbrella headers, or headers where clangd thinks the canonical location for a symbol is actually in a forward declaration, causing it to flag the correct header as unused everywhere.",
"type": "array",
"items": {
"type": "string"
}
},
"edges": {
"description": "This is a list of known edges where clangd produces a false positive when suggesting as unused includes to remove.",
"type": "array",
"items": {
"type": "array",
"minItems": 2,
"maxItems": 2,
"items": {
"type": "string"
}
}
}
},
"additionalProperties": false
}
}
},
"headerMappings": {
"description": "Mappings between header names from clangd and the canonical header, used when suggesting includes to add",
"type": "object",
"patternProperties": {
".*": {
"description": "Mapping from header filename to canonical filename",
"type": "string"
}
}
}
},
"additionalProperties": false
}