UNPKG

10.6 kBJSONView Raw
1{
2 "$schema": "http://json-schema.org/draft-07/schema",
3 "title": "JupyterLab Plugin Settings/Preferences Schema",
4 "description": "JupyterLab plugin settings/preferences schema",
5 "version": "1.0.0",
6 "type": "object",
7 "additionalProperties": true,
8 "properties": {
9 "jupyter.lab.internationalization": {
10 "type": "object",
11 "properties": {
12 "selectors": {
13 "type": "array",
14 "items": {
15 "type": "string",
16 "minLength": 1
17 }
18 },
19 "domain": {
20 "type": "string",
21 "minLength": 1
22 }
23 }
24 },
25 "jupyter.lab.menus": {
26 "type": "object",
27 "properties": {
28 "main": {
29 "title": "Main menu entries",
30 "description": "List of menu items to add to the main menubar.",
31 "items": {
32 "$ref": "#/definitions/menu"
33 },
34 "type": "array",
35 "default": []
36 },
37 "context": {
38 "title": "The application context menu.",
39 "description": "List of context menu items.",
40 "items": {
41 "allOf": [
42 { "$ref": "#/definitions/menuItem" },
43 {
44 "properties": {
45 "selector": {
46 "description": "The CSS selector for the context menu item.",
47 "type": "string"
48 }
49 }
50 }
51 ]
52 },
53 "type": "array",
54 "default": []
55 }
56 },
57 "additionalProperties": false
58 },
59 "jupyter.lab.setting-deprecated": {
60 "type": "boolean",
61 "default": false
62 },
63 "jupyter.lab.setting-icon": {
64 "type": "string",
65 "default": ""
66 },
67 "jupyter.lab.setting-icon-class": {
68 "type": "string",
69 "default": ""
70 },
71 "jupyter.lab.setting-icon-label": {
72 "type": "string",
73 "default": "Plugin"
74 },
75 "jupyter.lab.shortcuts": {
76 "items": {
77 "$ref": "#/definitions/shortcut"
78 },
79 "type": "array",
80 "default": []
81 },
82 "jupyter.lab.toolbars": {
83 "properties": {
84 "^\\w[\\w-\\.]*$": {
85 "items": {
86 "$ref": "#/definitions/toolbarItem"
87 },
88 "type": "array",
89 "default": []
90 }
91 },
92 "type": "object",
93 "default": {}
94 },
95 "jupyter.lab.transform": {
96 "type": "boolean",
97 "default": false
98 }
99 },
100 "definitions": {
101 "menu": {
102 "properties": {
103 "disabled": {
104 "description": "Whether the menu is disabled or not",
105 "type": "boolean",
106 "default": false
107 },
108 "icon": {
109 "description": "Menu icon id",
110 "type": "string"
111 },
112 "id": {
113 "description": "Menu unique id",
114 "oneOf": [
115 {
116 "type": "string",
117 "enum": [
118 "jp-menu-file",
119 "jp-menu-file-new",
120 "jp-menu-edit",
121 "jp-menu-help",
122 "jp-menu-kernel",
123 "jp-menu-run",
124 "jp-menu-settings",
125 "jp-menu-view",
126 "jp-menu-tabs"
127 ]
128 },
129 { "type": "string", "pattern": "[a-z][a-z0-9\\-_]+" }
130 ]
131 },
132 "items": {
133 "description": "Menu items",
134 "type": "array",
135 "items": {
136 "$ref": "#/definitions/menuItem"
137 }
138 },
139 "label": {
140 "description": "Menu label",
141 "type": "string"
142 },
143 "mnemonic": {
144 "description": "Mnemonic index for the label",
145 "type": "number",
146 "minimum": -1,
147 "default": -1
148 },
149 "rank": {
150 "description": "Menu rank",
151 "type": "number",
152 "minimum": 0
153 }
154 },
155 "required": ["id"],
156 "type": "object"
157 },
158 "menuItem": {
159 "properties": {
160 "args": {
161 "description": "Command arguments",
162 "type": "object"
163 },
164 "command": {
165 "description": "Command id",
166 "type": "string"
167 },
168 "disabled": {
169 "description": "Whether the item is disabled or not",
170 "type": "boolean",
171 "default": false
172 },
173 "type": {
174 "description": "Item type",
175 "type": "string",
176 "enum": ["command", "submenu", "separator"],
177 "default": "command"
178 },
179 "rank": {
180 "description": "Item rank",
181 "type": "number",
182 "minimum": 0
183 },
184 "submenu": {
185 "oneOf": [
186 {
187 "$ref": "#/definitions/menu"
188 },
189 {
190 "type": "null"
191 }
192 ]
193 }
194 },
195 "type": "object"
196 },
197 "shortcut": {
198 "properties": {
199 "args": {
200 "title": "The arguments for the command",
201 "type": "object"
202 },
203 "command": {
204 "title": "The command id",
205 "description": "The command executed when the binding is matched.",
206 "type": "string"
207 },
208 "disabled": {
209 "description": "Whether this shortcut is disabled or not.",
210 "type": "boolean",
211 "default": false
212 },
213 "keys": {
214 "title": "The key sequence for the binding",
215 "description": "The key shortcut like `Accel A` or the sequence of shortcuts to press like [`Accel A`, `B`]",
216 "items": {
217 "type": "string"
218 },
219 "type": "array"
220 },
221 "macKeys": {
222 "title": "The key sequence for the binding on macOS",
223 "description": "The key shortcut like `Cmd A` or the sequence of shortcuts to press like [`Cmd A`, `B`]",
224 "items": {
225 "type": "string"
226 },
227 "type": "array"
228 },
229 "winKeys": {
230 "title": "The key sequence for the binding on Windows",
231 "description": "The key shortcut like `Ctrl A` or the sequence of shortcuts to press like [`Ctrl A`, `B`]",
232 "items": {
233 "type": "string"
234 },
235 "type": "array"
236 },
237 "linuxKeys": {
238 "title": "The key sequence for the binding on Linux",
239 "description": "The key shortcut like `Ctrl A` or the sequence of shortcuts to press like [`Ctrl A`, `B`]",
240 "items": {
241 "type": "string"
242 },
243 "type": "array"
244 },
245 "selector": {
246 "title": "CSS selector",
247 "type": "string"
248 }
249 },
250 "required": ["command", "keys", "selector"],
251 "type": "object"
252 },
253 "toolbarItem": {
254 "properties": {
255 "name": {
256 "title": "Unique name",
257 "type": "string"
258 },
259 "args": {
260 "title": "Command arguments",
261 "type": "object"
262 },
263 "command": {
264 "title": "Command id",
265 "type": "string",
266 "default": ""
267 },
268 "disabled": {
269 "title": "Whether the item is ignored or not",
270 "type": "boolean",
271 "default": false
272 },
273 "icon": {
274 "title": "Item icon id",
275 "description": "If defined, it will override the command icon",
276 "type": "string"
277 },
278 "label": {
279 "title": "Item label",
280 "description": "If defined, it will override the command label",
281 "type": "string"
282 },
283 "type": {
284 "title": "Item type",
285 "type": "string",
286 "enum": ["command", "spacer"]
287 },
288 "rank": {
289 "title": "Item rank",
290 "type": "number",
291 "minimum": 0,
292 "default": 50
293 }
294 },
295 "required": ["name"],
296 "additionalProperties": false,
297 "type": "object"
298 }
299 }
300}