aboutsummaryrefslogtreecommitdiff
path: root/editors/code
diff options
context:
space:
mode:
authorAleksey Kladov <[email protected]>2020-12-02 14:31:24 +0000
committerAleksey Kladov <[email protected]>2020-12-08 16:25:41 +0000
commit2544abbf867a7660bc2c9342181c8392774f1cca (patch)
tree1f37bdd023851034158279e10a439bcc87ea96b9 /editors/code
parente2e6b709e60f22279b755ceae74e579520c9ae3b (diff)
Make config.rs a single source of truth for configuration.
Configuration is editor-independent. For this reason, we pick JSON-schema as the repr of the source of truth. We do specify it using rust-macros and some quick&dirty hackery though. The idea for syncing truth with package.json is to just do that manually, but there's a test to check that they are actually synced. There's CLI to print config's json schema: $ rust-analyzer --print-config-schema We go with a CLI rather than LSP request/response to make it easier to incorporate the thing into extension's static config. This is roughtly how we put the thing in package.json.
Diffstat (limited to 'editors/code')
-rw-r--r--editors/code/package.json624
1 files changed, 304 insertions, 320 deletions
diff --git a/editors/code/package.json b/editors/code/package.json
index dbde37005..ca5f2ebc8 100644
--- a/editors/code/package.json
+++ b/editors/code/package.json
@@ -215,169 +215,6 @@
215 "type": "object", 215 "type": "object",
216 "title": "Rust Analyzer", 216 "title": "Rust Analyzer",
217 "properties": { 217 "properties": {
218 "rust-analyzer.lruCapacity": {
219 "type": [
220 "null",
221 "integer"
222 ],
223 "default": null,
224 "minimum": 0,
225 "exclusiveMinimum": true,
226 "description": "Number of syntax trees rust-analyzer keeps in memory."
227 },
228 "rust-analyzer.files.watcher": {
229 "type": "string",
230 "enum": [
231 "client",
232 "notify"
233 ],
234 "default": "client",
235 "description": "Controls file watching implementation."
236 },
237 "rust-analyzer.files.exclude": {
238 "type": "array",
239 "items": {
240 "type": "string"
241 },
242 "default": [],
243 "description": "Paths to exclude from analysis."
244 },
245 "rust-analyzer.notifications.cargoTomlNotFound": {
246 "type": "boolean",
247 "default": true,
248 "markdownDescription": "Whether to show `can't find Cargo.toml` error message"
249 },
250 "rust-analyzer.cargo.autoreload": {
251 "type": "boolean",
252 "default": true,
253 "markdownDescription": "Automatically refresh project info via `cargo metadata` on Cargo.toml changes"
254 },
255 "rust-analyzer.cargo.noDefaultFeatures": {
256 "type": "boolean",
257 "default": false,
258 "markdownDescription": "Do not activate the `default` feature"
259 },
260 "rust-analyzer.cargo.allFeatures": {
261 "type": "boolean",
262 "default": false,
263 "description": "Activate all available features"
264 },
265 "rust-analyzer.cargo.features": {
266 "type": "array",
267 "items": {
268 "type": "string"
269 },
270 "default": [],
271 "description": "List of features to activate"
272 },
273 "rust-analyzer.cargo.loadOutDirsFromCheck": {
274 "type": "boolean",
275 "default": false,
276 "markdownDescription": "Run `cargo check` on startup to get the correct value for package OUT_DIRs"
277 },
278 "rust-analyzer.cargo.target": {
279 "type": [
280 "null",
281 "string"
282 ],
283 "default": null,
284 "description": "Specify the compilation target"
285 },
286 "rust-analyzer.noSysroot": {
287 "markdownDescription": "Internal config for debugging, disables loading of sysroot crates",
288 "type": "boolean",
289 "default": false
290 },
291 "rust-analyzer.rustfmt.extraArgs": {
292 "type": "array",
293 "items": {
294 "type": "string"
295 },
296 "default": [],
297 "description": "Additional arguments to rustfmt"
298 },
299 "rust-analyzer.rustfmt.overrideCommand": {
300 "type": [
301 "null",
302 "array"
303 ],
304 "items": {
305 "type": "string",
306 "minItems": 1
307 },
308 "default": null,
309 "markdownDescription": "Advanced option, fully override the command rust-analyzer uses for formatting."
310 },
311 "rust-analyzer.checkOnSave.enable": {
312 "type": "boolean",
313 "default": true,
314 "markdownDescription": "Run specified `cargo check` command for diagnostics on save"
315 },
316 "rust-analyzer.checkOnSave.extraArgs": {
317 "type": "array",
318 "items": {
319 "type": "string"
320 },
321 "markdownDescription": "Extra arguments for `cargo check`",
322 "default": []
323 },
324 "rust-analyzer.checkOnSave.command": {
325 "type": "string",
326 "default": "check",
327 "markdownDescription": "Cargo command to use for `cargo check`"
328 },
329 "rust-analyzer.checkOnSave.overrideCommand": {
330 "type": [
331 "null",
332 "array"
333 ],
334 "items": {
335 "type": "string",
336 "minItems": 1
337 },
338 "default": null,
339 "markdownDescription": "Advanced option, fully override the command rust-analyzer uses for checking. The command should include `--message-format=json` or similar option."
340 },
341 "rust-analyzer.checkOnSave.allTargets": {
342 "type": "boolean",
343 "default": true,
344 "markdownDescription": "Check all targets and tests (will be passed as `--all-targets`)"
345 },
346 "rust-analyzer.checkOnSave.noDefaultFeatures": {
347 "type": [
348 "null",
349 "boolean"
350 ],
351 "default": null,
352 "markdownDescription": "Do not activate the `default` feature"
353 },
354 "rust-analyzer.checkOnSave.allFeatures": {
355 "type": [
356 "null",
357 "boolean"
358 ],
359 "default": null,
360 "markdownDescription": "Check with all features (will be passed as `--all-features`). Defaults to `rust-analyzer.cargo.allFeatures`."
361 },
362 "rust-analyzer.checkOnSave.features": {
363 "type": [
364 "null",
365 "array"
366 ],
367 "items": {
368 "type": "string"
369 },
370 "default": null,
371 "description": "List of features to activate. Defaults to `rust-analyzer.cargo.features`."
372 },
373 "rust-analyzer.checkOnSave.target": {
374 "type": [
375 "null",
376 "string"
377 ],
378 "default": null,
379 "description": "Check for a specific target. Defaults to `rust-analyzer.cargo.target`."
380 },
381 "rust-analyzer.cargoRunner": { 218 "rust-analyzer.cargoRunner": {
382 "type": [ 219 "type": [
383 "null", 220 "null",
@@ -420,59 +257,6 @@
420 "default": true, 257 "default": true,
421 "description": "Whether to show inlay hints" 258 "description": "Whether to show inlay hints"
422 }, 259 },
423 "rust-analyzer.inlayHints.typeHints": {
424 "type": "boolean",
425 "default": true,
426 "description": "Whether to show inlay type hints for variables."
427 },
428 "rust-analyzer.inlayHints.chainingHints": {
429 "type": "boolean",
430 "default": true,
431 "description": "Whether to show inlay type hints for method chains."
432 },
433 "rust-analyzer.inlayHints.parameterHints": {
434 "type": "boolean",
435 "default": true,
436 "description": "Whether to show function parameter name inlay hints at the call site."
437 },
438 "rust-analyzer.inlayHints.maxLength": {
439 "type": [
440 "null",
441 "integer"
442 ],
443 "default": 20,
444 "minimum": 0,
445 "exclusiveMinimum": true,
446 "description": "Maximum length for inlay hints"
447 },
448 "rust-analyzer.completion.addCallParenthesis": {
449 "type": "boolean",
450 "default": true,
451 "description": "Whether to add parenthesis when completing functions"
452 },
453 "rust-analyzer.completion.addCallArgumentSnippets": {
454 "type": "boolean",
455 "default": true,
456 "description": "Whether to add argument snippets when completing functions"
457 },
458 "rust-analyzer.completion.postfix.enable": {
459 "type": "boolean",
460 "default": true,
461 "markdownDescription": "Whether to show postfix snippets like `dbg`, `if`, `not`, etc."
462 },
463 "rust-analyzer.completion.autoimport.enable": {
464 "type": "boolean",
465 "default": true,
466 "markdownDescription": [
467 "Toggles the additional completions that automatically add imports when completed.",
468 "Note that your client have to specify the `additionalTextEdits` LSP client capability to truly have this feature enabled"
469 ]
470 },
471 "rust-analyzer.callInfo.full": {
472 "type": "boolean",
473 "default": true,
474 "description": "Show function name and docs in parameter hints"
475 },
476 "rust-analyzer.updates.channel": { 260 "rust-analyzer.updates.channel": {
477 "type": "string", 261 "type": "string",
478 "enum": [ 262 "enum": [
@@ -520,11 +304,6 @@
520 "type": "boolean", 304 "type": "boolean",
521 "default": false 305 "default": false
522 }, 306 },
523 "rust-analyzer.procMacro.enable": {
524 "description": "Enable Proc macro support, cargo.loadOutDirsFromCheck must be enabled.",
525 "type": "boolean",
526 "default": false
527 },
528 "rust-analyzer.debug.engine": { 307 "rust-analyzer.debug.engine": {
529 "type": "string", 308 "type": "string",
530 "enum": [ 309 "enum": [
@@ -557,157 +336,362 @@
557 "default": {}, 336 "default": {},
558 "description": "Optional settings passed to the debug engine. Example:\n{ \"lldb\": { \"terminal\":\"external\"} }" 337 "description": "Optional settings passed to the debug engine. Example:\n{ \"lldb\": { \"terminal\":\"external\"} }"
559 }, 338 },
560 "rust-analyzer.lens.enable": { 339 "rust-analyzer.assist.importMergeBehaviour": {
561 "description": "Whether to show CodeLens in Rust files.", 340 "markdownDescription": "The strategy to use when inserting new imports or merging imports.",
562 "type": "boolean", 341 "default": "full",
563 "default": true 342 "type": "string",
343 "enum": [
344 "none",
345 "full",
346 "last"
347 ],
348 "enumDescriptions": [
349 "No merging",
350 "Merge all layers of the import trees",
351 "Only merge the last layer of the import trees"
352 ]
564 }, 353 },
565 "rust-analyzer.lens.run": { 354 "rust-analyzer.assist.importPrefix": {
566 "markdownDescription": "Whether to show `Run` lens. Only applies when `#rust-analyzer.lens.enable#` is set.", 355 "markdownDescription": "The path structure for newly inserted paths to use.",
567 "type": "boolean", 356 "default": "plain",
568 "default": true 357 "type": "string",
358 "enum": [
359 "plain",
360 "by_self",
361 "by_crate"
362 ],
363 "enumDescriptions": [
364 "Insert import paths relative to the current module, using up to one `super` prefix if the parent module contains the requested item.",
365 "Prefix all import paths with `self` if they don't begin with `self`, `super`, `crate` or a crate name",
366 "Force import paths to be absolute by always starting them with `crate` or the crate name they refer to."
367 ]
569 }, 368 },
570 "rust-analyzer.lens.debug": { 369 "rust-analyzer.callInfo.full": {
571 "markdownDescription": "Whether to show `Debug` lens. Only applies when `#rust-analyzer.lens.enable#` is set.", 370 "markdownDescription": "Show function name and docs in parameter hints.",
572 "type": "boolean", 371 "default": true,
573 "default": true 372 "type": "boolean"
574 }, 373 },
575 "rust-analyzer.lens.implementations": { 374 "rust-analyzer.cargo.autoreload": {
576 "markdownDescription": "Whether to show `Implementations` lens. Only applies when `#rust-analyzer.lens.enable#` is set.", 375 "markdownDescription": "Automatically refresh project info via `cargo metadata` on Cargo.toml changes.",
577 "type": "boolean", 376 "default": true,
578 "default": true 377 "type": "boolean"
579 }, 378 },
580 "rust-analyzer.lens.methodReferences": { 379 "rust-analyzer.cargo.allFeatures": {
581 "markdownDescription": "Whether to show `Method References` lens. Only applies when `#rust-analyzer.lens.enable#` is set.", 380 "markdownDescription": "Activate all available features.",
582 "type": "boolean", 381 "default": false,
583 "default": false 382 "type": "boolean"
584 }, 383 },
585 "rust-analyzer.hoverActions.enable": { 384 "rust-analyzer.cargo.features": {
586 "description": "Whether to show HoverActions in Rust files.", 385 "markdownDescription": "List of features to activate.",
587 "type": "boolean", 386 "default": [],
588 "default": true 387 "type": "array",
388 "items": {
389 "type": "string"
390 }
589 }, 391 },
590 "rust-analyzer.hoverActions.implementations": { 392 "rust-analyzer.cargo.loadOutDirsFromCheck": {
591 "markdownDescription": "Whether to show `Implementations` action. Only applies when `#rust-analyzer.hoverActions.enable#` is set.", 393 "markdownDescription": "Run `cargo check` on startup to get the correct value for package OUT_DIRs.",
592 "type": "boolean", 394 "default": false,
593 "default": true 395 "type": "boolean"
594 }, 396 },
595 "rust-analyzer.hoverActions.run": { 397 "rust-analyzer.cargo.noDefaultFeatures": {
596 "markdownDescription": "Whether to show `Run` action. Only applies when `#rust-analyzer.hoverActions.enable#` is set.", 398 "markdownDescription": "Do not activate the `default` feature.",
597 "type": "boolean", 399 "default": false,
598 "default": true 400 "type": "boolean"
599 }, 401 },
600 "rust-analyzer.hoverActions.debug": { 402 "rust-analyzer.cargo.target": {
601 "markdownDescription": "Whether to show `Debug` action. Only applies when `#rust-analyzer.hoverActions.enable#` is set.", 403 "markdownDescription": "Compilation target (target triple).",
602 "type": "boolean", 404 "default": null,
603 "default": true 405 "type": [
406 "null",
407 "string"
408 ]
604 }, 409 },
605 "rust-analyzer.hoverActions.gotoTypeDef": { 410 "rust-analyzer.cargo.noSysroot": {
606 "markdownDescription": "Whether to show `Go to Type Definition` action. Only applies when `#rust-analyzer.hoverActions.enable#` is set.", 411 "markdownDescription": "Internal config for debugging, disables loading of sysroot crates.",
607 "type": "boolean", 412 "default": false,
608 "default": true 413 "type": "boolean"
609 }, 414 },
610 "rust-analyzer.linkedProjects": { 415 "rust-analyzer.checkOnSave.enable": {
611 "markdownDescription": "Disable project auto-discovery in favor of explicitly specified set of projects. \nElements must be paths pointing to Cargo.toml, rust-project.json, or JSON objects in rust-project.json format", 416 "markdownDescription": "Run specified `cargo check` command for diagnostics on save.",
417 "default": true,
418 "type": "boolean"
419 },
420 "rust-analyzer.checkOnSave.allFeatures": {
421 "markdownDescription": "Check with all features (will be passed as `--all-features`). Defaults to `rust-analyzer.cargo.allFeatures`.",
422 "default": null,
423 "type": [
424 "null",
425 "boolean"
426 ]
427 },
428 "rust-analyzer.checkOnSave.allTargets": {
429 "markdownDescription": "Check all targets and tests (will be passed as `--all-targets`).",
430 "default": true,
431 "type": "boolean"
432 },
433 "rust-analyzer.checkOnSave.command": {
434 "markdownDescription": "Cargo command to use for `cargo check`.",
435 "default": "check",
436 "type": "string"
437 },
438 "rust-analyzer.checkOnSave.noDefaultFeatures": {
439 "markdownDescription": "Do not activate the `default` feature.",
440 "default": null,
441 "type": [
442 "null",
443 "boolean"
444 ]
445 },
446 "rust-analyzer.checkOnSave.target": {
447 "markdownDescription": "Check for a specific target. Defaults to `rust-analyzer.cargo.target`.",
448 "default": null,
449 "type": [
450 "null",
451 "string"
452 ]
453 },
454 "rust-analyzer.checkOnSave.extraArgs": {
455 "markdownDescription": "Extra arguments for `cargo check`.",
456 "default": [],
612 "type": "array", 457 "type": "array",
613 "items": { 458 "items": {
614 "type": [ 459 "type": "string"
615 "string", 460 }
616 "object" 461 },
617 ] 462 "rust-analyzer.checkOnSave.features": {
618 }, 463 "markdownDescription": "List of features to activate. Defaults to `rust-analyzer.cargo.features`.",
619 "default": null 464 "default": null,
465 "type": [
466 "null",
467 "array"
468 ],
469 "items": {
470 "type": "string"
471 }
472 },
473 "rust-analyzer.checkOnSave.overrideCommand": {
474 "markdownDescription": "Advanced option, fully override the command rust-analyzer uses for checking. The command should include `--message-format=json` or similar option.",
475 "default": null,
476 "type": [
477 "null",
478 "array"
479 ],
480 "items": {
481 "type": "string"
482 }
483 },
484 "rust-analyzer.completion.addCallArgumentSnippets": {
485 "markdownDescription": "Whether to add argument snippets when completing functions.",
486 "default": true,
487 "type": "boolean"
488 },
489 "rust-analyzer.completion.addCallParenthesis": {
490 "markdownDescription": "Whether to add parenthesis when completing functions.",
491 "default": true,
492 "type": "boolean"
493 },
494 "rust-analyzer.completion.postfix.enable": {
495 "markdownDescription": "Whether to show postfix snippets like `dbg`, `if`, `not`, etc.",
496 "default": true,
497 "type": "boolean"
498 },
499 "rust-analyzer.completion.autoimport.enable": {
500 "markdownDescription": "Toggles the additional completions that automatically add imports when completed. Note that your client have to specify the `additionalTextEdits` LSP client capability to truly have this feature enabled.",
501 "default": true,
502 "type": "boolean"
620 }, 503 },
621 "rust-analyzer.diagnostics.enable": { 504 "rust-analyzer.diagnostics.enable": {
622 "type": "boolean", 505 "markdownDescription": "Whether to show native rust-analyzer diagnostics.",
623 "default": true, 506 "default": true,
624 "markdownDescription": "Whether to show native rust-analyzer diagnostics." 507 "type": "boolean"
625 }, 508 },
626 "rust-analyzer.diagnostics.enableExperimental": { 509 "rust-analyzer.diagnostics.enableExperimental": {
627 "type": "boolean", 510 "markdownDescription": "Whether to show experimental rust-analyzer diagnostics that might have more false positives than usual.",
628 "default": true, 511 "default": true,
629 "markdownDescription": "Whether to show experimental rust-analyzer diagnostics that might have more false positives than usual." 512 "type": "boolean"
630 }, 513 },
631 "rust-analyzer.diagnostics.disabled": { 514 "rust-analyzer.diagnostics.disabled": {
515 "markdownDescription": "List of rust-analyzer diagnostics to disable.",
516 "default": [],
632 "type": "array", 517 "type": "array",
633 "uniqueItems": true,
634 "items": { 518 "items": {
635 "type": "string" 519 "type": "string"
636 }, 520 },
637 "description": "List of rust-analyzer diagnostics to disable", 521 "uniqueItems": true
638 "default": []
639 }, 522 },
640 "rust-analyzer.diagnostics.warningsAsInfo": { 523 "rust-analyzer.diagnostics.warningsAsHint": {
524 "markdownDescription": "List of warnings that should be displayed with info severity.\\nThe warnings will be indicated by a blue squiggly underline in code and a blue icon in the problems panel.",
525 "default": [],
641 "type": "array", 526 "type": "array",
642 "uniqueItems": true,
643 "items": { 527 "items": {
644 "type": "string" 528 "type": "string"
645 }, 529 }
646 "description": "List of warnings that should be displayed with info severity.\nThe warnings will be indicated by a blue squiggly underline in code and a blue icon in the problems panel.",
647 "default": []
648 }, 530 },
649 "rust-analyzer.diagnostics.warningsAsHint": { 531 "rust-analyzer.diagnostics.warningsAsInfo": {
532 "markdownDescription": "List of warnings that should be displayed with hint severity.\\nThe warnings will be indicated by faded text or three dots in code and will not show up in the problems panel.",
533 "default": [],
650 "type": "array", 534 "type": "array",
651 "uniqueItems": true,
652 "items": { 535 "items": {
653 "type": "string" 536 "type": "string"
654 }, 537 }
655 "description": "List of warnings that should be displayed with hint severity.\nThe warnings will be indicated by faded text or three dots in code and will not show up in the problems panel.",
656 "default": []
657 }, 538 },
658 "rust-analyzer.assist.importMergeBehaviour": { 539 "rust-analyzer.files.watcher": {
659 "type": "string", 540 "markdownDescription": "Controls file watching implementation.",
660 "enum": [ 541 "default": "client",
661 "none", 542 "type": "string"
662 "full",
663 "last"
664 ],
665 "enumDescriptions": [
666 "No merging",
667 "Merge all layers of the import trees",
668 "Only merge the last layer of the import trees"
669 ],
670 "default": "full",
671 "description": "The strategy to use when inserting new imports or merging imports."
672 }, 543 },
673 "rust-analyzer.assist.importPrefix": { 544 "rust-analyzer.hoverActions.debug": {
674 "type": "string", 545 "markdownDescription": "Whether to show `Debug` action. Only applies when `#rust-analyzer.hoverActions.enable#` is set.",
675 "enum": [ 546 "default": true,
676 "plain", 547 "type": "boolean"
677 "by_self", 548 },
678 "by_crate" 549 "rust-analyzer.hoverActions.enable": {
550 "markdownDescription": "Whether to show HoverActions in Rust files.",
551 "default": true,
552 "type": "boolean"
553 },
554 "rust-analyzer.hoverActions.gotoTypeDef": {
555 "markdownDescription": "Whether to show `Go to Type Definition` action. Only applies when `#rust-analyzer.hoverActions.enable#` is set.",
556 "default": true,
557 "type": "boolean"
558 },
559 "rust-analyzer.hoverActions.implementations": {
560 "markdownDescription": "Whether to show `Implementations` action. Only applies when `#rust-analyzer.hoverActions.enable#` is set.",
561 "default": true,
562 "type": "boolean"
563 },
564 "rust-analyzer.hoverActions.run": {
565 "markdownDescription": "Whether to show `Run` action. Only applies when `#rust-analyzer.hoverActions.enable#` is set.",
566 "default": true,
567 "type": "boolean"
568 },
569 "rust-analyzer.hoverActions.linksInHover": {
570 "markdownDescription": "Use markdown syntax for links in hover.",
571 "default": true,
572 "type": "boolean"
573 },
574 "rust-analyzer.inlayHints.chainingHints": {
575 "markdownDescription": "Whether to show inlay type hints for method chains.",
576 "default": true,
577 "type": "boolean"
578 },
579 "rust-analyzer.inlayHints.maxLength": {
580 "markdownDescription": "Maximum length for inlay hints.",
581 "default": null,
582 "type": [
583 "null",
584 "integer"
679 ], 585 ],
680 "enumDescriptions": [ 586 "minimum": 0
681 "Insert import paths relative to the current module, using up to one `super` prefix if the parent module contains the requested item.", 587 },
682 "Prefix all import paths with `self` if they don't begin with `self`, `super`, `crate` or a crate name", 588 "rust-analyzer.inlayHints.parameterHints": {
683 "Force import paths to be absolute by always starting them with `crate` or the crate name they refer to." 589 "markdownDescription": "Whether to show function parameter name inlay hints at the call site.",
590 "default": true,
591 "type": "boolean"
592 },
593 "rust-analyzer.inlayHints.typeHints": {
594 "markdownDescription": "Whether to show inlay type hints for variables.",
595 "default": true,
596 "type": "boolean"
597 },
598 "rust-analyzer.lens.debug": {
599 "markdownDescription": "Whether to show `Debug` lens. Only applies when `#rust-analyzer.lens.enable#` is set.",
600 "default": true,
601 "type": "boolean"
602 },
603 "rust-analyzer.lens.enable": {
604 "markdownDescription": "Whether to show CodeLens in Rust files.",
605 "default": true,
606 "type": "boolean"
607 },
608 "rust-analyzer.lens.implementations": {
609 "markdownDescription": "Whether to show `Implementations` lens. Only applies when `#rust-analyzer.lens.enable#` is set.",
610 "default": true,
611 "type": "boolean"
612 },
613 "rust-analyzer.lens.run": {
614 "markdownDescription": "Whether to show `Run` lens. Only applies when `#rust-analyzer.lens.enable#` is set.",
615 "default": true,
616 "type": "boolean"
617 },
618 "rust-analyzer.lens.methodReferences": {
619 "markdownDescription": "Whether to show `Method References` lens. Only applies when `#rust-analyzer.lens.enable#` is set.",
620 "default": false,
621 "type": "boolean"
622 },
623 "rust-analyzer.linkedProjects": {
624 "markdownDescription": "Disable project auto-discovery in favor of explicitly specified set of projects. \\nElements must be paths pointing to Cargo.toml, rust-project.json, or JSON objects in rust-project.json format.",
625 "default": [],
626 "type": "array",
627 "items": {
628 "type": [
629 "string",
630 "object"
631 ]
632 }
633 },
634 "rust-analyzer.lruCapacity": {
635 "markdownDescription": "Number of syntax trees rust-analyzer keeps in memory.",
636 "default": null,
637 "type": [
638 "null",
639 "integer"
684 ], 640 ],
685 "default": "plain", 641 "minimum": 0
686 "description": "The path structure for newly inserted paths to use." 642 },
643 "rust-analyzer.notifications.cargoTomlNotFound": {
644 "markdownDescription": "Whether to show `can't find Cargo.toml` error message.",
645 "default": true,
646 "type": "boolean"
647 },
648 "rust-analyzer.procMacro.enable": {
649 "markdownDescription": "Enable Proc macro support, cargo.loadOutDirsFromCheck must be enabled.",
650 "default": false,
651 "type": "boolean"
687 }, 652 },
688 "rust-analyzer.runnables.overrideCargo": { 653 "rust-analyzer.runnables.overrideCargo": {
654 "markdownDescription": "Command to be executed instead of 'cargo' for runnables.",
655 "default": null,
689 "type": [ 656 "type": [
690 "null", 657 "null",
691 "string" 658 "string"
692 ], 659 ]
693 "default": null,
694 "description": "Command to be executed instead of 'cargo' for runnables."
695 }, 660 },
696 "rust-analyzer.runnables.cargoExtraArgs": { 661 "rust-analyzer.runnables.cargoExtraArgs": {
662 "markdownDescription": "Additional arguments to be passed to cargo for runnables such as tests or binaries.\\nFor example, it may be '--release'.",
663 "default": [],
697 "type": "array", 664 "type": "array",
698 "items": { 665 "items": {
699 "type": "string" 666 "type": "string"
700 }, 667 }
701 "default": [],
702 "description": "Additional arguments to be passed to cargo for runnables such as tests or binaries.\nFor example, it may be '--release'"
703 }, 668 },
704 "rust-analyzer.rustcSource": { 669 "rust-analyzer.rustcSource": {
670 "markdownDescription": "Path to the rust compiler sources, for usage in rustc_private projects.",
671 "default": null,
705 "type": [ 672 "type": [
706 "null", 673 "null",
707 "string" 674 "string"
708 ], 675 ]
676 },
677 "rust-analyzer.rustfmt.extraArgs": {
678 "markdownDescription": "Additional arguments to rustfmt.",
679 "default": [],
680 "type": "array",
681 "items": {
682 "type": "string"
683 }
684 },
685 "rust-analyzer.rustfmt.overrideCommand": {
686 "markdownDescription": "Advanced option, fully override the command rust-analyzer uses for formatting.",
709 "default": null, 687 "default": null,
710 "description": "Path to the rust compiler sources, for usage in rustc_private projects." 688 "type": [
689 "null",
690 "array"
691 ],
692 "items": {
693 "type": "string"
694 }
711 } 695 }
712 } 696 }
713 }, 697 },