-
Notifications
You must be signed in to change notification settings - Fork 11
/
sublime-package.json
184 lines (184 loc) · 8.43 KB
/
sublime-package.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
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
{
"contributions": {
"settings": [
{
"file_patterns": [
"/LSP-json.sublime-settings"
],
"schema": {
"$id": "sublime://settings/LSP-json",
"definitions": {
"PluginConfig": {
"properties": {
"initializationOptions": {
"additionalProperties": false,
"properties": {
"customCapabilities.rangeFormatting.editLimit": {
"type": "integer",
"default": 1000,
"markdownDescription": "For performance reasons, limit the number of edits returned by the range formatter to `x`.",
},
"handledSchemaProtocols": {
"type": "array",
"markdownDescription": "The schema URI protocols handled by the server. Requests for all other protocols are sent to the client.\n\nBy default server handles the `https`, `http` and `file` protocols itself.\n\n- `http`, `https`: Loaded using NodeJS's HTTP support. Proxies can be configured through the settings.\n - `file`: Loaded using NodeJS's `fs` support.",
"default": [
"https",
"http",
"file"
],
"items": {
"anyOf": [
{
"enum": [
"file",
"http",
"https"
]
},
{
"type": "string"
}
],
},
"uniqueItems": true,
},
"provideFormatter": {
"type": "boolean",
"default": true,
"markdownDescription": "Whether the server provides the `documentRangeFormattingProvider` capability on initialization. If undefined, the setting `json.format.enable` is used to determine whether formatting is provided. The formatter will then be registered through dynamic registration. If the client does not support dynamic registration, no formatter will be available."
}
},
},
"settings": {
"properties": {
"http.proxy": {
"type": "string",
"default": "",
"description": "The URL of the proxy server to use when fetching schema. When undefined or empty, no proxy is used."
},
"http.proxyStrictSSL": {
"type": "boolean",
"default": true,
"description": "Whether the proxy server certificate should be verified against the list of supplied CAs."
},
"json.validate.enable": {
"type": "boolean",
"default": true,
"description": "Enable/disable JSON validation."
},
"json.format.enable": {
"type": "boolean",
"default": true,
"description": "Enable/disable JSON formatter."
},
"json.resultLimit": {
"type": "integer",
"default": 5000,
"description": "The maximum number of outline symbols and folding regions computed (limited for performance reasons)."
},
"json.jsonFoldingLimit": {
"type": "integer",
"default": 5000,
"description": "The maximum number of folding ranges to be computed for json documents (limited for performance reasons)."
},
"json.jsoncFoldingLimit": {
"type": "integer",
"default": 5000,
"description": "The maximum number of folding ranges to be computed for jsonc documents (limited for performance reasons)."
},
"json.jsonColorDecoratorLimit": {
"type": "integer",
"default": 5000,
"description": "The maximum number of color decorators to be computed for json documents (limited for performance reasons)."
},
"json.jsoncColorDecoratorLimit": {
"type": "integer",
"default": 5000,
"description": "The maximum number of color decorators to be computed for jsonc documents (limited for performance reasons)."
},
"jsonc.patterns": {
"markdownDescription": "Enables JSONC mode (comments allowed) for matching files.\n\nThe patterns are matched against the end of the file path and all characters but `*` are matched literally and don't need to be escaped. The special `*` character can be used to match any number of characters.",
"type": "array",
"items": {
"type": "string",
"uniqueItems": true
}
},
"userSchemas": {
"description": "User-defined schemas to extend default schemas with.",
"type": "array",
"items": {
"type": "object",
"properties": {
"fileMatch": {
"type": "array",
"markdownDescription": "An array of file patterns to match against when resolving JSON files to schemas. `*` and `**` can be used as a wildcard. Exclusion patterns can also be defined and start with `!`. A file matches when there is at least one matching pattern and the last matching pattern is not an exclusion pattern.",
"items": {
"type": "string",
"default": "/myfile.json",
"markdownDescription": "A file pattern that can contain '*' and '**' to match against when resolving JSON files to schemas. When beginning with '!', it defines an exclusion pattern."
},
"minItems": 1,
},
"uri": {
"type": "string",
"description": "A URL or a file path to a schema. Can be a relative path (starting with `./`) when defined in a project settings and in that case will be resolved relative to the first project folder."
}
},
"required": [
"fileMatch",
"uri"
],
"additionalProperties": false,
"defaultSnippets": [
{
"label": "User Schema",
"body": {
"fileMatch": [
"${1:/myfile.json}"
],
"uri": "$2"
}
}
],
}
}
},
"additionalProperties": false
},
},
},
},
"allOf": [
{
"$ref": "sublime://settings/LSP-plugin-base"
},
{
"$ref": "sublime://settings/LSP-json#/definitions/PluginConfig"
}
],
}
},
{
"file_patterns": [
"/*.sublime-project"
],
"schema": {
"properties": {
"settings": {
"properties": {
"LSP": {
"properties": {
"LSP-json": {
"$ref": "sublime://settings/LSP-json#/definitions/PluginConfig"
}
}
}
}
}
}
}
},
]
}
}