diff --git a/README.md b/README.md index cd69280..40b65b4 100644 --- a/README.md +++ b/README.md @@ -274,7 +274,7 @@ local my_settings = Neoconf.get("neodev", defaults) - [x] [tailwindcss](https://github.com/tailwindlabs/tailwindcss-intellisense/tree/master/packages/vscode-tailwindcss/package.json) - [x] [terraformls](https://github.com/hashicorp/vscode-terraform/tree/master/package.json) - [x] [tsserver](https://github.com/microsoft/vscode/tree/main/extensions/typescript-language-features/package.json) -- [x] [volar](https://github.com/vuejs/language-tools/tree/master/packages/vscode-vue/package.json) +- [x] [volar](https://github.com/vuejs/language-tools/tree/master/extensions/vscode/package.json) - [x] [vtsls](https://github.com/yioneko/vtsls/tree/main/packages/service/configuration.schema.json) - [x] [vuels](https://github.com/vuejs/vetur/tree/master/package.json) - [x] [wgls_analyzer](https://github.com/wgsl-analyzer/wgsl-analyzer/tree/main/editors/code/package.json) diff --git a/schemas/als.json b/schemas/als.json index 737b7c7..b1b545d 100644 --- a/schemas/als.json +++ b/schemas/als.json @@ -1,5 +1,162 @@ { "$schema": "http://json-schema.org/draft-07/schema#", "description": "Ada & SPARK IntelliSense, code browsing, debugging and more.", - "properties": [] + "properties": { + "ada.defaultCharset": { + "default": "iso-8859-1", + "description": "The character set that the Ada Language Server should use when reading files from disk.", + "scope": "window", + "type": "string" + }, + "ada.displayMethodAncestryOnNavigation": { + "default": "usage_and_abstract_only", + "description": "Controls the policy for displaying overriding and overridden subprograms on navigation requests such as 'Go To Definition' or 'Go To Implementations'.", + "enum": [ + "never", + "usage_and_abstract_only", + "definition_only", + "always" + ], + "enumDescriptions": [ + "Never list overriding and/or overridden subprograms.", + "List overriding and/or overridden subprograms on dispatching calls and on abstract subprogram declarations.", + "List overriding and/or overridden subprograms on declarations only.", + "Always list overriding and/or overridden subprograms when possible." + ], + "scope": "window", + "type": "string" + }, + "ada.documentationStyle": { + "default": "gnat", + "description": "Controls the primary documentation style of entities.", + "enum": [ + "gnat", + "leading" + ], + "enumDescriptions": [ + "Default style, based on GNAT coding standard with some enhancements.", + "Documentation for the entities extracted from the comments before the entity declaration." + ], + "scope": "window", + "type": "string" + }, + "ada.enableDiagnostics": { + "default": true, + "description": "Controls whether or not the Ada Language Server should emit diagnostics into the VS Code Problems view.", + "scope": "window", + "type": "boolean" + }, + "ada.enableIndexing": { + "default": true, + "description": "Controls whether the Ada Language Server should index the source files immediately after loading a project.\n\nIf set to false, indexing will be deferred to the time when an action requiring the index is first performed, e.g. hovering over a referenced entity to get its documentation.", + "scope": "window", + "type": "boolean" + }, + "ada.foldComments": { + "default": true, + "description": "Controls whether comments should be folded like code blocks.", + "scope": "window", + "type": "boolean" + }, + "ada.followSymlinks": { + "default": true, + "description": "Controls the Ada Language Server normalizes the file paths received from the client.", + "scope": "window", + "type": "boolean" + }, + "ada.insertWithClauses": { + "default": false, + "description": "Enable insertion of missing with-clauses when accepting completion for invisible symbols.", + "scope": "window", + "type": "boolean" + }, + "ada.namedNotationThreshold": { + "default": 3, + "description": "Defines the number of parameters/components beyond which named notation is used for completion snippets.", + "scope": "window", + "type": "integer" + }, + "ada.onTypeFormatting.indentOnly": { + "default": true, + "markdownDescription": "If the VS Code `editor.formatOnType` setting is enabled, the Ada Language Server will format Ada code while it is being typed in the editor, in particular when a new line is typed.\n\nThis setting controls whether formatting should only perform the indentation of the new line (true) or also format the previous line (false).", + "scope": "window", + "type": "boolean" + }, + "ada.projectFile": { + "default": "", + "description": "GPR project file (*.gpr) for this workspace.\n\nIt is recommended to set this to a relative path starting at the root of the workspace.", + "order": 0, + "scope": "window", + "type": "string" + }, + "ada.relocateBuildTree": { + "default": "", + "description": "The folder for out-of-tree build.", + "markdownDescription": "The path to a directory used for out-of-tree builds. This feature is related to the [--relocate-build-tree GPRbuild command line switch](https://docs.adacore.com/gprbuild-docs/html/gprbuild_ug/building_with_gprbuild.html#switches).", + "scope": "window", + "type": "string" + }, + "ada.renameInComments": { + "default": false, + "description": "Enable editing Ada comments to update references to an entity when it is being renamed.", + "scope": "window", + "type": "boolean" + }, + "ada.rootDir": { + "default": "", + "markdownDescription": "This setting must be used in conjunction with the `relocateBuildTree` setting.\n\nIt specifies the root directory for artifact relocation. It corresponds to the [--root-dir GPRbuild command line switch](https://docs.adacore.com/gprbuild-docs/html/gprbuild_ug/building_with_gprbuild.html#switches).", + "scope": "window", + "type": "string" + }, + "ada.scenarioVariables": { + "default": {}, + "description": "Scenario variables to apply to the GPR project file.\n\nThis value should be provided as an object where the property names are GPR scenario variables and the values are strings.", + "order": 1, + "patternProperties": { + ".*": { + "type": "string" + } + }, + "scope": "window", + "type": "object" + }, + "ada.trace.server": { + "default": "off", + "description": "Traces the communication between VS Code and the Ada language server in the 'Ada Language Server' Output view.", + "enum": [ + "off", + "messages", + "verbose" + ], + "enumDescriptions": [ + "No traces are emitted.", + "Brief traces are emitted for each request sent and each response received.", + "Verbose traces are emitted for each request sent and each response received, including the message content." + ], + "scope": "window", + "type": "string" + }, + "ada.useCompletionSnippets": { + "default": false, + "description": "Enable snippets in completion results (e.g. subprogram calls).", + "scope": "window", + "type": "boolean" + }, + "gpr.trace.server": { + "default": "off", + "description": "Traces the communication between VS Code and the GPR language server in the 'GPR Language Server' Output view.", + "enum": [ + "off", + "messages", + "verbose" + ], + "enumDescriptions": [ + "No traces are emitted.", + "Brief traces are emitted for each request sent and each response received.", + "Verbose traces are emitted for each request sent and each response received, including the message content." + ], + "scope": "window", + "type": "string" + } + } } diff --git a/schemas/cssls.json b/schemas/cssls.json index 334d597..5f359c9 100644 --- a/schemas/cssls.json +++ b/schemas/cssls.json @@ -1,5 +1,920 @@ { "$schema": "http://json-schema.org/draft-07/schema#", "description": "Provides rich language support for CSS, LESS and SCSS files.", - "properties": [] + "properties": { + "css.completion.completePropertyWithSemicolon": { + "default": true, + "description": "Insert semicolon at end of line when completing CSS properties.", + "scope": "resource", + "type": "boolean" + }, + "css.completion.triggerPropertyValueCompletion": { + "default": true, + "description": "By default, VS Code triggers property value completion after selecting a CSS property. Use this setting to disable this behavior.", + "scope": "resource", + "type": "boolean" + }, + "css.customData": { + "default": [], + "items": { + "type": "string" + }, + "markdownDescription": "A list of relative file paths pointing to JSON files following the [custom data format](https://github.com/microsoft/vscode-css-languageservice/blob/master/docs/customData.md).\n\nVS Code loads custom data on startup to enhance its CSS support for CSS custom properties (variables), at-rules, pseudo-classes, and pseudo-elements you specify in the JSON files.\n\nThe file paths are relative to workspace and only workspace folder settings are considered.", + "scope": "resource", + "type": "array" + }, + "css.format.braceStyle": { + "default": "collapse", + "enum": [ + "collapse", + "expand" + ], + "markdownDescription": "Put braces on the same line as rules (`collapse`) or put braces on own line (`expand`).", + "scope": "resource", + "type": "string" + }, + "css.format.enable": { + "default": true, + "description": "Enable/disable default CSS formatter.", + "scope": "window", + "type": "boolean" + }, + "css.format.maxPreserveNewLines": { + "default": null, + "markdownDescription": "Maximum number of line breaks to be preserved in one chunk, when `#css.format.preserveNewLines#` is enabled.", + "scope": "resource", + "type": [ + "number", + "null" + ] + }, + "css.format.newlineBetweenRules": { + "default": true, + "markdownDescription": "Separate rulesets by a blank line.", + "scope": "resource", + "type": "boolean" + }, + "css.format.newlineBetweenSelectors": { + "default": true, + "markdownDescription": "Separate selectors with a new line.", + "scope": "resource", + "type": "boolean" + }, + "css.format.preserveNewLines": { + "default": true, + "markdownDescription": "Whether existing line breaks before elements should be preserved.", + "scope": "resource", + "type": "boolean" + }, + "css.format.spaceAroundSelectorSeparator": { + "default": false, + "markdownDescription": "Ensure a space character around selector separators '>', '+', '~' (e.g. `a > b`).", + "scope": "resource", + "type": "boolean" + }, + "css.hover.documentation": { + "default": true, + "description": "Show property and value documentation in CSS hovers.", + "scope": "resource", + "type": "boolean" + }, + "css.hover.references": { + "default": true, + "description": "Show references to MDN in CSS hovers.", + "scope": "resource", + "type": "boolean" + }, + "css.lint.argumentsInColorFunction": { + "default": "error", + "description": "Invalid number of parameters.", + "enum": [ + "ignore", + "warning", + "error" + ], + "scope": "resource", + "type": "string" + }, + "css.lint.boxModel": { + "default": "ignore", + "enum": [ + "ignore", + "warning", + "error" + ], + "markdownDescription": "Do not use `width` or `height` when using `padding` or `border`.", + "scope": "resource", + "type": "string" + }, + "css.lint.compatibleVendorPrefixes": { + "default": "ignore", + "description": "When using a vendor-specific prefix make sure to also include all other vendor-specific properties.", + "enum": [ + "ignore", + "warning", + "error" + ], + "scope": "resource", + "type": "string" + }, + "css.lint.duplicateProperties": { + "default": "ignore", + "description": "Do not use duplicate style definitions.", + "enum": [ + "ignore", + "warning", + "error" + ], + "scope": "resource", + "type": "string" + }, + "css.lint.emptyRules": { + "default": "warning", + "description": "Do not use empty rulesets.", + "enum": [ + "ignore", + "warning", + "error" + ], + "scope": "resource", + "type": "string" + }, + "css.lint.float": { + "default": "ignore", + "enum": [ + "ignore", + "warning", + "error" + ], + "markdownDescription": "Avoid using `float`. Floats lead to fragile CSS that is easy to break if one aspect of the layout changes.", + "scope": "resource", + "type": "string" + }, + "css.lint.fontFaceProperties": { + "default": "warning", + "enum": [ + "ignore", + "warning", + "error" + ], + "markdownDescription": "`@font-face` rule must define `src` and `font-family` properties.", + "scope": "resource", + "type": "string" + }, + "css.lint.hexColorLength": { + "default": "error", + "description": "Hex colors must consist of 3, 4, 6 or 8 hex numbers.", + "enum": [ + "ignore", + "warning", + "error" + ], + "scope": "resource", + "type": "string" + }, + "css.lint.idSelector": { + "default": "ignore", + "description": "Selectors should not contain IDs because these rules are too tightly coupled with the HTML.", + "enum": [ + "ignore", + "warning", + "error" + ], + "scope": "resource", + "type": "string" + }, + "css.lint.ieHack": { + "default": "ignore", + "description": "IE hacks are only necessary when supporting IE7 and older.", + "enum": [ + "ignore", + "warning", + "error" + ], + "scope": "resource", + "type": "string" + }, + "css.lint.importStatement": { + "default": "ignore", + "description": "Import statements do not load in parallel.", + "enum": [ + "ignore", + "warning", + "error" + ], + "scope": "resource", + "type": "string" + }, + "css.lint.important": { + "default": "ignore", + "enum": [ + "ignore", + "warning", + "error" + ], + "markdownDescription": "Avoid using `!important`. It is an indication that the specificity of the entire CSS has gotten out of control and needs to be refactored.", + "scope": "resource", + "type": "string" + }, + "css.lint.propertyIgnoredDueToDisplay": { + "default": "warning", + "enum": [ + "ignore", + "warning", + "error" + ], + "markdownDescription": "Property is ignored due to the display. E.g. with `display: inline`, the `width`, `height`, `margin-top`, `margin-bottom`, and `float` properties have no effect.", + "scope": "resource", + "type": "string" + }, + "css.lint.universalSelector": { + "default": "ignore", + "enum": [ + "ignore", + "warning", + "error" + ], + "markdownDescription": "The universal selector (`*`) is known to be slow.", + "scope": "resource", + "type": "string" + }, + "css.lint.unknownAtRules": { + "default": "warning", + "description": "Unknown at-rule.", + "enum": [ + "ignore", + "warning", + "error" + ], + "scope": "resource", + "type": "string" + }, + "css.lint.unknownProperties": { + "default": "warning", + "description": "Unknown property.", + "enum": [ + "ignore", + "warning", + "error" + ], + "scope": "resource", + "type": "string" + }, + "css.lint.unknownVendorSpecificProperties": { + "default": "ignore", + "description": "Unknown vendor specific property.", + "enum": [ + "ignore", + "warning", + "error" + ], + "scope": "resource", + "type": "string" + }, + "css.lint.validProperties": { + "default": [], + "description": "A list of properties that are not validated against the `unknownProperties` rule.", + "items": { + "type": "string" + }, + "scope": "resource", + "type": "array", + "uniqueItems": true + }, + "css.lint.vendorPrefix": { + "default": "warning", + "description": "When using a vendor-specific prefix, also include the standard property.", + "enum": [ + "ignore", + "warning", + "error" + ], + "scope": "resource", + "type": "string" + }, + "css.lint.zeroUnits": { + "default": "ignore", + "description": "No unit for zero needed.", + "enum": [ + "ignore", + "warning", + "error" + ], + "scope": "resource", + "type": "string" + }, + "css.trace.server": { + "default": "off", + "description": "Traces the communication between VS Code and the CSS language server.", + "enum": [ + "off", + "messages", + "verbose" + ], + "scope": "window", + "type": "string" + }, + "css.validate": { + "default": true, + "description": "Enables or disables all validations.", + "scope": "resource", + "type": "boolean" + }, + "less.completion.completePropertyWithSemicolon": { + "default": true, + "description": "Insert semicolon at end of line when completing CSS properties.", + "scope": "resource", + "type": "boolean" + }, + "less.completion.triggerPropertyValueCompletion": { + "default": true, + "description": "By default, VS Code triggers property value completion after selecting a CSS property. Use this setting to disable this behavior.", + "scope": "resource", + "type": "boolean" + }, + "less.format.braceStyle": { + "default": "collapse", + "enum": [ + "collapse", + "expand" + ], + "markdownDescription": "Put braces on the same line as rules (`collapse`) or put braces on own line (`expand`).", + "scope": "resource", + "type": "string" + }, + "less.format.enable": { + "default": true, + "description": "Enable/disable default LESS formatter.", + "scope": "window", + "type": "boolean" + }, + "less.format.maxPreserveNewLines": { + "default": null, + "markdownDescription": "Maximum number of line breaks to be preserved in one chunk, when `#less.format.preserveNewLines#` is enabled.", + "scope": "resource", + "type": [ + "number", + "null" + ] + }, + "less.format.newlineBetweenRules": { + "default": true, + "markdownDescription": "Separate rulesets by a blank line.", + "scope": "resource", + "type": "boolean" + }, + "less.format.newlineBetweenSelectors": { + "default": true, + "markdownDescription": "Separate selectors with a new line.", + "scope": "resource", + "type": "boolean" + }, + "less.format.preserveNewLines": { + "default": true, + "markdownDescription": "Whether existing line breaks before elements should be preserved.", + "scope": "resource", + "type": "boolean" + }, + "less.format.spaceAroundSelectorSeparator": { + "default": false, + "markdownDescription": "Ensure a space character around selector separators '>', '+', '~' (e.g. `a > b`).", + "scope": "resource", + "type": "boolean" + }, + "less.hover.documentation": { + "default": true, + "description": "Show property and value documentation in LESS hovers.", + "scope": "resource", + "type": "boolean" + }, + "less.hover.references": { + "default": true, + "description": "Show references to MDN in LESS hovers.", + "scope": "resource", + "type": "boolean" + }, + "less.lint.argumentsInColorFunction": { + "default": "error", + "description": "Invalid number of parameters.", + "enum": [ + "ignore", + "warning", + "error" + ], + "scope": "resource", + "type": "string" + }, + "less.lint.boxModel": { + "default": "ignore", + "enum": [ + "ignore", + "warning", + "error" + ], + "markdownDescription": "Do not use `width` or `height` when using `padding` or `border`.", + "scope": "resource", + "type": "string" + }, + "less.lint.compatibleVendorPrefixes": { + "default": "ignore", + "description": "When using a vendor-specific prefix make sure to also include all other vendor-specific properties.", + "enum": [ + "ignore", + "warning", + "error" + ], + "scope": "resource", + "type": "string" + }, + "less.lint.duplicateProperties": { + "default": "ignore", + "description": "Do not use duplicate style definitions.", + "enum": [ + "ignore", + "warning", + "error" + ], + "scope": "resource", + "type": "string" + }, + "less.lint.emptyRules": { + "default": "warning", + "description": "Do not use empty rulesets.", + "enum": [ + "ignore", + "warning", + "error" + ], + "scope": "resource", + "type": "string" + }, + "less.lint.float": { + "default": "ignore", + "enum": [ + "ignore", + "warning", + "error" + ], + "markdownDescription": "Avoid using `float`. Floats lead to fragile CSS that is easy to break if one aspect of the layout changes.", + "scope": "resource", + "type": "string" + }, + "less.lint.fontFaceProperties": { + "default": "warning", + "enum": [ + "ignore", + "warning", + "error" + ], + "markdownDescription": "`@font-face` rule must define `src` and `font-family` properties.", + "scope": "resource", + "type": "string" + }, + "less.lint.hexColorLength": { + "default": "error", + "description": "Hex colors must consist of 3, 4, 6 or 8 hex numbers.", + "enum": [ + "ignore", + "warning", + "error" + ], + "scope": "resource", + "type": "string" + }, + "less.lint.idSelector": { + "default": "ignore", + "description": "Selectors should not contain IDs because these rules are too tightly coupled with the HTML.", + "enum": [ + "ignore", + "warning", + "error" + ], + "scope": "resource", + "type": "string" + }, + "less.lint.ieHack": { + "default": "ignore", + "description": "IE hacks are only necessary when supporting IE7 and older.", + "enum": [ + "ignore", + "warning", + "error" + ], + "scope": "resource", + "type": "string" + }, + "less.lint.importStatement": { + "default": "ignore", + "description": "Import statements do not load in parallel.", + "enum": [ + "ignore", + "warning", + "error" + ], + "scope": "resource", + "type": "string" + }, + "less.lint.important": { + "default": "ignore", + "enum": [ + "ignore", + "warning", + "error" + ], + "markdownDescription": "Avoid using `!important`. It is an indication that the specificity of the entire CSS has gotten out of control and needs to be refactored.", + "scope": "resource", + "type": "string" + }, + "less.lint.propertyIgnoredDueToDisplay": { + "default": "warning", + "enum": [ + "ignore", + "warning", + "error" + ], + "markdownDescription": "Property is ignored due to the display. E.g. with `display: inline`, the `width`, `height`, `margin-top`, `margin-bottom`, and `float` properties have no effect.", + "scope": "resource", + "type": "string" + }, + "less.lint.universalSelector": { + "default": "ignore", + "enum": [ + "ignore", + "warning", + "error" + ], + "markdownDescription": "The universal selector (`*`) is known to be slow.", + "scope": "resource", + "type": "string" + }, + "less.lint.unknownAtRules": { + "default": "warning", + "description": "Unknown at-rule.", + "enum": [ + "ignore", + "warning", + "error" + ], + "scope": "resource", + "type": "string" + }, + "less.lint.unknownProperties": { + "default": "warning", + "description": "Unknown property.", + "enum": [ + "ignore", + "warning", + "error" + ], + "scope": "resource", + "type": "string" + }, + "less.lint.unknownVendorSpecificProperties": { + "default": "ignore", + "description": "Unknown vendor specific property.", + "enum": [ + "ignore", + "warning", + "error" + ], + "scope": "resource", + "type": "string" + }, + "less.lint.validProperties": { + "default": [], + "description": "A list of properties that are not validated against the `unknownProperties` rule.", + "items": { + "type": "string" + }, + "scope": "resource", + "type": "array", + "uniqueItems": true + }, + "less.lint.vendorPrefix": { + "default": "warning", + "description": "When using a vendor-specific prefix, also include the standard property.", + "enum": [ + "ignore", + "warning", + "error" + ], + "scope": "resource", + "type": "string" + }, + "less.lint.zeroUnits": { + "default": "ignore", + "description": "No unit for zero needed.", + "enum": [ + "ignore", + "warning", + "error" + ], + "scope": "resource", + "type": "string" + }, + "less.validate": { + "default": true, + "description": "Enables or disables all validations.", + "scope": "resource", + "type": "boolean" + }, + "scss.completion.completePropertyWithSemicolon": { + "default": true, + "description": "Insert semicolon at end of line when completing CSS properties.", + "scope": "resource", + "type": "boolean" + }, + "scss.completion.triggerPropertyValueCompletion": { + "default": true, + "description": "By default, VS Code triggers property value completion after selecting a CSS property. Use this setting to disable this behavior.", + "scope": "resource", + "type": "boolean" + }, + "scss.format.braceStyle": { + "default": "collapse", + "enum": [ + "collapse", + "expand" + ], + "markdownDescription": "Put braces on the same line as rules (`collapse`) or put braces on own line (`expand`).", + "scope": "resource", + "type": "string" + }, + "scss.format.enable": { + "default": true, + "description": "Enable/disable default SCSS formatter.", + "scope": "window", + "type": "boolean" + }, + "scss.format.maxPreserveNewLines": { + "default": null, + "markdownDescription": "Maximum number of line breaks to be preserved in one chunk, when `#scss.format.preserveNewLines#` is enabled.", + "scope": "resource", + "type": [ + "number", + "null" + ] + }, + "scss.format.newlineBetweenRules": { + "default": true, + "markdownDescription": "Separate rulesets by a blank line.", + "scope": "resource", + "type": "boolean" + }, + "scss.format.newlineBetweenSelectors": { + "default": true, + "markdownDescription": "Separate selectors with a new line.", + "scope": "resource", + "type": "boolean" + }, + "scss.format.preserveNewLines": { + "default": true, + "markdownDescription": "Whether existing line breaks before elements should be preserved.", + "scope": "resource", + "type": "boolean" + }, + "scss.format.spaceAroundSelectorSeparator": { + "default": false, + "markdownDescription": "Ensure a space character around selector separators '>', '+', '~' (e.g. `a > b`).", + "scope": "resource", + "type": "boolean" + }, + "scss.hover.documentation": { + "default": true, + "description": "Show property and value documentation in SCSS hovers.", + "scope": "resource", + "type": "boolean" + }, + "scss.hover.references": { + "default": true, + "description": "Show references to MDN in SCSS hovers.", + "scope": "resource", + "type": "boolean" + }, + "scss.lint.argumentsInColorFunction": { + "default": "error", + "description": "Invalid number of parameters.", + "enum": [ + "ignore", + "warning", + "error" + ], + "scope": "resource", + "type": "string" + }, + "scss.lint.boxModel": { + "default": "ignore", + "enum": [ + "ignore", + "warning", + "error" + ], + "markdownDescription": "Do not use `width` or `height` when using `padding` or `border`.", + "scope": "resource", + "type": "string" + }, + "scss.lint.compatibleVendorPrefixes": { + "default": "ignore", + "description": "When using a vendor-specific prefix make sure to also include all other vendor-specific properties.", + "enum": [ + "ignore", + "warning", + "error" + ], + "scope": "resource", + "type": "string" + }, + "scss.lint.duplicateProperties": { + "default": "ignore", + "description": "Do not use duplicate style definitions.", + "enum": [ + "ignore", + "warning", + "error" + ], + "scope": "resource", + "type": "string" + }, + "scss.lint.emptyRules": { + "default": "warning", + "description": "Do not use empty rulesets.", + "enum": [ + "ignore", + "warning", + "error" + ], + "scope": "resource", + "type": "string" + }, + "scss.lint.float": { + "default": "ignore", + "enum": [ + "ignore", + "warning", + "error" + ], + "markdownDescription": "Avoid using `float`. Floats lead to fragile CSS that is easy to break if one aspect of the layout changes.", + "scope": "resource", + "type": "string" + }, + "scss.lint.fontFaceProperties": { + "default": "warning", + "enum": [ + "ignore", + "warning", + "error" + ], + "markdownDescription": "`@font-face` rule must define `src` and `font-family` properties.", + "scope": "resource", + "type": "string" + }, + "scss.lint.hexColorLength": { + "default": "error", + "description": "Hex colors must consist of 3, 4, 6 or 8 hex numbers.", + "enum": [ + "ignore", + "warning", + "error" + ], + "scope": "resource", + "type": "string" + }, + "scss.lint.idSelector": { + "default": "ignore", + "description": "Selectors should not contain IDs because these rules are too tightly coupled with the HTML.", + "enum": [ + "ignore", + "warning", + "error" + ], + "scope": "resource", + "type": "string" + }, + "scss.lint.ieHack": { + "default": "ignore", + "description": "IE hacks are only necessary when supporting IE7 and older.", + "enum": [ + "ignore", + "warning", + "error" + ], + "scope": "resource", + "type": "string" + }, + "scss.lint.importStatement": { + "default": "ignore", + "description": "Import statements do not load in parallel.", + "enum": [ + "ignore", + "warning", + "error" + ], + "scope": "resource", + "type": "string" + }, + "scss.lint.important": { + "default": "ignore", + "enum": [ + "ignore", + "warning", + "error" + ], + "markdownDescription": "Avoid using `!important`. It is an indication that the specificity of the entire CSS has gotten out of control and needs to be refactored.", + "scope": "resource", + "type": "string" + }, + "scss.lint.propertyIgnoredDueToDisplay": { + "default": "warning", + "enum": [ + "ignore", + "warning", + "error" + ], + "markdownDescription": "Property is ignored due to the display. E.g. with `display: inline`, the `width`, `height`, `margin-top`, `margin-bottom`, and `float` properties have no effect.", + "scope": "resource", + "type": "string" + }, + "scss.lint.universalSelector": { + "default": "ignore", + "enum": [ + "ignore", + "warning", + "error" + ], + "markdownDescription": "The universal selector (`*`) is known to be slow.", + "scope": "resource", + "type": "string" + }, + "scss.lint.unknownAtRules": { + "default": "warning", + "description": "Unknown at-rule.", + "enum": [ + "ignore", + "warning", + "error" + ], + "scope": "resource", + "type": "string" + }, + "scss.lint.unknownProperties": { + "default": "warning", + "description": "Unknown property.", + "enum": [ + "ignore", + "warning", + "error" + ], + "scope": "resource", + "type": "string" + }, + "scss.lint.unknownVendorSpecificProperties": { + "default": "ignore", + "description": "Unknown vendor specific property.", + "enum": [ + "ignore", + "warning", + "error" + ], + "scope": "resource", + "type": "string" + }, + "scss.lint.validProperties": { + "default": [], + "description": "A list of properties that are not validated against the `unknownProperties` rule.", + "items": { + "type": "string" + }, + "scope": "resource", + "type": "array", + "uniqueItems": true + }, + "scss.lint.vendorPrefix": { + "default": "warning", + "description": "When using a vendor-specific prefix, also include the standard property.", + "enum": [ + "ignore", + "warning", + "error" + ], + "scope": "resource", + "type": "string" + }, + "scss.lint.zeroUnits": { + "default": "ignore", + "description": "No unit for zero needed.", + "enum": [ + "ignore", + "warning", + "error" + ], + "scope": "resource", + "type": "string" + }, + "scss.validate": { + "default": true, + "description": "Enables or disables all validations.", + "scope": "resource", + "type": "boolean" + } + } } diff --git a/schemas/dartls.json b/schemas/dartls.json index 83e1bac..36bc633 100644 --- a/schemas/dartls.json +++ b/schemas/dartls.json @@ -1,5 +1,1247 @@ { "$schema": "http://json-schema.org/draft-07/schema#", "description": "Dart language support and debugger for Visual Studio Code.", - "properties": [] + "properties": { + "dart.addSdkToTerminalPath": { + "default": true, + "markdownDescription": "Whether to add your selected Dart/Flutter SDK path to the `PATH` environment variable for the embedded terminal. This is useful when switching SDKs via `#dart.sdkPaths#` / `#dart.flutterSdkPaths#` to ensure commands run from the terminal are the same version as being used by the editor/debugger (requires restart).", + "scope": "window", + "type": "boolean" + }, + "dart.additionalAnalyzerFileExtensions": { + "default": [], + "items": { + "type": "string" + }, + "markdownDescription": "**LEGACY SETTING: Only applies to legacy analysis server protocol.**\n\nAdditional file extensions that should be analyzed (usually used in combination with analyzer plugins).", + "scope": "window", + "type": "array" + }, + "dart.allowTestsOutsideTestFolder": { + "default": false, + "markdownDescription": "Whether to consider files ending `_test.dart` that are outside of the test directory as tests. This should be enabled if you put tests inside the `lib` directory of your Flutter app so they will be run with `flutter test` and not `flutter run`.", + "scope": "window", + "type": "boolean" + }, + "dart.analysisExcludedFolders": { + "default": [], + "description": "An array of paths to be excluded from Dart analysis. This option should usually be set at the Workspace level. Excluded folders will also be ignored when detecting project types.", + "items": { + "type": "string" + }, + "scope": "resource", + "type": "array" + }, + "dart.analysisServerFolding": { + "default": true, + "markdownDescription": "**LEGACY SETTING: Only applies to legacy analysis server protocol.**\n\nWhether to use folding data from the Dart Analysis Server instead of the built-in VS Code indent-based folding.", + "scope": "window", + "type": "boolean" + }, + "dart.analyzeAngularTemplates": { + "default": true, + "markdownDescription": "**LEGACY SETTING: The angular plugin is no longer supported.**\n\nWhether to enable analysis for AngularDart templates (requires the Angular analyzer plugin to be enabled in `analysis_options.yaml`).", + "scope": "window", + "type": "boolean" + }, + "dart.analyzerAdditionalArgs": { + "default": [], + "description": "Additional arguments to pass to the Dart Analysis Server. This setting is can be useful for troubleshooting issues with the Dart Analysis Server.", + "items": { + "type": "string" + }, + "scope": "window", + "type": "array" + }, + "dart.analyzerDiagnosticsPort": { + "default": null, + "description": "The port number to be used for the Dart analyzer diagnostic server. This setting is can be useful for troubleshooting issues with the Dart Analysis Server.", + "scope": "window", + "type": [ + "null", + "number" + ] + }, + "dart.analyzerInstrumentationLogFile": { + "default": null, + "description": "The path to a log file for very detailed logging in the Dart Analysis Server that may be useful when trying to diagnose Analysis Server issues.", + "scope": "machine-overridable", + "type": [ + "null", + "string" + ] + }, + "dart.analyzerLogFile": { + "default": null, + "description": "The path to a log file for communication between Dart Code and the Analysis Server.", + "scope": "machine-overridable", + "type": [ + "null", + "string" + ] + }, + "dart.analyzerPath": { + "default": null, + "description": "The path to a custom Dart Analysis Server. This setting is intended for use by Dart Analysis Server developers.", + "scope": "machine-overridable", + "type": [ + "null", + "string" + ] + }, + "dart.analyzerSshHost": { + "default": null, + "description": "An SSH host to run the Analysis Server.\nThis can be useful when modifying code on a remote machine using SSHFS.", + "scope": "window", + "type": [ + "null", + "string" + ] + }, + "dart.analyzerVmAdditionalArgs": { + "default": [], + "description": "Additional arguments to pass to the VM running the Dart Analysis Server. This setting is can be useful for troubleshooting issues with the Dart Analysis Server.", + "items": { + "type": "string" + }, + "scope": "window", + "type": "array" + }, + "dart.analyzerVmServicePort": { + "default": null, + "description": "The port number to be used for the Dart Analysis Server VM service. This setting is intended for use by Dart Analysis Server developers.", + "scope": "window", + "type": [ + "null", + "number" + ] + }, + "dart.autoImportCompletions": { + "default": true, + "description": "Whether to include symbols that have not been imported in the code completion list and automatically insert the required import when selecting them (requires restart).", + "scope": "window", + "type": "boolean" + }, + "dart.automaticCommentSlashes": { + "default": "tripleSlash", + "enum": [ + "none", + "tripleSlash", + "all" + ], + "enumDescriptions": [ + "Never insert slashes automatically", + "Insert `///` when pressing `` at the end of a triple-slash comment", + "Insert `///` when pressing `` at the end of a triple-slash comment and also `//` when pressing `` at the end of a double-slash comment" + ], + "markdownDescription": "Determines when to insert comment slashes when pressing `` in the editor (requires restart).\n\nWhen using `tripleSlash`, double-slashes will still be included when breaking existing double-slash comments across additional lines.", + "scope": "window" + }, + "dart.buildRunnerAdditionalArgs": { + "default": [], + "items": { + "type": "string" + }, + "markdownDescription": "Additional args to pass to the `build_runner` when building/watching/serving.", + "scope": "window", + "type": "array" + }, + "dart.checkForSdkUpdates": { + "default": true, + "description": "Whether to check you are using the latest version of the Dart SDK at startup.", + "scope": "window", + "type": "boolean" + }, + "dart.cliAdditionalArgs": { + "default": [], + "items": { + "type": "string" + }, + "markdownDescription": "Additional args to pass to the `dart` command when running CLI scripts. Using the `args`/`toolArgs` fields in `launch.json` is usually better than this setting as this setting will apply to _all_ projects.", + "scope": "resource", + "type": "array" + }, + "dart.cliConsole": { + "default": "debugConsole", + "description": "Whether to run Dart CLI apps in the Debug Console or a terminal. The Debug Console has more functionality because the process is controlled by the debug adapter, but is unable to accept input from the user via stdin.", + "enum": [ + "debugConsole", + "terminal", + "externalTerminal" + ], + "enumDescriptions": [ + "Run in the Debug Console pane, using the input as a REPL to evaluate expressions", + "Run in the VS Code integrated terminal where input will be sent to stdin", + "Run in an external terminal where input will be sent to stdin" + ], + "scope": "window" + }, + "dart.closeDevTools": { + "default": "never", + "description": "Whether to automatically close embedded DevTools tabs when a debug session ends.", + "enum": [ + "never", + "ifOpened", + "always" + ], + "enumDescriptions": [ + "Do not automatically close embedded DevTools when the debug session ends", + "Automatically close embedded DevTools the debug session ends if it was automatically opened when the session started", + "Always automatically close embedded DevTools when the debug session ends" + ], + "scope": "window" + }, + "dart.closingLabels": { + "default": true, + "description": "Whether to show annotations against constructor, method invocations and lists that span multiple lines.", + "scope": "window", + "type": "boolean" + }, + "dart.completeFunctionCalls": { + "default": true, + "markdownDescription": "Whether to insert parentheses and placeholders for positional and required arguments during code completions when using LSP. This feature is automatically disabled if commit characters are enabled.", + "scope": "resource", + "type": "boolean" + }, + "dart.customDartDapPath": { + "default": null, + "description": "The path to a custom Dart Debug Adapter. This setting is intended for use by Dart Debug Adapter developers.", + "scope": "machine-overridable", + "type": [ + "null", + "string" + ] + }, + "dart.customDevTools": { + "description": "Custom settings for launching DevTools. This setting is intended for use by Dart DevTools developers.", + "properties": { + "env": { + "default": { + "FLUTTER_ROOT": "/path/to/devtools/tool/flutter-sdk", + "LOCAL_DART_SDK": "/path/to/dart-sdk" + }, + "description": "Any environment variables to set when spawning the command. 'LOCAL_DART_SDK' should usually be set to your Dart SDK checkout and 'FLUTTER_ROOT' to the version of Flutter that DevTools is pinned to.", + "type": "object" + }, + "path": { + "default": "/path/to/devtools", + "description": "The root directory containing a clone of the flutter/devtools repository.", + "type": "string" + } + }, + "scope": "machine-overridable", + "type": "object" + }, + "dart.customFlutterDapPath": { + "default": null, + "description": "The path to a custom Flutter Debug Adapter. This setting is intended for use by Dart Debug Adapter developers.", + "scope": "machine-overridable", + "type": [ + "null", + "string" + ] + }, + "dart.daemonPort": { + "default": null, + "markdownDescription": "EXPERIMENTAL: The port where flutter daemon can be accessed if daemon is run remotely. This setting is intended for use by Google developers.", + "scope": "resource", + "type": [ + "null", + "number" + ] + }, + "dart.dapLogFile": { + "default": null, + "markdownDescription": "The path to a log file for communication with the DAP debug adapters. This is useful when trying to diagnose issues with debugging such as missed breakpoints.", + "scope": "machine-overridable", + "type": [ + "null", + "string" + ] + }, + "dart.dartTestLogFile": { + "default": null, + "markdownDescription": "The path to a log file for Dart test runs. This is useful when trying to diagnose issues with unit test executions. Use `${name}` in the log file name to prevent concurrent debug sessions overwriting each others logs.", + "scope": "machine-overridable", + "type": [ + "null", + "string" + ] + }, + "dart.debugExtensionBackendProtocol": { + "default": "ws", + "description": "The protocol to use for the Dart Debug Extension backend service and injected client. Using WebSockets can improve performance but may fail when connecting through some proxy servers.", + "enum": [ + "sse", + "ws" + ], + "enumDescriptions": [ + "Server-Sent Events", + "WebSockets" + ], + "scope": "window" + }, + "dart.debugExternalPackageLibraries": { + "default": false, + "markdownDescription": "Whether to mark external pub package libraries (including `package:flutter`) as debuggable, enabling stepping into them while debugging.", + "scope": "window", + "type": "boolean" + }, + "dart.debugSdkLibraries": { + "default": false, + "markdownDescription": "Whether to mark Dart SDK libraries (`dart:*`) as debuggable, enabling stepping into them while debugging.", + "scope": "window", + "type": "boolean" + }, + "dart.devToolsBrowser": { + "default": "chrome", + "description": "Whether to launch external DevTools windows using Chrome or the system default browser.", + "enum": [ + "chrome", + "default" + ], + "enumDescriptions": [ + "Locate and launch Google Chrome from your system", + "Use your systems default web browser" + ], + "scope": "window" + }, + "dart.devToolsLocation": { + "additionalProperties": { + "enum": [ + "beside", + "active", + "external" + ], + "enumDescriptions": [ + "Open DevTools in beside the active editor", + "Open DevTools over the top of the active editor", + "Open DevTools externally in its own browser window" + ] + }, + "default": { + "default": "beside" + }, + "markdownDescription": "Which editor/column to open [Dart DevTools](https://dart.dev/tools/dart-devtools) pages in.", + "properties": { + "cpu-profiler": { + "enum": [ + "beside", + "active", + "external" + ], + "enumDescriptions": [ + "Open DevTools in beside the active editor", + "Open DevTools over the top of the active editor", + "Open DevTools externally in its own browser window" + ] + }, + "default": { + "enum": [ + "beside", + "active", + "external" + ], + "enumDescriptions": [ + "Open DevTools in beside the active editor", + "Open DevTools over the top of the active editor", + "Open DevTools externally in its own browser window" + ] + }, + "inspector": { + "enum": [ + "beside", + "active", + "external" + ], + "enumDescriptions": [ + "Open DevTools in beside the active editor", + "Open DevTools over the top of the active editor", + "Open DevTools externally in its own browser window" + ] + }, + "logging": { + "enum": [ + "beside", + "active", + "external" + ], + "enumDescriptions": [ + "Open DevTools in beside the active editor", + "Open DevTools over the top of the active editor", + "Open DevTools externally in its own browser window" + ] + }, + "memory": { + "enum": [ + "beside", + "active", + "external" + ], + "enumDescriptions": [ + "Open DevTools in beside the active editor", + "Open DevTools over the top of the active editor", + "Open DevTools externally in its own browser window" + ] + }, + "network": { + "enum": [ + "beside", + "active", + "external" + ], + "enumDescriptions": [ + "Open DevTools in beside the active editor", + "Open DevTools over the top of the active editor", + "Open DevTools externally in its own browser window" + ] + }, + "performance": { + "enum": [ + "beside", + "active", + "external" + ], + "enumDescriptions": [ + "Open DevTools in beside the active editor", + "Open DevTools over the top of the active editor", + "Open DevTools externally in its own browser window" + ] + } + }, + "scope": "window", + "type": "object" + }, + "dart.devToolsLogFile": { + "default": null, + "description": "The path to a low-traffic log file for the Dart DevTools service.", + "scope": "machine-overridable", + "type": [ + "null", + "string" + ] + }, + "dart.devToolsPort": { + "default": null, + "description": "The port number to be used for the Dart DevTools (requires restart).", + "scope": "window", + "type": [ + "null", + "number" + ] + }, + "dart.devToolsReuseWindows": { + "default": true, + "description": "Whether to try to reuse existing DevTools windows instead of launching new ones. Only works for instances of DevTools launched by the DevTools server on the local machine.", + "scope": "window", + "type": "boolean" + }, + "dart.devToolsTheme": { + "default": "dark", + "description": "The theme to use for Dart DevTools.", + "enum": [ + "dark", + "light" + ], + "scope": "window" + }, + "dart.doNotFormat": { + "default": [], + "items": { + "type": "string" + }, + "markdownDescription": "**LEGACY SETTING: Only applies to legacy analysis server protocol.**\n\nAn array of glob patterns that should be excluded for formatting. The pattern is matched against the absolute path of the file. Use `**/test/**` to skip formatting for all test directories.", + "scope": "resource", + "type": "array" + }, + "dart.documentation": { + "enum": [ + "full", + "summary", + "none" + ], + "enumDescriptions": [ + "Show full documentation", + "Show short documentatin summary", + "Do not show documentation" + ], + "markdownDescription": "What level of documentation to show in Hovers and Code Completion details. When `null`, defaults to 'full' when running locally and 'none' in remote workspaces. This setting is only supported for Dart SDKs after v2.18.", + "scope": "window", + "type": [ + "null", + "string" + ] + }, + "dart.enableCompletionCommitCharacters": { + "default": false, + "markdownDescription": "Whether to automatically commit the selected completion item when pressing certain keys such as . , ( and \\[. This setting does not currently apply to LSP, see `#dart.previewCommitCharacters#`.", + "scope": "resource", + "type": "boolean" + }, + "dart.enableSdkFormatter": { + "default": true, + "markdownDescription": "Whether to enable the [dart_style](https://pub.dev/packages/dart_style) formatter for Dart code.", + "scope": "window", + "type": "boolean" + }, + "dart.enableServerSnippets": { + "default": true, + "markdownDescription": "Whether to use code snippets from the Dart Analysis Server instead of those included in the extension. Server snippets are context and language-version aware and should be preferred.", + "scope": "window", + "type": "boolean" + }, + "dart.enableSnippets": { + "default": true, + "description": "Whether to include Dart and Flutter snippets in code completion.", + "scope": "window", + "type": "boolean" + }, + "dart.env": { + "default": {}, + "description": "Additional environment variables to be added to all Dart/Flutter processes spawned by the Dart and Flutter extensions.", + "scope": "window", + "type": "object" + }, + "dart.evaluateGettersInDebugViews": { + "default": true, + "description": "Whether to evaluate getters in order to display them in debug views (such as the Variables, Watch and Hovers views).", + "scope": "resource", + "type": "boolean" + }, + "dart.evaluateToStringInDebugViews": { + "default": true, + "description": "Whether to call toString() on objects when rendering them in debug views (such as the Variables, Watch and Hovers views). Only applies to views of 100 or fewer values for performance reasons.", + "scope": "window", + "type": "boolean" + }, + "dart.experimentalRefactors": { + "default": false, + "markdownDescription": "Whether to enable experimental (possibly unfinished or unstable) refactors on the lightbulb menu. This setting is intended for use by Dart Analysis Server developers or users that want to try out and provide feedback on in-progress refactors.", + "scope": "window", + "type": "boolean" + }, + "dart.extensionLogFile": { + "default": null, + "description": "The path to a low-traffic log file for basic extension and editor issues.", + "scope": "machine-overridable", + "type": [ + "null", + "string" + ] + }, + "dart.flutterAdbConnectOnChromeOs": { + "default": false, + "markdownDescription": "Whether to automatically run `adb connect 100.115.92.2:5555` when spawning the Flutter daemon when running on Chrome OS.", + "scope": "window", + "type": "boolean" + }, + "dart.flutterAdditionalArgs": { + "default": [], + "items": { + "type": "string" + }, + "markdownDescription": "Additional args to pass to all `flutter` commands including `flutter daemon`. Do not use this to pass arguments to your Flutter app, use the `args` field in a `launch.json` or the `#dart.flutterRunAdditionalArgs#` setting.", + "scope": "resource", + "type": "array" + }, + "dart.flutterAttachAdditionalArgs": { + "default": [], + "items": { + "type": "string" + }, + "markdownDescription": "Additional args to pass to the `flutter attach` command. Using the `args`/`toolArgs` fields in `launch.json` is usually better than this setting as this setting will apply to _all_ projects.", + "scope": "resource", + "type": "array" + }, + "dart.flutterCreateAndroidLanguage": { + "default": "kotlin", + "description": "The programming language to use for Android apps when creating new projects using the 'Flutter: New Project' command.", + "enum": [ + "java", + "kotlin" + ], + "scope": "window" + }, + "dart.flutterCreateIOSLanguage": { + "default": "swift", + "description": "The programming language to use for iOS apps when creating new projects using the 'Flutter: New Project' command.", + "enum": [ + "objc", + "swift" + ], + "scope": "window" + }, + "dart.flutterCreateOrganization": { + "default": null, + "markdownDescription": "The organization responsible for your new Flutter project, in reverse domain name notation (e.g. `com.google`). This string is used in Java package names and as prefix in the iOS bundle identifier when creating new projects using the 'Flutter: New Project' command.", + "scope": "window", + "type": [ + "null", + "string" + ] + }, + "dart.flutterCreatePlatforms": { + "default": null, + "description": "The platforms to enable for new projects created using the 'Flutter: New Project' command. If unset, all platforms will be enabled.", + "items": { + "type": "string" + }, + "scope": "window", + "type": "array" + }, + "dart.flutterCustomEmulators": { + "default": [], + "description": "Custom emulators to show in the emulator list for easier launching. If IDs match existing emulators returned by Flutter, the custom emulators will override them.", + "items": { + "properties": { + "args": { + "items": { + "type": "string" + }, + "type": "array" + }, + "env": {}, + "executable": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "type": "object" + }, + "scope": "window", + "type": "array" + }, + "dart.flutterDaemonLogFile": { + "default": null, + "markdownDescription": "The path to a log file for the `flutter daemon` service, which provides information about connected devices to show in the status bar.", + "scope": "machine-overridable", + "type": [ + "null", + "string" + ] + }, + "dart.flutterGenerateLocalizationsOnSave": { + "default": "never", + "enum": [ + "never", + "manual", + "manualIfDirty", + "all", + "allIfDirty" + ], + "enumDescriptions": [ + "Do not generate localizations when saving", + "Generate localizations for explicit manual saves (requires pressing Save explicitly if using autosave)", + "Generate localizations for explicit manual saves (requires pressing Save explicitly if using autosave) only if the saved file had changes", + "Generate localizations for all saves, manual or automatic", + "Generate localizations for all saves, manual or automatic only if the saved file had changes" + ], + "markdownDescription": "Whether to automatically run the Generate Localizations command for Flutter apps when saving .arb files.", + "scope": "window" + }, + "dart.flutterGutterIcons": { + "default": true, + "description": "Whether to show Flutter icons and colors in the editor gutter.", + "scope": "window", + "type": "boolean" + }, + "dart.flutterHotReloadOnSave": { + "default": "manual", + "enum": [ + "never", + "manual", + "manualIfDirty", + "all", + "allIfDirty" + ], + "enumDescriptions": [ + "Do not reload when saving", + "Reload for explicit manual saves (requires pressing Save explicitly if using autosave)", + "Reload for explicit manual saves (requires pressing Save explicitly if using autosave) only if the saved file had changes", + "Reload for all saves, manual or automatic", + "Reload for all saves, manual or automatic only if the saved file had changes" + ], + "markdownDescription": "Whether to automatically send a Hot Reload request to Flutter apps during a debug session when saving files. Dart apps are controlled by the hotReloadOnSave setting.", + "scope": "window" + }, + "dart.flutterOutline": { + "default": true, + "description": "Whether to show the Flutter Outline tree in the sidebar.", + "scope": "window", + "type": "boolean" + }, + "dart.flutterRememberSelectedDevice": { + "default": true, + "description": "Whether to remember which device was last (explicitly) selected for each project. When the remembered device is selected, it will prevent newly-connected mobile devices from being automatically selected (regardless of the `#dart.flutterSelectDeviceWhenConnected#` setting).", + "scope": "window", + "type": "boolean" + }, + "dart.flutterRunAdditionalArgs": { + "default": [], + "items": { + "type": "string" + }, + "markdownDescription": "Additional args to pass to the `flutter run` command. Using the `args`/`toolArgs` fields in `launch.json` is usually better than this setting as this setting will apply to _all_ projects.", + "scope": "resource", + "type": "array" + }, + "dart.flutterRunLogFile": { + "default": null, + "markdownDescription": "The path to a log file for `flutter run`, which is used to launch Flutter apps from VS Code. This is useful when trying to diagnose issues with apps launching (or failing to) on simulators and devices. Use `${name}` in the log file name to prevent concurrent debug sessions overwriting each others logs.", + "scope": "machine-overridable", + "type": [ + "null", + "string" + ] + }, + "dart.flutterScreenshotPath": { + "default": null, + "description": "The path to a directory to save Flutter screenshots.", + "scope": "machine-overridable", + "type": [ + "null", + "string" + ] + }, + "dart.flutterSdkPath": { + "default": null, + "markdownDescription": "The location of the Flutter SDK to use. If blank (or not a valid SDK), Dart Code will attempt to find it from the project directory, `FLUTTER_ROOT` environment variable and the `PATH` environment variable.", + "scope": "machine-overridable", + "type": [ + "null", + "string" + ] + }, + "dart.flutterSdkPaths": { + "default": [], + "description": "An array of paths that either directly point to a Flutter SDK or the parent directory of multiple Flutter SDKs that can be used for fast SDK switching. These paths are not used directly when searching for an SDK. When this setting is populated, the version number in the status bar can be used to quickly switch between SDKs.", + "items": { + "type": "string" + }, + "scope": "machine-overridable", + "type": "array" + }, + "dart.flutterSelectDeviceWhenConnected": { + "default": true, + "description": "Whether to set newly connected devices as the current device in Flutter projects.", + "scope": "window", + "type": "boolean" + }, + "dart.flutterShowEmulators": { + "default": "local", + "enum": [ + "local", + "always", + "never" + ], + "enumDescriptions": [ + "Only show for local workspaces", + "Always show, even for remote sessions", + "Never show emulators" + ], + "markdownDescription": "When to show the Flutter emulators. These are usually hidden for remote workspaces because it is usually not possible to see or interact with emulators in a remote session. If you are using remoting/containers in a way that you can interact with launched emulator processes, you may wish to set this to 'always'.", + "scope": "window" + }, + "dart.flutterShowWebServerDevice": { + "default": "remote", + "enum": [ + "remote", + "always" + ], + "enumDescriptions": [ + "Only show for remote workspaces (includes browser-based workspaces)", + "Always show, even for local sessions" + ], + "markdownDescription": "When to show the Flutter headless web-server device. This requires using the Dart Debug extension for Chrome and is usually only used for remote environments where Chrome is not available such as browser/cloud-based IDEs (requires restart).", + "scope": "window" + }, + "dart.flutterTestAdditionalArgs": { + "default": [], + "items": { + "type": "string" + }, + "markdownDescription": "Additional args to pass to the `flutter test` command. Using the `args`/`toolArgs` fields in `launch.json` is usually better than this setting as this setting will apply to _all_ projects.", + "scope": "resource", + "type": "array" + }, + "dart.flutterTestLogFile": { + "default": null, + "markdownDescription": "The path to a log file for `flutter test`, which is used to run unit tests from VS Code. This is useful when trying to diagnose issues with unit test executions. Use `${name}` in the log file name to prevent concurrent debug sessions overwriting each others logs.", + "scope": "machine-overridable", + "type": [ + "null", + "string" + ] + }, + "dart.flutterTrackWidgetCreation": { + "default": true, + "markdownDescription": "**LEGACY SETTING: Disabling this may break functionality on modern SDKs.**\n\nWhether to pass `--track-widget-creation` to Flutter apps (required to support 'Inspect Widget'). This setting is always ignored when running in Profile or Release mode.", + "scope": "resource", + "type": "boolean" + }, + "dart.flutterWebRenderer": { + "default": "flutter-default", + "enum": [ + "flutter-default", + "canvaskit", + "html", + "auto" + ], + "enumDescriptions": [ + "Use the default renderer for Flutter Web apps", + "Always use the CanvasKit renderer", + "Always use the HTML renderer", + "Use Flutter's \"auto\" renderer option to pick the best renderer based on the users device" + ], + "markdownDescription": "Sets the [Web renderer](https://flutter.dev/docs/development/tools/web-renderers) used for Flutter web apps.", + "scope": "window" + }, + "dart.hotReloadOnSave": { + "default": "never", + "enum": [ + "never", + "manual", + "manualIfDirty", + "all", + "allIfDirty" + ], + "enumDescriptions": [ + "Do not reload when saving", + "Reload for explicit manual saves (requires pressing Save explicitly if using autosave)", + "Reload for explicit manual saves (requires pressing Save explicitly if using autosave) only if the saved file had changes", + "Reload for all saves, manual or automatic", + "Reload for all saves, manual or automatic only if the saved file had changes" + ], + "markdownDescription": "Whether to automatically send a Hot Reload request to Dart apps during a debug session when saving files. Flutter apps are controlled by the flutterHotReloadOnSave setting.", + "scope": "window" + }, + "dart.hotReloadPatterns": { + "default": [], + "items": { + "type": "string" + }, + "markdownDescription": "An array of glob patterns that should trigger Hot Reload when saved. The pattern is matched against the absolute path of the file. Use `**/assets/**` to trigger reloading for everything in the assets directory.", + "scope": "resource", + "type": "array" + }, + "dart.hotReloadProgress": { + "default": "notification", + "description": "Determines how to display Hot Restart and Hot Reload progress.", + "enum": [ + "notification", + "statusBar" + ], + "enumDescriptions": [ + "Hot reload progress will be shown in a toast notification", + "Hot reload progress will be shown only in the status bar" + ], + "scope": "window" + }, + "dart.includeDependenciesInWorkspaceSymbols": { + "default": true, + "markdownDescription": "Whether to include symbols from the SDK and package dependencies in the \"Go to Symbol in Workspace\" (`cmd/ctrl`+`T`) list. This can only be disabled when using Dart 3.0 / Flutter 3.10 or later.", + "scope": "window", + "type": "boolean" + }, + "dart.insertArgumentPlaceholders": { + "default": true, + "markdownDescription": "Whether to insert argument placeholders during code completions. This feature is automatically disabled when `enableCompletionCommitCharacters` is enabled.", + "scope": "resource", + "type": "boolean" + }, + "dart.lineLength": { + "default": 80, + "markdownDescription": "The maximum length of a line of code. This is used by the document formatter. If you change this value, you may wish to update `editor.rulers` (which draws vertical lines in the editor) in the `[\"dart\"]` section if your settings to match.", + "scope": "resource", + "type": "integer" + }, + "dart.lspSnippetTextEdits": { + "default": true, + "markdownDescription": "Whether to enable [Snippet support in LSP TextEdits](https://github.com/rust-analyzer/rust-analyzer/blob/979e788957ced1957ee9ac1da70fb97abf9fe2b1/docs/dev/lsp-extensions.md#snippet-textedit).", + "scope": "window", + "type": "boolean" + }, + "dart.maxCompletionItems": { + "description": "The maximum number of completion items to return from a code completion request. Updated results will be fetched as additional characters are typed. Lower numbers may improved performance. Defaults to a lower value in remote workspaces. Only affects LSP for > Dart SDK 2.17.", + "scope": "window", + "type": [ + "null", + "number" + ] + }, + "dart.maxLogLineLength": { + "default": 2000, + "description": "The maximum length of a line in the log file. Lines longer than this will be truncated and suffixed with an ellipsis.", + "scope": "window", + "type": "number" + }, + "dart.normalizeFileCasing": { + "default": false, + "description": "Whether to normalize file casings before sending them to the LSP server. This may fix issues with file_names lints not disappearing after renaming a file if the VS Code API continues to use the original casing.", + "scope": "window", + "type": "boolean" + }, + "dart.notifyAnalyzerErrors": { + "default": true, + "description": "Whether to show a notification the first few times an Analysis Server exception occurs.", + "scope": "window", + "type": "boolean" + }, + "dart.offline": { + "default": false, + "description": "Whether to use the --offline switch for commands like 'pub get' and 'Flutter: New Project'.", + "scope": "window", + "type": "boolean" + }, + "dart.onlyAnalyzeProjectsWithOpenFiles": { + "default": false, + "description": "Whether to ignore workspace folders and perform analysis based on the open files, as if no workspace was open at all. This allows opening large folders without causing them to be completely analyzed.", + "scope": "window", + "type": "boolean" + }, + "dart.openDevTools": { + "default": "never", + "description": "Whether to automatically open DevTools at the start of a debug session. If embedded DevTools is enabled, this will launch the Widget Inspector embedded for Flutter projects, or launch DevTools externally in a browser for Dart projects.", + "enum": [ + "never", + "flutter", + "always" + ], + "enumDescriptions": [ + "Do not automatically launch DevTools when starting a debug session", + "Automatically launch DevTools when starting a Flutter debug session", + "Automatically launch DevTools when starting any debug session" + ], + "scope": "window" + }, + "dart.openTestView": { + "default": [ + "testRunStart" + ], + "description": "When to automatically switch focus to the test list (array to support multiple values).", + "items": { + "enum": [ + "testRunStart", + "testFailure" + ] + }, + "scope": "window", + "type": "array" + }, + "dart.previewCommitCharacters": { + "default": false, + "description": "EXPERIMENTAL: Whether to enable commit characters for the LSP server. In a future release, the dart.enableCompletionCommitCharacters setting will also apply to LSP.", + "scope": "window", + "type": "boolean" + }, + "dart.previewFlutterUiGuides": { + "default": false, + "markdownDescription": "EXPERIMENTAL: Whether to enable the [Flutter UI Guides preview](https://dartcode.org/releases/v3-1/#preview-flutter-ui-guides).", + "scope": "window", + "type": "boolean" + }, + "dart.previewFlutterUiGuidesCustomTracking": { + "default": false, + "description": "EXPERIMENTAL: Whether to enable custom tracking of Flutter UI guidelines (to hide some latency of waiting for the next Flutter Outline).", + "scope": "window", + "type": "boolean" + }, + "dart.previewHotReloadOnSaveWatcher": { + "default": false, + "markdownDescription": "Whether to perform hot reload on save based on a filesystem watcher for Dart files rather than using VS Code's `onDidSave` event. This allows reloads to trigger when external tools modify Dart source files.", + "scope": "window", + "type": "boolean" + }, + "dart.projectSearchDepth": { + "default": 5, + "description": "How many levels (including the workspace roots) down the workspace to search for Dart/Flutter projects. Increasing this number may help detect Flutter projects that are deeply nested in your workspace but slow down all operations that search for projects, including extension activation.", + "scope": "window", + "type": "number" + }, + "dart.promptToGetPackages": { + "default": true, + "description": "Whether to prompt to get/upgrade packages when opening a project with missing/out of date packages.", + "scope": "resource", + "type": "boolean" + }, + "dart.promptToRunIfErrors": { + "default": true, + "description": "Whether to prompt before running if there are errors in your project. Test scripts will be excluded from the check unless they're the script being run.", + "scope": "window", + "type": "boolean" + }, + "dart.pubAdditionalArgs": { + "default": [], + "items": { + "type": "string" + }, + "markdownDescription": "Additional args to pass to all `pub` commands.", + "scope": "resource", + "type": "array" + }, + "dart.renameFilesWithClasses": { + "default": "never", + "enum": [ + "never", + "prompt", + "always" + ], + "markdownDescription": "Whether to rename files when renaming classes with matching names (for example renaming 'class Person' inside 'person.dart'). If set to 'prompt', will ask each time before renaming. If set to 'always', the file will automatically be renamed. This setting requires using LSP and a Dart SDK of at least v2.15.", + "scope": "window" + }, + "dart.runPubGetOnNestedProjects": { + "default": "none", + "enum": [ + "none", + "both", + "above", + "below" + ], + "enumDescriptions": [ + "Only run `pub get` for the project whose pubspec was changed", + "Run `pub get` also in parent or child projects of the one whose pubspec was changed", + "Run `pub get` also in parent projects of the one whose pubspec was changed", + "Run `pub get` also in child projects of the one whose pubspec was changed" + ], + "markdownDescription": "Whether to automatically run `pub get` on nested projects above or below the one where the pubspec was changed.", + "scope": "window" + }, + "dart.runPubGetOnPubspecChanges": { + "default": "always", + "enum": [ + "always", + "prompt", + "never" + ], + "enumDescriptions": [ + "Always run when pubspec is changed", + "Prompt to run when pubspec is changed", + "Never run when pubspec is changed" + ], + "markdownDescription": "Whether to run `pub get` whenever `pubspec.yaml` is saved.", + "scope": "resource" + }, + "dart.sdkPath": { + "default": null, + "markdownDescription": "The location of the Dart SDK to use for analyzing and executing code. If blank (or not a valid SDK), Dart Code will attempt to find it from the `PATH` environment variable. When editing a Flutter project, the version of Dart included in the Flutter SDK is used in preference.", + "scope": "machine-overridable", + "type": [ + "null", + "string" + ] + }, + "dart.sdkPaths": { + "default": [], + "description": "An array of paths that either directly point to a Dart SDK or the parent directory of multiple Dart SDKs that can be used for fast SDK switching. These paths are not used directly when searching for an SDK. When this setting is populated, the SDK version number in the status bar can be used to quickly switch between SDKs.", + "items": { + "type": "string" + }, + "scope": "machine-overridable", + "type": "array" + }, + "dart.sdkSwitchingTarget": { + "default": "workspace", + "description": "Where to save SDK selections when using fast SDK switching from the language status entry.", + "enum": [ + "workspace", + "global" + ], + "enumDescriptions": [ + "Save the SDK path in the current workspace settings", + "Save the SDK path in your global user settings and clear any workspace setting" + ], + "scope": "window" + }, + "dart.shareDevToolsWithFlutter": { + "default": true, + "markdownDescription": "Whether to eagerly run DevTools for Flutter workspaces and share the spawned server with `flutter run`.", + "scope": "window", + "type": "boolean" + }, + "dart.showDartDeveloperLogs": { + "default": true, + "markdownDescription": "Whether to show logs from the `dart:developer` `log()` function in the debug console.", + "scope": "resource", + "type": "boolean" + }, + "dart.showDartPadSampleCodeLens": { + "default": true, + "description": "Whether to show CodeLens actions in the editor for opening online DartPad samples.", + "scope": "window", + "type": "boolean" + }, + "dart.showDebuggerNumbersAsHex": { + "default": false, + "markdownDescription": "Whether to show integers formatted as Hex in Variables, Watch, Debug Consoles.", + "scope": "window", + "type": "boolean" + }, + "dart.showDevToolsDebugToolBarButtons": { + "default": true, + "description": "Whether to show DevTools buttons in the floating Debug toolbar.", + "scope": "window", + "type": "boolean" + }, + "dart.showExtensionRecommendations": { + "default": true, + "description": "Whether to show recommendations for other VS Code extensions based on the packages you're using.", + "scope": "window", + "type": "boolean" + }, + "dart.showGettersInDebugViews": { + "default": true, + "markdownDescription": "Whether to show getters in order to display them in debug views (such as the Variables, Watch and Hovers views). If `evaluateGettersInDebugViews` is `true` getters will be eagerly evaluated, otherwise they will require clicking to evaluate.", + "scope": "resource", + "type": "boolean" + }, + "dart.showInspectorNotificationsForWidgetErrors": { + "default": true, + "markdownDescription": "Whether to show notifications for widget errors that offer Inspect Widget links. This requires that the `#dart.shareDevToolsWithFlutter#` setting is also enabled.", + "scope": "window", + "type": "boolean" + }, + "dart.showMainCodeLens": { + "default": true, + "description": "Whether to show CodeLens actions in the editor for quick running / debugging scripts with main functions.", + "scope": "window", + "type": "boolean" + }, + "dart.showSkippedTests": { + "default": true, + "markdownDescription": "Whether to show skipped tests in the test tree.", + "scope": "window", + "type": "boolean" + }, + "dart.showTestCodeLens": { + "default": true, + "description": "Whether to show CodeLens actions in the editor for quick running / debugging tests.", + "scope": "window", + "type": "boolean" + }, + "dart.showTodos": { + "default": true, + "description": "Whether to show TODOs in the Problems list. Can be a boolean to enable all TODO comments (TODO, FIXME, HACK, UNDONE) or an array of which types to enable. Older Dart SDKs may not support some TODO kinds.", + "items": { + "type": "string" + }, + "scope": "window", + "type": [ + "boolean", + "array" + ] + }, + "dart.suppressTestTimeouts": { + "default": "never", + "enum": [ + "never", + "debug", + "always" + ], + "enumDescriptions": [ + "Do not suppress test timeouts", + "Suppress test timeouts when Debugging", + "Suppress test timeouts both when Running and Debugging" + ], + "markdownDescription": "Whether to suppress test timeouts when running/debugging tests. To work properly this requires package:test version 1.20.1 or newer. For older versions, the default timeout will be increased to 1d but this will not affect tests that have explicit (non-factor) timeouts set with @timeout.", + "scope": "resource" + }, + "dart.testAdditionalArgs": { + "default": [], + "items": { + "type": "string" + }, + "markdownDescription": "Additional args to pass to the `dart test` command. Using the `args`/`toolArgs` fields in `launch.json` is usually better than this setting as this setting will apply to _all_ projects.", + "scope": "resource", + "type": "array" + }, + "dart.testInvocationMode": { + "default": "name", + "description": "How to identify tests when running/debugging. `name` is compatible with older versions of `package:test` but cannot handle some complex/dynamic test names. `line` will prefer to run tests by their line numbers (when available) and fall back to `name` only if the line number is unavailable.", + "enum": [ + "name", + "line" + ], + "scope": "window" + }, + "dart.toolingDaemonLogFile": { + "default": null, + "markdownDescription": "The path to a log file for the `dart tooling-daemon` service, which coordinates between various Dart and Flutter tools and extensions.", + "scope": "machine-overridable", + "type": [ + "null", + "string" + ] + }, + "dart.updateDevTools": { + "default": true, + "markdownDescription": "**LEGACY SETTING: Only applies to Dart SDKs before v2.15 since DevTools now ships in the SDK.**\n\nWhether to update DevTools if you are not using the latest version.", + "scope": "window", + "type": "boolean" + }, + "dart.updateImportsOnRename": { + "default": true, + "description": "Whether to automatically update imports when moving or renaming files. Currently only supports single file moves / renames.", + "scope": "window", + "type": "boolean" + }, + "dart.useLegacyAnalyzerProtocol": { + "default": false, + "markdownDescription": "**LEGACY SETTING: Only applies to Dart SDKs before v3.3 and is generally not recommended since v2.12.**\n\n Whether to use the Dart Analyzer's original protocol instead of LSP. Some features are not supported when using the legacy protocol and support for it will eventually be removed. Please file issues on GitHub in the Dart Code repo if you find yourself needing to enable this setting.", + "scope": "window", + "type": "boolean" + }, + "dart.useLegacyDebugAdapters": { + "default": null, + "markdownDescription": "**LEGACY SETTING: Legacy debug adapters are not recommended since Dart v3.4.**\n\nWhether to use the legacy debug adapters even if the new debug adapters are available in the current Dart/Flutter SDKs contain. Setting the value to `true` will force use of the legacay adapters. Setting to `false` will force use of the SDK adapters. Leaving as `null` will allow the extension to decide which debug adapters to use depending on the SDK version and rollout progress.", + "scope": "window", + "type": [ + "null", + "boolean" + ] + }, + "dart.vmAdditionalArgs": { + "default": [], + "items": { + "type": "string" + }, + "markdownDescription": "Arguments to be passed to the Dart VM when running Dart CLI scripts.\n\nThese arguments appear between \"dart\" and \"run\":\n\n`dart (vmAdditionalArgs) run (toolArgs) bin/main.dart (args)`", + "scope": "resource", + "type": "array" + }, + "dart.vmServiceLogFile": { + "default": null, + "markdownDescription": "The path to a log file for communication between Dart Code and the VM service. This is useful when trying to diagnose issues with debugging such as missed breakpoints. Use `${name}` in the log file name to prevent concurrent debug sessions overwriting each others logs.", + "scope": "machine-overridable", + "type": [ + "null", + "string" + ] + }, + "dart.warnWhenEditingFilesInPubCache": { + "default": true, + "markdownDescription": "Whether to show a warning when modifying files in the [system package cache](https://dart.dev/tools/pub/glossary#system-cache) directory.", + "scope": "window", + "type": "boolean" + }, + "dart.warnWhenEditingFilesOutsideWorkspace": { + "default": true, + "description": "Whether to show a warning when modifying files outside of the workspace.", + "scope": "window", + "type": "boolean" + }, + "dart.webDaemonLogFile": { + "default": null, + "markdownDescription": "The path to a log file for communication between Dart Code and the webdev daemon. This is useful when trying to diagnose issues with launching web apps. Use `${name`} in the log file name to prevent concurrent debug sessions overwriting each others logs.", + "scope": "machine-overridable", + "type": [ + "null", + "string" + ] + } + } } diff --git a/schemas/hie.json b/schemas/hie.json index 276c568..16476b6 100644 --- a/schemas/hie.json +++ b/schemas/hie.json @@ -2,6 +2,17 @@ "$schema": "http://json-schema.org/draft-07/schema#", "description": "Haskell language support powered by the Haskell Language Server", "properties": { + "haskell.cabalFormattingProvider": { + "default": "cabal-gild", + "description": "The formatter to use when formatting a document or range of a cabal formatter. Ensure the plugin is enabled.", + "enum": [ + "cabal-gild", + "cabal-fmt", + "none" + ], + "scope": "resource", + "type": "string" + }, "haskell.checkProject": { "default": true, "description": "Whether to typecheck the entire project on load. It could drive to bad performance in large projects.", diff --git a/schemas/index.json b/schemas/index.json deleted file mode 100644 index ed7f8c6..0000000 --- a/schemas/index.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "als": "https://raw.githubusercontent.com/AdaCore/ada_language_server/master/integration/vscode/ada/package.json", - "astro": "https://raw.githubusercontent.com/withastro/language-tools/main/packages/vscode/package.json", - "awkls": "https://raw.githubusercontent.com/Beaglefoot/awk-language-server/master/client/package.json", - "bashls": "https://raw.githubusercontent.com/bash-lsp/bash-language-server/master/vscode-client/package.json", - "clangd": "https://raw.githubusercontent.com/clangd/vscode-clangd/master/package.json", - "cssls": "https://raw.githubusercontent.com/microsoft/vscode/main/extensions/css-language-features/package.json", - "dartls": "https://raw.githubusercontent.com/Dart-Code/Dart-Code/master/package.json", - "denols": "https://raw.githubusercontent.com/denoland/vscode_deno/main/package.json", - "elixirls": "https://raw.githubusercontent.com/elixir-lsp/vscode-elixir-ls/master/package.json", - "elmls": "https://raw.githubusercontent.com/elm-tooling/elm-language-client-vscode/master/package.json", - "eslint": "https://raw.githubusercontent.com/microsoft/vscode-eslint/main/package.json", - "flow": "https://raw.githubusercontent.com/flowtype/flow-for-vscode/master/package.json", - "fsautocomplete": "https://raw.githubusercontent.com/ionide/ionide-vscode-fsharp/main/release/package.json", - "grammarly": "https://raw.githubusercontent.com/znck/grammarly/main/extension/package.json", - "haxe_language_server": "https://raw.githubusercontent.com/vshaxe/vshaxe/master/package.json", - "hhvm": "https://raw.githubusercontent.com/slackhq/vscode-hack/master/package.json", - "hie": "https://raw.githubusercontent.com/alanz/vscode-hie-server/master/package.json", - "html": "https://raw.githubusercontent.com/microsoft/vscode/main/extensions/html-language-features/package.json", - "intelephense": "https://raw.githubusercontent.com/bmewburn/vscode-intelephense/master/package.json", - "java_language_server": "https://raw.githubusercontent.com/georgewfraser/java-language-server/master/package.json", - "jdtls": "https://raw.githubusercontent.com/redhat-developer/vscode-java/master/package.json", - "jsonls": "https://raw.githubusercontent.com/microsoft/vscode/master/extensions/json-language-features/package.json", - "julials": "https://raw.githubusercontent.com/julia-vscode/julia-vscode/master/package.json", - "kotlin_language_server": "https://raw.githubusercontent.com/fwcd/vscode-kotlin/master/package.json", - "ltex": "https://raw.githubusercontent.com/valentjn/vscode-ltex/develop/package.json", - "lua_ls": "https://raw.githubusercontent.com/LuaLS/vscode-lua/master/package.json", - "luau_lsp": "https://raw.githubusercontent.com/JohnnyMorganz/luau-lsp/main/editors/code/package.json", - "nickel_ls": "https://raw.githubusercontent.com/tweag/nickel/master/lsp/client-extension/package.json", - "omnisharp": "https://raw.githubusercontent.com/OmniSharp/omnisharp-vscode/master/package.json", - "perlls": "https://raw.githubusercontent.com/richterger/Perl-LanguageServer/master/clients/vscode/perl/package.json", - "perlnavigator": "https://raw.githubusercontent.com/bscan/PerlNavigator/main/package.json", - "perlpls": "https://raw.githubusercontent.com/FractalBoy/perl-language-server/master/client/package.json", - "powershell_es": "https://raw.githubusercontent.com/PowerShell/vscode-powershell/main/package.json", - "psalm": "https://raw.githubusercontent.com/psalm/psalm-vscode-plugin/master/package.json", - "puppet": "https://raw.githubusercontent.com/puppetlabs/puppet-vscode/main/package.json", - "purescriptls": "https://raw.githubusercontent.com/nwolverson/vscode-ide-purescript/master/package.json", - "pylsp": "https://raw.githubusercontent.com/python-lsp/python-lsp-server/develop/pylsp/config/schema.json", - "pyright": "https://raw.githubusercontent.com/microsoft/pyright/master/packages/vscode-pyright/package.json", - "r_language_server": "https://raw.githubusercontent.com/REditorSupport/vscode-r-lsp/master/package.json", - "rescriptls": "https://raw.githubusercontent.com/rescript-lang/rescript-vscode/master/package.json", - "rls": "https://raw.githubusercontent.com/rust-lang/vscode-rust/master/package.json", - "rome": "https://raw.githubusercontent.com/rome/tools/main/editors/vscode/package.json", - "rust_analyzer": "https://raw.githubusercontent.com/rust-analyzer/rust-analyzer/master/editors/code/package.json", - "solargraph": "https://raw.githubusercontent.com/castwide/vscode-solargraph/master/package.json", - "solidity_ls": "https://raw.githubusercontent.com/juanfranblanco/vscode-solidity/master/package.json", - "sorbet": "https://raw.githubusercontent.com/sorbet/sorbet/master/vscode_extension/package.json", - "sourcekit": "https://raw.githubusercontent.com/swift-server/vscode-swift/main/package.json", - "spectral": "https://raw.githubusercontent.com/stoplightio/vscode-spectral/master/package.json", - "stylelint_lsp": "https://raw.githubusercontent.com/bmatcuk/coc-stylelintplus/master/package.json", - "sumneko_lua": "https://raw.githubusercontent.com/LuaLS/vscode-lua/master/package.json", - "svelte": "https://raw.githubusercontent.com/sveltejs/language-tools/master/packages/svelte-vscode/package.json", - "svlangserver": "https://raw.githubusercontent.com/eirikpre/VSCode-SystemVerilog/master/package.json", - "tailwindcss": "https://raw.githubusercontent.com/tailwindlabs/tailwindcss-intellisense/master/packages/vscode-tailwindcss/package.json", - "terraformls": "https://raw.githubusercontent.com/hashicorp/vscode-terraform/master/package.json", - "tsserver": "https://raw.githubusercontent.com/microsoft/vscode/main/extensions/typescript-language-features/package.json", - "volar": "https://raw.githubusercontent.com/vuejs/language-tools/master/packages/vscode-vue/package.json", - "vtsls": "https://raw.githubusercontent.com/yioneko/vtsls/main/packages/service/configuration.schema.json", - "vuels": "https://raw.githubusercontent.com/vuejs/vetur/master/package.json", - "wgls_analyzer": "https://raw.githubusercontent.com/wgsl-analyzer/wgsl-analyzer/main/editors/code/package.json", - "yamlls": "https://raw.githubusercontent.com/redhat-developer/vscode-yaml/master/package.json", - "zeta_note": "https://raw.githubusercontent.com/artempyanykh/zeta-note-vscode/main/package.json", - "zls": "https://raw.githubusercontent.com/zigtools/zls-vscode/master/package.json" -} \ No newline at end of file diff --git a/schemas/jdtls.json b/schemas/jdtls.json index fc85328..684d695 100644 --- a/schemas/jdtls.json +++ b/schemas/jdtls.json @@ -1,5 +1,1112 @@ { "$schema": "http://json-schema.org/draft-07/schema#", "description": "Java Linting, Intellisense, formatting, refactoring, Maven/Gradle support and more...", - "properties": [] + "properties": { + "java.autobuild.enabled": { + "default": true, + "description": "Enable/disable the 'auto build'", + "order": 10, + "scope": "window", + "type": "boolean" + }, + "java.cleanup.actions": { + "default": [ + "renameFileToType" + ], + "items": { + "enum": [ + "qualifyMembers", + "qualifyStaticMembers", + "addOverride", + "addDeprecated", + "stringConcatToTextBlock", + "invertEquals", + "addFinalModifier", + "instanceofPatternMatch", + "lambdaExpressionFromAnonymousClass", + "lambdaExpression", + "switchExpression", + "tryWithResource", + "renameFileToType" + ], + "type": "string" + }, + "markdownDescription": "The list of clean ups to be run on the current document when it's saved or when the cleanup command is issued. Clean ups can automatically fix code style or programming mistakes. Click [HERE](command:_java.learnMoreAboutCleanUps) to learn more about what each clean up does.", + "order": 10, + "scope": "window", + "type": "array" + }, + "java.cleanup.actionsOnSave": { + "default": [], + "deprecationMessage": "Deprecated, please use 'java.cleanup.actions' instead.", + "items": { + "enum": [ + "qualifyMembers", + "qualifyStaticMembers", + "addOverride", + "addDeprecated", + "stringConcatToTextBlock", + "invertEquals", + "addFinalModifier", + "instanceofPatternMatch", + "lambdaExpressionFromAnonymousClass", + "lambdaExpression", + "switchExpression", + "tryWithResource" + ], + "type": "string" + }, + "scope": "window", + "type": "array" + }, + "java.codeAction.sortMembers.avoidVolatileChanges": { + "default": true, + "description": "Reordering of fields, enum constants, and initializers can result in semantic and runtime changes due to different initialization and persistence order. This setting prevents this from occurring.", + "scope": "window", + "type": "boolean" + }, + "java.codeGeneration.addFinalForNewDeclaration": { + "default": "none", + "description": "Whether to generate the 'final' modifer for code actions that create new declarations.", + "enum": [ + "none", + "fields", + "variables", + "all" + ], + "enumDescriptions": [ + "Do not generate final modifier.", + "Generate 'final' modifier only for new field declarations.", + "Generate 'final' modifier only for new variable declarations.", + "Generate 'final' modifier for all new declarations." + ], + "scope": "window", + "type": "string" + }, + "java.codeGeneration.generateComments": { + "default": false, + "description": "Generate method comments when generating the methods.", + "scope": "window", + "type": "boolean" + }, + "java.codeGeneration.hashCodeEquals.useInstanceof": { + "default": false, + "description": "Use 'instanceof' to compare types when generating the hashCode and equals methods.", + "scope": "window", + "type": "boolean" + }, + "java.codeGeneration.hashCodeEquals.useJava7Objects": { + "default": false, + "description": "Use Objects.hash and Objects.equals when generating the hashCode and equals methods. This setting only applies to Java 7 and higher.", + "scope": "window", + "type": "boolean" + }, + "java.codeGeneration.insertionLocation": { + "default": "afterCursor", + "description": "Specifies the insertion location of the code generated by source actions.", + "enum": [ + "afterCursor", + "beforeCursor", + "lastMember" + ], + "enumDescriptions": [ + "Insert the generated code after the member where the cursor is located.", + "Insert the generated code before the member where the cursor is located.", + "Insert the generated code as the last member of the target type." + ], + "order": 30, + "scope": "window", + "type": "string" + }, + "java.codeGeneration.toString.codeStyle": { + "default": "STRING_CONCATENATION", + "description": "The code style for generating the toString method.", + "enum": [ + "STRING_CONCATENATION", + "STRING_BUILDER", + "STRING_BUILDER_CHAINED", + "STRING_FORMAT" + ], + "enumDescriptions": [ + "String concatenation", + "StringBuilder/StringBuffer", + "StringBuilder/StringBuffer - chained call", + "String.format/MessageFormat" + ], + "type": "string" + }, + "java.codeGeneration.toString.limitElements": { + "default": 0, + "description": "Limit number of items in arrays/collections/maps to list, if 0 then list all.", + "scope": "window", + "type": "integer" + }, + "java.codeGeneration.toString.listArrayContents": { + "default": true, + "description": "List contents of arrays instead of using native toString().", + "scope": "window", + "type": "boolean" + }, + "java.codeGeneration.toString.skipNullValues": { + "default": false, + "description": "Skip null values when generating the toString method.", + "scope": "window", + "type": "boolean" + }, + "java.codeGeneration.toString.template": { + "default": "${object.className} [${member.name()}=${member.value}, ${otherMembers}]", + "description": "The template for generating the toString method.", + "type": "string" + }, + "java.codeGeneration.useBlocks": { + "default": false, + "description": "Use blocks in 'if' statements when generating the methods.", + "scope": "window", + "type": "boolean" + }, + "java.compile.nullAnalysis.mode": { + "default": "interactive", + "enum": [ + "disabled", + "interactive", + "automatic" + ], + "markdownDescription": "Specify how to enable the annotation-based null analysis.", + "scope": "window", + "type": "string" + }, + "java.compile.nullAnalysis.nonnull": { + "default": [ + "javax.annotation.Nonnull", + "org.eclipse.jdt.annotation.NonNull", + "org.springframework.lang.NonNull" + ], + "markdownDescription": "Specify the Nonnull annotation types to be used for null analysis. If more than one annotation is specified, then the topmost annotation will be used first if it exists in project dependencies. This setting will be ignored if `java.compile.nullAnalysis.mode` is set to `disabled`", + "scope": "window", + "type": "array" + }, + "java.compile.nullAnalysis.nonnullbydefault": { + "default": [ + "javax.annotation.ParametersAreNonnullByDefault", + "org.eclipse.jdt.annotation.NonNullByDefault", + "org.springframework.lang.NonNullApi" + ], + "markdownDescription": "Specify the NonNullByDefault annotation types to be used for null analysis. If more than one annotation is specified, then the topmost annotation will be used first if it exists in project dependencies. This setting will be ignored if `java.compile.nullAnalysis.mode` is set to `disabled`", + "scope": "window", + "type": "array" + }, + "java.compile.nullAnalysis.nullable": { + "default": [ + "javax.annotation.Nullable", + "org.eclipse.jdt.annotation.Nullable", + "org.springframework.lang.Nullable" + ], + "markdownDescription": "Specify the Nullable annotation types to be used for null analysis. If more than one annotation is specified, then the topmost annotation will be used first if it exists in project dependencies. This setting will be ignored if `java.compile.nullAnalysis.mode` is set to `disabled`", + "scope": "window", + "type": "array" + }, + "java.completion.chain.enabled": { + "default": false, + "markdownDescription": "Enable/disable chain completion support. Chain completions are only available when completions are invoked by the completions shortcut", + "order": 30, + "scope": "window", + "type": "boolean" + }, + "java.completion.collapseCompletionItems": { + "default": false, + "markdownDescription": "Enable/disable the collapse of overloaded methods in completion items. Overrides `#java.completion.guessMethodArguments#`.", + "scope": "window", + "type": "boolean" + }, + "java.completion.enabled": { + "default": true, + "description": "Enable/disable code completion support", + "order": 10, + "scope": "window", + "type": "boolean" + }, + "java.completion.favoriteStaticMembers": { + "default": [ + "org.junit.Assert.*", + "org.junit.Assume.*", + "org.junit.jupiter.api.Assertions.*", + "org.junit.jupiter.api.Assumptions.*", + "org.junit.jupiter.api.DynamicContainer.*", + "org.junit.jupiter.api.DynamicTest.*", + "org.mockito.Mockito.*", + "org.mockito.ArgumentMatchers.*", + "org.mockito.Answers.*" + ], + "description": "Defines a list of static members or types with static members. Content assist will propose those static members even if the import is missing.", + "order": 40, + "scope": "window", + "type": "array" + }, + "java.completion.filteredTypes": { + "default": [ + "java.awt.*", + "com.sun.*", + "sun.*", + "jdk.*", + "org.graalvm.*", + "io.micrometer.shaded.*" + ], + "description": "Defines the type filters. All types whose fully qualified name matches the selected filter strings will be ignored in content assist or quick fix proposals and when organizing imports. For example 'java.awt.*' will hide all types from the awt packages.", + "order": 50, + "scope": "window", + "type": "array" + }, + "java.completion.guessMethodArguments": { + "default": "auto", + "description": "Specify how the arguments will be filled during completion.", + "enum": [ + "auto", + "off", + "insertParameterNames", + "insertBestGuessedArguments" + ], + "enumDescriptions": [ + "Use 'off' only when using Visual Studio Code - Insiders, other platform will defaults to 'insertBestGuessedArguments'.", + "Method arguments will not be inserted during completion.", + "The parameter names will be inserted during completion.", + "The best guessed arguments will be inserted during completion according to the code context." + ], + "order": 60, + "scope": "window", + "type": [ + "boolean", + "string" + ] + }, + "java.completion.importOrder": { + "default": [ + "#", + "java", + "javax", + "org", + "com", + "" + ], + "description": "Defines the sorting order of import statements. A package or type name prefix (e.g. 'org.eclipse') is a valid entry. An import is always added to the most specific group. As a result, the empty string (e.g. '') can be used to group all other imports. Static imports are prefixed with a '#'", + "order": 80, + "scope": "window", + "type": "array" + }, + "java.completion.lazyResolveTextEdit.enabled": { + "default": true, + "description": "[Experimental] Enable/disable lazily resolving text edits for code completion.", + "scope": "window", + "type": "boolean" + }, + "java.completion.matchCase": { + "default": "firstLetter", + "enum": [ + "firstLetter", + "off" + ], + "enumDescriptions": [ + "Match case for the first letter when doing completion.", + "Do not match case when doing completion." + ], + "markdownDescription": "Specify whether to match case for code completion.", + "order": 70, + "scope": "window", + "type": "string" + }, + "java.completion.maxResults": { + "default": 0, + "markdownDescription": "Maximum number of completion results (not including snippets).\n`0` (the default value) disables the limit, all results are returned. In case of performance problems, consider setting a sensible limit.", + "scope": "window", + "type": "integer" + }, + "java.completion.postfix.enabled": { + "default": true, + "markdownDescription": "Enable/disable postfix completion support. `#editor.snippetSuggestions#` can be used to customize how postfix snippets are sorted.", + "order": 20, + "scope": "window", + "type": "boolean" + }, + "java.configuration.checkProjectSettingsExclusions": { + "default": false, + "deprecationMessage": "Please use 'java.import.generatesMetadataFilesAtProjectRoot' to control whether to generate the project metadata files at the project root. And use 'files.exclude' to control whether to hide the project metadata files from the file explorer.", + "description": "Controls whether to exclude extension-generated project settings files (.project, .classpath, .factorypath, .settings/) from the file explorer.", + "scope": "window", + "type": "boolean" + }, + "java.configuration.detectJdksAtStart": { + "default": true, + "markdownDescription": "Automatically detect JDKs installed on local machine at startup. If you have specified the same JDK version in `#java.configuration.runtimes#`, the extension will use that version first.", + "type": "boolean" + }, + "java.configuration.maven.defaultMojoExecutionAction": { + "default": "ignore", + "description": "Specifies default mojo execution action when no associated metadata can be detected.", + "enum": [ + "ignore", + "warn", + "error", + "execute" + ], + "order": 90, + "scope": "window", + "type": "string" + }, + "java.configuration.maven.globalSettings": { + "default": null, + "description": "Path to Maven's global settings.xml", + "order": 70, + "scope": "window", + "type": "string" + }, + "java.configuration.maven.lifecycleMappings": { + "default": null, + "description": "Path to Maven's lifecycle mappings xml", + "order": 100, + "scope": "window", + "type": "string" + }, + "java.configuration.maven.notCoveredPluginExecutionSeverity": { + "default": "warning", + "description": "Specifies severity if the plugin execution is not covered by Maven build lifecycle.", + "enum": [ + "ignore", + "warning", + "error" + ], + "order": 80, + "scope": "window", + "type": "string" + }, + "java.configuration.maven.userSettings": { + "default": null, + "description": "Path to Maven's user settings.xml", + "order": 60, + "scope": "window", + "type": "string" + }, + "java.configuration.runtimes": { + "default": [], + "description": "Map Java Execution Environments to local JDKs.", + "items": { + "additionalProperties": false, + "default": {}, + "properties": { + "default": { + "description": "Is default runtime? Only one runtime can be default.", + "type": "boolean" + }, + "javadoc": { + "description": "JDK javadoc path.", + "type": "string" + }, + "name": { + "description": "Java Execution Environment name. Must be unique.", + "enum": [ + "J2SE-1.5", + "JavaSE-1.6", + "JavaSE-1.7", + "JavaSE-1.8", + "JavaSE-9", + "JavaSE-10", + "JavaSE-11", + "JavaSE-12", + "JavaSE-13", + "JavaSE-14", + "JavaSE-15", + "JavaSE-16", + "JavaSE-17", + "JavaSE-18", + "JavaSE-19", + "JavaSE-20", + "JavaSE-21", + "JavaSE-22" + ], + "type": "string" + }, + "path": { + "description": "JDK home path. Should be the JDK installation directory, not the Java bin path.\n On Windows, backslashes must be escaped, i.e.\n\"path\":\"C:\\\\Program Files\\\\Java\\\\jdk1.8.0_161\".", + "pattern": ".*(?` or `}`", + "scope": "window", + "type": "boolean" + }, + "java.format.settings.profile": { + "default": null, + "description": "Optional formatter profile name from the Eclipse formatter settings.", + "order": 30, + "scope": "window", + "type": "string" + }, + "java.format.settings.url": { + "default": null, + "markdownDescription": "Specifies the url or file path to the [Eclipse formatter xml settings](https://github.com/redhat-developer/vscode-java/wiki/Formatter-settings).", + "order": 20, + "scope": "window", + "type": "string" + }, + "java.home": { + "default": null, + "deprecationMessage": "This setting is deprecated, please use 'java.jdt.ls.java.home' instead.", + "description": "Specifies the folder path to the JDK (17 or more recent) used to launch the Java Language Server.\nOn Windows, backslashes must be escaped, i.e.\n\"java.home\":\"C:\\\\Program Files\\\\Java\\\\jdk-17.0_3\"", + "order": 0, + "scope": "machine-overridable", + "type": [ + "string", + "null" + ] + }, + "java.implementationsCodeLens.enabled": { + "default": false, + "description": "Enable/disable the implementations code lens.", + "order": 20, + "scope": "window", + "type": "boolean" + }, + "java.import.exclusions": { + "default": [ + "**/node_modules/**", + "**/.metadata/**", + "**/archetype-resources/**", + "**/META-INF/maven/**" + ], + "description": "Configure glob patterns for excluding folders. Use `!` to negate patterns to allow subfolders imports. You have to include a parent directory. The order is important.", + "scope": "window", + "type": "array" + }, + "java.import.generatesMetadataFilesAtProjectRoot": { + "default": false, + "markdownDescription": "Specify whether the project metadata files(.project, .classpath, .factorypath, .settings/) will be generated at the project root. Click [HERE](command:_java.metadataFilesGeneration) to learn how to change the setting to make it take effect.", + "scope": "window", + "type": "boolean" + }, + "java.import.gradle.annotationProcessing.enabled": { + "default": true, + "description": "Enable/disable the annotation processing on Gradle projects and delegate Annotation Processing to JDT APT. Only works for Gradle 5.2 or higher.", + "order": 90, + "scope": "window", + "type": "boolean" + }, + "java.import.gradle.arguments": { + "default": null, + "description": "Arguments to pass to Gradle.", + "order": 70, + "scope": "machine", + "type": "string" + }, + "java.import.gradle.enabled": { + "default": true, + "description": "Enable/disable the Gradle importer.", + "order": 10, + "scope": "window", + "type": "boolean" + }, + "java.import.gradle.home": { + "default": null, + "description": "Use Gradle from the specified local installation directory or GRADLE_HOME if the Gradle wrapper is missing or disabled and no 'java.import.gradle.version' is specified.", + "order": 40, + "scope": "machine-overridable", + "type": "string" + }, + "java.import.gradle.java.home": { + "default": null, + "description": "The location to the JVM used to run the Gradle daemon.", + "order": 50, + "scope": "machine-overridable", + "type": "string" + }, + "java.import.gradle.jvmArguments": { + "default": null, + "description": "JVM arguments to pass to Gradle.", + "order": 80, + "scope": "machine", + "type": "string" + }, + "java.import.gradle.offline.enabled": { + "default": false, + "description": "Enable/disable the Gradle offline mode.", + "order": 60, + "scope": "window", + "type": "boolean" + }, + "java.import.gradle.user.home": { + "default": null, + "description": "Setting for GRADLE_USER_HOME.", + "order": 55, + "scope": "machine-overridable", + "type": "string" + }, + "java.import.gradle.version": { + "default": null, + "description": "Use Gradle from the specific version if the Gradle wrapper is missing or disabled.", + "order": 30, + "scope": "window", + "type": "string" + }, + "java.import.gradle.wrapper.enabled": { + "default": true, + "description": "Use Gradle from the 'gradle-wrapper.properties' file.", + "order": 20, + "scope": "window", + "type": "boolean" + }, + "java.import.maven.disableTestClasspathFlag": { + "default": false, + "description": "Enable/disable test classpath segregation. When enabled, this permits the usage of test resources within a Maven project as dependencies within the compile scope of other projects.", + "order": 30, + "scope": "window", + "type": "boolean" + }, + "java.import.maven.enabled": { + "default": true, + "description": "Enable/disable the Maven importer.", + "order": 10, + "scope": "window", + "type": "boolean" + }, + "java.import.maven.offline.enabled": { + "default": false, + "description": "Enable/disable the Maven offline mode.", + "order": 20, + "scope": "window", + "type": "boolean" + }, + "java.import.projectSelection": { + "default": "automatic", + "enum": [ + "manual", + "automatic" + ], + "enumDescriptions": [ + "Manually select the build configuration files.", + "Let extension automatically scan and select the build configuration files." + ], + "markdownDescription": "[Experimental] Specifies how to select build configuration files to import. \nNote: Currently, `Gradle` projects cannot be partially imported.", + "order": 10, + "scope": "window", + "type": "string" + }, + "java.imports.gradle.wrapper.checksums": { + "default": [], + "description": "Defines allowed/disallowed SHA-256 checksums of Gradle Wrappers", + "items": { + "additionalProperties": false, + "default": {}, + "properties": { + "allowed": { + "default": true, + "label": "Is allowed?", + "type": "boolean" + }, + "sha256": { + "label": "SHA-256 checksum.", + "type": "string" + } + }, + "required": [ + "sha256" + ], + "type": "object", + "uniqueItems": true + }, + "scope": "application", + "type": "array" + }, + "java.inlayHints.parameterNames.enabled": { + "default": "literals", + "enum": [ + "none", + "literals", + "all" + ], + "enumDescriptions": [ + "Disable parameter name hints", + "Enable parameter name hints only for literal arguments", + "Enable parameter name hints for literal and non-literal arguments" + ], + "markdownDescription": "Enable/disable inlay hints for parameter names:\n```java\n\nInteger.valueOf(/* s: */ '123', /* radix: */ 10)\n \n```\n `#java.inlayHints.parameterNames.exclusions#` can be used to disable the inlay hints for methods.", + "order": 70, + "scope": "window", + "type": "string" + }, + "java.inlayHints.parameterNames.exclusions": { + "default": [], + "items": { + "type": "string" + }, + "markdownDescription": "The patterns for the methods that will be disabled to show the inlay hints. Supported pattern examples:\n - `java.lang.Math.*` - All the methods from java.lang.Math.\n - `*.Arrays.asList` - Methods named as 'asList' in the types named as 'Arrays'.\n - `*.println(*)` - Methods named as 'println'.\n - `(from, to)` - Methods with two parameters named as 'from' and 'to'.\n - `(arg*)` - Methods with one parameter whose name starts with 'arg'.", + "order": 80, + "scope": "window", + "type": "array" + }, + "java.jdt.ls.androidSupport.enabled": { + "default": "auto", + "enum": [ + "auto", + "on", + "off" + ], + "markdownDescription": "[Experimental] Specify whether to enable Android project importing. When set to `auto`, the Android support will be enabled in Visual Studio Code - Insiders.\n\n**Note:** Only works for Android Gradle Plugin `3.2.0` or higher.", + "order": 90, + "scope": "window", + "type": "string" + }, + "java.jdt.ls.java.home": { + "default": null, + "description": "Specifies the folder path to the JDK (17 or more recent) used to launch the Java Language Server. This setting will replace the Java extension's embedded JRE to start the Java Language Server. \n\nOn Windows, backslashes must be escaped, i.e.\n\"java.jdt.ls.java.home\":\"C:\\\\Program Files\\\\Java\\\\jdk-17.0_3\"", + "order": 10, + "scope": "machine-overridable", + "type": [ + "string", + "null" + ] + }, + "java.jdt.ls.lombokSupport.enabled": { + "default": true, + "description": "Whether to load lombok processors from project classpath", + "order": 70, + "scope": "window", + "type": "boolean" + }, + "java.jdt.ls.protobufSupport.enabled": { + "default": true, + "markdownDescription": "Specify whether to automatically add Protobuf output source directories to the classpath.\n\n**Note:** Only works for Gradle `com.google.protobuf` plugin `0.8.4` or higher.", + "order": 80, + "scope": "window", + "type": "boolean" + }, + "java.jdt.ls.vmargs": { + "default": "-XX:+UseParallelGC -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -Dsun.zip.disableMemoryMapping=true -Xmx1G -Xms100m -Xlog:disable", + "description": "Specifies extra VM arguments used to launch the Java Language Server. Eg. use `-XX:+UseParallelGC -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -Dsun.zip.disableMemoryMapping=true -Xmx1G -Xms100m -Xlog:disable` to optimize memory usage with the parallel garbage collector", + "order": 20, + "scope": "machine-overridable", + "type": [ + "string", + "null" + ] + }, + "java.maven.downloadSources": { + "default": false, + "description": "Enable/disable download of Maven source artifacts as part of importing Maven projects.", + "order": 40, + "scope": "window", + "type": "boolean" + }, + "java.maven.updateSnapshots": { + "default": false, + "description": "Force update of Snapshots/Releases.", + "order": 50, + "scope": "window", + "type": "boolean" + }, + "java.maxConcurrentBuilds": { + "default": 1, + "description": "Max simultaneous project builds", + "minimum": 1, + "order": 20, + "scope": "window", + "type": "integer" + }, + "java.project.encoding": { + "default": "ignore", + "enum": [ + "ignore", + "warning", + "setDefault" + ], + "enumDescriptions": [ + "Ignore project encoding settings", + "Show warning if a project has no explicit encoding set", + "Set the default workspace encoding settings" + ], + "markdownDescription": "Project encoding settings", + "scope": "window" + }, + "java.project.importHint": { + "default": true, + "description": "Enable/disable the server-mode switch information, when Java projects import is skipped on startup.", + "scope": "application", + "type": "boolean" + }, + "java.project.importOnFirstTimeStartup": { + "default": "automatic", + "description": "Specifies whether to import the Java projects, when opening the folder in Hybrid mode for the first time.", + "enum": [ + "disabled", + "interactive", + "automatic" + ], + "scope": "application", + "type": "string" + }, + "java.project.outputPath": { + "default": "", + "markdownDescription": "A relative path to the workspace where stores the compiled output. `Only` effective in the `WORKSPACE` scope. The setting will `NOT` affect Maven or Gradle project.", + "order": 20, + "scope": "window", + "type": [ + "string", + "null" + ] + }, + "java.project.referencedLibraries": { + "additionalProperties": false, + "default": [ + "lib/**/*.jar" + ], + "description": "Configure glob patterns for referencing local libraries to a Java project.", + "order": 30, + "properties": { + "exclude": { + "type": "array" + }, + "include": { + "type": "array" + }, + "sources": { + "type": "object" + } + }, + "required": [ + "include" + ], + "scope": "window", + "type": [ + "array", + "object" + ] + }, + "java.project.resourceFilters": { + "default": [ + "node_modules", + "\\.git" + ], + "items": { + "pattern": "^(?!\\*).*", + "type": "string" + }, + "markdownDescription": "Excludes files and folders from being refreshed by the Java Language Server, which can improve the overall performance. For example, [\"node_modules\",\"\\.git\"] will exclude all files and folders named `node_modules` or `.git`. Pattern expressions must be compatible with `java.util.regex.Pattern`. Defaults to [\"node_modules\",\"\\.git\"].", + "scope": "window", + "type": "array" + }, + "java.project.sourcePaths": { + "default": [], + "items": { + "type": "string" + }, + "markdownDescription": "Relative paths to the workspace where stores the source files. `Only` effective in the `WORKSPACE` scope. The setting will `NOT` affect Maven or Gradle project.", + "order": 10, + "scope": "window", + "type": "array" + }, + "java.quickfix.showAt": { + "default": "line", + "description": "Show quickfixes at the problem or line level.", + "enum": [ + "line", + "problem" + ], + "scope": "window", + "type": "string" + }, + "java.refactoring.extract.interface.replace": { + "default": true, + "markdownDescription": "Specify whether to replace all the occurrences of the subtype with the new extracted interface.", + "type": "boolean" + }, + "java.references.includeAccessors": { + "default": true, + "description": "Include getter, setter and builder/constructor when finding references.", + "order": 30, + "scope": "window", + "type": "boolean" + }, + "java.references.includeDecompiledSources": { + "default": true, + "description": "Include the decompiled sources when finding references.", + "order": 40, + "scope": "window", + "type": "boolean" + }, + "java.referencesCodeLens.enabled": { + "default": false, + "description": "Enable/disable the references code lens.", + "order": 10, + "scope": "window", + "type": "boolean" + }, + "java.saveActions.cleanup": { + "default": true, + "description": "Enable/disable cleanup actions on save.", + "type": "boolean" + }, + "java.saveActions.organizeImports": { + "default": false, + "description": "Enable/disable auto organize imports on save action", + "order": 20, + "scope": "window", + "type": "boolean" + }, + "java.selectionRange.enabled": { + "default": true, + "description": "Enable/disable Smart Selection support for Java. Disabling this option will not affect the VS Code built-in word-based and bracket-based smart selection.", + "scope": "window", + "type": "boolean" + }, + "java.server.launchMode": { + "default": "Hybrid", + "description": "The launch mode for the Java extension", + "enum": [ + "Standard", + "LightWeight", + "Hybrid" + ], + "enumDescriptions": [ + "Provides full features such as intellisense, refactoring, building, Maven/Gradle support etc.", + "Starts a syntax server with lower start-up cost. Only provides syntax features such as outline, navigation, javadoc, syntax errors.", + "Provides full features with better responsiveness. It starts a standard language server and a secondary syntax server. The syntax server provides syntax features until the standard server is ready." + ], + "order": 30, + "scope": "window", + "type": "string" + }, + "java.settings.url": { + "default": null, + "markdownDescription": "Specifies the url or file path to the workspace Java settings. See [Setting Global Preferences](https://github.com/redhat-developer/vscode-java/wiki/Settings-Global-Preferences)", + "order": 30, + "scope": "window", + "type": "string" + }, + "java.sharedIndexes.enabled": { + "default": "auto", + "enum": [ + "auto", + "on", + "off" + ], + "markdownDescription": "[Experimental] Specify whether to share indexes between different workspaces. When set to `auto`, shared indexes will be enabled in Visual Studio Code - Insiders.", + "order": 50, + "scope": "window", + "type": "string" + }, + "java.sharedIndexes.location": { + "default": "", + "markdownDescription": "Specifies a common index location for all workspaces. See default values as follows:\n \nWindows: First use `\"$APPDATA\\\\.jdt\\\\index\"`, or `\"~\\\\.jdt\\\\index\"` if it does not exist\n \nmacOS: `\"~/Library/Caches/.jdt/index\"`\n \nLinux: First use `\"$XDG_CACHE_HOME/.jdt/index\"`, or `\"~/.cache/.jdt/index\"` if it does not exist", + "order": 60, + "scope": "window", + "type": "string" + }, + "java.showBuildStatusOnStart.enabled": { + "anyOf": [ + { + "enum": [ + "notification", + "terminal", + "off" + ], + "enumDescriptions": [ + "Show the build status via progress notification on start", + "Show the build status via terminal on start", + "Do not show any build status on start" + ] + }, + "boolean" + ], + "default": "notification", + "description": "Automatically show build status on startup.", + "scope": "window" + }, + "java.signatureHelp.description.enabled": { + "default": false, + "description": "Enable/disable to show the description in signature help.", + "scope": "window", + "type": "boolean" + }, + "java.signatureHelp.enabled": { + "default": true, + "description": "Enable/disable the signature help.", + "scope": "window", + "type": "boolean" + }, + "java.sources.organizeImports.starThreshold": { + "default": 99, + "description": "Specifies the number of imports added before a star-import declaration is used.", + "minimum": 1, + "order": 30, + "scope": "window", + "type": "integer" + }, + "java.sources.organizeImports.staticStarThreshold": { + "default": 99, + "description": "Specifies the number of static imports added before a star-import declaration is used.", + "minimum": 1, + "order": 40, + "scope": "window", + "type": "integer" + }, + "java.symbols.includeSourceMethodDeclarations": { + "default": false, + "markdownDescription": "Include method declarations from source files in symbol search.", + "order": 50, + "scope": "window", + "type": "boolean" + }, + "java.templates.fileHeader": { + "default": [], + "markdownDescription": "Specifies the file header comment for new Java file. Supports configuring multi-line comments with an array of strings, and using ${variable} to reference the [predefined variables](command:_java.templateVariables).", + "order": 10, + "scope": "window", + "type": "array" + }, + "java.templates.typeComment": { + "default": [], + "markdownDescription": "Specifies the type comment for new Java type. Supports configuring multi-line comments with an array of strings, and using ${variable} to reference the [predefined variables](command:_java.templateVariables).", + "order": 20, + "scope": "window", + "type": "array" + }, + "java.trace.server": { + "default": "off", + "description": "Traces the communication between VS Code and the Java language server.", + "enum": [ + "off", + "messages", + "verbose" + ], + "scope": "window", + "type": "string" + }, + "java.typeHierarchy.lazyLoad": { + "default": false, + "description": "Enable/disable lazy loading the content in type hierarchy. Lazy loading could save a lot of loading time but every type should be expanded manually to load its content.", + "order": 60, + "scope": "window", + "type": "boolean" + }, + "redhat.telemetry.enabled": { + "default": null, + "markdownDescription": "Enable usage data and errors to be sent to Red Hat servers. Read our [privacy statement](https://developers.redhat.com/article/tool-data-collection).", + "scope": "window", + "tags": [ + "usesOnlineServices", + "telemetry" + ], + "type": "boolean" + } + } } diff --git a/schemas/omnisharp.json b/schemas/omnisharp.json index e47335f..9e7dc7f 100644 --- a/schemas/omnisharp.json +++ b/schemas/omnisharp.json @@ -1,5 +1,995 @@ { "$schema": "http://json-schema.org/draft-07/schema#", "description": "Base language support for C#", - "properties": [] + "properties": { + "csharp.debug.console": { + "default": "internalConsole", + "enum": [ + "internalConsole", + "integratedTerminal", + "externalTerminal" + ], + "enumDescriptions": [ + "%generateOptionsSchema.console.internalConsole.enumDescription%", + "%generateOptionsSchema.console.integratedTerminal.enumDescription%", + "%generateOptionsSchema.console.externalTerminal.enumDescription%" + ], + "markdownDescription": "%generateOptionsSchema.console.settingsDescription%", + "type": "string" + }, + "csharp.debug.enableStepFiltering": { + "default": true, + "markdownDescription": "%generateOptionsSchema.enableStepFiltering.markdownDescription%", + "type": "boolean" + }, + "csharp.debug.expressionEvaluationOptions.allowFastEvaluate": { + "default": true, + "description": "%generateOptionsSchema.expressionEvaluationOptions.allowFastEvaluate.description%", + "type": "boolean" + }, + "csharp.debug.expressionEvaluationOptions.allowImplicitFuncEval": { + "default": true, + "description": "%generateOptionsSchema.expressionEvaluationOptions.allowImplicitFuncEval.description%", + "type": "boolean" + }, + "csharp.debug.expressionEvaluationOptions.allowToString": { + "default": true, + "markdownDescription": "%generateOptionsSchema.expressionEvaluationOptions.allowToString.markdownDescription%", + "type": "boolean" + }, + "csharp.debug.expressionEvaluationOptions.showRawValues": { + "default": false, + "description": "%generateOptionsSchema.expressionEvaluationOptions.showRawValues.description%", + "type": "boolean" + }, + "csharp.debug.justMyCode": { + "default": true, + "markdownDescription": "%generateOptionsSchema.justMyCode.markdownDescription%", + "type": "boolean" + }, + "csharp.debug.logging.browserStdOut": { + "default": true, + "markdownDescription": "%generateOptionsSchema.logging.browserStdOut.markdownDescription%", + "type": "boolean" + }, + "csharp.debug.logging.consoleUsageMessage": { + "default": true, + "description": "%generateOptionsSchema.logging.consoleUsageMessage.description%", + "type": "boolean" + }, + "csharp.debug.logging.diagnosticsLog.debugEngineAPITracing": { + "default": "none", + "enum": [ + "none", + "error", + "all" + ], + "enumDescriptions": [ + "%generateOptionsSchema.logging.diagnosticsLog.debugEngineAPITracing.none.enumDescription%", + "%generateOptionsSchema.logging.diagnosticsLog.debugEngineAPITracing.error.enumDescription%", + "%generateOptionsSchema.logging.diagnosticsLog.debugEngineAPITracing.all.enumDescription%" + ], + "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.debugEngineAPITracing.markdownDescription%", + "type": "string" + }, + "csharp.debug.logging.diagnosticsLog.debugRuntimeEventTracing": { + "default": false, + "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.debugRuntimeEventTracing.markdownDescription%", + "type": "boolean" + }, + "csharp.debug.logging.diagnosticsLog.dispatcherMessages": { + "default": "none", + "enum": [ + "none", + "error", + "important", + "normal" + ], + "enumDescriptions": [ + "%generateOptionsSchema.logging.diagnosticsLog.dispatcherMessages.none.enumDescription%", + "%generateOptionsSchema.logging.diagnosticsLog.dispatcherMessages.error.enumDescription%", + "%generateOptionsSchema.logging.diagnosticsLog.dispatcherMessages.important.enumDescription%", + "%generateOptionsSchema.logging.diagnosticsLog.dispatcherMessages.normal.enumDescription%" + ], + "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.dispatcherMessages.markdownDescription%", + "type": "string" + }, + "csharp.debug.logging.diagnosticsLog.expressionEvaluationTracing": { + "default": false, + "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.expressionEvaluationTracing.markdownDescription%", + "type": "boolean" + }, + "csharp.debug.logging.diagnosticsLog.protocolMessages": { + "default": false, + "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.protocolMessages.markdownDescription%", + "type": "boolean" + }, + "csharp.debug.logging.diagnosticsLog.startDebuggingTracing": { + "default": false, + "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.startDebuggingTracing.markdownDescription%", + "type": "boolean" + }, + "csharp.debug.logging.elapsedTiming": { + "default": false, + "markdownDescription": "%generateOptionsSchema.logging.elapsedTiming.markdownDescription%", + "type": "boolean" + }, + "csharp.debug.logging.engineLogging": { + "default": false, + "deprecationMessage": "%generateOptionsSchema.logging.engineLogging.deprecationMessage%", + "type": "boolean" + }, + "csharp.debug.logging.exceptions": { + "default": true, + "markdownDescription": "%generateOptionsSchema.logging.exceptions.markdownDescription%", + "type": "boolean" + }, + "csharp.debug.logging.moduleLoad": { + "default": true, + "markdownDescription": "%generateOptionsSchema.logging.moduleLoad.markdownDescription%", + "type": "boolean" + }, + "csharp.debug.logging.processExit": { + "default": true, + "markdownDescription": "%generateOptionsSchema.logging.processExit.markdownDescription%", + "type": "boolean" + }, + "csharp.debug.logging.programOutput": { + "default": true, + "markdownDescription": "%generateOptionsSchema.logging.programOutput.markdownDescription%", + "type": "boolean" + }, + "csharp.debug.logging.threadExit": { + "default": false, + "markdownDescription": "%generateOptionsSchema.logging.threadExit.markdownDescription%", + "type": "boolean" + }, + "csharp.debug.requireExactSource": { + "default": true, + "markdownDescription": "%generateOptionsSchema.requireExactSource.markdownDescription%", + "type": "boolean" + }, + "csharp.debug.sourceFileMap": { + "additionalProperties": { + "type": "string" + }, + "default": {}, + "markdownDescription": "%generateOptionsSchema.sourceFileMap.markdownDescription%", + "type": "object" + }, + "csharp.debug.stopAtEntry": { + "default": false, + "markdownDescription": "%generateOptionsSchema.stopAtEntry.markdownDescription%", + "type": "boolean" + }, + "csharp.debug.suppressJITOptimizations": { + "default": false, + "markdownDescription": "%generateOptionsSchema.suppressJITOptimizations.markdownDescription%", + "type": "boolean" + }, + "csharp.debug.symbolOptions.cachePath": { + "default": "", + "description": "%generateOptionsSchema.symbolOptions.cachePath.description%", + "type": "string" + }, + "csharp.debug.symbolOptions.moduleFilter.excludedModules": { + "default": [], + "description": "%generateOptionsSchema.symbolOptions.moduleFilter.excludedModules.description%", + "items": { + "type": "string" + }, + "type": "array" + }, + "csharp.debug.symbolOptions.moduleFilter.includeSymbolsNextToModules": { + "default": true, + "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includeSymbolsNextToModules.description%", + "type": "boolean" + }, + "csharp.debug.symbolOptions.moduleFilter.includeSymbolsOnDemand": { + "default": true, + "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includeSymbolsOnDemand.description%", + "type": "boolean" + }, + "csharp.debug.symbolOptions.moduleFilter.includedModules": { + "default": [], + "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includedModules.description%", + "items": { + "type": "string" + }, + "type": "array" + }, + "csharp.debug.symbolOptions.moduleFilter.mode": { + "default": "loadAllButExcluded", + "description": "%generateOptionsSchema.symbolOptions.moduleFilter.mode.description%", + "enum": [ + "loadAllButExcluded", + "loadOnlyIncluded" + ], + "enumDescriptions": [ + "%generateOptionsSchema.symbolOptions.moduleFilter.mode.loadAllButExcluded.enumDescription%", + "%generateOptionsSchema.symbolOptions.moduleFilter.mode.loadOnlyIncluded.enumDescription%" + ], + "type": "string" + }, + "csharp.debug.symbolOptions.searchMicrosoftSymbolServer": { + "default": false, + "description": "%generateOptionsSchema.symbolOptions.searchMicrosoftSymbolServer.description%", + "type": "boolean" + }, + "csharp.debug.symbolOptions.searchNuGetOrgSymbolServer": { + "default": false, + "description": "%generateOptionsSchema.symbolOptions.searchNuGetOrgSymbolServer.description%", + "type": "boolean" + }, + "csharp.debug.symbolOptions.searchPaths": { + "default": [], + "description": "%generateOptionsSchema.symbolOptions.searchPaths.description%", + "items": { + "type": "string" + }, + "type": "array" + }, + "csharp.format.enable": { + "default": true, + "description": "Enable/disable default C# formatter (requires restart).", + "type": "boolean" + }, + "csharp.inlayHints.enableInlayHintsForImplicitObjectCreation": { + "default": false, + "description": "%configuration.csharp.inlayHints.enableInlayHintsForImplicitObjectCreation%", + "order": 50, + "type": "boolean" + }, + "csharp.inlayHints.enableInlayHintsForImplicitVariableTypes": { + "default": false, + "description": "%configuration.csharp.inlayHints.enableInlayHintsForImplicitVariableTypes%", + "order": 50, + "type": "boolean" + }, + "csharp.inlayHints.enableInlayHintsForLambdaParameterTypes": { + "default": false, + "description": "%configuration.csharp.inlayHints.enableInlayHintsForLambdaParameterTypes%", + "order": 50, + "type": "boolean" + }, + "csharp.inlayHints.enableInlayHintsForTypes": { + "default": false, + "description": "%configuration.csharp.inlayHints.enableInlayHintsForTypes%", + "order": 50, + "type": "boolean" + }, + "csharp.maxProjectFileCountForDiagnosticAnalysis": { + "default": 1000, + "description": "Specifies the maximum number of files for which diagnostics are reported for the whole workspace. If this limit is exceeded, diagnostics will be shown for currently opened files only. Specify 0 or less to disable the limit completely.", + "type": "number" + }, + "csharp.referencesCodeLens.filteredSymbols": { + "default": [], + "description": "Array of custom symbol names for which CodeLens should be disabled.", + "items": { + "type": "string" + }, + "type": "array" + }, + "csharp.semanticHighlighting.enabled": { + "default": true, + "description": "Enable/disable Semantic Highlighting for C# files (Razor files currently unsupported). Defaults to false. Close open files for changes to take effect.", + "scope": "window", + "type": "boolean" + }, + "csharp.showOmnisharpLogOnError": { + "default": true, + "description": "Shows the OmniSharp log in the Output pane when OmniSharp reports an error.", + "type": "boolean" + }, + "csharp.suppressBuildAssetsNotification": { + "default": false, + "description": "Suppress the notification window to add missing assets to build or debug the application.", + "type": "boolean" + }, + "csharp.suppressDotnetInstallWarning": { + "default": false, + "description": "Suppress the warning that the .NET Core SDK is not on the path.", + "type": "boolean" + }, + "csharp.suppressDotnetRestoreNotification": { + "default": false, + "description": "Suppress the notification window to perform a 'dotnet restore' when dependencies can't be resolved.", + "type": "boolean" + }, + "csharp.suppressHiddenDiagnostics": { + "default": true, + "description": "Suppress 'hidden' diagnostics (such as 'unnecessary using directives') from appearing in the editor or the Problems pane.", + "type": "boolean" + }, + "csharp.suppressProjectJsonWarning": { + "default": false, + "description": "Suppress the warning that project.json is no longer a supported project format for .NET Core applications", + "type": "boolean" + }, + "dotnet.backgroundAnalysis.analyzerDiagnosticsScope": { + "default": "openFiles", + "description": "%configuration.dotnet.backgroundAnalysis.analyzerDiagnosticsScope%", + "enum": [ + "openFiles", + "fullSolution", + "none" + ], + "enumDescriptions": [ + "%configuration.dotnet.backgroundAnalysis.analyzerDiagnosticsScope.openFiles%", + "%configuration.dotnet.backgroundAnalysis.analyzerDiagnosticsScope.fullSolution%", + "%configuration.dotnet.backgroundAnalysis.analyzerDiagnosticsScope.none%" + ], + "order": 30, + "type": "string" + }, + "dotnet.backgroundAnalysis.compilerDiagnosticsScope": { + "default": "openFiles", + "description": "%configuration.dotnet.backgroundAnalysis.compilerDiagnosticsScope%", + "enum": [ + "openFiles", + "fullSolution", + "none" + ], + "enumDescriptions": [ + "%configuration.dotnet.backgroundAnalysis.compilerDiagnosticsScope.openFiles%", + "%configuration.dotnet.backgroundAnalysis.compilerDiagnosticsScope.fullSolution%", + "%configuration.dotnet.backgroundAnalysis.compilerDiagnosticsScope.none%" + ], + "order": 30, + "type": "string" + }, + "dotnet.codeLens.enableReferencesCodeLens": { + "default": true, + "description": "%configuration.dotnet.codeLens.enableReferencesCodeLens%", + "type": "boolean" + }, + "dotnet.codeLens.enableTestsCodeLens": { + "default": true, + "description": "%configuration.dotnet.codeLens.enableTestsCodeLens%", + "type": "boolean" + }, + "dotnet.completion.provideRegexCompletions": { + "default": "true", + "description": "%configuration.dotnet.completion.provideRegexCompletions%", + "order": 20, + "type": "boolean" + }, + "dotnet.completion.showCompletionItemsFromUnimportedNamespaces": { + "default": true, + "description": "%configuration.dotnet.completion.showCompletionItemsFromUnimportedNamespaces%", + "order": 20, + "type": "boolean" + }, + "dotnet.completion.showNameCompletionSuggestions": { + "default": "true", + "description": "%configuration.dotnet.completion.showNameCompletionSuggestions%", + "order": 20, + "type": "boolean" + }, + "dotnet.defaultSolution": { + "description": "%configuration.dotnet.defaultSolution.description%", + "order": 0, + "type": "string" + }, + "dotnet.dotnetPath": { + "description": "%configuration.dotnet.dotnetPath%", + "scope": "machine-overridable", + "type": "string" + }, + "dotnet.enableXamlTools": { + "default": true, + "description": "%configuration.dotnet.enableXamlTools%", + "scope": "machine-overridable", + "type": "boolean" + }, + "dotnet.highlighting.highlightRelatedJsonComponents": { + "default": "true", + "description": "%configuration.dotnet.highlighting.highlightRelatedJsonComponents%", + "order": 40, + "type": "boolean" + }, + "dotnet.highlighting.highlightRelatedRegexComponents": { + "default": "true", + "description": "%configuration.dotnet.highlighting.highlightRelatedRegexComponents%", + "order": 40, + "type": "boolean" + }, + "dotnet.implementType.insertionBehavior": { + "default": "withOtherMembersOfTheSameKind", + "description": "%configuration.dotnet.implementType.insertionBehavior%", + "enum": [ + "withOtherMembersOfTheSameKind", + "atTheEnd" + ], + "enumDescriptions": [ + "%configuration.dotnet.implementType.insertionBehavior.withOtherMembersOfTheSameKind%", + "%configuration.dotnet.implementType.insertionBehavior.atTheEnd%" + ], + "order": 10, + "type": "string" + }, + "dotnet.implementType.propertyGenerationBehavior": { + "default": "preferThrowingProperties", + "description": "%configuration.dotnet.implementType.propertyGenerationBehavior%", + "enum": [ + "preferThrowingProperties", + "preferAutoProperties" + ], + "enumDescriptions": [ + "%configuration.dotnet.implementType.propertyGenerationBehavior.preferThrowingProperties%", + "%configuration.dotnet.implementType.propertyGenerationBehavior.preferAutoProperties%" + ], + "order": 10, + "type": "string" + }, + "dotnet.inlayHints.enableInlayHintsForIndexerParameters": { + "default": false, + "description": "%configuration.csharp.inlayHints.enableInlayHintsForIndexerParameters%", + "order": 50, + "type": "boolean" + }, + "dotnet.inlayHints.enableInlayHintsForLiteralParameters": { + "default": false, + "description": "%configuration.dotnet.inlayHints.enableInlayHintsForLiteralParameters%", + "order": 50, + "type": "boolean" + }, + "dotnet.inlayHints.enableInlayHintsForObjectCreationParameters": { + "default": false, + "description": "%configuration.dotnet.inlayHints.enableInlayHintsForObjectCreationParameters%", + "order": 50, + "type": "boolean" + }, + "dotnet.inlayHints.enableInlayHintsForOtherParameters": { + "default": false, + "description": "%configuration.dotnet.inlayHints.enableInlayHintsForOtherParameters%", + "order": 50, + "type": "boolean" + }, + "dotnet.inlayHints.enableInlayHintsForParameters": { + "default": false, + "description": "%configuration.dotnet.inlayHints.enableInlayHintsForParameters%", + "order": 50, + "type": "boolean" + }, + "dotnet.inlayHints.suppressInlayHintsForParametersThatDifferOnlyBySuffix": { + "default": false, + "description": "%configuration.dotnet.inlayHints.suppressInlayHintsForParametersThatDifferOnlyBySuffix%", + "order": 50, + "type": "boolean" + }, + "dotnet.inlayHints.suppressInlayHintsForParametersThatMatchArgumentName": { + "default": false, + "description": "%configuration.dotnet.inlayHints.suppressInlayHintsForParametersThatMatchArgumentName%", + "order": 50, + "type": "boolean" + }, + "dotnet.inlayHints.suppressInlayHintsForParametersThatMatchMethodIntent": { + "default": false, + "description": "%configuration.dotnet.inlayHints.suppressInlayHintsForParametersThatMatchMethodIntent%", + "order": 50, + "type": "boolean" + }, + "dotnet.navigation.navigateToDecompiledSources": { + "default": "true", + "description": "%configuration.dotnet.navigation.navigateToDecompiledSources%", + "order": 60, + "type": "boolean" + }, + "dotnet.preferCSharpExtension": { + "default": false, + "description": "%configuration.dotnet.preferCSharpExtension%", + "scope": "resource", + "type": "boolean" + }, + "dotnet.projects.binaryLogPath": { + "default": null, + "description": "Sets a path where MSBuild binary logs are written to when loading projects, to help diagnose loading errors.", + "scope": "machine-overridable", + "type": "string" + }, + "dotnet.projects.enableAutomaticRestore": { + "default": true, + "description": "%configuration.dotnet.projects.enableAutomaticRestore%", + "type": "boolean" + }, + "dotnet.quickInfo.showRemarksInQuickInfo": { + "default": "true", + "description": "%configuration.dotnet.quickInfo.showRemarksInQuickInfo%", + "order": 70, + "type": "boolean" + }, + "dotnet.server.componentPaths": { + "default": {}, + "description": "%configuration.dotnet.server.componentPaths%", + "properties": { + "roslynDevKit": { + "description": "%configuration.dotnet.server.componentPaths.roslynDevKit%", + "type": "string" + }, + "xamlTools": { + "description": "%configuration.dotnet.server.componentPaths.xamlTools%", + "type": "string" + } + }, + "type": "object" + }, + "dotnet.server.crashDumpPath": { + "default": null, + "description": "%configuration.dotnet.server.crashDumpPath%", + "scope": "machine-overridable", + "type": "string" + }, + "dotnet.server.extensionPaths": { + "default": null, + "description": "%configuration.dotnet.server.extensionPaths%", + "items": { + "type": "string" + }, + "scope": "machine-overridable", + "type": [ + "array", + null + ] + }, + "dotnet.server.path": { + "description": "%configuration.dotnet.server.path%", + "scope": "machine-overridable", + "type": "string" + }, + "dotnet.server.startTimeout": { + "default": 30000, + "description": "%configuration.dotnet.server.startTimeout%", + "scope": "machine-overridable", + "type": "number" + }, + "dotnet.server.suppressLspErrorToasts": { + "default": false, + "description": "%configuration.dotnet.server.suppressLspErrorToasts%", + "type": "boolean" + }, + "dotnet.server.trace": { + "default": "Information", + "description": "%configuration.dotnet.server.trace%", + "enum": [ + "Trace", + "Debug", + "Information", + "Warning", + "Error", + "Critical", + "None" + ], + "scope": "window", + "type": "string" + }, + "dotnet.server.useOmnisharp": { + "default": false, + "description": "Switches to use the Omnisharp server for language features when enabled (requires restart). This option will not be honored with C# Dev Kit installed.", + "order": 0, + "type": "boolean" + }, + "dotnet.server.waitForDebugger": { + "default": false, + "description": "%configuration.dotnet.server.waitForDebugger%", + "scope": "machine-overridable", + "type": "boolean" + }, + "dotnet.symbolSearch.searchReferenceAssemblies": { + "default": true, + "description": "%configuration.dotnet.symbolSearch.searchReferenceAssemblies%", + "order": 80, + "type": "boolean" + }, + "dotnet.unitTestDebuggingOptions": { + "default": {}, + "description": "%configuration.dotnet.unitTestDebuggingOptions%", + "properties": { + "debugServer": { + "default": 4711, + "description": "For debug extension development only: if a port is specified VS Code tries to connect to a debug adapter running in server mode", + "type": "number" + }, + "enableStepFiltering": { + "default": true, + "markdownDescription": "%generateOptionsSchema.enableStepFiltering.markdownDescription%", + "type": "boolean" + }, + "expressionEvaluationOptions": { + "default": {}, + "description": "%generateOptionsSchema.expressionEvaluationOptions.description%", + "properties": { + "allowFastEvaluate": { + "default": true, + "description": "%generateOptionsSchema.expressionEvaluationOptions.allowFastEvaluate.description%", + "type": "boolean" + }, + "allowImplicitFuncEval": { + "default": true, + "description": "%generateOptionsSchema.expressionEvaluationOptions.allowImplicitFuncEval.description%", + "type": "boolean" + }, + "allowToString": { + "default": true, + "markdownDescription": "%generateOptionsSchema.expressionEvaluationOptions.allowToString.markdownDescription%", + "type": "boolean" + }, + "showRawValues": { + "default": false, + "description": "%generateOptionsSchema.expressionEvaluationOptions.showRawValues.description%", + "type": "boolean" + } + }, + "type": "object" + }, + "justMyCode": { + "default": true, + "markdownDescription": "%generateOptionsSchema.justMyCode.markdownDescription%", + "type": "boolean" + }, + "logging": { + "default": {}, + "description": "%generateOptionsSchema.logging.description%", + "properties": { + "exceptions": { + "default": true, + "markdownDescription": "%generateOptionsSchema.logging.exceptions.markdownDescription%", + "type": "boolean" + }, + "moduleLoad": { + "default": true, + "markdownDescription": "%generateOptionsSchema.logging.moduleLoad.markdownDescription%", + "type": "boolean" + }, + "processExit": { + "default": true, + "markdownDescription": "%generateOptionsSchema.logging.processExit.markdownDescription%", + "type": "boolean" + }, + "programOutput": { + "default": true, + "markdownDescription": "%generateOptionsSchema.logging.programOutput.markdownDescription%", + "type": "boolean" + }, + "threadExit": { + "default": false, + "markdownDescription": "%generateOptionsSchema.logging.threadExit.markdownDescription%", + "type": "boolean" + } + }, + "required": [], + "type": "object" + }, + "requireExactSource": { + "default": true, + "markdownDescription": "%generateOptionsSchema.requireExactSource.markdownDescription%", + "type": "boolean" + }, + "sourceFileMap": { + "additionalProperties": { + "type": "string" + }, + "markdownDescription": "%generateOptionsSchema.sourceFileMap.markdownDescription%", + "type": "object" + }, + "sourceLinkOptions": { + "additionalItems": { + "properties": { + "enabled": { + "default": true, + "markdownDescription": "%generateOptionsSchema.sourceLinkOptions.additionalItems.enabled.markdownDescription%", + "title": "boolean" + } + }, + "type": "object" + }, + "default": { + "*": { + "enabled": true + } + }, + "markdownDescription": "%generateOptionsSchema.sourceLinkOptions.markdownDescription%", + "type": "object" + }, + "suppressJITOptimizations": { + "default": false, + "markdownDescription": "%generateOptionsSchema.suppressJITOptimizations.markdownDescription%", + "type": "boolean" + }, + "symbolOptions": { + "default": { + "searchMicrosoftSymbolServer": false, + "searchNuGetOrgSymbolServer": false, + "searchPaths": [] + }, + "description": "%generateOptionsSchema.symbolOptions.description%", + "properties": { + "cachePath": { + "default": "", + "description": "%generateOptionsSchema.symbolOptions.cachePath.description%", + "type": "string" + }, + "moduleFilter": { + "default": { + "excludedModules": [], + "mode": "loadAllButExcluded" + }, + "description": "%generateOptionsSchema.symbolOptions.moduleFilter.description%", + "properties": { + "excludedModules": { + "default": [], + "description": "%generateOptionsSchema.symbolOptions.moduleFilter.excludedModules.description%", + "items": { + "type": "string" + }, + "type": "array" + }, + "includeSymbolsNextToModules": { + "default": true, + "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includeSymbolsNextToModules.description%", + "type": "boolean" + }, + "includeSymbolsOnDemand": { + "default": true, + "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includeSymbolsOnDemand.description%", + "type": "boolean" + }, + "includedModules": { + "default": [], + "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includedModules.description%", + "items": { + "type": "string" + }, + "type": "array" + }, + "mode": { + "default": "loadAllButExcluded", + "description": "%generateOptionsSchema.symbolOptions.moduleFilter.mode.description%", + "enum": [ + "loadAllButExcluded", + "loadOnlyIncluded" + ], + "enumDescriptions": [ + "%generateOptionsSchema.symbolOptions.moduleFilter.mode.loadAllButExcluded.enumDescription%", + "%generateOptionsSchema.symbolOptions.moduleFilter.mode.loadOnlyIncluded.enumDescription%" + ], + "type": "string" + } + }, + "required": [ + "mode" + ], + "type": "object" + }, + "searchMicrosoftSymbolServer": { + "default": false, + "description": "%generateOptionsSchema.symbolOptions.searchMicrosoftSymbolServer.description%", + "type": "boolean" + }, + "searchNuGetOrgSymbolServer": { + "default": false, + "description": "%generateOptionsSchema.symbolOptions.searchNuGetOrgSymbolServer.description%", + "type": "boolean" + }, + "searchPaths": { + "default": [], + "description": "%generateOptionsSchema.symbolOptions.searchPaths.description%", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "targetArchitecture": { + "enum": [ + "x86_64", + "arm64" + ], + "markdownDescription": "%generateOptionsSchema.targetArchitecture.markdownDescription%", + "type": "string" + }, + "type": { + "default": "coreclr", + "description": "Type type of code to debug. Can be either 'coreclr' for .NET Core debugging, or 'clr' for Desktop .NET Framework. 'clr' only works on Windows as the Desktop framework is Windows-only.", + "enum": [ + "coreclr", + "clr" + ], + "type": "string" + } + }, + "type": "object" + }, + "dotnet.unitTests.runSettingsPath": { + "description": "Path to the .runsettings file which should be used when running unit tests. (Previously `omnisharp.testRunSettings`)", + "type": "string" + }, + "omnisharp.autoStart": { + "default": true, + "description": "Specifies whether the OmniSharp server will be automatically started or not. If false, OmniSharp can be started with the 'Restart OmniSharp' command", + "type": "boolean" + }, + "omnisharp.disableMSBuildDiagnosticWarning": { + "default": false, + "description": "Specifies whether notifications should be shown if OmniSharp encounters warnings or errors loading a project. Note that these warnings/errors are always emitted to the OmniSharp log", + "type": "boolean" + }, + "omnisharp.dotNetCliPaths": { + "description": "Paths to a local download of the .NET CLI to use for running any user code.", + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "omnisharp.enableAsyncCompletion": { + "default": false, + "description": "(EXPERIMENTAL) Enables support for resolving completion edits asynchronously. This can speed up time to show the completion list, particularly override and partial method completion lists, at the cost of slight delays after inserting a completion item. Most completion items will have no noticeable impact with this feature, but typing immediately after inserting an override or partial method completion, before the insert is completed, can have unpredictable results.", + "type": "boolean" + }, + "omnisharp.enableDecompilationSupport": { + "default": false, + "description": "Enables support for decompiling external references instead of viewing metadata.", + "scope": "machine", + "type": "boolean" + }, + "omnisharp.enableEditorConfigSupport": { + "default": true, + "description": "Enables support for reading code style, naming convention and analyzer settings from .editorconfig.", + "type": "boolean" + }, + "omnisharp.enableLspDriver": { + "default": false, + "description": "Enables support for the experimental language protocol based engine (requires reload to setup bindings correctly)", + "type": "boolean" + }, + "omnisharp.enableMsBuildLoadProjectsOnDemand": { + "default": false, + "description": "If true, MSBuild project system will only load projects for files that were opened in the editor. This setting is useful for big C# codebases and allows for faster initialization of code navigation features only for projects that are relevant to code that is being edited. With this setting enabled OmniSharp may load fewer projects and may thus display incomplete reference lists for symbols.", + "type": "boolean" + }, + "omnisharp.loggingLevel": { + "default": "information", + "description": "Specifies the level of logging output from the OmniSharp server.", + "enum": [ + "trace", + "debug", + "information", + "warning", + "error", + "critical" + ], + "type": "string" + }, + "omnisharp.maxFindSymbolsItems": { + "default": 1000, + "description": "The maximum number of items that 'Go to Symbol in Workspace' operation can show. The limit is applied only when a positive number is specified here.", + "type": "number" + }, + "omnisharp.maxProjectResults": { + "default": 250, + "description": "The maximum number of projects to be shown in the 'Select Project' dropdown (maximum 250).", + "type": "number" + }, + "omnisharp.minFindSymbolsFilterLength": { + "default": 0, + "description": "The minimum number of characters to enter before 'Go to Symbol in Workspace' operation shows any results.", + "type": "number" + }, + "omnisharp.monoPath": { + "description": "Specifies the path to a mono installation to use when \"useModernNet\" is set to false, instead of the default system one. Example: \"/Library/Frameworks/Mono.framework/Versions/Current\"", + "scope": "machine", + "type": "string" + }, + "omnisharp.organizeImportsOnFormat": { + "default": false, + "description": "Specifies whether 'using' directives should be grouped and sorted during document formatting.", + "type": "boolean" + }, + "omnisharp.projectFilesExcludePattern": { + "default": "**/node_modules/**,**/.git/**,**/bower_components/**", + "description": "The exclude pattern used by OmniSharp to find all project files.", + "type": "string" + }, + "omnisharp.projectLoadTimeout": { + "default": 60, + "description": "The time Visual Studio Code will wait for the OmniSharp server to start. Time is expressed in seconds.", + "type": "number" + }, + "omnisharp.sdkIncludePrereleases": { + "default": true, + "description": "Specifies whether to include preview versions of the .NET SDK when determining which version to use for project loading. Applies when \"useModernNet\" is set to true.", + "scope": "window", + "type": "boolean" + }, + "omnisharp.sdkPath": { + "description": "Specifies the path to a .NET SDK installation to use for project loading instead of the highest version installed. Applies when \"useModernNet\" is set to true. Example: /home/username/dotnet/sdks/6.0.300.", + "scope": "window", + "type": "string" + }, + "omnisharp.sdkVersion": { + "description": "Specifies the version of the .NET SDK to use for project loading instead of the highest version installed. Applies when \"useModernNet\" is set to true. Example: 6.0.300.", + "scope": "window", + "type": "string" + }, + "omnisharp.useEditorFormattingSettings": { + "default": true, + "description": "Specifes whether OmniSharp should use VS Code editor settings for C# code formatting (use of tabs, indentation size).", + "type": "boolean" + }, + "omnisharp.useModernNet": { + "default": true, + "description": "Use OmniSharp build for .NET 6. This version _does not_ support non-SDK-style .NET Framework projects, including Unity. SDK-style Framework, .NET Core, and .NET 5+ projects should see significant performance improvements.", + "scope": "window", + "title": "Use .NET 6 build of OmniSharp", + "type": "boolean" + }, + "razor.completion.commitElementsWithSpace": { + "default": "false", + "description": "Specifies whether to commit tag helper and component elements with a space.", + "scope": "window", + "type": "boolean" + }, + "razor.devmode": { + "default": false, + "description": "Forces the omnisharp-vscode extension to run in a mode that enables local Razor.VSCode deving.", + "type": "boolean" + }, + "razor.format.codeBlockBraceOnNextLine": { + "default": false, + "description": "Forces the open brace after an @code or @functions directive to be on the following line.", + "scope": "window", + "type": "boolean" + }, + "razor.format.enable": { + "default": true, + "description": "Enable/disable default Razor formatter.", + "scope": "window", + "type": "boolean" + }, + "razor.languageServer.debug": { + "default": false, + "description": "%configuration.razor.languageServer.debug%", + "order": 90, + "scope": "machine-overridable", + "type": "boolean" + }, + "razor.languageServer.directory": { + "description": "%configuration.razor.languageServer.directory%", + "order": 90, + "scope": "machine-overridable", + "type": "string" + }, + "razor.languageServer.forceRuntimeCodeGeneration": { + "default": false, + "description": "%configuration.razor.languageServer.forceRuntimeCodeGeneration%", + "order": 90, + "scope": "machine-overridable", + "type": "boolean" + }, + "razor.plugin.path": { + "description": "Overrides the path to the Razor plugin dll.", + "scope": "machine", + "type": "string" + }, + "razor.server.trace": { + "default": "Information", + "description": "%configuration.razor.server.trace%", + "enum": [ + "Trace", + "Debug", + "Information", + "Warning", + "Error", + "Critical", + "None" + ], + "order": 90, + "scope": "window", + "type": "string" + } + } } diff --git a/schemas/rust_analyzer.json b/schemas/rust_analyzer.json new file mode 100644 index 0000000..5bfc286 --- /dev/null +++ b/schemas/rust_analyzer.json @@ -0,0 +1,1463 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "description": "Rust language support for Visual Studio Code", + "properties": { + "rust-analyzer.assist.emitMustUse": { + "default": false, + "markdownDescription": "Whether to insert #[must_use] when generating `as_` methods\nfor enum variants.", + "type": "boolean" + }, + "rust-analyzer.assist.expressionFillDefault": { + "default": "todo", + "enum": [ + "todo", + "default" + ], + "enumDescriptions": [ + "Fill missing expressions with the `todo` macro", + "Fill missing expressions with reasonable defaults, `new` or `default` constructors." + ], + "markdownDescription": "Placeholder expression to use for missing expressions in assists.", + "type": "string" + }, + "rust-analyzer.assist.termSearch.fuel": { + "default": 400, + "markdownDescription": "Term search fuel in \"units of work\" for assists (Defaults to 400).", + "minimum": 0, + "type": "integer" + }, + "rust-analyzer.cachePriming.enable": { + "default": true, + "markdownDescription": "Warm up caches on project load.", + "type": "boolean" + }, + "rust-analyzer.cachePriming.numThreads": { + "anyOf": [ + { + "maximum": 255, + "minimum": 0, + "type": "number" + }, + { + "enum": [ + "physical", + "logical" + ], + "enumDescriptions": [ + "Use the number of physical cores", + "Use the number of logical cores" + ], + "type": "string" + } + ], + "default": "physical", + "markdownDescription": "How many worker threads to handle priming caches. The default `0` means to pick automatically." + }, + "rust-analyzer.cargo.allTargets": { + "default": true, + "markdownDescription": "Pass `--all-targets` to cargo invocation.", + "type": "boolean" + }, + "rust-analyzer.cargo.autoreload": { + "default": true, + "markdownDescription": "Automatically refresh project info via `cargo metadata` on\n`Cargo.toml` or `.cargo/config.toml` changes.", + "type": "boolean" + }, + "rust-analyzer.cargo.buildScripts.enable": { + "default": true, + "markdownDescription": "Run build scripts (`build.rs`) for more precise code analysis.", + "type": "boolean" + }, + "rust-analyzer.cargo.buildScripts.invocationLocation": { + "default": "workspace", + "enum": [ + "workspace", + "root" + ], + "enumDescriptions": [ + "The command will be executed in the corresponding workspace root.", + "The command will be executed in the project root." + ], + "markdownDescription": "Specifies the working directory for running build scripts.\n- \"workspace\": run build scripts for a workspace in the workspace's root directory.\n This is incompatible with `#rust-analyzer.cargo.buildScripts.invocationStrategy#` set to `once`.\n- \"root\": run build scripts in the project's root directory.\nThis config only has an effect when `#rust-analyzer.cargo.buildScripts.overrideCommand#`\nis set.", + "type": "string" + }, + "rust-analyzer.cargo.buildScripts.invocationStrategy": { + "default": "per_workspace", + "enum": [ + "per_workspace", + "once" + ], + "enumDescriptions": [ + "The command will be executed for each workspace.", + "The command will be executed once." + ], + "markdownDescription": "Specifies the invocation strategy to use when running the build scripts command.\nIf `per_workspace` is set, the command will be executed for each workspace.\nIf `once` is set, the command will be executed once.\nThis config only has an effect when `#rust-analyzer.cargo.buildScripts.overrideCommand#`\nis set.", + "type": "string" + }, + "rust-analyzer.cargo.buildScripts.overrideCommand": { + "default": null, + "items": { + "type": "string" + }, + "markdownDescription": "Override the command rust-analyzer uses to run build scripts and\nbuild procedural macros. The command is required to output json\nand should therefore include `--message-format=json` or a similar\noption.\n\nIf there are multiple linked projects/workspaces, this command is invoked for\neach of them, with the working directory being the workspace root\n(i.e., the folder containing the `Cargo.toml`). This can be overwritten\nby changing `#rust-analyzer.cargo.buildScripts.invocationStrategy#` and\n`#rust-analyzer.cargo.buildScripts.invocationLocation#`.\n\nBy default, a cargo invocation will be constructed for the configured\ntargets and features, with the following base command line:\n\n```bash\ncargo check --quiet --workspace --message-format=json --all-targets\n```\n.", + "type": [ + "null", + "array" + ] + }, + "rust-analyzer.cargo.buildScripts.rebuildOnSave": { + "default": true, + "markdownDescription": "Rerun proc-macros building/build-scripts running when proc-macro\nor build-script sources change and are saved.", + "type": "boolean" + }, + "rust-analyzer.cargo.buildScripts.useRustcWrapper": { + "default": true, + "markdownDescription": "Use `RUSTC_WRAPPER=rust-analyzer` when running build scripts to\navoid checking unnecessary things.", + "type": "boolean" + }, + "rust-analyzer.cargo.cfgs": { + "default": { + "debug_assertions": null, + "miri": null + }, + "markdownDescription": "List of cfg options to enable with the given values.", + "type": "object" + }, + "rust-analyzer.cargo.extraArgs": { + "default": [], + "items": { + "type": "string" + }, + "markdownDescription": "Extra arguments that are passed to every cargo invocation.", + "type": "array" + }, + "rust-analyzer.cargo.extraEnv": { + "default": {}, + "markdownDescription": "Extra environment variables that will be set when running cargo, rustc\nor other commands within the workspace. Useful for setting RUSTFLAGS.", + "type": "object" + }, + "rust-analyzer.cargo.features": { + "anyOf": [ + { + "enum": [ + "all" + ], + "enumDescriptions": [ + "Pass `--all-features` to cargo" + ], + "type": "string" + }, + { + "items": { + "type": "string" + }, + "type": "array" + } + ], + "default": [], + "markdownDescription": "List of features to activate.\n\nSet this to `\"all\"` to pass `--all-features` to cargo." + }, + "rust-analyzer.cargo.noDefaultFeatures": { + "default": false, + "markdownDescription": "Whether to pass `--no-default-features` to cargo.", + "type": "boolean" + }, + "rust-analyzer.cargo.sysroot": { + "default": "discover", + "markdownDescription": "Relative path to the sysroot, or \"discover\" to try to automatically find it via\n\"rustc --print sysroot\".\n\nUnsetting this disables sysroot loading.\n\nThis option does not take effect until rust-analyzer is restarted.", + "type": [ + "null", + "string" + ] + }, + "rust-analyzer.cargo.sysrootQueryMetadata": { + "default": false, + "markdownDescription": "Whether to run cargo metadata on the sysroot library allowing rust-analyzer to analyze\nthird-party dependencies of the standard libraries.\n\nThis will cause `cargo` to create a lockfile in your sysroot directory. rust-analyzer\nwill attempt to clean up afterwards, but nevertheless requires the location to be\nwritable to.", + "type": "boolean" + }, + "rust-analyzer.cargo.sysrootSrc": { + "default": null, + "markdownDescription": "Relative path to the sysroot library sources. If left unset, this will default to\n`{cargo.sysroot}/lib/rustlib/src/rust/library`.\n\nThis option does not take effect until rust-analyzer is restarted.", + "type": [ + "null", + "string" + ] + }, + "rust-analyzer.cargo.target": { + "default": null, + "markdownDescription": "Compilation target override (target triple).", + "type": [ + "null", + "string" + ] + }, + "rust-analyzer.cargo.targetDir": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "boolean" + }, + { + "type": "string" + } + ], + "default": null, + "markdownDescription": "Optional path to a rust-analyzer specific target directory.\nThis prevents rust-analyzer's `cargo check` and initial build-script and proc-macro\nbuilding from locking the `Cargo.lock` at the expense of duplicating build artifacts.\n\nSet to `true` to use a subdirectory of the existing target directory or\nset to a path relative to the workspace to use that path." + }, + "rust-analyzer.cargoRunner": { + "default": null, + "description": "Custom cargo runner extension ID.", + "type": [ + "null", + "string" + ] + }, + "rust-analyzer.check.allTargets": { + "default": null, + "markdownDescription": "Check all targets and tests (`--all-targets`). Defaults to\n`#rust-analyzer.cargo.allTargets#`.", + "type": [ + "null", + "boolean" + ] + }, + "rust-analyzer.check.command": { + "default": "check", + "markdownDescription": "Cargo command to use for `cargo check`.", + "type": "string" + }, + "rust-analyzer.check.extraArgs": { + "default": [], + "items": { + "type": "string" + }, + "markdownDescription": "Extra arguments for `cargo check`.", + "type": "array" + }, + "rust-analyzer.check.extraEnv": { + "default": {}, + "markdownDescription": "Extra environment variables that will be set when running `cargo check`.\nExtends `#rust-analyzer.cargo.extraEnv#`.", + "type": "object" + }, + "rust-analyzer.check.features": { + "anyOf": [ + { + "enum": [ + "all" + ], + "enumDescriptions": [ + "Pass `--all-features` to cargo" + ], + "type": "string" + }, + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "default": null, + "markdownDescription": "List of features to activate. Defaults to\n`#rust-analyzer.cargo.features#`.\n\nSet to `\"all\"` to pass `--all-features` to Cargo." + }, + "rust-analyzer.check.ignore": { + "default": [], + "items": { + "type": "string" + }, + "markdownDescription": "List of `cargo check` (or other command specified in `check.command`) diagnostics to ignore.\n\nFor example for `cargo check`: `dead_code`, `unused_imports`, `unused_variables`,...", + "type": "array", + "uniqueItems": true + }, + "rust-analyzer.check.invocationLocation": { + "default": "workspace", + "enum": [ + "workspace", + "root" + ], + "enumDescriptions": [ + "The command will be executed in the corresponding workspace root.", + "The command will be executed in the project root." + ], + "markdownDescription": "Specifies the working directory for running checks.\n- \"workspace\": run checks for workspaces in the corresponding workspaces' root directories.\n This falls back to \"root\" if `#rust-analyzer.check.invocationStrategy#` is set to `once`.\n- \"root\": run checks in the project's root directory.\nThis config only has an effect when `#rust-analyzer.check.overrideCommand#`\nis set.", + "type": "string" + }, + "rust-analyzer.check.invocationStrategy": { + "default": "per_workspace", + "enum": [ + "per_workspace", + "once" + ], + "enumDescriptions": [ + "The command will be executed for each workspace.", + "The command will be executed once." + ], + "markdownDescription": "Specifies the invocation strategy to use when running the check command.\nIf `per_workspace` is set, the command will be executed for each workspace.\nIf `once` is set, the command will be executed once.\nThis config only has an effect when `#rust-analyzer.check.overrideCommand#`\nis set.", + "type": "string" + }, + "rust-analyzer.check.noDefaultFeatures": { + "default": null, + "markdownDescription": "Whether to pass `--no-default-features` to Cargo. Defaults to\n`#rust-analyzer.cargo.noDefaultFeatures#`.", + "type": [ + "null", + "boolean" + ] + }, + "rust-analyzer.check.overrideCommand": { + "default": null, + "items": { + "type": "string" + }, + "markdownDescription": "Override the command rust-analyzer uses instead of `cargo check` for\ndiagnostics on save. The command is required to output json and\nshould therefore include `--message-format=json` or a similar option\n(if your client supports the `colorDiagnosticOutput` experimental\ncapability, you can use `--message-format=json-diagnostic-rendered-ansi`).\n\nIf you're changing this because you're using some tool wrapping\nCargo, you might also want to change\n`#rust-analyzer.cargo.buildScripts.overrideCommand#`.\n\nIf there are multiple linked projects/workspaces, this command is invoked for\neach of them, with the working directory being the workspace root\n(i.e., the folder containing the `Cargo.toml`). This can be overwritten\nby changing `#rust-analyzer.check.invocationStrategy#` and\n`#rust-analyzer.check.invocationLocation#`.\n\nIf `$saved_file` is part of the command, rust-analyzer will pass\nthe absolute path of the saved file to the provided command. This is\nintended to be used with non-Cargo build systems.\nNote that `$saved_file` is experimental and may be removed in the future.\n\nAn example command would be:\n\n```bash\ncargo check --workspace --message-format=json --all-targets\n```\n.", + "type": [ + "null", + "array" + ] + }, + "rust-analyzer.check.targets": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "items": { + "type": "string" + }, + "type": "array" + } + ], + "default": null, + "markdownDescription": "Check for specific targets. Defaults to `#rust-analyzer.cargo.target#` if empty.\n\nCan be a single target, e.g. `\"x86_64-unknown-linux-gnu\"` or a list of targets, e.g.\n`[\"aarch64-apple-darwin\", \"x86_64-apple-darwin\"]`.\n\nAliased as `\"checkOnSave.targets\"`." + }, + "rust-analyzer.check.workspace": { + "default": true, + "markdownDescription": "Whether `--workspace` should be passed to `cargo check`.\nIf false, `-p ` will be passed instead.", + "type": "boolean" + }, + "rust-analyzer.checkOnSave": { + "default": true, + "markdownDescription": "Run the check command for diagnostics on save.", + "type": "boolean" + }, + "rust-analyzer.completion.autoimport.enable": { + "default": true, + "markdownDescription": "Toggles the additional completions that automatically add imports when completed.\nNote that your client must specify the `additionalTextEdits` LSP client capability to truly have this feature enabled.", + "type": "boolean" + }, + "rust-analyzer.completion.autoself.enable": { + "default": true, + "markdownDescription": "Toggles the additional completions that automatically show method calls and field accesses\nwith `self` prefixed to them when inside a method.", + "type": "boolean" + }, + "rust-analyzer.completion.callable.snippets": { + "default": "fill_arguments", + "enum": [ + "fill_arguments", + "add_parentheses", + "none" + ], + "enumDescriptions": [ + "Add call parentheses and pre-fill arguments.", + "Add call parentheses.", + "Do no snippet completions for callables." + ], + "markdownDescription": "Whether to add parenthesis and argument snippets when completing function.", + "type": "string" + }, + "rust-analyzer.completion.fullFunctionSignatures.enable": { + "default": false, + "markdownDescription": "Whether to show full function/method signatures in completion docs.", + "type": "boolean" + }, + "rust-analyzer.completion.limit": { + "default": null, + "markdownDescription": "Maximum number of completions to return. If `None`, the limit is infinite.", + "minimum": 0, + "type": [ + "null", + "integer" + ] + }, + "rust-analyzer.completion.postfix.enable": { + "default": true, + "markdownDescription": "Whether to show postfix snippets like `dbg`, `if`, `not`, etc.", + "type": "boolean" + }, + "rust-analyzer.completion.privateEditable.enable": { + "default": false, + "markdownDescription": "Enables completions of private items and fields that are defined in the current workspace even if they are not visible at the current position.", + "type": "boolean" + }, + "rust-analyzer.completion.snippets.custom": { + "default": { + "Arc::new": { + "body": "Arc::new(${receiver})", + "description": "Put the expression into an `Arc`", + "postfix": "arc", + "requires": "std::sync::Arc", + "scope": "expr" + }, + "Box::pin": { + "body": "Box::pin(${receiver})", + "description": "Put the expression into a pinned `Box`", + "postfix": "pinbox", + "requires": "std::boxed::Box", + "scope": "expr" + }, + "Err": { + "body": "Err(${receiver})", + "description": "Wrap the expression in a `Result::Err`", + "postfix": "err", + "scope": "expr" + }, + "Ok": { + "body": "Ok(${receiver})", + "description": "Wrap the expression in a `Result::Ok`", + "postfix": "ok", + "scope": "expr" + }, + "Rc::new": { + "body": "Rc::new(${receiver})", + "description": "Put the expression into an `Rc`", + "postfix": "rc", + "requires": "std::rc::Rc", + "scope": "expr" + }, + "Some": { + "body": "Some(${receiver})", + "description": "Wrap the expression in an `Option::Some`", + "postfix": "some", + "scope": "expr" + } + }, + "markdownDescription": "Custom completion snippets.", + "type": "object" + }, + "rust-analyzer.completion.termSearch.enable": { + "default": false, + "markdownDescription": "Whether to enable term search based snippets like `Some(foo.bar().baz())`.", + "type": "boolean" + }, + "rust-analyzer.completion.termSearch.fuel": { + "default": 200, + "markdownDescription": "Term search fuel in \"units of work\" for autocompletion (Defaults to 200).", + "minimum": 0, + "type": "integer" + }, + "rust-analyzer.debug.engine": { + "default": "auto", + "description": "Preferred debug engine.", + "enum": [ + "auto", + "vadimcn.vscode-lldb", + "ms-vscode.cpptools" + ], + "markdownEnumDescriptions": [ + "First try to use [CodeLLDB](https://marketplace.visualstudio.com/items?itemName=vadimcn.vscode-lldb), if it's not installed try to use [MS C++ tools](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools).", + "Use [CodeLLDB](https://marketplace.visualstudio.com/items?itemName=vadimcn.vscode-lldb)", + "Use [MS C++ tools](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools)" + ], + "type": "string" + }, + "rust-analyzer.debug.engineSettings": { + "default": {}, + "markdownDescription": "Optional settings passed to the debug engine. Example: `{ \"lldb\": { \"terminal\":\"external\"} }`", + "type": "object" + }, + "rust-analyzer.debug.openDebugPane": { + "default": false, + "markdownDescription": "Whether to open up the `Debug Panel` on debugging start.", + "type": "boolean" + }, + "rust-analyzer.debug.sourceFileMap": { + "const": "auto", + "default": { + "/rustc/": "${env:USERPROFILE}/.rustup/toolchains//lib/rustlib/src/rust" + }, + "description": "Optional source file mappings passed to the debug engine.", + "type": [ + "object", + "string" + ] + }, + "rust-analyzer.diagnostics.disabled": { + "default": [], + "items": { + "type": "string" + }, + "markdownDescription": "List of rust-analyzer diagnostics to disable.", + "type": "array", + "uniqueItems": true + }, + "rust-analyzer.diagnostics.enable": { + "default": true, + "markdownDescription": "Whether to show native rust-analyzer diagnostics.", + "type": "boolean" + }, + "rust-analyzer.diagnostics.experimental.enable": { + "default": false, + "markdownDescription": "Whether to show experimental rust-analyzer diagnostics that might\nhave more false positives than usual.", + "type": "boolean" + }, + "rust-analyzer.diagnostics.previewRustcOutput": { + "default": false, + "markdownDescription": "Whether to show the main part of the rendered rustc output of a diagnostic message.", + "type": "boolean" + }, + "rust-analyzer.diagnostics.remapPrefix": { + "default": {}, + "markdownDescription": "Map of prefixes to be substituted when parsing diagnostic file paths.\nThis should be the reverse mapping of what is passed to `rustc` as `--remap-path-prefix`.", + "type": "object" + }, + "rust-analyzer.diagnostics.styleLints.enable": { + "default": false, + "markdownDescription": "Whether to run additional style lints.", + "type": "boolean" + }, + "rust-analyzer.diagnostics.useRustcErrorCode": { + "default": false, + "markdownDescription": "Whether to show diagnostics using the original rustc error code. If this is false, all rustc diagnostics will have the code 'rustc(Click for full compiler diagnostics)'", + "type": "boolean" + }, + "rust-analyzer.diagnostics.warningsAsHint": { + "default": [], + "items": { + "type": "string" + }, + "markdownDescription": "List of warnings that should be displayed with hint severity.\n\nThe warnings will be indicated by faded text or three dots in code\nand will not show up in the `Problems Panel`.", + "type": "array" + }, + "rust-analyzer.diagnostics.warningsAsInfo": { + "default": [], + "items": { + "type": "string" + }, + "markdownDescription": "List of warnings that should be displayed with info severity.\n\nThe warnings will be indicated by a blue squiggly underline in code\nand a blue icon in the `Problems Panel`.", + "type": "array" + }, + "rust-analyzer.discoverProjectRunner": { + "default": null, + "markdownDescription": "Sets the extension responsible for determining which extension the rust-analyzer extension uses to generate `rust-project.json` files. This should should only be used\n if a build system like Buck or Bazel is also in use.", + "type": [ + "null", + "string" + ] + }, + "rust-analyzer.files.excludeDirs": { + "default": [], + "items": { + "type": "string" + }, + "markdownDescription": "These directories will be ignored by rust-analyzer. They are\nrelative to the workspace root, and globs are not supported. You may\nalso need to add the folders to Code's `files.watcherExclude`.", + "type": "array" + }, + "rust-analyzer.files.watcher": { + "default": "client", + "enum": [ + "client", + "server" + ], + "enumDescriptions": [ + "Use the client (editor) to watch files for changes", + "Use server-side file watching" + ], + "markdownDescription": "Controls file watching implementation.", + "type": "string" + }, + "rust-analyzer.highlightRelated.breakPoints.enable": { + "default": true, + "markdownDescription": "Enables highlighting of related references while the cursor is on `break`, `loop`, `while`, or `for` keywords.", + "type": "boolean" + }, + "rust-analyzer.highlightRelated.closureCaptures.enable": { + "default": true, + "markdownDescription": "Enables highlighting of all captures of a closure while the cursor is on the `|` or move keyword of a closure.", + "type": "boolean" + }, + "rust-analyzer.highlightRelated.exitPoints.enable": { + "default": true, + "markdownDescription": "Enables highlighting of all exit points while the cursor is on any `return`, `?`, `fn`, or return type arrow (`->`).", + "type": "boolean" + }, + "rust-analyzer.highlightRelated.references.enable": { + "default": true, + "markdownDescription": "Enables highlighting of related references while the cursor is on any identifier.", + "type": "boolean" + }, + "rust-analyzer.highlightRelated.yieldPoints.enable": { + "default": true, + "markdownDescription": "Enables highlighting of all break points for a loop or block context while the cursor is on any `async` or `await` keywords.", + "type": "boolean" + }, + "rust-analyzer.hover.actions.debug.enable": { + "default": true, + "markdownDescription": "Whether to show `Debug` action. Only applies when\n`#rust-analyzer.hover.actions.enable#` is set.", + "type": "boolean" + }, + "rust-analyzer.hover.actions.enable": { + "default": true, + "markdownDescription": "Whether to show HoverActions in Rust files.", + "type": "boolean" + }, + "rust-analyzer.hover.actions.gotoTypeDef.enable": { + "default": true, + "markdownDescription": "Whether to show `Go to Type Definition` action. Only applies when\n`#rust-analyzer.hover.actions.enable#` is set.", + "type": "boolean" + }, + "rust-analyzer.hover.actions.implementations.enable": { + "default": true, + "markdownDescription": "Whether to show `Implementations` action. Only applies when\n`#rust-analyzer.hover.actions.enable#` is set.", + "type": "boolean" + }, + "rust-analyzer.hover.actions.references.enable": { + "default": false, + "markdownDescription": "Whether to show `References` action. Only applies when\n`#rust-analyzer.hover.actions.enable#` is set.", + "type": "boolean" + }, + "rust-analyzer.hover.actions.run.enable": { + "default": true, + "markdownDescription": "Whether to show `Run` action. Only applies when\n`#rust-analyzer.hover.actions.enable#` is set.", + "type": "boolean" + }, + "rust-analyzer.hover.documentation.enable": { + "default": true, + "markdownDescription": "Whether to show documentation on hover.", + "type": "boolean" + }, + "rust-analyzer.hover.documentation.keywords.enable": { + "default": true, + "markdownDescription": "Whether to show keyword hover popups. Only applies when\n`#rust-analyzer.hover.documentation.enable#` is set.", + "type": "boolean" + }, + "rust-analyzer.hover.links.enable": { + "default": true, + "markdownDescription": "Use markdown syntax for links on hover.", + "type": "boolean" + }, + "rust-analyzer.hover.memoryLayout.alignment": { + "anyOf": [ + { + "type": "null" + }, + { + "enum": [ + "both", + "decimal", + "hexadecimal" + ], + "enumDescriptions": [ + "Render as 12 (0xC)", + "Render as 12", + "Render as 0xC" + ], + "type": "string" + } + ], + "default": "hexadecimal", + "markdownDescription": "How to render the align information in a memory layout hover." + }, + "rust-analyzer.hover.memoryLayout.enable": { + "default": true, + "markdownDescription": "Whether to show memory layout data on hover.", + "type": "boolean" + }, + "rust-analyzer.hover.memoryLayout.niches": { + "default": false, + "markdownDescription": "How to render the niche information in a memory layout hover.", + "type": [ + "null", + "boolean" + ] + }, + "rust-analyzer.hover.memoryLayout.offset": { + "anyOf": [ + { + "type": "null" + }, + { + "enum": [ + "both", + "decimal", + "hexadecimal" + ], + "enumDescriptions": [ + "Render as 12 (0xC)", + "Render as 12", + "Render as 0xC" + ], + "type": "string" + } + ], + "default": "hexadecimal", + "markdownDescription": "How to render the offset information in a memory layout hover." + }, + "rust-analyzer.hover.memoryLayout.size": { + "anyOf": [ + { + "type": "null" + }, + { + "enum": [ + "both", + "decimal", + "hexadecimal" + ], + "enumDescriptions": [ + "Render as 12 (0xC)", + "Render as 12", + "Render as 0xC" + ], + "type": "string" + } + ], + "default": "both", + "markdownDescription": "How to render the size information in a memory layout hover." + }, + "rust-analyzer.hover.show.enumVariants": { + "default": 5, + "markdownDescription": "How many variants of an enum to display when hovering on. Show none if empty.", + "minimum": 0, + "type": [ + "null", + "integer" + ] + }, + "rust-analyzer.hover.show.fields": { + "default": 5, + "markdownDescription": "How many fields of a struct, variant or union to display when hovering on. Show none if empty.", + "minimum": 0, + "type": [ + "null", + "integer" + ] + }, + "rust-analyzer.hover.show.traitAssocItems": { + "default": null, + "markdownDescription": "How many associated items of a trait to display when hovering a trait.", + "minimum": 0, + "type": [ + "null", + "integer" + ] + }, + "rust-analyzer.imports.granularity.enforce": { + "default": false, + "markdownDescription": "Whether to enforce the import granularity setting for all files. If set to false rust-analyzer will try to keep import styles consistent per file.", + "type": "boolean" + }, + "rust-analyzer.imports.granularity.group": { + "default": "crate", + "enum": [ + "preserve", + "crate", + "module", + "item", + "one" + ], + "enumDescriptions": [ + "Do not change the granularity of any imports and preserve the original structure written by the developer.", + "Merge imports from the same crate into a single use statement. Conversely, imports from different crates are split into separate statements.", + "Merge imports from the same module into a single use statement. Conversely, imports from different modules are split into separate statements.", + "Flatten imports so that each has its own use statement.", + "Merge all imports into a single use statement as long as they have the same visibility and attributes." + ], + "markdownDescription": "How imports should be grouped into use statements.", + "type": "string" + }, + "rust-analyzer.imports.group.enable": { + "default": true, + "markdownDescription": "Group inserted imports by the [following order](https://rust-analyzer.github.io/manual.html#auto-import). Groups are separated by newlines.", + "type": "boolean" + }, + "rust-analyzer.imports.merge.glob": { + "default": true, + "markdownDescription": "Whether to allow import insertion to merge new imports into single path glob imports like `use std::fmt::*;`.", + "type": "boolean" + }, + "rust-analyzer.imports.preferNoStd": { + "default": false, + "markdownDescription": "Prefer to unconditionally use imports of the core and alloc crate, over the std crate.", + "type": "boolean" + }, + "rust-analyzer.imports.preferPrelude": { + "default": false, + "markdownDescription": "Whether to prefer import paths containing a `prelude` module.", + "type": "boolean" + }, + "rust-analyzer.imports.prefix": { + "default": "plain", + "enum": [ + "plain", + "self", + "crate" + ], + "enumDescriptions": [ + "Insert import paths relative to the current module, using up to one `super` prefix if the parent module contains the requested item.", + "Insert import paths relative to the current module, using up to one `super` prefix if the parent module contains the requested item. Prefixes `self` in front of the path if it starts with a module.", + "Force import paths to be absolute by always starting them with `crate` or the extern crate name they come from." + ], + "markdownDescription": "The path structure for newly inserted paths to use.", + "type": "string" + }, + "rust-analyzer.inlayHints.bindingModeHints.enable": { + "default": false, + "markdownDescription": "Whether to show inlay type hints for binding modes.", + "type": "boolean" + }, + "rust-analyzer.inlayHints.chainingHints.enable": { + "default": true, + "markdownDescription": "Whether to show inlay type hints for method chains.", + "type": "boolean" + }, + "rust-analyzer.inlayHints.closingBraceHints.enable": { + "default": true, + "markdownDescription": "Whether to show inlay hints after a closing `}` to indicate what item it belongs to.", + "type": "boolean" + }, + "rust-analyzer.inlayHints.closingBraceHints.minLines": { + "default": 25, + "markdownDescription": "Minimum number of lines required before the `}` until the hint is shown (set to 0 or 1\nto always show them).", + "minimum": 0, + "type": "integer" + }, + "rust-analyzer.inlayHints.closureCaptureHints.enable": { + "default": false, + "markdownDescription": "Whether to show inlay hints for closure captures.", + "type": "boolean" + }, + "rust-analyzer.inlayHints.closureReturnTypeHints.enable": { + "default": "never", + "enum": [ + "always", + "never", + "with_block" + ], + "enumDescriptions": [ + "Always show type hints for return types of closures.", + "Never show type hints for return types of closures.", + "Only show type hints for return types of closures with blocks." + ], + "markdownDescription": "Whether to show inlay type hints for return types of closures.", + "type": "string" + }, + "rust-analyzer.inlayHints.closureStyle": { + "default": "impl_fn", + "enum": [ + "impl_fn", + "rust_analyzer", + "with_id", + "hide" + ], + "enumDescriptions": [ + "`impl_fn`: `impl FnMut(i32, u64) -> i8`", + "`rust_analyzer`: `|i32, u64| -> i8`", + "`with_id`: `{closure#14352}`, where that id is the unique number of the closure in r-a internals", + "`hide`: Shows `...` for every closure type" + ], + "markdownDescription": "Closure notation in type and chaining inlay hints.", + "type": "string" + }, + "rust-analyzer.inlayHints.discriminantHints.enable": { + "default": "never", + "enum": [ + "always", + "never", + "fieldless" + ], + "enumDescriptions": [ + "Always show all discriminant hints.", + "Never show discriminant hints.", + "Only show discriminant hints on fieldless enum variants." + ], + "markdownDescription": "Whether to show enum variant discriminant hints.", + "type": "string" + }, + "rust-analyzer.inlayHints.expressionAdjustmentHints.enable": { + "default": "never", + "enum": [ + "always", + "never", + "reborrow" + ], + "enumDescriptions": [ + "Always show all adjustment hints.", + "Never show adjustment hints.", + "Only show auto borrow and dereference adjustment hints." + ], + "markdownDescription": "Whether to show inlay hints for type adjustments.", + "type": "string" + }, + "rust-analyzer.inlayHints.expressionAdjustmentHints.hideOutsideUnsafe": { + "default": false, + "markdownDescription": "Whether to hide inlay hints for type adjustments outside of `unsafe` blocks.", + "type": "boolean" + }, + "rust-analyzer.inlayHints.expressionAdjustmentHints.mode": { + "default": "prefix", + "enum": [ + "prefix", + "postfix", + "prefer_prefix", + "prefer_postfix" + ], + "enumDescriptions": [ + "Always show adjustment hints as prefix (`*expr`).", + "Always show adjustment hints as postfix (`expr.*`).", + "Show prefix or postfix depending on which uses less parenthesis, preferring prefix.", + "Show prefix or postfix depending on which uses less parenthesis, preferring postfix." + ], + "markdownDescription": "Whether to show inlay hints as postfix ops (`.*` instead of `*`, etc).", + "type": "string" + }, + "rust-analyzer.inlayHints.implicitDrops.enable": { + "default": false, + "markdownDescription": "Whether to show implicit drop hints.", + "type": "boolean" + }, + "rust-analyzer.inlayHints.lifetimeElisionHints.enable": { + "default": "never", + "enum": [ + "always", + "never", + "skip_trivial" + ], + "enumDescriptions": [ + "Always show lifetime elision hints.", + "Never show lifetime elision hints.", + "Only show lifetime elision hints if a return type is involved." + ], + "markdownDescription": "Whether to show inlay type hints for elided lifetimes in function signatures.", + "type": "string" + }, + "rust-analyzer.inlayHints.lifetimeElisionHints.useParameterNames": { + "default": false, + "markdownDescription": "Whether to prefer using parameter names as the name for elided lifetime hints if possible.", + "type": "boolean" + }, + "rust-analyzer.inlayHints.maxLength": { + "default": 25, + "markdownDescription": "Maximum length for inlay hints. Set to null to have an unlimited length.", + "minimum": 0, + "type": [ + "null", + "integer" + ] + }, + "rust-analyzer.inlayHints.parameterHints.enable": { + "default": true, + "markdownDescription": "Whether to show function parameter name inlay hints at the call\nsite.", + "type": "boolean" + }, + "rust-analyzer.inlayHints.rangeExclusiveHints.enable": { + "default": false, + "markdownDescription": "Whether to show exclusive range inlay hints.", + "type": "boolean" + }, + "rust-analyzer.inlayHints.reborrowHints.enable": { + "default": "never", + "enum": [ + "always", + "never", + "mutable" + ], + "enumDescriptions": [ + "Always show reborrow hints.", + "Never show reborrow hints.", + "Only show mutable reborrow hints." + ], + "markdownDescription": "Whether to show inlay hints for compiler inserted reborrows.\nThis setting is deprecated in favor of #rust-analyzer.inlayHints.expressionAdjustmentHints.enable#.", + "type": "string" + }, + "rust-analyzer.inlayHints.renderColons": { + "default": true, + "markdownDescription": "Whether to render leading colons for type hints, and trailing colons for parameter hints.", + "type": "boolean" + }, + "rust-analyzer.inlayHints.typeHints.enable": { + "default": true, + "markdownDescription": "Whether to show inlay type hints for variables.", + "type": "boolean" + }, + "rust-analyzer.inlayHints.typeHints.hideClosureInitialization": { + "default": false, + "markdownDescription": "Whether to hide inlay type hints for `let` statements that initialize to a closure.\nOnly applies to closures with blocks, same as `#rust-analyzer.inlayHints.closureReturnTypeHints.enable#`.", + "type": "boolean" + }, + "rust-analyzer.inlayHints.typeHints.hideNamedConstructor": { + "default": false, + "markdownDescription": "Whether to hide inlay type hints for constructors.", + "type": "boolean" + }, + "rust-analyzer.interpret.tests": { + "default": false, + "markdownDescription": "Enables the experimental support for interpreting tests.", + "type": "boolean" + }, + "rust-analyzer.joinLines.joinAssignments": { + "default": true, + "markdownDescription": "Join lines merges consecutive declaration and initialization of an assignment.", + "type": "boolean" + }, + "rust-analyzer.joinLines.joinElseIf": { + "default": true, + "markdownDescription": "Join lines inserts else between consecutive ifs.", + "type": "boolean" + }, + "rust-analyzer.joinLines.removeTrailingComma": { + "default": true, + "markdownDescription": "Join lines removes trailing commas.", + "type": "boolean" + }, + "rust-analyzer.joinLines.unwrapTrivialBlock": { + "default": true, + "markdownDescription": "Join lines unwraps trivial blocks.", + "type": "boolean" + }, + "rust-analyzer.lens.debug.enable": { + "default": true, + "markdownDescription": "Whether to show `Debug` lens. Only applies when\n`#rust-analyzer.lens.enable#` is set.", + "type": "boolean" + }, + "rust-analyzer.lens.enable": { + "default": true, + "markdownDescription": "Whether to show CodeLens in Rust files.", + "type": "boolean" + }, + "rust-analyzer.lens.forceCustomCommands": { + "default": true, + "markdownDescription": "Internal config: use custom client-side commands even when the\nclient doesn't set the corresponding capability.", + "type": "boolean" + }, + "rust-analyzer.lens.implementations.enable": { + "default": true, + "markdownDescription": "Whether to show `Implementations` lens. Only applies when\n`#rust-analyzer.lens.enable#` is set.", + "type": "boolean" + }, + "rust-analyzer.lens.location": { + "default": "above_name", + "enum": [ + "above_name", + "above_whole_item" + ], + "enumDescriptions": [ + "Render annotations above the name of the item.", + "Render annotations above the whole item, including documentation comments and attributes." + ], + "markdownDescription": "Where to render annotations.", + "type": "string" + }, + "rust-analyzer.lens.references.adt.enable": { + "default": false, + "markdownDescription": "Whether to show `References` lens for Struct, Enum, and Union.\nOnly applies when `#rust-analyzer.lens.enable#` is set.", + "type": "boolean" + }, + "rust-analyzer.lens.references.enumVariant.enable": { + "default": false, + "markdownDescription": "Whether to show `References` lens for Enum Variants.\nOnly applies when `#rust-analyzer.lens.enable#` is set.", + "type": "boolean" + }, + "rust-analyzer.lens.references.method.enable": { + "default": false, + "markdownDescription": "Whether to show `Method References` lens. Only applies when\n`#rust-analyzer.lens.enable#` is set.", + "type": "boolean" + }, + "rust-analyzer.lens.references.trait.enable": { + "default": false, + "markdownDescription": "Whether to show `References` lens for Trait.\nOnly applies when `#rust-analyzer.lens.enable#` is set.", + "type": "boolean" + }, + "rust-analyzer.lens.run.enable": { + "default": true, + "markdownDescription": "Whether to show `Run` lens. Only applies when\n`#rust-analyzer.lens.enable#` is set.", + "type": "boolean" + }, + "rust-analyzer.linkedProjects": { + "default": [], + "items": { + "type": [ + "string", + "object" + ] + }, + "markdownDescription": "Disable project auto-discovery in favor of explicitly specified set\nof projects.\n\nElements must be paths pointing to `Cargo.toml`,\n`rust-project.json`, `.rs` files (which will be treated as standalone files) or JSON\nobjects in `rust-project.json` format.", + "type": "array" + }, + "rust-analyzer.lru.capacity": { + "default": null, + "markdownDescription": "Number of syntax trees rust-analyzer keeps in memory. Defaults to 128.", + "minimum": 0, + "type": [ + "null", + "integer" + ] + }, + "rust-analyzer.lru.query.capacities": { + "default": {}, + "markdownDescription": "Sets the LRU capacity of the specified queries.", + "type": "object" + }, + "rust-analyzer.notifications.cargoTomlNotFound": { + "default": true, + "markdownDescription": "Whether to show `can't find Cargo.toml` error message.", + "type": "boolean" + }, + "rust-analyzer.notifications.unindexedProject": { + "default": false, + "markdownDescription": "Whether to send an UnindexedProject notification to the client.", + "type": "boolean" + }, + "rust-analyzer.numThreads": { + "anyOf": [ + { + "type": "null" + }, + { + "maximum": 255, + "minimum": 0, + "type": "number" + }, + { + "enum": [ + "physical", + "logical" + ], + "enumDescriptions": [ + "Use the number of physical cores", + "Use the number of logical cores" + ], + "type": "string" + } + ], + "default": null, + "markdownDescription": "How many worker threads in the main loop. The default `null` means to pick automatically." + }, + "rust-analyzer.procMacro.attributes.enable": { + "default": true, + "markdownDescription": "Expand attribute macros. Requires `#rust-analyzer.procMacro.enable#` to be set.", + "type": "boolean" + }, + "rust-analyzer.procMacro.enable": { + "default": true, + "markdownDescription": "Enable support for procedural macros, implies `#rust-analyzer.cargo.buildScripts.enable#`.", + "type": "boolean" + }, + "rust-analyzer.procMacro.ignored": { + "default": {}, + "markdownDescription": "These proc-macros will be ignored when trying to expand them.\n\nThis config takes a map of crate names with the exported proc-macro names to ignore as values.", + "type": "object" + }, + "rust-analyzer.procMacro.server": { + "default": null, + "markdownDescription": "Internal config, path to proc-macro server executable.", + "type": [ + "null", + "string" + ] + }, + "rust-analyzer.references.excludeImports": { + "default": false, + "markdownDescription": "Exclude imports from find-all-references.", + "type": "boolean" + }, + "rust-analyzer.references.excludeTests": { + "default": false, + "markdownDescription": "Exclude tests from find-all-references.", + "type": "boolean" + }, + "rust-analyzer.restartServerOnConfigChange": { + "default": false, + "markdownDescription": "Whether to restart the server automatically when certain settings that require a restart are changed.", + "type": "boolean" + }, + "rust-analyzer.runnables.command": { + "default": null, + "markdownDescription": "Command to be executed instead of 'cargo' for runnables.", + "type": [ + "null", + "string" + ] + }, + "rust-analyzer.runnables.extraArgs": { + "default": [], + "items": { + "type": "string" + }, + "markdownDescription": "Additional arguments to be passed to cargo for runnables such as\ntests or binaries. For example, it may be `--release`.", + "type": "array" + }, + "rust-analyzer.runnables.extraEnv": { + "anyOf": [ + { + "type": "null" + }, + { + "items": { + "properties": { + "env": { + "description": "Variables in form of { \"key\": \"value\"}", + "type": "object" + }, + "mask": { + "description": "Runnable name mask", + "type": "string" + }, + "platform": { + "default": null, + "markdownDescription": "Platform(s) filter like \"win32\" or [\"linux\", \"win32\"]. See [process.platform](https://nodejs.org/api/process.html#processplatform) values.", + "type": [ + "null", + "string", + "array" + ] + } + }, + "type": "object" + }, + "type": "array" + }, + { + "description": "Variables in form of { \"key\": \"value\"}", + "type": "object" + } + ], + "default": null, + "markdownDescription": "Environment variables passed to the runnable launched using `Test` or `Debug` lens or `rust-analyzer.run` command." + }, + "rust-analyzer.runnables.extraTestBinaryArgs": { + "default": [ + "--show-output" + ], + "items": { + "type": "string" + }, + "markdownDescription": "Additional arguments to be passed through Cargo to launched tests, benchmarks, or\ndoc-tests.\n\nUnless the launched target uses a\n[custom test harness](https://doc.rust-lang.org/cargo/reference/cargo-targets.html#the-harness-field),\nthey will end up being interpreted as options to\n[`rustc`’s built-in test harness (“libtest”)](https://doc.rust-lang.org/rustc/tests/index.html#cli-arguments).", + "type": "array" + }, + "rust-analyzer.runnables.problemMatcher": { + "default": [ + "$rustc" + ], + "items": { + "type": "string" + }, + "markdownDescription": "Problem matchers to use for `rust-analyzer.run` command, eg `[\"$rustc\", \"$rust-panic\"]`.", + "type": "array" + }, + "rust-analyzer.rustc.source": { + "default": null, + "markdownDescription": "Path to the Cargo.toml of the rust compiler workspace, for usage in rustc_private\nprojects, or \"discover\" to try to automatically find it if the `rustc-dev` component\nis installed.\n\nAny project which uses rust-analyzer with the rustcPrivate\ncrates must set `[package.metadata.rust-analyzer] rustc_private=true` to use it.\n\nThis option does not take effect until rust-analyzer is restarted.", + "type": [ + "null", + "string" + ] + }, + "rust-analyzer.rustfmt.extraArgs": { + "default": [], + "items": { + "type": "string" + }, + "markdownDescription": "Additional arguments to `rustfmt`.", + "type": "array" + }, + "rust-analyzer.rustfmt.overrideCommand": { + "default": null, + "items": { + "type": "string" + }, + "markdownDescription": "Advanced option, fully override the command rust-analyzer uses for\nformatting. This should be the equivalent of `rustfmt` here, and\nnot that of `cargo fmt`. The file contents will be passed on the\nstandard input and the formatted result will be read from the\nstandard output.", + "type": [ + "null", + "array" + ] + }, + "rust-analyzer.rustfmt.rangeFormatting.enable": { + "default": false, + "markdownDescription": "Enables the use of rustfmt's unstable range formatting command for the\n`textDocument/rangeFormatting` request. The rustfmt option is unstable and only\navailable on a nightly build.", + "type": "boolean" + }, + "rust-analyzer.semanticHighlighting.doc.comment.inject.enable": { + "default": true, + "markdownDescription": "Inject additional highlighting into doc comments.\n\nWhen enabled, rust-analyzer will highlight rust source in doc comments as well as intra\ndoc links.", + "type": "boolean" + }, + "rust-analyzer.semanticHighlighting.nonStandardTokens": { + "default": true, + "markdownDescription": "Whether the server is allowed to emit non-standard tokens and modifiers.", + "type": "boolean" + }, + "rust-analyzer.semanticHighlighting.operator.enable": { + "default": true, + "markdownDescription": "Use semantic tokens for operators.\n\nWhen disabled, rust-analyzer will emit semantic tokens only for operator tokens when\nthey are tagged with modifiers.", + "type": "boolean" + }, + "rust-analyzer.semanticHighlighting.operator.specialization.enable": { + "default": false, + "markdownDescription": "Use specialized semantic tokens for operators.\n\nWhen enabled, rust-analyzer will emit special token types for operator tokens instead\nof the generic `operator` token type.", + "type": "boolean" + }, + "rust-analyzer.semanticHighlighting.punctuation.enable": { + "default": false, + "markdownDescription": "Use semantic tokens for punctuation.\n\nWhen disabled, rust-analyzer will emit semantic tokens only for punctuation tokens when\nthey are tagged with modifiers or have a special role.", + "type": "boolean" + }, + "rust-analyzer.semanticHighlighting.punctuation.separate.macro.bang": { + "default": false, + "markdownDescription": "When enabled, rust-analyzer will emit a punctuation semantic token for the `!` of macro\ncalls.", + "type": "boolean" + }, + "rust-analyzer.semanticHighlighting.punctuation.specialization.enable": { + "default": false, + "markdownDescription": "Use specialized semantic tokens for punctuation.\n\nWhen enabled, rust-analyzer will emit special token types for punctuation tokens instead\nof the generic `punctuation` token type.", + "type": "boolean" + }, + "rust-analyzer.semanticHighlighting.strings.enable": { + "default": true, + "markdownDescription": "Use semantic tokens for strings.\n\nIn some editors (e.g. vscode) semantic tokens override other highlighting grammars.\nBy disabling semantic tokens for strings, other grammars can be used to highlight\ntheir contents.", + "type": "boolean" + }, + "rust-analyzer.server.extraEnv": { + "additionalProperties": { + "type": [ + "string", + "number" + ] + }, + "default": null, + "markdownDescription": "Extra environment variables that will be passed to the rust-analyzer executable. Useful for passing e.g. `RA_LOG` for debugging.", + "type": [ + "null", + "object" + ] + }, + "rust-analyzer.server.path": { + "default": null, + "markdownDescription": "Path to rust-analyzer executable (points to bundled binary by default).", + "scope": "machine-overridable", + "type": [ + "null", + "string" + ] + }, + "rust-analyzer.showDependenciesExplorer": { + "default": true, + "markdownDescription": "Whether to show the dependencies view.", + "type": "boolean" + }, + "rust-analyzer.showRequestFailedErrorNotification": { + "default": true, + "markdownDescription": "Whether to show error notifications for failing requests.", + "type": "boolean" + }, + "rust-analyzer.showUnlinkedFileNotification": { + "default": true, + "markdownDescription": "Whether to show a notification for unlinked files asking the user to add the corresponding Cargo.toml to the linked projects setting.", + "type": "boolean" + }, + "rust-analyzer.signatureInfo.detail": { + "default": "full", + "enum": [ + "full", + "parameters" + ], + "enumDescriptions": [ + "Show the entire signature.", + "Show only the parameters." + ], + "markdownDescription": "Show full signature of the callable. Only shows parameters if disabled.", + "type": "string" + }, + "rust-analyzer.signatureInfo.documentation.enable": { + "default": true, + "markdownDescription": "Show documentation.", + "type": "boolean" + }, + "rust-analyzer.statusBar.clickAction": { + "default": "openLogs", + "enum": [ + "stopServer", + "openLogs" + ], + "enumDescriptions": [ + "Stop Server", + "Open Logs" + ], + "markdownDescription": "Action to run when clicking the extension status bar item.", + "type": "string" + }, + "rust-analyzer.testExplorer": { + "default": false, + "markdownDescription": "Whether to show the test explorer.", + "type": "boolean" + }, + "rust-analyzer.trace.extension": { + "default": false, + "description": "Enable logging of VS Code extensions itself.", + "type": "boolean" + }, + "rust-analyzer.trace.server": { + "default": "off", + "description": "Trace requests to the rust-analyzer (this is usually overly verbose and not recommended for regular users).", + "enum": [ + "off", + "messages", + "verbose" + ], + "enumDescriptions": [ + "No traces", + "Error only", + "Full log" + ], + "scope": "window", + "type": "string" + }, + "rust-analyzer.typing.autoClosingAngleBrackets.enable": { + "default": false, + "markdownDescription": "Whether to insert closing angle brackets when typing an opening angle bracket of a generic argument list.", + "type": "boolean" + }, + "rust-analyzer.typing.continueCommentsOnNewline": { + "default": true, + "markdownDescription": "Whether to prefix newlines after comments with the corresponding comment prefix.", + "type": "boolean" + }, + "rust-analyzer.workspace.symbol.search.kind": { + "default": "only_types", + "enum": [ + "only_types", + "all_symbols" + ], + "enumDescriptions": [ + "Search for types only.", + "Search for all symbols kinds." + ], + "markdownDescription": "Workspace symbol search kind.", + "type": "string" + }, + "rust-analyzer.workspace.symbol.search.limit": { + "default": 128, + "markdownDescription": "Limits the number of items returned from a workspace symbol search (Defaults to 128).\nSome clients like vs-code issue new searches on result filtering and don't require all results to be returned in the initial search.\nOther clients requires all results upfront and might require a higher limit.", + "minimum": 0, + "type": "integer" + }, + "rust-analyzer.workspace.symbol.search.scope": { + "default": "workspace", + "enum": [ + "workspace", + "workspace_and_dependencies" + ], + "enumDescriptions": [ + "Search in current workspace only.", + "Search in current workspace and dependencies." + ], + "markdownDescription": "Workspace symbol search scope.", + "type": "string" + } + } +} diff --git a/schemas/sourcekit.json b/schemas/sourcekit.json index f6c3b36..55e0a82 100644 --- a/schemas/sourcekit.json +++ b/schemas/sourcekit.json @@ -1,5 +1,343 @@ { "$schema": "http://json-schema.org/draft-07/schema#", "description": "Swift Language Support for Visual Studio Code.", - "properties": [] + "properties": { + "sourcekit-lsp.disable": { + "default": false, + "description": "Disable the running of SourceKit-LSP.", + "markdownDeprecationMessage": "**Deprecated**: Please use `#swift.sourcekit-lsp.disable#` instead.", + "order": 7, + "type": "boolean" + }, + "sourcekit-lsp.inlayHints.enabled": { + "default": true, + "description": "Render inlay type annotations in the editor. Inlay hints require Swift 5.6.", + "markdownDeprecationMessage": "**Deprecated**: Please use `#editor.inlayHints.enabled#` instead.", + "order": 3, + "type": "boolean" + }, + "sourcekit-lsp.serverArguments": { + "default": [], + "description": "Arguments to pass to SourceKit-LSP. Argument keys and values should be provided as separate entries in the array e.g. ['--log-level', 'debug']", + "items": { + "type": "string" + }, + "markdownDeprecationMessage": "**Deprecated**: Please use `#swift.sourcekit-lsp.serverArguments#` instead.", + "order": 2, + "type": "array" + }, + "sourcekit-lsp.serverPath": { + "markdownDeprecationMessage": "**Deprecated**: Please use `#swift.sourcekit-lsp.serverPath#` instead.", + "markdownDescription": "The path of the `sourcekit-lsp` executable. The default is to look in the path where `swift` is found.", + "order": 1, + "type": "string" + }, + "sourcekit-lsp.support-c-cpp": { + "default": "cpptools-inactive", + "description": "Add LSP functionality for C/C++ files. By default this is set to disable when the C/C++ extension is active.", + "enum": [ + "enable", + "disable", + "cpptools-inactive" + ], + "enumDescriptions": [ + "Always enable", + "Always disable", + "Disable when C/C++ extension is active" + ], + "markdownDeprecationMessage": "**Deprecated**: Please use `#swift.sourcekit-lsp.supported-languages#` instead.", + "order": 5, + "type": "string" + }, + "sourcekit-lsp.trace.server": { + "default": "off", + "description": "Traces the communication between VS Code and the SourceKit-LSP language server.", + "enum": [ + "off", + "messages", + "verbose" + ], + "markdownDeprecationMessage": "**Deprecated**: Please use `#swift.sourcekit-lsp.trace.server#` instead.", + "order": 6, + "type": "string" + }, + "swift.SDK": { + "default": "", + "description": "The path of the SDK to compile against (`--sdk` parameter). The default SDK is determined by the environment on macOS and Windows.", + "order": 3, + "type": "string" + }, + "swift.actionAfterBuildError": { + "default": "Focus Terminal", + "enum": [ + "Focus Problems", + "Focus Terminal", + "Do Nothing" + ], + "enumDescriptions": [ + "Focus on Problems View", + "Focus on Build Task Terminal" + ], + "markdownDescription": "Action after a Build task generates errors.", + "order": 12, + "type": "string" + }, + "swift.autoGenerateLaunchConfigurations": { + "default": true, + "markdownDescription": "When loading a `Package.swift`, auto-generate `launch.json` configurations for running any executables.", + "order": 6, + "scope": "machine-overridable", + "type": "boolean" + }, + "swift.backgroundCompilation": { + "default": false, + "markdownDescription": "**Experimental**: Run `swift build` in the background whenever a file is saved.", + "order": 11, + "type": "boolean" + }, + "swift.buildArguments": { + "default": [], + "items": { + "type": "string" + }, + "markdownDescription": "Arguments to pass to `swift build`. Keys and values should be provided as separate entries. If you have created a copy of the build task in `tasks.json` then these build arguments will not be propogated to that task.", + "order": 2, + "type": "array" + }, + "swift.buildPath": { + "default": "", + "markdownDescription": "Path to the build directory passed to all swift package manager commands.", + "order": 13, + "type": "string" + }, + "swift.debugger.path": { + "default": "", + "description": "Path to lldb debug adapter.", + "order": 2, + "type": "string" + }, + "swift.debugger.useDebugAdapterFromToolchain": { + "default": false, + "description": "Use lldb debug adapter packaged with Swift toolchain as your debug adapter. This is currently only available on Windows platforms or macOS Swift 6", + "order": 1, + "type": "boolean" + }, + "swift.diagnostics": { + "default": false, + "description": "Output additional diagnostics to the Swift Output View.", + "order": 100, + "type": "boolean" + }, + "swift.diagnosticsCollection": { + "default": "keepSourceKit", + "description": "Controls how diagnostics from the various providers are merged into the `swift` diagnostics collection.", + "enum": [ + "onlySwiftc", + "onlySourceKit", + "keepSwiftc", + "keepSourceKit", + "keepAll" + ], + "enumDescriptions": [ + "Only provide diagnostics from `swiftc`.", + "Only provide diagnostics from `SourceKit`.", + "When merging diagnostics, give precedence to diagnostics from `swiftc`.", + "When merging diagnostics, give precedence to diagnostics from `SourceKit`.", + "Keep diagnostics from all providers." + ], + "order": 8, + "type": "string" + }, + "swift.diagnosticsStyle": { + "default": "llvm", + "description": "Controls which -diagnostic-style option to pass to `swiftc` when running `swift` tasks.", + "enum": [ + "default", + "llvm", + "swift" + ], + "enumDescriptions": [ + "Use whichever diagnostics style `swiftc` produces by default.", + "Use the \"llvm\" diagnostic style. This allows the parsing of \"notes\".", + "Use the \"swift\" diagnostic style. This means that \"notes\" will not be parsed. This option will not work for Swift versions prior to 5.10." + ], + "order": 9, + "type": "string" + }, + "swift.disableAutoResolve": { + "default": false, + "markdownDescription": "Disable automatic running of `swift package resolve`. This will also disable searching for command plugins and the initial test discovery process as both of these can kick of a resolve.", + "order": 7, + "scope": "machine-overridable", + "type": "boolean" + }, + "swift.disableSwiftPackageManagerIntegration": { + "default": false, + "markdownDescription": "Disables automated Build Tasks, Package Dependency view, Launch configuration generation and TestExplorer.", + "order": 14, + "type": "boolean" + }, + "swift.excludePathsFromPackageDependencies": { + "default": [ + ".git", + ".github" + ], + "description": "A list of paths to exclude from the Package Dependencies view.", + "items": { + "type": "string" + }, + "order": 10, + "type": "array" + }, + "swift.openAfterCreateNewProject": { + "default": "prompt", + "description": "Controls whether to open a swift project automatically after creating it.", + "enum": [ + "always", + "alwaysNewWindow", + "whenNoFolderOpen", + "prompt" + ], + "enumDescriptions": [ + "Always open in current window.", + "Always open in a new window.", + "Only open in current window when no folder is opened.", + "Always prompt for action." + ], + "order": 16, + "type": "string" + }, + "swift.path": { + "default": "", + "markdownDescription": "The path of the folder containing the Swift executables. The default is to look in the PATH environment variable.", + "order": 1, + "type": "string" + }, + "swift.runtimePath": { + "default": "", + "description": "The path of the folder containing the Swift runtime libraries.", + "order": 2, + "type": "string" + }, + "swift.sanitizer": { + "default": "off", + "description": "Runtime sanitizer instrumentation.", + "enum": [ + "off", + "thread", + "address" + ], + "order": 4, + "scope": "machine-overridable", + "type": "string" + }, + "swift.searchSubfoldersForPackages": { + "default": false, + "markdownDescription": "Search sub-folders of workspace folder for Swift Packages at start up.", + "order": 5, + "scope": "machine-overridable", + "type": "boolean" + }, + "swift.showBuildStatus": { + "default": "swiftStatus", + "description": "Controls where to show the Swift build progress when running a `swift` build task.", + "enum": [ + "never", + "swiftStatus", + "progress", + "notification" + ], + "enumDescriptions": [ + "Never show the Swift build status.", + "Show the Swift build status in a status bar item provided by the Swift extension.", + "Show the Swift build status in the \"Progress Message\" status bar item provided by VS Code.", + "Show the Swift build status as a progress notification." + ], + "order": 17, + "type": "string" + }, + "swift.showCreateSwiftProjectInWelcomePage": { + "default": true, + "description": "Controls whether or not the create new swift project button appears in the welcome page.", + "order": 15, + "type": "boolean" + }, + "swift.sourcekit-lsp.disable": { + "default": false, + "description": "Disable the running of SourceKit-LSP.", + "order": 6, + "type": "boolean" + }, + "swift.sourcekit-lsp.serverArguments": { + "default": [], + "description": "Arguments to pass to SourceKit-LSP. Argument keys and values should be provided as separate entries in the array e.g. ['--log-level', 'debug']", + "items": { + "type": "string" + }, + "order": 2, + "type": "array" + }, + "swift.sourcekit-lsp.serverPath": { + "markdownDeprecationMessage": "**Deprecated**: The sourcekit-lsp executable relies on outputs from tools in your current toolchain. If your sourcekit-lsp version does not match your toolchain you may experience unexpected behaviour.", + "markdownDescription": "The path of the `sourcekit-lsp` executable. The default is to look in the path where `swift` is found.", + "order": 1, + "type": "string" + }, + "swift.sourcekit-lsp.supported-languages": { + "default": [ + "swift", + "objective-c", + "objective-cpp", + "c", + "cpp" + ], + "description": "List of languages supported by SourceKit-LSP. This is used to determine whether SourceKit-LSP should provide language features for a particular file type.", + "items": { + "enum": [ + "swift", + "objective-c", + "objective-cpp", + "c", + "cpp" + ], + "type": "string" + }, + "order": 4, + "type": "array" + }, + "swift.sourcekit-lsp.trace.server": { + "default": "off", + "description": "Traces the communication between VS Code and the SourceKit-LSP language server.", + "enum": [ + "off", + "messages", + "verbose" + ], + "order": 5, + "type": "string" + }, + "swift.swiftEnvironmentVariables": { + "default": {}, + "markdownDescription": "Additional environment variables to pass to swift operations.", + "order": 1, + "patternProperties": { + ".*": { + "type": "string" + } + }, + "type": "object" + }, + "swift.testEnvironmentVariables": { + "default": {}, + "markdownDescription": "Environment variables to set when running tests. To set environment variables when debugging an application you should edit the relevant `launch.json` configuration", + "order": 3, + "patternProperties": { + ".*": { + "type": "string" + } + }, + "scope": "machine-overridable", + "type": "object" + } + } } diff --git a/schemas/svlangserver.json b/schemas/svlangserver.json index 283c5d3..6198691 100644 --- a/schemas/svlangserver.json +++ b/schemas/svlangserver.json @@ -1,5 +1,119 @@ { "$schema": "http://json-schema.org/draft-07/schema#", "description": "Language support for Verilog and SystemVerilog.", - "properties": [] + "properties": { + "systemverilog.antlrVerification": { + "default": false, + "description": "Use ANTLR parser to verify text documents when edited.", + "type": "boolean" + }, + "systemverilog.compileOnOpen": { + "default": false, + "description": "Compile all files when opened.", + "type": "boolean" + }, + "systemverilog.compileOnSave": { + "default": false, + "description": "Compile SystemVerilog/Verilog files when saved.", + "type": "boolean" + }, + "systemverilog.compilerType": { + "default": "Verilator", + "description": "Select the compiler type from the drop down list.", + "enum": [ + "Verilator", + "VCS", + "Verible" + ], + "type": "string" + }, + "systemverilog.disableIndexing": { + "default": false, + "description": "Disable automatic indexing when opening a folder or workspace.", + "type": "boolean" + }, + "systemverilog.documentSymbolsPrecision": { + "default": "full", + "description": "The level of detail the parser should use when looking for symbols:\n - 'full': detect blocks, ports, parameters, classes, methods, typedefs, defines, labels, instantiations, assertions, and references\n - 'full_no_references': detect blocks, ports, parameters, classes, methods, typedefs, defines, labels, instantiations, and assertions\n - 'declarations': detect blocks, ports, parameters, classes, methods, typedefs, and defines\n - 'fast': detect only common blocks (module, class, interface, package, program) without hierarchy", + "enum": [ + "full", + "full_no_references", + "declaration", + "fast" + ], + "type": "string" + }, + "systemverilog.enableIncrementalIndexing": { + "default": true, + "description": "Enable incremental indexation as you open files.", + "type": "boolean" + }, + "systemverilog.excludeCompiling": { + "default": "", + "description": "Files excluded from compiling (glob pattern).", + "type": "string" + }, + "systemverilog.excludeIndexing": { + "default": "", + "description": "Files excluded from indexing (glob pattern).", + "type": "string" + }, + "systemverilog.forceFastIndexing": { + "default": false, + "description": "Force indexing to use fast regular expression parsing.", + "type": "boolean" + }, + "systemverilog.formatCommand": { + "default": "verible-verilog-format", + "description": "Launch command for running the formatter.", + "type": "string" + }, + "systemverilog.includeIndexing": { + "default": [ + "**/*.{sv,v,svh,vh}" + ], + "description": "Files included for indexing (glob pattern). Examples: \n - Include files within the workspace's rtl folder ('*' at front of pattern denotes that path is relative to workspace root): **/rtl/**/*.{sv,v,svh,vh}\n - Add all files with a '.svp' extension: **/*.svp\n - Add files only when in a specific workspace: /abs/path/to/workspace/rtl/**/*.{sv,v,svh,vh}", + "type": "array" + }, + "systemverilog.launchConfigurationVCS": { + "default": "vcs", + "description": "Launch command for running VCS as the compiler.", + "type": "string" + }, + "systemverilog.launchConfigurationVerible": { + "default": "verible-verilog-lint", + "description": "Launch command for running Verible as the compiler.", + "type": "string" + }, + "systemverilog.launchConfigurationVerilator": { + "default": "verilator --sv --lint-only --language 1800-2012 --Wall", + "description": "Launch command for running Verilator as the compiler.", + "type": "string" + }, + "systemverilog.maxLineCountIndexing": { + "default": 2000, + "description": "When indexing a file, if the line count is larger than this number, fast indexing will be used to improve symbol lookup performance.", + "type": "integer" + }, + "systemverilog.parallelProcessing": { + "default": 10, + "description": "The number of files the extension should attempt to process in parallel. Processing consist of opening found files and perform matching to find symbols.", + "type": "integer" + }, + "systemverilog.trace.server": { + "default": "off", + "description": "Traces the communication between VS Code and the SystemVerilog language server.", + "enum": [ + "off", + "messages", + "verbose" + ], + "type": "string" + }, + "systemverilog.verifyOnOpen": { + "default": false, + "description": "Run ANTLR verification on all files when opened.", + "type": "boolean" + } + } } diff --git a/schemas/terraformls.json b/schemas/terraformls.json index 1a69cfa..410f8c9 100644 --- a/schemas/terraformls.json +++ b/schemas/terraformls.json @@ -1,5 +1,109 @@ { "$schema": "http://json-schema.org/draft-07/schema#", "description": "Syntax highlighting and autocompletion for Terraform", - "properties": [] + "properties": { + "terraform.codelens.referenceCount": { + "default": false, + "description": "Display reference counts above top level blocks and attributes.", + "scope": "window", + "type": "boolean" + }, + "terraform.experimentalFeatures.prefillRequiredFields": { + "default": false, + "markdownDescription": "Enable autocompletion for required fields when completing Terraform blocks. Combine with `#editor.suggest.preview#` and the editor will provide inline snippet suggestions for blocks of code", + "scope": "window", + "type": "boolean" + }, + "terraform.experimentalFeatures.validateOnSave": { + "default": false, + "description": "Enable validating the currently open file on save", + "scope": "window", + "type": "boolean" + }, + "terraform.languageServer.args": { + "default": [ + "serve" + ], + "description": "Arguments to pass to language server binary", + "items": { + "type": "string" + }, + "order": "2", + "scope": "machine", + "type": "array" + }, + "terraform.languageServer.enable": { + "default": true, + "description": "Enable Terraform Language Server", + "order": "0", + "scope": "window", + "type": "boolean" + }, + "terraform.languageServer.ignoreSingleFileWarning": { + "default": false, + "description": "Enable warning when opening a single Terraform file instead of a Terraform folder. Enabling this will prevent the message being sent", + "order": "3", + "scope": "window", + "type": "boolean" + }, + "terraform.languageServer.indexing.ignoreDirectoryNames": { + "default": [], + "description": "Per-workspace list of directory names for the language server to ignore when indexing files", + "items": { + "type": "string" + }, + "scope": "machine", + "type": "array" + }, + "terraform.languageServer.indexing.ignorePaths": { + "default": [], + "description": "Per-workspace list of paths for the language server to ignore when indexing files", + "items": { + "type": "string" + }, + "scope": "machine", + "type": "array" + }, + "terraform.languageServer.path": { + "default": "", + "description": "Path to the Terraform Language Server binary (optional)", + "order": "1", + "scope": "machine", + "type": "string" + }, + "terraform.languageServer.tcp.port": { + "default": null, + "markdownDescription": "Language server TCP port to connect to. This is not compatible with `#terraform.languageServer.path#`. This is used when you want the extension to connect via TCP to an already running language server process.", + "order": 4, + "scope": "machine", + "type": [ + "number", + null + ] + }, + "terraform.languageServer.terraform.logFilePath": { + "markdownDescription": "Path to a file (`TF_LOG_PATH`) for Terraform executions to be logged used by the the Terraform Language Server. Support for variables (e.g. timestamp, pid, ppid) via Go template syntax `{{varName}}`", + "order": 2, + "scope": "machine", + "type": "string" + }, + "terraform.languageServer.terraform.path": { + "description": "Path to the Terraform binary used by the Terraform Language Server", + "order": 0, + "scope": "machine", + "type": "string" + }, + "terraform.languageServer.terraform.timeout": { + "description": "Overrides Terraform execution timeout (e.g. 30s) used by the Terraform Language Server", + "order": 1, + "scope": "machine", + "type": "string" + }, + "terraform.validation.enableEnhancedValidation": { + "default": true, + "description": "Enable enhanced validation of Terraform files and modules", + "scope": "window", + "type": "boolean" + } + } } diff --git a/schemas/volar.json b/schemas/volar.json new file mode 100644 index 0000000..092286d --- /dev/null +++ b/schemas/volar.json @@ -0,0 +1,191 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "description": "Language Support for Vue", + "properties": { + "vue.autoInsert.bracketSpacing": { + "default": true, + "description": "Auto add space between double curly brackets: {{|}} -> {{ | }}", + "type": "boolean" + }, + "vue.autoInsert.dotValue": { + "default": false, + "description": "Auto-complete Ref value with `.value`.", + "type": "boolean" + }, + "vue.codeActions.askNewComponentName": { + "default": true, + "description": "Ask for new component name when extract component.", + "type": "boolean" + }, + "vue.codeActions.enabled": { + "default": true, + "description": "Enabled code actions.", + "type": "boolean" + }, + "vue.codeLens.enabled": { + "default": true, + "description": "Enabled code lens.", + "type": "boolean" + }, + "vue.complete.casing.props": { + "default": "autoKebab", + "description": "Preferred attr name case.", + "enum": [ + "autoKebab", + "autoCamel", + "kebab", + "camel" + ], + "enumDescriptions": [ + "Auto Detect from Content (Fallback to :kebab-case=\"...\" if detect failed)", + "Auto Detect from Content (Fallback to :camelCase=\"...\" if detect failed)", + ":kebab-case=\"...\"", + ":camelCase=\"...\"" + ], + "type": "string" + }, + "vue.complete.casing.tags": { + "default": "autoPascal", + "description": "Preferred tag name case.", + "enum": [ + "autoKebab", + "autoPascal", + "kebab", + "pascal" + ], + "enumDescriptions": [ + "Auto Detect from Content (Fallback to if detect failed)", + "Auto Detect from Content (Fallback to if detect failed)", + "", + "" + ], + "type": "string" + }, + "vue.doctor.status": { + "default": true, + "description": "Show known problems in status bar.", + "type": "boolean" + }, + "vue.format.script.initialIndent": { + "default": false, + "type": "boolean" + }, + "vue.format.style.initialIndent": { + "default": false, + "type": "boolean" + }, + "vue.format.template.initialIndent": { + "default": true, + "type": "boolean" + }, + "vue.format.wrapAttributes": { + "default": "auto", + "enum": [ + "auto", + "force", + "force-aligned", + "force-expand-multiline", + "aligned-multiple", + "preserve", + "preserve-aligned" + ], + "type": "string" + }, + "vue.inlayHints.inlineHandlerLeading": { + "default": false, + "description": "Show inlay hints for event argument in inline handlers.", + "type": "boolean" + }, + "vue.inlayHints.missingProps": { + "default": false, + "description": "Show inlay hints for missing required props.", + "type": "boolean" + }, + "vue.inlayHints.optionsWrapper": { + "default": false, + "description": "Show inlay hints for component options wrapper for type support.", + "type": "boolean" + }, + "vue.inlayHints.vBindShorthand": { + "default": false, + "description": "Show inlay hints for v-bind shorthand.", + "type": "boolean" + }, + "vue.server.hybridMode": { + "default": "auto", + "description": "Vue language server only handles CSS and HTML language support, and tsserver takes over TS language support via TS plugin.", + "enum": [ + "auto", + "typeScriptPluginOnly", + true, + false + ], + "enumDescriptions": [ + "Automatically detect and enable TypeScript Plugin/Hybrid Mode in a safe environment.", + "Only enable Vue TypeScript Plugin but disable Hybrid Mode.", + "Enable TypeScript Plugin/Hybrid Mode.", + "Disable TypeScript Plugin/Hybrid Mode." + ], + "type": "boolean" + }, + "vue.server.includeLanguages": { + "default": [ + "vue" + ], + "items": { + "type": "string" + }, + "type": "array" + }, + "vue.server.maxOldSpaceSize": { + "default": null, + "description": "Set --max-old-space-size option on server process. If you have problem on frequently \"Request textDocument/** failed.\" error, try setting higher memory(MB) on it.", + "type": [ + "number", + "null" + ] + }, + "vue.splitEditors.icon": { + "default": false, + "description": "Show split editor icon in title area of editor.", + "type": "boolean" + }, + "vue.splitEditors.layout.left": { + "default": [ + "script", + "scriptSetup", + "styles" + ], + "items": { + "type": "string" + }, + "type": "array" + }, + "vue.splitEditors.layout.right": { + "default": [ + "template", + "customBlocks" + ], + "items": { + "type": "string" + }, + "type": "array" + }, + "vue.trace.server": { + "default": "off", + "description": "Traces the communication between VS Code and the language server.", + "enum": [ + "off", + "messages", + "verbose" + ], + "scope": "window", + "type": "string" + }, + "vue.updateImportsOnFileMove.enabled": { + "default": true, + "description": "Enabled update imports on file move.", + "type": "boolean" + } + } +} diff --git a/types/lsp.lua b/types/lsp.lua index 3a36bff..d401797 100644 --- a/types/lsp.lua +++ b/types/lsp.lua @@ -1,7 +1,128 @@ ---@meta +---@class _.lspconfig.settings.als.OnTypeFormatting +-- If the VS Code `editor.formatOnType` setting is enabled, the Ada Language Server will format Ada code while it is being typed in the editor, in particular when a new line is typed. +-- +-- This setting controls whether formatting should only perform the indentation of the new line (true) or also format the previous line (false). +-- +-- ```lua +-- default = true +-- ``` +---@field indentOnly boolean + +---@class _.lspconfig.settings.als.Trace +-- Traces the communication between VS Code and the Ada language server in the 'Ada Language Server' Output view. +-- +-- ```lua +-- default = "off" +-- ``` +---@field server "off" | "messages" | "verbose" + +---@class _.lspconfig.settings.als.Ada +-- The character set that the Ada Language Server should use when reading files from disk. +-- +-- ```lua +-- default = "iso-8859-1" +-- ``` +---@field defaultCharset string +-- Controls the policy for displaying overriding and overridden subprograms on navigation requests such as 'Go To Definition' or 'Go To Implementations'. +-- +-- ```lua +-- default = "usage_and_abstract_only" +-- ``` +---@field displayMethodAncestryOnNavigation "never" | "usage_and_abstract_only" | "definition_only" | "always" +-- Controls the primary documentation style of entities. +-- +-- ```lua +-- default = "gnat" +-- ``` +---@field documentationStyle "gnat" | "leading" +-- Controls whether or not the Ada Language Server should emit diagnostics into the VS Code Problems view. +-- +-- ```lua +-- default = true +-- ``` +---@field enableDiagnostics boolean +-- Controls whether the Ada Language Server should index the source files immediately after loading a project. +-- +-- If set to false, indexing will be deferred to the time when an action requiring the index is first performed, e.g. hovering over a referenced entity to get its documentation. +-- +-- ```lua +-- default = true +-- ``` +---@field enableIndexing boolean +-- Controls whether comments should be folded like code blocks. +-- +-- ```lua +-- default = true +-- ``` +---@field foldComments boolean +-- Controls the Ada Language Server normalizes the file paths received from the client. +-- +-- ```lua +-- default = true +-- ``` +---@field followSymlinks boolean +-- Enable insertion of missing with-clauses when accepting completion for invisible symbols. +---@field insertWithClauses boolean +-- Defines the number of parameters/components beyond which named notation is used for completion snippets. +-- +-- ```lua +-- default = 3 +-- ``` +---@field namedNotationThreshold integer +---@field onTypeFormatting _.lspconfig.settings.als.OnTypeFormatting +-- GPR project file (*.gpr) for this workspace. +-- +-- It is recommended to set this to a relative path starting at the root of the workspace. +-- +-- ```lua +-- default = "" +-- ``` +---@field projectFile string +-- The path to a directory used for out-of-tree builds. This feature is related to the [--relocate-build-tree GPRbuild command line switch](https://docs.adacore.com/gprbuild-docs/html/gprbuild_ug/building_with_gprbuild.html#switches). +-- +-- ```lua +-- default = "" +-- ``` +---@field relocateBuildTree string +-- Enable editing Ada comments to update references to an entity when it is being renamed. +---@field renameInComments boolean +-- This setting must be used in conjunction with the `relocateBuildTree` setting. +-- +-- It specifies the root directory for artifact relocation. It corresponds to the [--root-dir GPRbuild command line switch](https://docs.adacore.com/gprbuild-docs/html/gprbuild_ug/building_with_gprbuild.html#switches). +-- +-- ```lua +-- default = "" +-- ``` +---@field rootDir string +-- Scenario variables to apply to the GPR project file. +-- +-- This value should be provided as an object where the property names are GPR scenario variables and the values are strings. +-- +-- ```lua +-- default = {} +-- ``` +---@field scenarioVariables table +---@field trace _.lspconfig.settings.als.Trace +-- Enable snippets in completion results (e.g. subprogram calls). +---@field useCompletionSnippets boolean + +---@class _.lspconfig.settings.als.Trace +-- Traces the communication between VS Code and the GPR language server in the 'GPR Language Server' Output view. +-- +-- ```lua +-- default = "off" +-- ``` +---@field server "off" | "messages" | "verbose" + +---@class _.lspconfig.settings.als.Gpr +---@field trace _.lspconfig.settings.als.Trace + ---@class lspconfig.settings.als +---@field ada _.lspconfig.settings.als.Ada +---@field gpr _.lspconfig.settings.als.Gpr ---@class _.lspconfig.settings.astro.Language-server -- Path to the language server executable. You won't need this in most cases, set this only when needing a specific version of the language server @@ -186,8661 +307,12819 @@ ---@class lspconfig.settings.clangd ---@field clangd _.lspconfig.settings.clangd.Clangd ----@class lspconfig.settings.cssls - ----@class lspconfig.settings.dartls - ----@class _.lspconfig.settings.denols.CodeLens --- Enables or disables the display of code lens information for implementations of items in the code. ----@field implementations boolean --- Enables or disables the display of code lens information for references of items in the code. ----@field references boolean --- Enables or disables the display of code lens information for all functions in the code. ----@field referencesAllFunctions boolean --- Enables or disables the display of code lenses that allow running of individual tests in the code. ----@field test boolean --- Additional arguments to use with the run test code lens. Defaults to `[ "--allow-all", "--no-check" ]`. +---@class _.lspconfig.settings.cssls.Completion +-- Insert semicolon at end of line when completing CSS properties. -- -- ```lua --- default = { "--allow-all", "--no-check" } +-- default = true -- ``` ----@field testArgs string[] - ----@class _.lspconfig.settings.denols.EnumMemberValues --- Enable/disable inlay hints for enum values. ----@field enabled boolean - ----@class _.lspconfig.settings.denols.FunctionLikeReturnTypes --- Enable/disable inlay hints for implicit function return types. ----@field enabled boolean +---@field completePropertyWithSemicolon boolean +-- By default, VS Code triggers property value completion after selecting a CSS property. Use this setting to disable this behavior. +-- +-- ```lua +-- default = true +-- ``` +---@field triggerPropertyValueCompletion boolean ----@class _.lspconfig.settings.denols.ParameterNames --- Enable/disable inlay hints for parameter names. +---@class _.lspconfig.settings.cssls.Format +-- Put braces on the same line as rules (`collapse`) or put braces on own line (`expand`). -- -- ```lua --- default = "none" +-- default = "collapse" -- ``` ----@field enabled "none" | "literals" | "all" --- Do not display an inlay hint when the argument name matches the parameter. +---@field braceStyle "collapse" | "expand" +-- Enable/disable default CSS formatter. -- -- ```lua -- default = true -- ``` ----@field suppressWhenArgumentMatchesName boolean - ----@class _.lspconfig.settings.denols.ParameterTypes --- Enable/disable inlay hints for implicit parameter types. ----@field enabled boolean - ----@class _.lspconfig.settings.denols.PropertyDeclarationTypes --- Enable/disable inlay hints for implicit property declarations. ----@field enabled boolean - ----@class _.lspconfig.settings.denols.VariableTypes --- Enable/disable inlay hints for implicit variable types. ----@field enabled boolean --- Suppress type hints where the variable name matches the implicit type. +---@field enable boolean +-- Maximum number of line breaks to be preserved in one chunk, when `#css.format.preserveNewLines#` is enabled. +---@field maxPreserveNewLines number +-- Separate rulesets by a blank line. -- -- ```lua -- default = true -- ``` ----@field suppressWhenTypeMatchesName boolean - ----@class _.lspconfig.settings.denols.InlayHints ----@field enumMemberValues _.lspconfig.settings.denols.EnumMemberValues ----@field functionLikeReturnTypes _.lspconfig.settings.denols.FunctionLikeReturnTypes ----@field parameterNames _.lspconfig.settings.denols.ParameterNames ----@field parameterTypes _.lspconfig.settings.denols.ParameterTypes ----@field propertyDeclarationTypes _.lspconfig.settings.denols.PropertyDeclarationTypes ----@field variableTypes _.lspconfig.settings.denols.VariableTypes - ----@class _.lspconfig.settings.denols.Imports --- If enabled, when new hosts/origins are encountered that support import suggestions, you will be prompted to enable or disable it. Defaults to `true`. +---@field newlineBetweenRules boolean +-- Separate selectors with a new line. -- -- ```lua -- default = true -- ``` ----@field autoDiscover boolean --- Controls which hosts are enabled for import suggestions. +---@field newlineBetweenSelectors boolean +-- Whether existing line breaks before elements should be preserved. -- -- ```lua --- default = { --- ["https://deno.land"] = true --- } +-- default = true -- ``` ----@field hosts table +---@field preserveNewLines boolean +-- Ensure a space character around selector separators '>', '+', '~' (e.g. `a > b`). +---@field spaceAroundSelectorSeparator boolean ----@class _.lspconfig.settings.denols.Suggest +---@class _.lspconfig.settings.cssls.Hover +-- Show property and value documentation in CSS hovers. +-- -- ```lua -- default = true -- ``` ----@field autoImports boolean ----@field completeFunctionCalls boolean ----@field imports _.lspconfig.settings.denols.Imports +---@field documentation boolean +-- Show references to MDN in CSS hovers. +-- -- ```lua -- default = true -- ``` ----@field names boolean +---@field references boolean + +---@class _.lspconfig.settings.cssls.Lint +-- Invalid number of parameters. +-- -- ```lua --- default = true +-- default = "error" -- ``` ----@field paths boolean - ----@class _.lspconfig.settings.denols.Testing --- Arguments to use when running tests via the Test Explorer. Defaults to `[ "--allow-all" ]`. +---@field argumentsInColorFunction "ignore" | "warning" | "error" +-- Do not use `width` or `height` when using `padding` or `border`. -- -- ```lua --- default = { "--allow-all", "--no-check" } +-- default = "ignore" -- ``` ----@field args string[] - ----@class _.lspconfig.settings.denols.Deno --- A path to the cache directory for Deno. By default, the operating system's cache path plus `deno` is used, or the `DENO_DIR` environment variable, but if set, this path will be used instead. ----@field cache string --- Controls if the extension should cache the active document's dependencies on save. +---@field boxModel "ignore" | "warning" | "error" +-- When using a vendor-specific prefix make sure to also include all other vendor-specific properties. -- -- ```lua --- default = true +-- default = "ignore" -- ``` ----@field cacheOnSave boolean --- A list of root certificate stores used to validate TLS certificates when fetching and caching remote resources. This overrides the `DENO_TLS_CA_STORE` environment variable if set. ----@field certificateStores string[] ----@field codeLens _.lspconfig.settings.denols.CodeLens --- The file path to a configuration file. This is the equivalent to using `--config` on the command line. The path can be either be relative to the workspace, or an absolute path. +---@field compatibleVendorPrefixes "ignore" | "warning" | "error" +-- Do not use duplicate style definitions. -- --- It is recommend you name it `deno.json` or `deno.jsonc`. +-- ```lua +-- default = "ignore" +-- ``` +---@field duplicateProperties "ignore" | "warning" | "error" +-- Do not use empty rulesets. -- --- **Not recommended to be set globally.** ----@field config string --- Controls the default action when clicking on a task in the _Deno Tasks sidebar_. +-- ```lua +-- default = "warning" +-- ``` +---@field emptyRules "ignore" | "warning" | "error" +-- Avoid using `float`. Floats lead to fragile CSS that is easy to break if one aspect of the layout changes. -- -- ```lua --- default = "open" +-- default = "ignore" -- ``` ----@field defaultTaskCommand "open" | "run" --- Disables the Deno Language Server for specific paths. This will leave the built in TypeScript/JavaScript language server enabled for those paths. Takes priority over `deno.enablePaths`. +---@field float "ignore" | "warning" | "error" +-- `@font-face` rule must define `src` and `font-family` properties. -- --- **Not recommended to be enabled in user settings.** +-- ```lua +-- default = "warning" +-- ``` +---@field fontFaceProperties "ignore" | "warning" | "error" +-- Hex colors must consist of 3, 4, 6 or 8 hex numbers. -- -- ```lua --- default = {} +-- default = "error" -- ``` ----@field disablePaths string[] --- Maximum number of file system entries to traverse when finding scripts to preload into TypeScript on startup. Set this to 0 to disable document preloading. +---@field hexColorLength "ignore" | "warning" | "error" +-- Selectors should not contain IDs because these rules are too tightly coupled with the HTML. -- -- ```lua --- default = 1000 +-- default = "ignore" -- ``` ----@field documentPreloadLimit number --- Controls if the Deno Language Server is enabled. When enabled, the extension will disable the built-in VSCode JavaScript and TypeScript language services, and will use the Deno Language Server instead. +---@field idSelector "ignore" | "warning" | "error" +-- IE hacks are only necessary when supporting IE7 and older. -- --- If omitted, your preference will be inferred as true if there is a `deno.json[c]` at your workspace root and false if not. +-- ```lua +-- default = "ignore" +-- ``` +---@field ieHack "ignore" | "warning" | "error" +-- Import statements do not load in parallel. -- --- If you want to enable only part of your workspace folder, consider using `deno.enablePaths` setting instead. +-- ```lua +-- default = "ignore" +-- ``` +---@field importStatement "ignore" | "warning" | "error" +-- Avoid using `!important`. It is an indication that the specificity of the entire CSS has gotten out of control and needs to be refactored. -- --- **Not recommended to be enabled globally.** ----@field enable boolean --- Enables the Deno Language Server for specific paths, instead of for the whole workspace folder. This will disable the built in TypeScript/JavaScript language server for those paths. +-- ```lua +-- default = "ignore" +-- ``` +---@field important "ignore" | "warning" | "error" +-- Property is ignored due to the display. E.g. with `display: inline`, the `width`, `height`, `margin-top`, `margin-bottom`, and `float` properties have no effect. -- --- When a value is set, the value of `"deno.enable"` is ignored. +-- ```lua +-- default = "warning" +-- ``` +---@field propertyIgnoredDueToDisplay "ignore" | "warning" | "error" +-- The universal selector (`*`) is known to be slow. -- --- The workspace folder is used as the base for the supplied paths. If for example you have all your Deno code in `worker` path in your workspace, you can add an item with the value of `./worker`, and the Deno will only provide diagnostics for the files within `worker` or any of its sub paths. +-- ```lua +-- default = "ignore" +-- ``` +---@field universalSelector "ignore" | "warning" | "error" +-- Unknown at-rule. -- --- **Not recommended to be enabled in user settings.** ----@field enablePaths string[] --- Enable breaking features likely to be shipped in Deno 2.0. ----@field future boolean --- The file path to an import map. This is the equivalent to using `--import-map` on the command line. +-- ```lua +-- default = "warning" +-- ``` +---@field unknownAtRules "ignore" | "warning" | "error" +-- Unknown property. -- --- [Import maps](https://deno.land/manual@v1.6.0/linking_to_external_code/import_maps) provide a way to "relocate" modules based on their specifiers. The path can either be relative to the workspace, or an absolute path. +-- ```lua +-- default = "warning" +-- ``` +---@field unknownProperties "ignore" | "warning" | "error" +-- Unknown vendor specific property. -- --- **Not recommended to be set globally.** ----@field importMap string ----@field inlayHints _.lspconfig.settings.denols.InlayHints --- Determines if the internal debugging information for the Deno language server will be logged to the _Deno Language Server_ console. ----@field internalDebug boolean --- Enables the inspector server for the JS runtime used by the Deno Language Server to host its TS server. Optionally provide an address for the inspector listener e.g. "127.0.0.1:9222" (default). ----@field internalInspect boolean|string --- Controls if linting information will be provided by the Deno Language Server. +-- ```lua +-- default = "ignore" +-- ``` +---@field unknownVendorSpecificProperties "ignore" | "warning" | "error" +-- A list of properties that are not validated against the `unknownProperties` rule. -- --- **Not recommended to be enabled globally.** +-- ```lua +-- default = {} +-- ``` +---@field validProperties string[] +-- When using a vendor-specific prefix, also include the standard property. -- -- ```lua --- default = true +-- default = "warning" -- ``` ----@field lint boolean --- Write logs to a file in a project-local directory. ----@field logFile boolean --- Maximum amount of memory the TypeScript isolate can use. Defaults to 3072 (3GB). +---@field vendorPrefix "ignore" | "warning" | "error" +-- No unit for zero needed. -- -- ```lua --- default = 3072 +-- default = "ignore" -- ``` ----@field maxTsServerMemory number --- A path to the `deno` CLI executable. By default, the extension looks for `deno` in the `PATH`, but if set, will use the path specified instead. ----@field path string ----@field suggest _.lspconfig.settings.denols.Suggest ----@field testing _.lspconfig.settings.denols.Testing --- A path to a PEM certificate to use as the certificate authority when validating TLS certificates when fetching and caching remote resources. This is like using `--cert` on the Deno CLI and overrides the `DENO_CERT` environment variable if set. ----@field tlsCertificate string --- **DANGER** disables verification of TLS certificates for the hosts provided. There is likely a better way to deal with any errors than use this option. This is like using `--unsafely-ignore-certificate-errors` in the Deno CLI. ----@field unsafelyIgnoreCertificateErrors string[] --- Controls if tests will be run with the the `--unstable` flag when running tests via the explorer. --- --- **Not recommended to be enabled globally.** ----@field unstable boolean - ----@class lspconfig.settings.denols ----@field deno _.lspconfig.settings.denols.Deno +---@field zeroUnits "ignore" | "warning" | "error" ----@class _.lspconfig.settings.elixirls.Trace --- Traces the communication between VS Code and the Elixir language server. +---@class _.lspconfig.settings.cssls.Trace +-- Traces the communication between VS Code and the CSS language server. -- -- ```lua -- default = "off" -- ``` ---@field server "off" | "messages" | "verbose" ----@class _.lspconfig.settings.elixirls.ElixirLS --- Additional file types capable of triggering a build on change +---@class _.lspconfig.settings.cssls.Css +---@field completion _.lspconfig.settings.cssls.Completion +-- A list of relative file paths pointing to JSON files following the [custom data format](https://github.com/microsoft/vscode-css-languageservice/blob/master/docs/customData.md). +-- +-- VS Code loads custom data on startup to enhance its CSS support for CSS custom properties (variables), at-rules, pseudo-classes, and pseudo-elements you specify in the JSON files. +-- +-- The file paths are relative to workspace and only workspace folder settings are considered. -- -- ```lua -- default = {} -- ``` ----@field additionalWatchedExtensions string[] --- Trigger ElixirLS build when code is saved +---@field customData string[] +---@field format _.lspconfig.settings.cssls.Format +---@field hover _.lspconfig.settings.cssls.Hover +---@field lint _.lspconfig.settings.cssls.Lint +---@field trace _.lspconfig.settings.cssls.Trace +-- Enables or disables all validations. -- -- ```lua -- default = true -- ``` ----@field autoBuild boolean --- Enable auto-insert required alias. This is true (enabled) by default. +---@field validate boolean + +---@class _.lspconfig.settings.cssls.Completion +-- Insert semicolon at end of line when completing CSS properties. -- -- ```lua -- default = true -- ``` ----@field autoInsertRequiredAlias boolean --- Run ElixirLS's rapid Dialyzer when code is saved +---@field completePropertyWithSemicolon boolean +-- By default, VS Code triggers property value completion after selecting a CSS property. Use this setting to disable this behavior. -- -- ```lua -- default = true -- ``` ----@field dialyzerEnabled boolean --- Formatter to use for Dialyzer warnings +---@field triggerPropertyValueCompletion boolean + +---@class _.lspconfig.settings.cssls.Format +-- Put braces on the same line as rules (`collapse`) or put braces on own line (`expand`). -- -- ```lua --- default = "dialyxir_long" +-- default = "collapse" -- ``` ----@field dialyzerFormat "dialyzer" | "dialyxir_short" | "dialyxir_long" --- Dialyzer options to enable or disable warnings - See Dialyzer's documentation for options. Note that the "race_conditions" option is unsupported +---@field braceStyle "collapse" | "expand" +-- Enable/disable default LESS formatter. -- -- ```lua --- default = {} +-- default = true -- ``` ----@field dialyzerWarnOpts string[] --- Show code lenses to run tests in terminal. ----@field enableTestLenses boolean --- Environment variables to use for compilation ----@field envVariables table --- Automatically fetch project dependencies when compiling. ----@field fetchDeps boolean --- Use OTP incremental dialyzer (available on OTP 26+) +---@field enable boolean +-- Maximum number of line breaks to be preserved in one chunk, when `#less.format.preserveNewLines#` is enabled. +---@field maxPreserveNewLines number +-- Separate rulesets by a blank line. -- -- ```lua -- default = true -- ``` ----@field incrementalDialyzer boolean --- Absolute path to alternative ElixirLS release that will override the packaged release ----@field languageServerOverridePath string --- Mix environment to use for compilation +---@field newlineBetweenRules boolean +-- Separate selectors with a new line. -- -- ```lua --- default = "test" +-- default = true -- ``` ----@field mixEnv string --- Mix target to use for compilation ----@field mixTarget string --- Subdirectory containing Mix project if not in the project root +---@field newlineBetweenSelectors boolean +-- Whether existing line breaks before elements should be preserved. -- -- ```lua --- default = "" +-- default = true -- ``` ----@field projectDir string --- Show signature help after confirming autocomplete. +---@field preserveNewLines boolean +-- Ensure a space character around selector separators '>', '+', '~' (e.g. `a > b`). +---@field spaceAroundSelectorSeparator boolean + +---@class _.lspconfig.settings.cssls.Hover +-- Show property and value documentation in LESS hovers. -- -- ```lua -- default = true -- ``` ----@field signatureAfterComplete boolean --- Suggest @spec annotations inline using Dialyzer's inferred success typings (Requires Dialyzer). +---@field documentation boolean +-- Show references to MDN in LESS hovers. -- -- ```lua -- default = true -- ``` ----@field suggestSpecs boolean ----@field trace _.lspconfig.settings.elixirls.Trace - ----@class lspconfig.settings.elixirls ----@field elixirLS _.lspconfig.settings.elixirls.ElixirLS - ----@class _.lspconfig.settings.elmls.ElmTestRunner --- Show output of elm-test as terminal task ----@field showElmTestOutput boolean +---@field references boolean ----@class _.lspconfig.settings.elmls.Trace --- Traces the communication between VS Code and the language server. +---@class _.lspconfig.settings.cssls.Lint +-- Invalid number of parameters. -- -- ```lua --- default = "off" +-- default = "error" -- ``` ----@field server "off" | "messages" | "verbose" - ----@class _.lspconfig.settings.elmls.ElmLS --- Disable linting diagnostics from the language server. ----@field disableElmLSDiagnostics boolean --- The path to your elm-format executable. Should be empty by default, in that case it will assume the name and try to first get it from a local npm installation or a global one. If you set it manually it will not try to load from the npm folder. +---@field argumentsInColorFunction "ignore" | "warning" | "error" +-- Do not use `width` or `height` when using `padding` or `border`. -- -- ```lua --- default = "" +-- default = "ignore" -- ``` ----@field elmFormatPath string --- The path to your elm executable. Should be empty by default, in that case it will assume the name and try to first get it from a local npm installation or a global one. If you set it manually it will not try to load from the npm folder. +---@field boxModel "ignore" | "warning" | "error" +-- When using a vendor-specific prefix make sure to also include all other vendor-specific properties. -- -- ```lua --- default = "" +-- default = "ignore" -- ``` ----@field elmPath string --- Set severity or disable linting diagnostics for elm-review. +---@field compatibleVendorPrefixes "ignore" | "warning" | "error" +-- Do not use duplicate style definitions. -- -- ```lua --- default = "off" +-- default = "ignore" -- ``` ----@field elmReviewDiagnostics "off" | "warning" | "error" --- The path to your elm-review executable. Should be empty by default, in that case it will assume the name and try to first get it from a local npm installation or a global one. If you set it manually it will not try to load from the npm folder. +---@field duplicateProperties "ignore" | "warning" | "error" +-- Do not use empty rulesets. -- -- ```lua --- default = "" +-- default = "warning" -- ``` ----@field elmReviewPath string --- The path to your elm-test executable. Should be empty by default, in that case it will assume the name and try to first get it from a local npm installation or a global one. If you set it manually it will not try to load from the npm folder. +---@field emptyRules "ignore" | "warning" | "error" +-- Avoid using `float`. Floats lead to fragile CSS that is easy to break if one aspect of the layout changes. -- -- ```lua --- default = "" +-- default = "ignore" -- ``` ----@field elmTestPath string ----@field elmTestRunner _.lspconfig.settings.elmls.ElmTestRunner --- Only update compiler diagnostics on save, not on document change. ----@field onlyUpdateDiagnosticsOnSave boolean --- Skips confirmation for the Install Package code action. ----@field skipInstallPackageConfirmation boolean ----@field trace _.lspconfig.settings.elmls.Trace - ----@class lspconfig.settings.elmls ----@field elmLS _.lspconfig.settings.elmls.ElmLS - --- Show disable lint rule in the quick fix menu. +---@field float "ignore" | "warning" | "error" +-- `@font-face` rule must define `src` and `font-family` properties. -- -- ```lua --- default = { --- commentStyle = "line", --- enable = true, --- location = "separateLine" --- } +-- default = "warning" -- ``` ----@class _.lspconfig.settings.eslint.DisableRuleComment +---@field fontFaceProperties "ignore" | "warning" | "error" +-- Hex colors must consist of 3, 4, 6 or 8 hex numbers. +-- -- ```lua --- default = "line" +-- default = "error" -- ``` ----@field commentStyle "line" | "block" --- Show the disable code actions. +---@field hexColorLength "ignore" | "warning" | "error" +-- Selectors should not contain IDs because these rules are too tightly coupled with the HTML. -- -- ```lua --- default = true +-- default = "ignore" -- ``` ----@field enable boolean --- Configure the disable rule code action to insert the comment on the same line or a new line. +---@field idSelector "ignore" | "warning" | "error" +-- IE hacks are only necessary when supporting IE7 and older. -- -- ```lua --- default = "separateLine" +-- default = "ignore" -- ``` ----@field location "separateLine" | "sameLine" - --- Show open lint rule documentation web page in the quick fix menu. +---@field ieHack "ignore" | "warning" | "error" +-- Import statements do not load in parallel. -- -- ```lua --- default = { --- enable = true --- } +-- default = "ignore" -- ``` ----@class _.lspconfig.settings.eslint.ShowDocumentation --- Show the documentation code actions. +---@field importStatement "ignore" | "warning" | "error" +-- Avoid using `!important`. It is an indication that the specificity of the entire CSS has gotten out of control and needs to be refactored. -- -- ```lua --- default = true +-- default = "ignore" -- ``` ----@field enable boolean - ----@class _.lspconfig.settings.eslint.CodeAction --- Show disable lint rule in the quick fix menu. +---@field important "ignore" | "warning" | "error" +-- Property is ignored due to the display. E.g. with `display: inline`, the `width`, `height`, `margin-top`, `margin-bottom`, and `float` properties have no effect. -- -- ```lua --- default = { --- commentStyle = "line", --- enable = true, --- location = "separateLine" --- } +-- default = "warning" -- ``` ----@field disableRuleComment _.lspconfig.settings.eslint.DisableRuleComment --- Show open lint rule documentation web page in the quick fix menu. +---@field propertyIgnoredDueToDisplay "ignore" | "warning" | "error" +-- The universal selector (`*`) is known to be slow. -- -- ```lua --- default = { --- enable = true --- } +-- default = "ignore" -- ``` ----@field showDocumentation _.lspconfig.settings.eslint.ShowDocumentation - ----@class _.lspconfig.settings.eslint.CodeActionsOnSave --- Specifies the code action mode. Possible values are 'all' and 'problems'. +---@field universalSelector "ignore" | "warning" | "error" +-- Unknown at-rule. -- -- ```lua --- default = "all" +-- default = "warning" -- ``` ----@field mode "all" | "problems" --- The rules that should be executed when computing the code actions on save or formatting a file. Defaults to the rules configured via the ESLint configuration ----@field rules string[]|any - ----@class _.lspconfig.settings.eslint.Experimental --- Enables support of experimental Flat Config (aka eslint.config.js). Requires ESLint version >= 8.21 < 8.57.0). ----@field useFlatConfig boolean - ----@class _.lspconfig.settings.eslint.Format --- Enables ESLint as a formatter. ----@field enable boolean - ----@class _.lspconfig.settings.eslint.LintTask --- Controls whether a task for linting the whole workspace will be available. ----@field enable boolean --- Command line options applied when running the task for linting the whole workspace (see https://eslint.org/docs/user-guide/command-line-interface). +---@field unknownAtRules "ignore" | "warning" | "error" +-- Unknown property. -- -- ```lua --- default = "." +-- default = "warning" -- ``` ----@field options string - ----@class _.lspconfig.settings.eslint.Migration --- Whether ESlint should migrate auto fix on save settings. +---@field unknownProperties "ignore" | "warning" | "error" +-- Unknown vendor specific property. -- -- ```lua --- default = "on" +-- default = "ignore" -- ``` ----@field 2_x "off" | "on" - ----@class _.lspconfig.settings.eslint.Rules --- A special rules customization section for text cells in notebook documents. ----@field customizations object[] - ----@class _.lspconfig.settings.eslint.Notebooks ----@field rules _.lspconfig.settings.eslint.Rules - ----@class _.lspconfig.settings.eslint.Problems --- Shortens the text spans of underlined problems to their first related line. ----@field shortenToSingleLine boolean - ----@class _.lspconfig.settings.eslint.Rules --- Override the severity of one or more rules reported by this extension, regardless of the project's ESLint config. Use globs to apply default severities for multiple rules. ----@field customizations object[] - --- The time budget in milliseconds to spend on computing fixes before showing a warning or error. +---@field unknownVendorSpecificProperties "ignore" | "warning" | "error" +-- A list of properties that are not validated against the `unknownProperties` rule. -- -- ```lua --- default = { --- error = 6000, --- warn = 3000 --- } +-- default = {} -- ``` ----@class _.lspconfig.settings.eslint.OnFixes --- The time budget in milliseconds to spend on computing fixes before showing an error. +---@field validProperties string[] +-- When using a vendor-specific prefix, also include the standard property. -- -- ```lua --- default = 6000 +-- default = "warning" -- ``` ----@field error number --- The time budget in milliseconds to spend on computing fixes before showing a warning. +---@field vendorPrefix "ignore" | "warning" | "error" +-- No unit for zero needed. -- -- ```lua --- default = 3000 +-- default = "ignore" -- ``` ----@field warn number +---@field zeroUnits "ignore" | "warning" | "error" --- The time budget in milliseconds to spend on validation before showing a warning or error. +---@class _.lspconfig.settings.cssls.Less +---@field completion _.lspconfig.settings.cssls.Completion +---@field format _.lspconfig.settings.cssls.Format +---@field hover _.lspconfig.settings.cssls.Hover +---@field lint _.lspconfig.settings.cssls.Lint +-- Enables or disables all validations. -- -- ```lua --- default = { --- error = 8000, --- warn = 4000 --- } +-- default = true -- ``` ----@class _.lspconfig.settings.eslint.OnValidation --- The time budget in milliseconds to spend on validation before showing an error. +---@field validate boolean + +---@class _.lspconfig.settings.cssls.Completion +-- Insert semicolon at end of line when completing CSS properties. -- -- ```lua --- default = 8000 +-- default = true -- ``` ----@field error number --- The time budget in milliseconds to spend on validation before showing a warning. +---@field completePropertyWithSemicolon boolean +-- By default, VS Code triggers property value completion after selecting a CSS property. Use this setting to disable this behavior. -- -- ```lua --- default = 4000 +-- default = true -- ``` ----@field warn number +---@field triggerPropertyValueCompletion boolean ----@class _.lspconfig.settings.eslint.TimeBudget --- The time budget in milliseconds to spend on computing fixes before showing a warning or error. +---@class _.lspconfig.settings.cssls.Format +-- Put braces on the same line as rules (`collapse`) or put braces on own line (`expand`). -- -- ```lua --- default = { --- error = 6000, --- warn = 3000 --- } +-- default = "collapse" -- ``` ----@field onFixes _.lspconfig.settings.eslint.OnFixes --- The time budget in milliseconds to spend on validation before showing a warning or error. +---@field braceStyle "collapse" | "expand" +-- Enable/disable default SCSS formatter. -- -- ```lua --- default = { --- error = 8000, --- warn = 4000 --- } --- ``` ----@field onValidation _.lspconfig.settings.eslint.OnValidation - ----@class _.lspconfig.settings.eslint.Trace --- Traces the communication between VSCode and the eslint linter service. --- --- ```lua --- default = "off" --- ``` ----@field server "off" | "messages" | "verbose"|table - ----@class _.lspconfig.settings.eslint.Eslint --- Turns auto fix on save on or off. ----@field autoFixOnSave boolean ----@field codeAction _.lspconfig.settings.eslint.CodeAction ----@field codeActionsOnSave _.lspconfig.settings.eslint.CodeActionsOnSave --- Enables ESLint debug mode (same as `--debug` on the command line) ----@field debug boolean --- Controls whether eslint is enabled or not. --- --- ```lua --- default = true +-- default = true -- ``` ---@field enable boolean --- Additional exec argv argument passed to the runtime. This can for example be used to control the maximum heap space using --max_old_space_size ----@field execArgv string[]|any ----@field experimental _.lspconfig.settings.eslint.Experimental ----@field format _.lspconfig.settings.eslint.Format --- If true, untitled files won't be validated by ESLint. ----@field ignoreUntitled boolean ----@field lintTask _.lspconfig.settings.eslint.LintTask ----@field migration _.lspconfig.settings.eslint.Migration --- The value of `NODE_ENV` to use when running eslint tasks. ----@field nodeEnv string --- A path added to `NODE_PATH` when resolving the eslint module. ----@field nodePath string ----@field notebooks _.lspconfig.settings.eslint.Notebooks --- Whether ESLint should issue a warning on ignored files. +-- Maximum number of line breaks to be preserved in one chunk, when `#scss.format.preserveNewLines#` is enabled. +---@field maxPreserveNewLines number +-- Separate rulesets by a blank line. -- -- ```lua --- default = "off" +-- default = true -- ``` ----@field onIgnoredFiles "warn" | "off" --- The eslint options object to provide args normally passed to eslint when executed from a command line (see https://eslint.org/docs/developer-guide/nodejs-api#eslint-class). +---@field newlineBetweenRules boolean +-- Separate selectors with a new line. -- -- ```lua --- default = {} +-- default = true -- ``` ----@field options table --- The package manager you use to install node modules. +---@field newlineBetweenSelectors boolean +-- Whether existing line breaks before elements should be preserved. -- -- ```lua --- default = "npm" +-- default = true -- ``` ----@field packageManager "npm" | "yarn" | "pnpm" --- An array of language ids for which the extension should probe if support is installed. +---@field preserveNewLines boolean +-- Ensure a space character around selector separators '>', '+', '~' (e.g. `a > b`). +---@field spaceAroundSelectorSeparator boolean + +---@class _.lspconfig.settings.cssls.Hover +-- Show property and value documentation in SCSS hovers. -- -- ```lua --- default = { "astro", "javascript", "javascriptreact", "typescript", "typescriptreact", "html", "mdx", "vue", "markdown", "json", "jsonc" } +-- default = true -- ``` ----@field probe string[] ----@field problems _.lspconfig.settings.eslint.Problems --- Controls whether a task for linting the whole workspace will be available. ----@field provideLintTask boolean --- Turns on quiet mode, which ignores warnings. ----@field quiet boolean ----@field rules _.lspconfig.settings.eslint.Rules --- Run the linter on save (onSave) or on type (onType) +---@field documentation boolean +-- Show references to MDN in SCSS hovers. -- -- ```lua --- default = "onType" +-- default = true -- ``` ----@field run "onSave" | "onType" --- The location of the node binary to run ESLint under. ----@field runtime string ----@field timeBudget _.lspconfig.settings.eslint.TimeBudget ----@field trace _.lspconfig.settings.eslint.Trace --- Since version 7 ESLint offers a new API call ESLint. Use it even if the old CLIEngine is available. From version 8 on forward on ESLint class is available. ----@field useESLintClass boolean --- Controls whether flat config should be used or not. This setting requires ESLint version 8.57 or later and is interpreted according to the [ESLint Flat Config rollout plan](https://eslint.org/blog/2023/10/flat-config-rollout-plans/). ----@field useFlatConfig boolean --- An array of language ids which should be validated by ESLint. If not installed ESLint will show an error. ----@field validate any[] --- Specifies how the working directories ESLint is using are computed. ESLint resolves configuration files (e.g. `eslintrc`, `.eslintignore`) relative to a working directory so it is important to configure this correctly. ----@field workingDirectories any[] - ----@class lspconfig.settings.eslint ----@field eslint _.lspconfig.settings.eslint.Eslint +---@field references boolean ----@class _.lspconfig.settings.flow.Trace --- Traces the communication between VSCode and the flow lsp service. +---@class _.lspconfig.settings.cssls.Lint +-- Invalid number of parameters. -- -- ```lua --- default = "off" +-- default = "error" -- ``` ----@field server "off" | "messages" | "verbose" - ----@class _.lspconfig.settings.flow.Flow --- Type coverage diagnostic severity +---@field argumentsInColorFunction "ignore" | "warning" | "error" +-- Do not use `width` or `height` when using `padding` or `border`. -- -- ```lua --- default = "info" +-- default = "ignore" -- ``` ----@field coverageSeverity "error" | "warn" | "info" --- Is flow enabled +---@field boxModel "ignore" | "warning" | "error" +-- When using a vendor-specific prefix make sure to also include all other vendor-specific properties. -- -- ```lua --- default = true +-- default = "ignore" -- ``` ----@field enabled boolean --- Set value to enable flow lazy mode ----@field lazyMode string --- Log level for output panel logs +---@field compatibleVendorPrefixes "ignore" | "warning" | "error" +-- Do not use duplicate style definitions. -- -- ```lua --- default = "info" +-- default = "ignore" -- ``` ----@field logLevel "error" | "warn" | "info" | "trace" --- Absolute path to flow binary. Special var ${workspaceFolder} or ${flowconfigDir} can be used in path (NOTE: in windows you can use '/' and can omit '.cmd' in path) +---@field duplicateProperties "ignore" | "warning" | "error" +-- Do not use empty rulesets. -- -- ```lua --- default = "flow" +-- default = "warning" -- ``` ----@field pathToFlow string --- If true will show uncovered code by default ----@field showUncovered boolean --- Stop Flow on Exit +---@field emptyRules "ignore" | "warning" | "error" +-- Avoid using `float`. Floats lead to fragile CSS that is easy to break if one aspect of the layout changes. -- -- ```lua --- default = true +-- default = "ignore" -- ``` ----@field stopFlowOnExit boolean ----@field trace _.lspconfig.settings.flow.Trace --- If true will use flow bundled with this plugin if nothing works +---@field float "ignore" | "warning" | "error" +-- `@font-face` rule must define `src` and `font-family` properties. -- -- ```lua --- default = true +-- default = "warning" -- ``` ----@field useBundledFlow boolean --- Complete functions with their parameter signature. +---@field fontFaceProperties "ignore" | "warning" | "error" +-- Hex colors must consist of 3, 4, 6 or 8 hex numbers. -- -- ```lua --- default = true +-- default = "error" -- ``` ----@field useCodeSnippetOnFunctionSuggest boolean --- Support using flow through your node_modules folder, WARNING: Checking this box is a security risk. When you open a project we will immediately run code contained within it. +---@field hexColorLength "ignore" | "warning" | "error" +-- Selectors should not contain IDs because these rules are too tightly coupled with the HTML. -- -- ```lua --- default = true +-- default = "ignore" -- ``` ----@field useNPMPackagedFlow boolean - ----@class lspconfig.settings.flow ----@field flow _.lspconfig.settings.flow.Flow - ----@class _.lspconfig.settings.fsautocomplete.TestExplorer --- Decides if the test explorer will automatically try discover tests when the workspace loads. You can still manually refresh the explorer to discover tests at any time +---@field idSelector "ignore" | "warning" | "error" +-- IE hacks are only necessary when supporting IE7 and older. -- -- ```lua --- default = true +-- default = "ignore" -- ``` ----@field AutoDiscoverTestsOnLoad boolean - ----@class _.lspconfig.settings.fsautocomplete.References --- If enabled, code lenses for reference counts for methods and functions will be shown. +---@field ieHack "ignore" | "warning" | "error" +-- Import statements do not load in parallel. -- -- ```lua --- default = true +-- default = "ignore" -- ``` ----@field enabled boolean - ----@class _.lspconfig.settings.fsautocomplete.Signature --- If enabled, code lenses for type signatures on methods and functions will be shown. +---@field importStatement "ignore" | "warning" | "error" +-- Avoid using `!important`. It is an indication that the specificity of the entire CSS has gotten out of control and needs to be refactored. -- -- ```lua --- default = true +-- default = "ignore" -- ``` ----@field enabled boolean - ----@class _.lspconfig.settings.fsautocomplete.CodeLenses ----@field references _.lspconfig.settings.fsautocomplete.References ----@field signature _.lspconfig.settings.fsautocomplete.Signature - ----@class _.lspconfig.settings.fsautocomplete.TransparentCompiler --- EXPERIMENTAL: Enables the FSharp Compiler Service's [transparent compiler](https://github.com/dotnet/fsharp/pull/15179) feature. Requires restart. ----@field enabled boolean - ----@class _.lspconfig.settings.fsautocomplete.Fcs ----@field transparentCompiler _.lspconfig.settings.fsautocomplete.TransparentCompiler - ----@class _.lspconfig.settings.fsautocomplete.Gc --- Configures the garbage collector to [conserve memory](https://learn.microsoft.com/en-us/dotnet/core/runtime-config/garbage-collector#conserve-memory) at the expense of more frequent garbage collections and possibly longer pause times. Acceptable values are 0-9. Any non-zero value will allow the [Large Object Heap](https://learn.microsoft.com/en-us/dotnet/standard/garbage-collection/large-object-heap) to be compacted automatically if it has too much fragmentation. Requires restart. ----@field conserveMemory integer --- Limits the number of [heaps](https://learn.microsoft.com/en-us/dotnet/standard/garbage-collection/fundamentals#the-managed-heap) created by the garbage collector. Applies to server garbage collection only. See [Middle Ground between Server and Workstation GC](https://devblogs.microsoft.com/dotnet/middle-ground-between-server-and-workstation-gc/) for more details. This can allow FSAC to still benefit from Server garbage collection while still limiting the number of heaps. [Only available on .NET 7 or higher](https://github.com/ionide/ionide-vscode-fsharp/issues/1899#issuecomment-1649009462). Requires restart. +---@field important "ignore" | "warning" | "error" +-- Property is ignored due to the display. E.g. with `display: inline`, the `width`, `height`, `margin-top`, `margin-bottom`, and `float` properties have no effect. -- -- ```lua --- default = 2 +-- default = "warning" -- ``` ----@field heapCount integer --- Configures whether the application uses workstation garbage collection or server garbage collection. See [Workstation vs Server Garbage Collection](https://devblogs.microsoft.com/premier-developer/understanding-different-gc-modes-with-concurrency-visualizer/#workstation-gc-vs-server-gc) for more details. Workstation will use less memory but Server will have more throughput. Requires restart. +---@field propertyIgnoredDueToDisplay "ignore" | "warning" | "error" +-- The universal selector (`*`) is known to be slow. -- -- ```lua --- default = true +-- default = "ignore" -- ``` ----@field server boolean - ----@class _.lspconfig.settings.fsautocomplete.Fsac --- Appends the `--attachdebugger` argument to fsac, this will allow you to attach a debugger. ----@field attachDebugger boolean --- The MemoryCacheOptions.SizeLimit for caching typechecks. +---@field universalSelector "ignore" | "warning" | "error" +-- Unknown at-rule. -- -- ```lua --- default = 200 +-- default = "warning" -- ``` ----@field cachedTypeCheckCount integer --- Configures FsAutoComplete with settings intended to reduce memory consumption. Requires restart. ----@field conserveMemory boolean --- additional CLI arguments to be provided to the dotnet runner for FSAC +---@field unknownAtRules "ignore" | "warning" | "error" +-- Unknown property. -- -- ```lua --- default = {} +-- default = "warning" -- ``` ----@field dotnetArgs string[] --- additional CLI arguments to be provided to FSAC itself. Useful for flags that aren't exposed in the settings or CLI arguments that only exist in custom built versions of FSAC. Requires restart. +---@field unknownProperties "ignore" | "warning" | "error" +-- Unknown vendor specific property. -- -- ```lua --- default = {} +-- default = "ignore" -- ``` ----@field fsacArgs string[] ----@field gc _.lspconfig.settings.fsautocomplete.Gc --- The path to the 'fsautocomplete.dll', a directory containing TFM-specific versions of fsautocomplete.dll, or a directory containing fsautocomplete.dll. Useful for debugging a self-built FSAC. If a DLL is specified, uses it directly. If a directory is specified and it contains TFM-specific folders (net6.0, net7.0, etc) then that directory will be probed for the best TFM to use for the current runtime. This is useful when working with a local copy of FSAC, you can point directly to the bin/Debug or bin/Release folder and it'll Just Work. Finally, if a directory is specified and there are no TFM paths, then fsautocomplete.dll from that directory is used. Requires restart. +---@field unknownVendorSpecificProperties "ignore" | "warning" | "error" +-- A list of properties that are not validated against the `unknownProperties` rule. -- -- ```lua --- default = "" +-- default = {} -- ``` ----@field netCoreDllPath string --- EXPERIMENTAL: Speed up analyzing of projects in parallel. Requires restart. ----@field parallelReferenceResolution boolean --- An array of log categories for FSAC to filter out. These can be found by viewing your log output and noting the text in between the brackets in the log line. For example, in the log line `[16:07:14.626 INF] [Compiler] done compiling foo.fsx`, the category is 'Compiler'. +---@field validProperties string[] +-- When using a vendor-specific prefix, also include the standard property. -- -- ```lua --- default = {} +-- default = "warning" -- ``` ----@field silencedLogs string[] --- Enables the use of a new source text implementation. This may have better memory characteristics. Requires restart. +---@field vendorPrefix "ignore" | "warning" | "error" +-- No unit for zero needed. -- -- ```lua --- default = "RoslynSourceText" +-- default = "ignore" -- ``` ----@field sourceTextImplementation "NamedText" | "RoslynSourceText" +---@field zeroUnits "ignore" | "warning" | "error" ----@class _.lspconfig.settings.fsautocomplete.InlayHints --- Hides the explanatory tooltip that appears on InlayHints to describe the different configuration toggles. ----@field disableLongTooltip boolean --- Controls if the inlay hints feature is enabled +---@class _.lspconfig.settings.cssls.Scss +---@field completion _.lspconfig.settings.cssls.Completion +---@field format _.lspconfig.settings.cssls.Format +---@field hover _.lspconfig.settings.cssls.Hover +---@field lint _.lspconfig.settings.cssls.Lint +-- Enables or disables all validations. -- -- ```lua -- default = true -- ``` ----@field enabled boolean --- Controls if parameter-name inlay hints will be displayed for functions and methods +---@field validate boolean + +---@class lspconfig.settings.cssls +---@field css _.lspconfig.settings.cssls.Css +---@field less _.lspconfig.settings.cssls.Less +---@field scss _.lspconfig.settings.cssls.Scss + +-- Custom settings for launching DevTools. This setting is intended for use by Dart DevTools developers. +---@class _.lspconfig.settings.dartls.CustomDevTools +-- Any environment variables to set when spawning the command. 'LOCAL_DART_SDK' should usually be set to your Dart SDK checkout and 'FLUTTER_ROOT' to the version of Flutter that DevTools is pinned to. -- -- ```lua --- default = true +-- default = { +-- FLUTTER_ROOT = "/path/to/devtools/tool/flutter-sdk", +-- LOCAL_DART_SDK = "/path/to/dart-sdk" +-- } -- ``` ----@field parameterNames boolean --- Controls if type-annotation inlay hints will be displayed for bindings. +---@field env table +-- The root directory containing a clone of the flutter/devtools repository. -- -- ```lua --- default = true +-- default = "/path/to/devtools" -- ``` ----@field typeAnnotations boolean +---@field path string ----@class _.lspconfig.settings.fsautocomplete.InlineValues --- Enables rendering all kinds of hints inline with your code. Currently supports pipelineHints, which are like LineLenses that appear along each step of a chain of piped expressions ----@field enabled boolean --- The prefix used when rendering inline values. +-- Which editor/column to open [Dart DevTools](https://dart.dev/tools/dart-devtools) pages in. -- -- ```lua --- default = " // " +-- default = { +-- default = "beside" +-- } -- ``` ----@field prefix string +---@class _.lspconfig.settings.dartls.DevToolsLocation +---@field cpu-profiler "beside" | "active" | "external" +---@field default "beside" | "active" | "external" +---@field inspector "beside" | "active" | "external" +---@field logging "beside" | "active" | "external" +---@field memory "beside" | "active" | "external" +---@field network "beside" | "active" | "external" +---@field performance "beside" | "active" | "external" ----@class _.lspconfig.settings.fsautocomplete.LineLens --- Usage mode for LineLens. If `never`, LineLens will never be shown. If `replaceCodeLens`, LineLens will be placed in a decoration on top of the current line. +---@class _.lspconfig.settings.dartls.Dart +-- Whether to add your selected Dart/Flutter SDK path to the `PATH` environment variable for the embedded terminal. This is useful when switching SDKs via `#dart.sdkPaths#` / `#dart.flutterSdkPaths#` to ensure commands run from the terminal are the same version as being used by the editor/debugger (requires restart). -- -- ```lua --- default = "replaceCodeLens" +-- default = true -- ``` ----@field enabled "never" | "replaceCodeLens" | "always" --- The prefix displayed before the signature in a LineLens +---@field addSdkToTerminalPath boolean +-- **LEGACY SETTING: Only applies to legacy analysis server protocol.** +-- +-- Additional file extensions that should be analyzed (usually used in combination with analyzer plugins). -- -- ```lua --- default = " // " +-- default = {} -- ``` ----@field prefix string - ----@class _.lspconfig.settings.fsautocomplete.Notifications --- Enables more verbose notifications using System.Diagnostics.Activity to view traces from FSharp.Compiler.Service. ----@field trace boolean --- The set of System.Diagnostics.Activity names to watch. +---@field additionalAnalyzerFileExtensions string[] +-- Whether to consider files ending `_test.dart` that are outside of the test directory as tests. This should be enabled if you put tests inside the `lib` directory of your Flutter app so they will be run with `flutter test` and not `flutter run`. +---@field allowTestsOutsideTestFolder boolean +-- An array of paths to be excluded from Dart analysis. This option should usually be set at the Workspace level. Excluded folders will also be ignored when detecting project types. -- -- ```lua --- default = { "BoundModel.TypeCheck", "BackgroundCompiler." } +-- default = {} -- ``` ----@field traceNamespaces string[] - ----@class _.lspconfig.settings.fsautocomplete.OpenTelemetry --- Enables OpenTelemetry exporter. See [OpenTelemetry Protocol Exporter](https://opentelemetry.io/docs/reference/specification/protocol/exporter/) for environment variables to configure for the exporter. Requires Restart. ----@field enabled boolean - ----@class _.lspconfig.settings.fsautocomplete.PipelineHints --- Enables PipeLine hints, which are like LineLenses that appear along each step of a chain of piped expressions +---@field analysisExcludedFolders string[] +-- **LEGACY SETTING: Only applies to legacy analysis server protocol.** +-- +-- Whether to use folding data from the Dart Analysis Server instead of the built-in VS Code indent-based folding. -- -- ```lua -- default = true -- ``` ----@field enabled boolean --- The prefix displayed before the signature +---@field analysisServerFolding boolean +-- **LEGACY SETTING: The angular plugin is no longer supported.** +-- +-- Whether to enable analysis for AngularDart templates (requires the Angular analyzer plugin to be enabled in `analysis_options.yaml`). -- -- ```lua --- default = " // " +-- default = true -- ``` ----@field prefix string - ----@class _.lspconfig.settings.fsautocomplete.Trace --- Trace server messages at the LSP protocol level for diagnostics. +---@field analyzeAngularTemplates boolean +-- Additional arguments to pass to the Dart Analysis Server. This setting is can be useful for troubleshooting issues with the Dart Analysis Server. -- -- ```lua --- default = "off" +-- default = {} -- ``` ----@field server "off" | "messages" | "verbose" - ----@class _.lspconfig.settings.fsautocomplete.FSharp ----@field TestExplorer _.lspconfig.settings.fsautocomplete.TestExplorer --- Enables a codefix that generates missing members for an abstract class when in an type inheriting from that abstract class. +---@field analyzerAdditionalArgs string[] +-- The port number to be used for the Dart analyzer diagnostic server. This setting is can be useful for troubleshooting issues with the Dart Analysis Server. +---@field analyzerDiagnosticsPort number +-- The path to a log file for very detailed logging in the Dart Analysis Server that may be useful when trying to diagnose Analysis Server issues. +---@field analyzerInstrumentationLogFile string +-- The path to a log file for communication between Dart Code and the Analysis Server. +---@field analyzerLogFile string +-- The path to a custom Dart Analysis Server. This setting is intended for use by Dart Analysis Server developers. +---@field analyzerPath string +-- An SSH host to run the Analysis Server. +-- This can be useful when modifying code on a remote machine using SSHFS. +---@field analyzerSshHost string +-- Additional arguments to pass to the VM running the Dart Analysis Server. This setting is can be useful for troubleshooting issues with the Dart Analysis Server. +-- +-- ```lua +-- default = {} +-- ``` +---@field analyzerVmAdditionalArgs string[] +-- The port number to be used for the Dart Analysis Server VM service. This setting is intended for use by Dart Analysis Server developers. +---@field analyzerVmServicePort number +-- Whether to include symbols that have not been imported in the code completion list and automatically insert the required import when selecting them (requires restart). -- -- ```lua -- default = true -- ``` ----@field abstractClassStubGeneration boolean --- The expression to fill in the right-hand side of inherited members when generating missing members for an abstract base class +---@field autoImportCompletions boolean +-- Determines when to insert comment slashes when pressing `` in the editor (requires restart). +-- +-- When using `tripleSlash`, double-slashes will still be included when breaking existing double-slash comments across additional lines. -- -- ```lua --- default = 'failwith "Not Implemented"' +-- default = "tripleSlash" -- ``` ----@field abstractClassStubGenerationMethodBody string --- The name of the 'self' identifier in an inherited member. For example, `this` in the expression `this.Member(x: int) = ()` +---@field automaticCommentSlashes "none" | "tripleSlash" | "all" +-- Additional args to pass to the `build_runner` when building/watching/serving. -- -- ```lua --- default = "this" +-- default = {} -- ``` ----@field abstractClassStubGenerationObjectIdentifier string --- Enables a panel for FSI that shows the value of all existing bindings in the FSI session ----@field addFsiWatcher boolean --- Enables a codefix that adds a private access modifier ----@field addPrivateAccessModifier boolean --- Directories in the array are used as a source of custom analyzers. Requires restart. +---@field buildRunnerAdditionalArgs string[] +-- Whether to check you are using the latest version of the Dart SDK at startup. -- -- ```lua --- default = { "packages/Analyzers", "analyzers" } +-- default = true -- ``` ----@field analyzersPath any[] --- Controls whether the solution explorer should automatically reveal and select files when opening them. If `sameAsFileExplorer` is set, then the value of the `explorer.autoReveal` setting will be used instead. +---@field checkForSdkUpdates boolean +-- Additional args to pass to the `dart` command when running CLI scripts. Using the `args`/`toolArgs` fields in `launch.json` is usually better than this setting as this setting will apply to _all_ projects. -- -- ```lua --- default = "sameAsFileExplorer" +-- default = {} -- ``` ----@field autoRevealInExplorer "sameAsFileExplorer" | "enabled" | "disabled" ----@field codeLenses _.lspconfig.settings.fsautocomplete.CodeLenses --- Disables popup notifications for failed project loading ----@field disableFailedProjectNotifications boolean --- Sets the root path for finding locating the dotnet CLI binary. Defaults to the `dotnet` binary found on your system PATH. ----@field dotnetRoot string --- Enables Enable LSP Server based on FSharp.Data.Adaptive. This can improve stability. Requires restart. +---@field cliAdditionalArgs string[] +-- Whether to run Dart CLI apps in the Debug Console or a terminal. The Debug Console has more functionality because the process is controlled by the debug adapter, but is unable to accept input from the user via stdin. -- -- ```lua --- default = true +-- default = "debugConsole" -- ``` ----@field enableAdaptiveLspServer boolean --- EXPERIMENTAL. Enables F# analyzers for custom code diagnostics. Requires restart. ----@field enableAnalyzers boolean --- EXPERIMENTAL. Enables support for loading workspaces with MsBuild's ProjectGraph. This can improve load times. Requires restart. ----@field enableMSBuildProjectGraph boolean --- Enables additional code lenses showing number of references of a function or value. Requires background services to be enabled. +---@field cliConsole "debugConsole" | "terminal" | "externalTerminal" +-- Whether to automatically close embedded DevTools tabs when a debug session ends. -- -- ```lua --- default = true +-- default = "never" -- ``` ----@field enableReferenceCodeLens boolean --- Enables TouchBar integration of build/run/debug buttons +---@field closeDevTools "never" | "ifOpened" | "always" +-- Whether to show annotations against constructor, method invocations and lists that span multiple lines. -- -- ```lua -- default = true -- ``` ----@field enableTouchBar boolean --- Enables the solution explorer view of the current workspace, which shows the workspace as MSBuild sees it +---@field closingLabels boolean +-- Whether to insert parentheses and placeholders for positional and required arguments during code completions when using LSP. This feature is automatically disabled if commit characters are enabled. -- -- ```lua -- default = true -- ``` ----@field enableTreeView boolean --- The names of custom analyzers that should not be executed. +---@field completeFunctionCalls boolean +-- The path to a custom Dart Debug Adapter. This setting is intended for use by Dart Debug Adapter developers. +---@field customDartDapPath string +-- Custom settings for launching DevTools. This setting is intended for use by Dart DevTools developers. +---@field customDevTools _.lspconfig.settings.dartls.CustomDevTools +-- The path to a custom Flutter Debug Adapter. This setting is intended for use by Dart Debug Adapter developers. +---@field customFlutterDapPath string +-- EXPERIMENTAL: The port where flutter daemon can be accessed if daemon is run remotely. This setting is intended for use by Google developers. +---@field daemonPort number +-- The path to a log file for communication with the DAP debug adapters. This is useful when trying to diagnose issues with debugging such as missed breakpoints. +---@field dapLogFile string +-- The path to a log file for Dart test runs. This is useful when trying to diagnose issues with unit test executions. Use `${name}` in the log file name to prevent concurrent debug sessions overwriting each others logs. +---@field dartTestLogFile string +-- The protocol to use for the Dart Debug Extension backend service and injected client. Using WebSockets can improve performance but may fail when connecting through some proxy servers. -- -- ```lua --- default = {} +-- default = "ws" -- ``` ----@field excludeAnalyzers any[] --- Directories in the array are excluded from project file search. Requires restart. +---@field debugExtensionBackendProtocol "sse" | "ws" +-- Whether to mark external pub package libraries (including `package:flutter`) as debuggable, enabling stepping into them while debugging. +---@field debugExternalPackageLibraries boolean +-- Whether to mark Dart SDK libraries (`dart:*`) as debuggable, enabling stepping into them while debugging. +---@field debugSdkLibraries boolean +-- Whether to launch external DevTools windows using Chrome or the system default browser. -- -- ```lua --- default = { ".git", "paket-files", ".fable", "packages", "node_modules" } +-- default = "chrome" -- ``` ----@field excludeProjectDirectories any[] --- Includes external (from unopened modules and namespaces) symbols in autocomplete ----@field externalAutocomplete boolean ----@field fcs _.lspconfig.settings.fsautocomplete.Fcs ----@field fsac _.lspconfig.settings.fsautocomplete.Fsac --- An array of additional command line parameters to pass to FSI when it is started. See [the Microsoft documentation](https://docs.microsoft.com/en-us/dotnet/fsharp/language-reference/fsharp-interactive-options) for an exhaustive list. +---@field devToolsBrowser "chrome" | "default" +-- Which editor/column to open [Dart DevTools](https://dart.dev/tools/dart-devtools) pages in. -- -- ```lua --- default = {} +-- default = { +-- default = "beside" +-- } -- ``` ----@field fsiExtraParameters any[] --- The path to the F# Interactive tool used by Ionide-FSharp (When using .NET SDK scripts) +---@field devToolsLocation _.lspconfig.settings.dartls.DevToolsLocation +-- The path to a low-traffic log file for the Dart DevTools service. +---@field devToolsLogFile string +-- The port number to be used for the Dart DevTools (requires restart). +---@field devToolsPort number +-- Whether to try to reuse existing DevTools windows instead of launching new ones. Only works for instances of DevTools launched by the DevTools server on the local machine. -- -- ```lua --- default = "" +-- default = true -- ``` ----@field fsiSdkFilePath string --- When selecting an external symbols in autocomplete, insert the full name to the editor rather than open its module/namespace. Also allow filtering suggestions by typing its full name. +---@field devToolsReuseWindows boolean +-- The theme to use for Dart DevTools. -- --- Requires `FSharp.externalAutocomplete` enabled. ----@field fullNameExternalAutocomplete boolean --- Enables generation of `msbuild.binlog` files for project loading. It works only for fresh, non-cached project loading. Run `F#: Clear Project Cache` and `Developer: Reload Window` to force fresh loading of all projects. These files can be loaded and inspected using the [MSBuild Structured Logger](https://github.com/KirillOsenkov/MSBuildStructuredLog) ----@field generateBinlog boolean --- The names of custom analyzers that should exclusively be executed, others should be ignored. +-- ```lua +-- default = "dark" +-- ``` +---@field devToolsTheme "dark" | "light" +-- **LEGACY SETTING: Only applies to legacy analysis server protocol.** +-- +-- An array of glob patterns that should be excluded for formatting. The pattern is matched against the absolute path of the file. Use `**/test/**` to skip formatting for all test directories. -- -- ```lua -- default = {} -- ``` ----@field includeAnalyzers any[] --- The number of spaces used for indentation when generating code, e.g. for interface stubs +---@field doNotFormat string[] +-- What level of documentation to show in Hovers and Code Completion details. When `null`, defaults to 'full' when running locally and 'none' in remote workspaces. This setting is only supported for Dart SDKs after v2.18. +---@field documentation "full" | "summary" | "none" +-- Whether to automatically commit the selected completion item when pressing certain keys such as . , ( and \[. This setting does not currently apply to LSP, see `#dart.previewCommitCharacters#`. +---@field enableCompletionCommitCharacters boolean +-- Whether to enable the [dart_style](https://pub.dev/packages/dart_style) formatter for Dart code. -- -- ```lua --- default = 4 +-- default = true -- ``` ----@field indentationSize number --- Controls whether the info panel replaces tooltips ----@field infoPanelReplaceHover boolean --- Controls whether the info panel should be displayed at startup ----@field infoPanelShowOnStartup boolean --- Controls whether the info panel should be locked at startup ----@field infoPanelStartLocked boolean --- Controls when the info panel is updated +---@field enableSdkFormatter boolean +-- Whether to use code snippets from the Dart Analysis Server instead of those included in the extension. Server snippets are context and language-version aware and should be preferred. -- -- ```lua --- default = "onCursorMove" +-- default = true -- ``` ----@field infoPanelUpdate "onCursorMove" | "onHover" | "both" | "none" ----@field inlayHints _.lspconfig.settings.fsautocomplete.InlayHints ----@field inlineValues _.lspconfig.settings.fsautocomplete.InlineValues --- Enables a codefix that generates missing interface members when inside of an interface implementation expression +---@field enableServerSnippets boolean +-- Whether to include Dart and Flutter snippets in code completion. -- -- ```lua -- default = true -- ``` ----@field interfaceStubGeneration boolean --- The expression to fill in the right-hand side of interface members when generating missing members for an interface implementation expression +---@field enableSnippets boolean +-- Additional environment variables to be added to all Dart/Flutter processes spawned by the Dart and Flutter extensions. -- -- ```lua --- default = 'failwith "Not Implemented"' +-- default = {} -- ``` ----@field interfaceStubGenerationMethodBody string --- The name of the 'self' identifier in an interface member. For example, `this` in the expression `this.Member(x: int) = ()` +---@field env table +-- Whether to evaluate getters in order to display them in debug views (such as the Variables, Watch and Hovers views). -- -- ```lua --- default = "this" +-- default = true -- ``` ----@field interfaceStubGenerationObjectIdentifier string --- Includes keywords in autocomplete +---@field evaluateGettersInDebugViews boolean +-- Whether to call toString() on objects when rendering them in debug views (such as the Variables, Watch and Hovers views). Only applies to views of 100 or fewer values for performance reasons. -- -- ```lua -- default = true -- ``` ----@field keywordsAutocomplete boolean ----@field lineLens _.lspconfig.settings.fsautocomplete.LineLens --- Enables integration with [FSharpLint](https://fsprojects.github.io/FSharpLint/) for additional (user-defined) warnings +---@field evaluateToStringInDebugViews boolean +-- Whether to enable experimental (possibly unfinished or unstable) refactors on the lightbulb menu. This setting is intended for use by Dart Analysis Server developers or users that want to try out and provide feedback on in-progress refactors. +---@field experimentalRefactors boolean +-- The path to a low-traffic log file for basic extension and editor issues. +---@field extensionLogFile string +-- Whether to automatically run `adb connect 100.115.92.2:5555` when spawning the Flutter daemon when running on Chrome OS. +---@field flutterAdbConnectOnChromeOs boolean +-- Additional args to pass to all `flutter` commands including `flutter daemon`. Do not use this to pass arguments to your Flutter app, use the `args` field in a `launch.json` or the `#dart.flutterRunAdditionalArgs#` setting. -- -- ```lua --- default = true +-- default = {} -- ``` ----@field linter boolean --- Automatically shows the MSBuild output panel when MSBuild functionality is invoked ----@field msbuildAutoshow boolean ----@field notifications _.lspconfig.settings.fsautocomplete.Notifications ----@field openTelemetry _.lspconfig.settings.fsautocomplete.OpenTelemetry ----@field pipelineHints _.lspconfig.settings.fsautocomplete.PipelineHints --- Enables a codefix that will generate missing record fields when inside a record construction expression +---@field flutterAdditionalArgs string[] +-- Additional args to pass to the `flutter attach` command. Using the `args`/`toolArgs` fields in `launch.json` is usually better than this setting as this setting will apply to _all_ projects. -- -- ```lua --- default = true +-- default = {} -- ``` ----@field recordStubGeneration boolean --- The expression to fill in the right-hand side of record fields when generating missing fields for a record construction expression +---@field flutterAttachAdditionalArgs string[] +-- The programming language to use for Android apps when creating new projects using the 'Flutter: New Project' command. -- -- ```lua --- default = 'failwith "Not Implemented"' +-- default = "kotlin" -- ``` ----@field recordStubGenerationBody string --- Enables a codefix that will suggest namespaces or module to open when a name is not recognized +---@field flutterCreateAndroidLanguage "java" | "kotlin" +-- The programming language to use for iOS apps when creating new projects using the 'Flutter: New Project' command. -- -- ```lua --- default = true +-- default = "swift" -- ``` ----@field resolveNamespaces boolean --- If enabled, the current file will be saved before sending the last selection to FSI for evaluation ----@field saveOnSendLastSelection boolean --- Automatically shows solution explorer on plugin startup +---@field flutterCreateIOSLanguage "objc" | "swift" +-- The organization responsible for your new Flutter project, in reverse domain name notation (e.g. `com.google`). This string is used in Java package names and as prefix in the iOS bundle identifier when creating new projects using the 'Flutter: New Project' command. +---@field flutterCreateOrganization string +-- The platforms to enable for new projects created using the 'Flutter: New Project' command. If unset, all platforms will be enabled. +---@field flutterCreatePlatforms string[] +-- Custom emulators to show in the emulator list for easier launching. If IDs match existing emulators returned by Flutter, the custom emulators will override them. -- -- ```lua --- default = true +-- default = {} -- ``` ----@field showExplorerOnStartup boolean --- Set the activity (left bar) where the project explorer view will be displayed. If `explorer`, then the project explorer will be a collapsible tab in the main explorer view, a sibling to the file system explorer. If `fsharp`, a new activity with the F# logo will be added and the project explorer will be rendered in this activity.Requires restart. +---@field flutterCustomEmulators object[] +-- The path to a log file for the `flutter daemon` service, which provides information about connected devices to show in the status bar. +---@field flutterDaemonLogFile string +-- Whether to automatically run the Generate Localizations command for Flutter apps when saving .arb files. -- -- ```lua --- default = "fsharp" +-- default = "never" -- ``` ----@field showProjectExplorerIn "explorer" | "fsharp" --- Enables detection of cases when names of functions and values can be simplified +---@field flutterGenerateLocalizationsOnSave "never" | "manual" | "manualIfDirty" | "all" | "allIfDirty" +-- Whether to show Flutter icons and colors in the editor gutter. -- -- ```lua -- default = true -- ``` ----@field simplifyNameAnalyzer boolean --- A set of regex patterns to exclude from the simplify name analyzer +---@field flutterGutterIcons boolean +-- Whether to automatically send a Hot Reload request to Flutter apps during a debug session when saving files. Dart apps are controlled by the hotReloadOnSave setting. -- -- ```lua --- default = { ".*\\.g\\.fs", ".*\\.cg\\.fs" } +-- default = "manual" -- ``` ----@field simplifyNameAnalyzerExclusions string[] --- Enables smart indent feature ----@field smartIndent boolean --- Allow Ionide to prompt whenever internal data files aren't included in your project's .gitignore +---@field flutterHotReloadOnSave "never" | "manual" | "manualIfDirty" | "all" | "allIfDirty" +-- Whether to show the Flutter Outline tree in the sidebar. -- -- ```lua -- default = true -- ``` ----@field suggestGitignore boolean --- Allow Ionide to prompt to use SdkScripts +---@field flutterOutline boolean +-- Whether to remember which device was last (explicitly) selected for each project. When the remembered device is selected, it will prevent newly-connected mobile devices from being automatically selected (regardless of the `#dart.flutterSelectDeviceWhenConnected#` setting). -- -- ```lua -- default = true -- ``` ----@field suggestSdkScripts boolean ----@field trace _.lspconfig.settings.fsautocomplete.Trace --- Enables a codefix that generates missing union cases when in a match expression +---@field flutterRememberSelectedDevice boolean +-- Additional args to pass to the `flutter run` command. Using the `args`/`toolArgs` fields in `launch.json` is usually better than this setting as this setting will apply to _all_ projects. -- -- ```lua --- default = true +-- default = {} -- ``` ----@field unionCaseStubGeneration boolean --- The expression to fill in the right-hand side of match cases when generating missing cases for a match on a discriminated union +---@field flutterRunAdditionalArgs string[] +-- The path to a log file for `flutter run`, which is used to launch Flutter apps from VS Code. This is useful when trying to diagnose issues with apps launching (or failing to) on simulators and devices. Use `${name}` in the log file name to prevent concurrent debug sessions overwriting each others logs. +---@field flutterRunLogFile string +-- The path to a directory to save Flutter screenshots. +---@field flutterScreenshotPath string +-- The location of the Flutter SDK to use. If blank (or not a valid SDK), Dart Code will attempt to find it from the project directory, `FLUTTER_ROOT` environment variable and the `PATH` environment variable. +---@field flutterSdkPath string +-- An array of paths that either directly point to a Flutter SDK or the parent directory of multiple Flutter SDKs that can be used for fast SDK switching. These paths are not used directly when searching for an SDK. When this setting is populated, the version number in the status bar can be used to quickly switch between SDKs. -- -- ```lua --- default = 'failwith "Not Implemented"' +-- default = {} -- ``` ----@field unionCaseStubGenerationBody string --- Enables detection of unnecessary parentheses ----@field unnecessaryParenthesesAnalyzer boolean --- Enables detection of unused declarations +---@field flutterSdkPaths string[] +-- Whether to set newly connected devices as the current device in Flutter projects. -- -- ```lua -- default = true -- ``` ----@field unusedDeclarationsAnalyzer boolean --- A set of regex patterns to exclude from the unused declarations analyzer +---@field flutterSelectDeviceWhenConnected boolean +-- When to show the Flutter emulators. These are usually hidden for remote workspaces because it is usually not possible to see or interact with emulators in a remote session. If you are using remoting/containers in a way that you can interact with launched emulator processes, you may wish to set this to 'always'. -- -- ```lua --- default = { ".*\\.g\\.fs", ".*\\.cg\\.fs" } +-- default = "local" -- ``` ----@field unusedDeclarationsAnalyzerExclusions string[] --- Enables detection of unused opens +---@field flutterShowEmulators "local" | "always" | "never" +-- When to show the Flutter headless web-server device. This requires using the Dart Debug extension for Chrome and is usually only used for remote environments where Chrome is not available such as browser/cloud-based IDEs (requires restart). -- -- ```lua --- default = true +-- default = "remote" -- ``` ----@field unusedOpensAnalyzer boolean --- A set of regex patterns to exclude from the unused opens analyzer +---@field flutterShowWebServerDevice "remote" | "always" +-- Additional args to pass to the `flutter test` command. Using the `args`/`toolArgs` fields in `launch.json` is usually better than this setting as this setting will apply to _all_ projects. -- -- ```lua --- default = { ".*\\.g\\.fs", ".*\\.cg\\.fs" } +-- default = {} -- ``` ----@field unusedOpensAnalyzerExclusions string[] --- Logs additional information to F# output channel. This is equivalent to passing the `--verbose` flag to FSAC. Requires restart. ----@field verboseLogging boolean --- The deep level of directory hierarchy when searching for sln/projects +---@field flutterTestAdditionalArgs string[] +-- The path to a log file for `flutter test`, which is used to run unit tests from VS Code. This is useful when trying to diagnose issues with unit test executions. Use `${name}` in the log file name to prevent concurrent debug sessions overwriting each others logs. +---@field flutterTestLogFile string +-- **LEGACY SETTING: Disabling this may break functionality on modern SDKs.** -- --- ```lua --- default = 4 --- ``` ----@field workspaceModePeekDeepLevel integer --- Path to the directory or solution file that should be loaded as a workspace. If set, no workspace probing or discovery is done by Ionide at all. ----@field workspacePath string - ----@class _.lspconfig.settings.fsautocomplete.Gc --- Specifies whether to [affinitize](https://learn.microsoft.com/en-us/dotnet/core/runtime-config/garbage-collector#affinitize) garbage collection threads with processors. To affinitize a GC thread means that it can only run on its specific CPU.. Applies to server garbage collection only. See [GCNoAffinitize](https://learn.microsoft.com/en-us/dotnet/framework/configure-apps/file-schema/runtime/gcnoaffinitize-element#remarks) for more details. [Only available on .NET 7 or higher](https://github.com/ionide/ionide-vscode-fsharp/issues/1899#issuecomment-1649009462). Requires restart. +-- Whether to pass `--track-widget-creation` to Flutter apps (required to support 'Inspect Widget'). This setting is always ignored when running in Profile or Release mode. -- -- ```lua -- default = true -- ``` ----@field noAffinitize boolean - ----@class _.lspconfig.settings.fsautocomplete.Fsac ----@field gc _.lspconfig.settings.fsautocomplete.Gc - ----@class _.lspconfig.settings.fsautocomplete.Fsharp ----@field fsac _.lspconfig.settings.fsautocomplete.Fsac - ----@class lspconfig.settings.fsautocomplete ----@field FSharp _.lspconfig.settings.fsautocomplete.FSharp ----@field Fsharp _.lspconfig.settings.fsautocomplete.Fsharp - ----@class _.lspconfig.settings.grammarly.SuggestionCategories --- Flags use of conjunctions such as "but" and "and" at the beginning of sentences. +---@field flutterTrackWidgetCreation boolean +-- Sets the [Web renderer](https://flutter.dev/docs/development/tools/web-renderers) used for Flutter web apps. -- -- ```lua --- default = "off" +-- default = "flutter-default" -- ``` ----@field conjugationAtStartOfSentence "on" | "off" --- Suggests ways to sound more natural and fluent. +---@field flutterWebRenderer "flutter-default" | "canvaskit" | "html" | "auto" +-- Whether to automatically send a Hot Reload request to Dart apps during a debug session when saving files. Flutter apps are controlled by the flutterHotReloadOnSave setting. -- -- ```lua --- default = "on" +-- default = "never" -- ``` ----@field fluency "on" | "off" --- Flags use of personal pronouns such as "I" and "you" in academic writing. +---@field hotReloadOnSave "never" | "manual" | "manualIfDirty" | "all" | "allIfDirty" +-- An array of glob patterns that should trigger Hot Reload when saved. The pattern is matched against the absolute path of the file. Use `**/assets/**` to trigger reloading for everything in the assets directory. -- -- ```lua --- default = "off" +-- default = {} -- ``` ----@field informalPronounsAcademic "on" | "off" --- Suggests adding missing spacing after a numeral when writing times. +---@field hotReloadPatterns string[] +-- Determines how to display Hot Restart and Hot Reload progress. -- -- ```lua --- default = "on" +-- default = "notification" -- ``` ----@field missingSpaces "on" | "off" --- Flags a series of nouns that modify a final noun. +---@field hotReloadProgress "notification" | "statusBar" +-- Whether to include symbols from the SDK and package dependencies in the "Go to Symbol in Workspace" (`cmd/ctrl`+`T`) list. This can only be disabled when using Dart 3.0 / Flutter 3.10 or later. -- -- ```lua --- default = "on" +-- default = true -- ``` ----@field nounStrings "on" | "off" --- Suggests spelling out numbers at the beginning of sentences. +---@field includeDependenciesInWorkspaceSymbols boolean +-- Whether to insert argument placeholders during code completions. This feature is automatically disabled when `enableCompletionCommitCharacters` is enabled. -- -- ```lua --- default = "on" +-- default = true -- ``` ----@field numbersBeginningSentences "on" | "off" --- Suggests spelling out numbers zero through ten. +---@field insertArgumentPlaceholders boolean +-- The maximum length of a line of code. This is used by the document formatter. If you change this value, you may wish to update `editor.rulers` (which draws vertical lines in the editor) in the `["dart"]` section if your settings to match. -- -- ```lua --- default = "on" +-- default = 80 -- ``` ----@field numbersZeroThroughTen "on" | "off" --- Suggests adding the Oxford comma after the second-to-last item in a list of things. +---@field lineLength integer +-- Whether to enable [Snippet support in LSP TextEdits](https://github.com/rust-analyzer/rust-analyzer/blob/979e788957ced1957ee9ac1da70fb97abf9fe2b1/docs/dev/lsp-extensions.md#snippet-textedit). -- -- ```lua --- default = "off" +-- default = true -- ``` ----@field oxfordComma "on" | "off" --- Flags use of passive voice. +---@field lspSnippetTextEdits boolean +-- The maximum number of completion items to return from a code completion request. Updated results will be fetched as additional characters are typed. Lower numbers may improved performance. Defaults to a lower value in remote workspaces. Only affects LSP for > Dart SDK 2.17. +---@field maxCompletionItems number +-- The maximum length of a line in the log file. Lines longer than this will be truncated and suffixed with an ellipsis. -- -- ```lua --- default = "off" +-- default = 2000 -- ``` ----@field passiveVoice "on" | "off" --- Suggests using person-first language to refer respectfully to an individual with a disability. +---@field maxLogLineLength number +-- Whether to normalize file casings before sending them to the LSP server. This may fix issues with file_names lints not disappearing after renaming a file if the VS Code API continues to use the original casing. +---@field normalizeFileCasing boolean +-- Whether to show a notification the first few times an Analysis Server exception occurs. -- -- ```lua --- default = "on" +-- default = true -- ``` ----@field personFirstLanguage "on" | "off" --- Suggests alternatives to potentially biased language related to older adults. +---@field notifyAnalyzerErrors boolean +-- Whether to use the --offline switch for commands like 'pub get' and 'Flutter: New Project'. +---@field offline boolean +-- Whether to ignore workspace folders and perform analysis based on the open files, as if no workspace was open at all. This allows opening large folders without causing them to be completely analyzed. +---@field onlyAnalyzeProjectsWithOpenFiles boolean +-- Whether to automatically open DevTools at the start of a debug session. If embedded DevTools is enabled, this will launch the Widget Inspector embedded for Flutter projects, or launch DevTools externally in a browser for Dart projects. -- -- ```lua --- default = "on" +-- default = "never" -- ``` ----@field possiblyBiasedLanguageAgeRelated "on" | "off" --- Suggests alternatives to potentially ableist language. +---@field openDevTools "never" | "flutter" | "always" +-- When to automatically switch focus to the test list (array to support multiple values). -- -- ```lua --- default = "on" +-- default = { "testRunStart" } -- ``` ----@field possiblyBiasedLanguageDisabilityRelated "on" | "off" --- Suggests alternatives to potentially biased language related to parenting and family systems. +---@field openTestView any[] +-- EXPERIMENTAL: Whether to enable commit characters for the LSP server. In a future release, the dart.enableCompletionCommitCharacters setting will also apply to LSP. +---@field previewCommitCharacters boolean +-- EXPERIMENTAL: Whether to enable the [Flutter UI Guides preview](https://dartcode.org/releases/v3-1/#preview-flutter-ui-guides). +---@field previewFlutterUiGuides boolean +-- EXPERIMENTAL: Whether to enable custom tracking of Flutter UI guidelines (to hide some latency of waiting for the next Flutter Outline). +---@field previewFlutterUiGuidesCustomTracking boolean +-- Whether to perform hot reload on save based on a filesystem watcher for Dart files rather than using VS Code's `onDidSave` event. This allows reloads to trigger when external tools modify Dart source files. +---@field previewHotReloadOnSaveWatcher boolean +-- How many levels (including the workspace roots) down the workspace to search for Dart/Flutter projects. Increasing this number may help detect Flutter projects that are deeply nested in your workspace but slow down all operations that search for projects, including extension activation. -- -- ```lua --- default = "on" +-- default = 5 -- ``` ----@field possiblyBiasedLanguageFamilyRelated "on" | "off" --- Suggests alternatives to potentially gender-biased and non-inclusive phrasing. --- --- ```lua --- default = "on" --- ``` ----@field possiblyBiasedLanguageGenderRelated "on" | "off" --- Suggests alternatives to language related to human slavery. +---@field projectSearchDepth number +-- Whether to prompt to get/upgrade packages when opening a project with missing/out of date packages. -- -- ```lua --- default = "on" --- ``` ----@field possiblyBiasedLanguageHumanRights "on" | "off" --- Suggests alternatives to terms with origins in the institution of slavery. --- --- ```lua --- default = "on" +-- default = true -- ``` ----@field possiblyBiasedLanguageHumanRightsRelated "on" | "off" --- Flags LGBTQIA+-related terms that may be seen as biased, outdated, or disrespectful in some contexts. +---@field promptToGetPackages boolean +-- Whether to prompt before running if there are errors in your project. Test scripts will be excluded from the check unless they're the script being run. -- -- ```lua --- default = "on" +-- default = true -- ``` ----@field possiblyBiasedLanguageLGBTQIARelated "on" | "off" --- Suggests alternatives to potentially biased language related to race and ethnicity. +---@field promptToRunIfErrors boolean +-- Additional args to pass to all `pub` commands. -- -- ```lua --- default = "on" +-- default = {} -- ``` ----@field possiblyBiasedLanguageRaceEthnicityRelated "on" | "off" --- Suggests alternatives to language that may be considered politically incorrect. +---@field pubAdditionalArgs string[] +-- Whether to rename files when renaming classes with matching names (for example renaming 'class Person' inside 'person.dart'). If set to 'prompt', will ask each time before renaming. If set to 'always', the file will automatically be renamed. This setting requires using LSP and a Dart SDK of at least v2.15. -- -- ```lua --- default = "on" +-- default = "never" -- ``` ----@field possiblyPoliticallyIncorrectLanguage "on" | "off" --- Flags use of prepositions such as "with" and "in" at the end of sentences. +---@field renameFilesWithClasses "never" | "prompt" | "always" +-- Whether to automatically run `pub get` on nested projects above or below the one where the pubspec was changed. -- -- ```lua --- default = "off" +-- default = "none" -- ``` ----@field prepositionAtTheEndOfSentence "on" | "off" --- Suggests placing punctuation before closing quotation marks. +---@field runPubGetOnNestedProjects "none" | "both" | "above" | "below" +-- Whether to run `pub get` whenever `pubspec.yaml` is saved. -- -- ```lua --- default = "on" +-- default = "always" -- ``` ----@field punctuationWithQuotation "on" | "off" --- Flags long, complicated sentences that could potentially confuse your reader. +---@field runPubGetOnPubspecChanges "always" | "prompt" | "never" +-- The location of the Dart SDK to use for analyzing and executing code. If blank (or not a valid SDK), Dart Code will attempt to find it from the `PATH` environment variable. When editing a Flutter project, the version of Dart included in the Flutter SDK is used in preference. +---@field sdkPath string +-- An array of paths that either directly point to a Dart SDK or the parent directory of multiple Dart SDKs that can be used for fast SDK switching. These paths are not used directly when searching for an SDK. When this setting is populated, the SDK version number in the status bar can be used to quickly switch between SDKs. -- -- ```lua --- default = "on" +-- default = {} -- ``` ----@field readabilityFillerWords "on" | "off" --- Suggests splitting long, complicated sentences that could potentially confuse your reader. +---@field sdkPaths string[] +-- Where to save SDK selections when using fast SDK switching from the language status entry. -- -- ```lua --- default = "on" +-- default = "workspace" -- ``` ----@field readabilityTransforms "on" | "off" --- Flags series of sentences that follow the same pattern. +---@field sdkSwitchingTarget "workspace" | "global" +-- Whether to eagerly run DevTools for Flutter workspaces and share the spawned server with `flutter run`. -- -- ```lua --- default = "on" +-- default = true -- ``` ----@field sentenceVariety "on" | "off" --- Suggests removing extra spaces surrounding a slash. +---@field shareDevToolsWithFlutter boolean +-- Whether to show logs from the `dart:developer` `log()` function in the debug console. -- -- ```lua --- default = "on" +-- default = true -- ``` ----@field spacesSurroundingSlash "on" | "off" --- Suggests rewriting split infinitives so that an adverb doesn't come between "to" and the verb. +---@field showDartDeveloperLogs boolean +-- Whether to show CodeLens actions in the editor for opening online DartPad samples. -- -- ```lua --- default = "on" +-- default = true -- ``` ----@field splitInfinitive "on" | "off" --- Suggests completing all incomplete sentences, including stylistic sentence fragments that may be intentional. +---@field showDartPadSampleCodeLens boolean +-- Whether to show integers formatted as Hex in Variables, Watch, Debug Consoles. +---@field showDebuggerNumbersAsHex boolean +-- Whether to show DevTools buttons in the floating Debug toolbar. -- -- ```lua --- default = "off" +-- default = true -- ``` ----@field stylisticFragments "on" | "off" --- Flags unnecessary use of ellipses (...). +---@field showDevToolsDebugToolBarButtons boolean +-- Whether to show recommendations for other VS Code extensions based on the packages you're using. -- -- ```lua --- default = "off" +-- default = true -- ``` ----@field unnecessaryEllipses "on" | "off" --- Suggests alternatives to words that occur frequently in the same paragraph. +---@field showExtensionRecommendations boolean +-- Whether to show getters in order to display them in debug views (such as the Variables, Watch and Hovers views). If `evaluateGettersInDebugViews` is `true` getters will be eagerly evaluated, otherwise they will require clicking to evaluate. -- -- ```lua --- default = "on" +-- default = true -- ``` ----@field variety "on" | "off" --- Suggests alternatives to bland and overused words such as "good" and "nice". +---@field showGettersInDebugViews boolean +-- Whether to show notifications for widget errors that offer Inspect Widget links. This requires that the `#dart.shareDevToolsWithFlutter#` setting is also enabled. -- -- ```lua --- default = "on" +-- default = true -- ``` ----@field vocabulary "on" | "off" - ----@class _.lspconfig.settings.grammarly.Suggestions --- Flags use of conjunctions such as 'but' and 'and' at the beginning of sentences. ----@field ConjunctionAtStartOfSentence true | false --- Suggests ways to sound more natural and fluent. ----@field Fluency true | false --- Flags use of personal pronouns such as 'I' and 'you' in academic writing. ----@field InformalPronounsAcademic true | false --- Suggests adding missing spacing after a numeral when writing times. ----@field MissingSpaces true | false --- Flags a series of nouns that modify a final noun. ----@field NounStrings true | false --- Suggests spelling out numbers at the beginning of sentences. ----@field NumbersBeginningSentences true | false --- Suggests spelling out numbers zero through ten. ----@field NumbersZeroThroughTen true | false --- Suggests adding the Oxford comma after the second-to-last item in a list of things. ----@field OxfordComma true | false --- Flags use of passive voice. ----@field PassiveVoice true | false --- Suggests using person-first language to refer respectfully to an individual with a disability. ----@field PersonFirstLanguage true | false --- Suggests alternatives to potentially biased language related to older adults. ----@field PossiblyBiasedLanguageAgeRelated true | false --- Suggests alternatives to potentially ableist language. ----@field PossiblyBiasedLanguageDisabilityRelated true | false --- Suggests alternatives to potentially biased language related to parenting and family systems. ----@field PossiblyBiasedLanguageFamilyRelated true | false --- Suggests alternatives to potentially gender-biased and non-inclusive phrasing. ----@field PossiblyBiasedLanguageGenderRelated true | false --- Suggests alternatives to language related to human slavery. ----@field PossiblyBiasedLanguageHumanRights true | false --- Suggests alternatives to terms with origins in the institution of slavery. ----@field PossiblyBiasedLanguageHumanRightsRelated true | false --- Flags LGBTQIA+-related terms that may be seen as biased, outdated, or disrespectful in some contexts. ----@field PossiblyBiasedLanguageLgbtqiaRelated true | false --- Suggests alternatives to potentially biased language related to race and ethnicity. ----@field PossiblyBiasedLanguageRaceEthnicityRelated true | false --- Suggests alternatives to language that may be considered politically incorrect. ----@field PossiblyPoliticallyIncorrectLanguage true | false --- Flags use of prepositions such as 'with' and 'in' at the end of sentences. ----@field PrepositionAtTheEndOfSentence true | false --- Suggests placing punctuation before closing quotation marks. ----@field PunctuationWithQuotation true | false --- Flags long, complicated sentences that could potentially confuse your reader. ----@field ReadabilityFillerwords true | false --- Suggests splitting long, complicated sentences that could potentially confuse your reader. ----@field ReadabilityTransforms true | false --- Flags series of sentences that follow the same pattern. ----@field SentenceVariety true | false --- Suggests removing extra spaces surrounding a slash. ----@field SpacesSurroundingSlash true | false --- Suggests rewriting split infinitives so that an adverb doesn't come between 'to' and the verb. ----@field SplitInfinitive true | false --- Suggests completing all incomplete sentences, including stylistic sentence fragments that may be intentional. ----@field StylisticFragments true | false --- Flags unnecessary use of ellipses (...). ----@field UnnecessaryEllipses true | false --- Suggests alternatives to words that occur frequently in the same paragraph. ----@field Variety true | false --- Suggests alternatives to bland and overused words such as 'good' and 'nice'. ----@field Vocabulary true | false - ----@class _.lspconfig.settings.grammarly.Config --- Specific variety of English being written. See [this article](https://support.grammarly.com/hc/en-us/articles/115000089992-Select-between-British-English-American-English-Canadian-English-and-Australian-English) for differences. +---@field showInspectorNotificationsForWidgetErrors boolean +-- Whether to show CodeLens actions in the editor for quick running / debugging scripts with main functions. -- -- ```lua --- default = "auto-text" +-- default = true -- ``` ----@field documentDialect "american" | "australian" | "british" | "canadian" | "auto-text" --- The style or type of writing to be checked. See [What is domain/document type](https://support.grammarly.com/hc/en-us/articles/115000091472-What-is-domain-document-type-)? +---@field showMainCodeLens boolean +-- Whether to show skipped tests in the test tree. -- -- ```lua --- default = "general" +-- default = true -- ``` ----@field documentDomain "academic" | "business" | "general" | "mail" | "casual" | "creative" ----@field suggestionCategories _.lspconfig.settings.grammarly.SuggestionCategories ----@field suggestions _.lspconfig.settings.grammarly.Suggestions - ----@class _.lspconfig.settings.grammarly.Files --- Configure [glob patterns](https://code.visualstudio.com/docs/editor/codebasics#_advanced-search-options) for excluding files and folders. +---@field showSkippedTests boolean +-- Whether to show CodeLens actions in the editor for quick running / debugging tests. -- -- ```lua --- default = {} +-- default = true -- ``` ----@field exclude string[] --- Configure [glob patterns](https://code.visualstudio.com/docs/editor/codebasics#_advanced-search-options) for including files and folders. +---@field showTestCodeLens boolean +-- Whether to show TODOs in the Problems list. Can be a boolean to enable all TODO comments (TODO, FIXME, HACK, UNDONE) or an array of which types to enable. Older Dart SDKs may not support some TODO kinds. -- -- ```lua --- default = { "**/readme.md", "**/README.md", "**/*.txt" } +-- default = true -- ``` ----@field include string[] - ----@class _.lspconfig.settings.grammarly.Grammarly ----@field config _.lspconfig.settings.grammarly.Config ----@field files _.lspconfig.settings.grammarly.Files --- A glob pattern, like `*.{md,txt}` for file scheme. +---@field showTodos boolean|string[] +-- Whether to suppress test timeouts when running/debugging tests. To work properly this requires package:test version 1.20.1 or newer. For older versions, the default timeout will be increased to 1d but this will not affect tests that have explicit (non-factor) timeouts set with @timeout. -- -- ```lua --- default = { "**/readme.md", "**/README.md", "**/*.txt" } +-- default = "never" -- ``` ----@field patterns string[] --- Filter documents to be checked with Grammarly. +---@field suppressTestTimeouts "never" | "debug" | "always" +-- Additional args to pass to the `dart test` command. Using the `args`/`toolArgs` fields in `launch.json` is usually better than this setting as this setting will apply to _all_ projects. -- -- ```lua -- default = {} -- ``` ----@field selectors object[] --- Start text checking session in paused state ----@field startTextCheckInPausedState boolean - ----@class lspconfig.settings.grammarly ----@field grammarly _.lspconfig.settings.grammarly.Grammarly - --- Options for generating anonymous functions +---@field testAdditionalArgs string[] +-- How to identify tests when running/debugging. `name` is compatible with older versions of `package:test` but cannot handle some complex/dynamic test names. `line` will prefer to run tests by their line numbers (when available) and fall back to `name` only if the line number is unavailable. -- -- ```lua --- default = {} +-- default = "name" -- ``` ----@class _.lspconfig.settings.haxe_language_server.Anonymous --- Whether to include type hints for arguments ----@field argumentTypeHints boolean --- Whether to wrap types in `Null` even if it can be omitted (for optional arguments with `?`) ----@field explicitNull boolean --- In which case to include return type hints +---@field testInvocationMode "name" | "line" +-- The path to a log file for the `dart tooling-daemon` service, which coordinates between various Dart and Flutter tools and extensions. +---@field toolingDaemonLogFile string +-- **LEGACY SETTING: Only applies to Dart SDKs before v2.15 since DevTools now ships in the SDK.** +-- +-- Whether to update DevTools if you are not using the latest version. -- -- ```lua --- default = "never" +-- default = true -- ``` ----@field returnTypeHint "always" | "never" | "non-void" --- Whether to use arrow function syntax (Haxe 4+) +---@field updateDevTools boolean +-- Whether to automatically update imports when moving or renaming files. Currently only supports single file moves / renames. -- -- ```lua -- default = true -- ``` ----@field useArrowSyntax boolean - --- Options for generating field-level functions +---@field updateImportsOnRename boolean +-- **LEGACY SETTING: Only applies to Dart SDKs before v3.3 and is generally not recommended since v2.12.** +-- +-- Whether to use the Dart Analyzer's original protocol instead of LSP. Some features are not supported when using the legacy protocol and support for it will eventually be removed. Please file issues on GitHub in the Dart Code repo if you find yourself needing to enable this setting. +---@field useLegacyAnalyzerProtocol boolean +-- **LEGACY SETTING: Legacy debug adapters are not recommended since Dart v3.4.** +-- +-- Whether to use the legacy debug adapters even if the new debug adapters are available in the current Dart/Flutter SDKs contain. Setting the value to `true` will force use of the legacay adapters. Setting to `false` will force use of the SDK adapters. Leaving as `null` will allow the extension to decide which debug adapters to use depending on the SDK version and rollout progress. +---@field useLegacyDebugAdapters boolean +-- Arguments to be passed to the Dart VM when running Dart CLI scripts. +-- +-- These arguments appear between "dart" and "run": +-- +-- `dart (vmAdditionalArgs) run (toolArgs) bin/main.dart (args)` -- -- ```lua -- default = {} -- ``` ----@class _.lspconfig.settings.haxe_language_server.Field --- Whether to include type hints for arguments +---@field vmAdditionalArgs string[] +-- The path to a log file for communication between Dart Code and the VM service. This is useful when trying to diagnose issues with debugging such as missed breakpoints. Use `${name}` in the log file name to prevent concurrent debug sessions overwriting each others logs. +---@field vmServiceLogFile string +-- Whether to show a warning when modifying files in the [system package cache](https://dart.dev/tools/pub/glossary#system-cache) directory. -- -- ```lua -- default = true -- ``` ----@field argumentTypeHints boolean --- Whether to wrap types in `Null` even if it can be omitted (for optional arguments with `?`) ----@field explicitNull boolean --- Whether to include the private visibility modifier even if it can be omitted ----@field explicitPrivate boolean --- Whether to include the public visibility modifier even if it can be omitted ----@field explicitPublic boolean --- Whether to place `{` in a new line ----@field placeOpenBraceOnNewLine boolean --- In which case to include return type hints +---@field warnWhenEditingFilesInPubCache boolean +-- Whether to show a warning when modifying files outside of the workspace. -- -- ```lua --- default = "non-void" +-- default = true -- ``` ----@field returnTypeHint "always" | "never" | "non-void" +---@field warnWhenEditingFilesOutsideWorkspace boolean +-- The path to a log file for communication between Dart Code and the webdev daemon. This is useful when trying to diagnose issues with launching web apps. Use `${name`} in the log file name to prevent concurrent debug sessions overwriting each others logs. +---@field webDaemonLogFile string --- Options for generating functions --- --- ```lua --- default = {} --- ``` ----@class _.lspconfig.settings.haxe_language_server.Functions --- Options for generating anonymous functions --- --- ```lua --- default = {} --- ``` ----@field anonymous _.lspconfig.settings.haxe_language_server.Anonymous --- Options for generating field-level functions +---@class lspconfig.settings.dartls +---@field dart _.lspconfig.settings.dartls.Dart + +---@class _.lspconfig.settings.denols.CodeLens +-- Enables or disables the display of code lens information for implementations of items in the code. +---@field implementations boolean +-- Enables or disables the display of code lens information for references of items in the code. +---@field references boolean +-- Enables or disables the display of code lens information for all functions in the code. +---@field referencesAllFunctions boolean +-- Enables or disables the display of code lenses that allow running of individual tests in the code. +---@field test boolean +-- Additional arguments to use with the run test code lens. Defaults to `[ "--allow-all", "--no-check" ]`. -- -- ```lua --- default = {} +-- default = { "--allow-all", "--no-check" } -- ``` ----@field field _.lspconfig.settings.haxe_language_server.Field +---@field testArgs string[] --- Options for generating imports +---@class _.lspconfig.settings.denols.EnumMemberValues +-- Enable/disable inlay hints for enum values. +---@field enabled boolean + +---@class _.lspconfig.settings.denols.FunctionLikeReturnTypes +-- Enable/disable inlay hints for implicit function return types. +---@field enabled boolean + +---@class _.lspconfig.settings.denols.ParameterNames +-- Enable/disable inlay hints for parameter names. -- -- ```lua --- default = {} +-- default = "none" -- ``` ----@class _.lspconfig.settings.haxe_language_server.Imports --- Whether to insert an import automatically when selecting a not-yet-imported type from completion. If `false`, the fully qualified name is inserted instead. +---@field enabled "none" | "literals" | "all" +-- Do not display an inlay hint when the argument name matches the parameter. -- -- ```lua -- default = true -- ``` ----@field enableAutoImports boolean --- How to deal with module subtypes when generating imports. --- --- ```lua --- default = "type" --- ``` ----@field style "type" | "module" +---@field suppressWhenArgumentMatchesName boolean --- Options for generating switch expressions +---@class _.lspconfig.settings.denols.ParameterTypes +-- Enable/disable inlay hints for implicit parameter types. +---@field enabled boolean + +---@class _.lspconfig.settings.denols.PropertyDeclarationTypes +-- Enable/disable inlay hints for implicit property declarations. +---@field enabled boolean + +---@class _.lspconfig.settings.denols.VariableTypes +-- Enable/disable inlay hints for implicit variable types. +---@field enabled boolean +-- Suppress type hints where the variable name matches the implicit type. -- -- ```lua --- default = {} +-- default = true -- ``` ----@class _.lspconfig.settings.haxe_language_server.Switch --- Whether to wrap the switch subject in parentheses ----@field parentheses boolean +---@field suppressWhenTypeMatchesName boolean --- Options for code generation +---@class _.lspconfig.settings.denols.InlayHints +---@field enumMemberValues _.lspconfig.settings.denols.EnumMemberValues +---@field functionLikeReturnTypes _.lspconfig.settings.denols.FunctionLikeReturnTypes +---@field parameterNames _.lspconfig.settings.denols.ParameterNames +---@field parameterTypes _.lspconfig.settings.denols.ParameterTypes +---@field propertyDeclarationTypes _.lspconfig.settings.denols.PropertyDeclarationTypes +---@field variableTypes _.lspconfig.settings.denols.VariableTypes + +---@class _.lspconfig.settings.denols.Imports +-- If enabled, when new hosts/origins are encountered that support import suggestions, you will be prompted to enable or disable it. Defaults to `true`. -- -- ```lua --- default = {} +-- default = true -- ``` ----@class _.lspconfig.settings.haxe_language_server.CodeGeneration --- Options for generating functions +---@field autoDiscover boolean +-- Controls which hosts are enabled for import suggestions. -- -- ```lua --- default = {} +-- default = { +-- ["https://deno.land"] = true +-- } -- ``` ----@field functions _.lspconfig.settings.haxe_language_server.Functions --- Options for generating imports --- +---@field hosts table + +---@class _.lspconfig.settings.denols.Suggest -- ```lua --- default = {} +-- default = true -- ``` ----@field imports _.lspconfig.settings.haxe_language_server.Imports --- Options for generating switch expressions --- +---@field autoImports boolean +---@field completeFunctionCalls boolean +---@field imports _.lspconfig.settings.denols.Imports -- ```lua --- default = {} +-- default = true -- ``` ----@field switch _.lspconfig.settings.haxe_language_server.Switch +---@field names boolean +-- ```lua +-- default = true +-- ``` +---@field paths boolean --- Which debug output to print to the Haxe output channel. With `-v`, all flags default to `true`, and without it to `false`. Setting a flag here overrides the default. Only works with Haxe 4.0.0-preview.4 or newer. +---@class _.lspconfig.settings.denols.Testing +-- Arguments to use when running tests via the Test Explorer. Defaults to `[ "--allow-all" ]`. -- -- ```lua --- default = { --- completion = false, --- reusing = false --- } +-- default = { "--allow-all", "--no-check" } -- ``` ----@class _.lspconfig.settings.haxe_language_server.Print ----@field addedDirectory boolean ----@field arguments boolean ----@field cachedModules boolean ----@field changedDirectories boolean ----@field completion boolean ----@field defines boolean ----@field displayPosition boolean ----@field foundDirectories boolean ----@field message boolean ----@field modulePathChanged boolean ----@field newContext boolean ----@field notCached boolean ----@field parsed boolean ----@field removedDirectory boolean ----@field reusing boolean ----@field signature boolean ----@field skippingDep boolean ----@field socketMessage boolean ----@field stats boolean ----@field uncaughtError boolean ----@field unchangedContent boolean +---@field args string[] --- Haxe completion server configuration +---@class _.lspconfig.settings.denols.Deno +-- A path to the cache directory for Deno. By default, the operating system's cache path plus `deno` is used, or the `DENO_DIR` environment variable, but if set, this path will be used instead. +---@field cache string +-- Controls if the extension should cache the active document's dependencies on save. -- -- ```lua --- default = {} +-- default = true -- ``` ----@class _.lspconfig.settings.haxe_language_server.DisplayServer --- Array of arguments passed to the Haxe completion server at start. Can be used for debugging completion server issues, for example by adding the `"-v"` argument. +---@field cacheOnSave boolean +-- A list of root certificate stores used to validate TLS certificates when fetching and caching remote resources. This overrides the `DENO_TLS_CA_STORE` environment variable if set. +---@field certificateStores string[] +---@field codeLens _.lspconfig.settings.denols.CodeLens +-- The file path to a configuration file. This is the equivalent to using `--config` on the command line. The path can be either be relative to the workspace, or an absolute path. +-- +-- It is recommend you name it `deno.json` or `deno.jsonc`. +-- +-- **Not recommended to be set globally.** +---@field config string +-- Controls the default action when clicking on a task in the _Deno Tasks sidebar_. +-- +-- ```lua +-- default = "open" +-- ``` +---@field defaultTaskCommand "open" | "run" +-- Disables the Deno Language Server for specific paths. This will leave the built in TypeScript/JavaScript language server enabled for those paths. Takes priority over `deno.enablePaths`. +-- +-- **Not recommended to be enabled in user settings.** -- -- ```lua -- default = {} -- ``` ----@field arguments string[] --- Which debug output to print to the Haxe output channel. With `-v`, all flags default to `true`, and without it to `false`. Setting a flag here overrides the default. Only works with Haxe 4.0.0-preview.4 or newer. +---@field disablePaths string[] +-- Maximum number of file system entries to traverse when finding scripts to preload into TypeScript on startup. Set this to 0 to disable document preloading. -- -- ```lua --- default = { --- completion = false, --- reusing = false --- } +-- default = 1000 -- ``` ----@field print _.lspconfig.settings.haxe_language_server.Print --- If possible, use a socket for communication with Haxe rather than stdio. +---@field documentPreloadLimit number +-- Controls if the Deno Language Server is enabled. When enabled, the extension will disable the built-in VSCode JavaScript and TypeScript language services, and will use the Deno Language Server instead. +-- +-- If omitted, your preference will be inferred as true if there is a `deno.json[c]` at your workspace root and false if not. +-- +-- If you want to enable only part of your workspace folder, consider using `deno.enablePaths` setting instead. +-- +-- **Not recommended to be enabled globally.** +---@field enable boolean +-- Enables the Deno Language Server for specific paths, instead of for the whole workspace folder. This will disable the built in TypeScript/JavaScript language server for those paths. +-- +-- When a value is set, the value of `"deno.enable"` is ignored. +-- +-- The workspace folder is used as the base for the supplied paths. If for example you have all your Deno code in `worker` path in your workspace, you can add an item with the value of `./worker`, and the Deno will only provide diagnostics for the files within `worker` or any of its sub paths. +-- +-- **Not recommended to be enabled in user settings.** +---@field enablePaths string[] +-- Enable breaking features likely to be shipped in Deno 2.0. +---@field future boolean +-- The file path to an import map. This is the equivalent to using `--import-map` on the command line. +-- +-- [Import maps](https://deno.land/manual@v1.6.0/linking_to_external_code/import_maps) provide a way to "relocate" modules based on their specifiers. The path can either be relative to the workspace, or an absolute path. +-- +-- **Not recommended to be set globally.** +---@field importMap string +---@field inlayHints _.lspconfig.settings.denols.InlayHints +-- Determines if the internal debugging information for the Deno language server will be logged to the _Deno Language Server_ console. +---@field internalDebug boolean +-- Enables the inspector server for the JS runtime used by the Deno Language Server to host its TS server. Optionally provide an address for the inspector listener e.g. "127.0.0.1:9222" (default). +---@field internalInspect boolean|string +-- Controls if linting information will be provided by the Deno Language Server. +-- +-- **Not recommended to be enabled globally.** -- -- ```lua -- default = true -- ``` ----@field useSocket boolean - --- Options for inlay hints feature +---@field lint boolean +-- Write logs to a file in a project-local directory. +---@field logFile boolean +-- Maximum amount of memory the TypeScript isolate can use. Defaults to 3072 (3GB). -- -- ```lua --- default = { --- conditionals = false, --- functionReturnTypes = true, --- parameterNames = true, --- parameterTypes = false, --- variableTypes = true --- } +-- default = 3072 -- ``` ----@class _.lspconfig.settings.haxe_language_server.InlayHints --- Show inlay hints for conditionals ----@field conditionals boolean --- Show inlay hints for function return types +---@field maxTsServerMemory number +-- A path to the `deno` CLI executable. By default, the extension looks for `deno` in the `PATH`, but if set, will use the path specified instead. +---@field path string +---@field suggest _.lspconfig.settings.denols.Suggest +---@field testing _.lspconfig.settings.denols.Testing +-- A path to a PEM certificate to use as the certificate authority when validating TLS certificates when fetching and caching remote resources. This is like using `--cert` on the Deno CLI and overrides the `DENO_CERT` environment variable if set. +---@field tlsCertificate string +-- **DANGER** disables verification of TLS certificates for the hosts provided. There is likely a better way to deal with any errors than use this option. This is like using `--unsafely-ignore-certificate-errors` in the Deno CLI. +---@field unsafelyIgnoreCertificateErrors string[] +-- Controls if tests will be run with the the `--unstable` flag when running tests via the explorer. +-- +-- **Not recommended to be enabled globally.** +---@field unstable boolean + +---@class lspconfig.settings.denols +---@field deno _.lspconfig.settings.denols.Deno + +---@class _.lspconfig.settings.elixirls.Trace +-- Traces the communication between VS Code and the Elixir language server. -- -- ```lua --- default = true +-- default = "off" -- ``` ----@field functionReturnTypes boolean --- Show inlay hints for parameter names +---@field server "off" | "messages" | "verbose" + +---@class _.lspconfig.settings.elixirls.ElixirLS +-- Additional file types capable of triggering a build on change -- -- ```lua --- default = true +-- default = {} -- ``` ----@field parameterNames boolean --- Show inlay hints for parameter types ----@field parameterTypes boolean --- Show inlay hints for variables +---@field additionalWatchedExtensions string[] +-- Trigger ElixirLS build when code is saved -- -- ```lua -- default = true -- ``` ----@field variableTypes boolean - --- Options for postfix completion +---@field autoBuild boolean +-- Enable auto-insert required alias. This is true (enabled) by default. -- -- ```lua --- default = {} +-- default = true -- ``` ----@class _.lspconfig.settings.haxe_language_server.PostfixCompletion --- Which kinds of postfix completions to include +---@field autoInsertRequiredAlias boolean +-- Run ElixirLS's rapid Dialyzer when code is saved -- -- ```lua --- default = "full" +-- default = true -- ``` ----@field level "full" | "filtered" | "off" - --- Options for compilation server recording +---@field dialyzerEnabled boolean +-- Formatter to use for Dialyzer warnings -- -- ```lua --- default = { --- enabled = false, --- exclude = {}, --- excludeUntracked = false, --- path = ".haxelsp/recording/", --- watch = {} --- } +-- default = "dialyxir_long" -- ``` ----@class _.lspconfig.settings.haxe_language_server.ServerRecording --- Enable recording of communication with Haxe Server to produce reproducible logs. ----@field enabled boolean --- Do not track these files in git/svn logged changes. +---@field dialyzerFormat "dialyzer" | "dialyxir_short" | "dialyxir_long" +-- Dialyzer options to enable or disable warnings - See Dialyzer's documentation for options. Note that the "race_conditions" option is unsupported -- -- ```lua -- default = {} -- ``` ----@field exclude any[] --- Do not add untracked files to recording. ----@field excludeUntracked boolean --- Root folder to use to save data related to server recording. +---@field dialyzerWarnOpts string[] +-- Show code lenses to run tests in terminal. +---@field enableTestLenses boolean +-- Environment variables to use for compilation +---@field envVariables table +-- Automatically fetch project dependencies when compiling. +---@field fetchDeps boolean +-- Use OTP incremental dialyzer (available on OTP 26+) -- -- ```lua --- default = ".haxelsp/recording/" +-- default = true -- ``` ----@field path string --- Additional paths to watch for changes (e.g. resources used for compilation) +---@field incrementalDialyzer boolean +-- Absolute path to alternative ElixirLS release that will override the packaged release +---@field languageServerOverridePath string +-- Mix environment to use for compilation -- -- ```lua --- default = {} +-- default = "test" -- ``` ----@field watch any[] - --- Configures which presentation options to use for generated tasks by default (see `presentation` in `tasks.json`). +---@field mixEnv string +-- Mix target to use for compilation +---@field mixTarget string +-- Subdirectory containing Mix project if not in the project root -- -- ```lua --- default = { --- clear = false, --- echo = true, --- focus = false, --- panel = "shared", --- reveal = "always", --- showReuseMessage = true --- } +-- default = "" -- ``` ----@class _.lspconfig.settings.haxe_language_server.TaskPresentation --- Controls whether the terminal is cleared before executing the task. ----@field clear boolean --- Controls whether the executed command is echoed to the panel. Default is `true`. +---@field projectDir string +-- Show signature help after confirming autocomplete. -- -- ```lua -- default = true -- ``` ----@field echo boolean --- Controls whether the panel takes focus. Default is `false`. If set to `true` the panel is revealed as well. ----@field focus boolean --- Controls if the panel is shared between tasks, dedicated to this task or a new one is created on every run. +---@field signatureAfterComplete boolean +-- Suggest @spec annotations inline using Dialyzer's inferred success typings (Requires Dialyzer). -- -- ```lua --- default = "shared" +-- default = true -- ``` ----@field panel "shared" | "dedicated" | "new" --- Controls whether the panel running the task is revealed or not. Default is `"always"`. +---@field suggestSpecs boolean +---@field trace _.lspconfig.settings.elixirls.Trace + +---@class lspconfig.settings.elixirls +---@field elixirLS _.lspconfig.settings.elixirls.ElixirLS + +---@class _.lspconfig.settings.elmls.ElmTestRunner +-- Show output of elm-test as terminal task +---@field showElmTestOutput boolean + +---@class _.lspconfig.settings.elmls.Trace +-- Traces the communication between VS Code and the language server. -- -- ```lua --- default = "always" +-- default = "off" -- ``` ----@field reveal "always" | "silent" | "never" --- Controls whether to show the `Terminal will be reused by tasks, press any key to close it` message. +---@field server "off" | "messages" | "verbose" + +---@class _.lspconfig.settings.elmls.ElmLS +-- Disable linting diagnostics from the language server. +---@field disableElmLSDiagnostics boolean +-- The path to your elm-format executable. Should be empty by default, in that case it will assume the name and try to first get it from a local npm installation or a global one. If you set it manually it will not try to load from the npm folder. -- -- ```lua --- default = true +-- default = "" -- ``` ----@field showReuseMessage boolean - ----@class _.lspconfig.settings.haxe_language_server.Haxe --- Speed up completion by building the project once on startup to initialize the cache. +---@field elmFormatPath string +-- The path to your elm executable. Should be empty by default, in that case it will assume the name and try to first get it from a local npm installation or a global one. If you set it manually it will not try to load from the npm folder. -- -- ```lua --- default = true +-- default = "" -- ``` ----@field buildCompletionCache boolean --- Options for code generation +---@field elmPath string +-- Set severity or disable linting diagnostics for elm-review. -- -- ```lua --- default = {} +-- default = "off" -- ``` ----@field codeGeneration _.lspconfig.settings.haxe_language_server.CodeGeneration --- Array of switchable configurations for the Haxe completion server. Each configuration is an array of command-line arguments, see item documentation for more details. +---@field elmReviewDiagnostics "off" | "warning" | "error" +-- The path to your elm-review executable. Should be empty by default, in that case it will assume the name and try to first get it from a local npm installation or a global one. If you set it manually it will not try to load from the npm folder. -- -- ```lua --- default = {} +-- default = "" -- ``` ----@field configurations any[] --- A regex that paths of source files have to match to be included in diagnostics. Defaults to `"${workspaceRoot}"` so only files within your workspace are included. You can use `"${haxelibPath}/"` to only show results for a specific haxelib. Use `".*?"` to see all results, including haxelibs. +---@field elmReviewPath string +-- The path to your elm-test executable. Should be empty by default, in that case it will assume the name and try to first get it from a local npm installation or a global one. If you set it manually it will not try to load from the npm folder. -- -- ```lua --- default = "${workspaceRoot}" +-- default = "" -- ``` ----@field diagnosticsPathFilter string +---@field elmTestPath string +---@field elmTestRunner _.lspconfig.settings.elmls.ElmTestRunner +-- Only update compiler diagnostics on save, not on document change. +---@field onlyUpdateDiagnosticsOnSave boolean +-- Skips confirmation for the Install Package code action. +---@field skipInstallPackageConfirmation boolean +---@field trace _.lspconfig.settings.elmls.Trace + +---@class lspconfig.settings.elmls +---@field elmLS _.lspconfig.settings.elmls.ElmLS + +-- Show disable lint rule in the quick fix menu. +-- -- ```lua --- default = {} +-- default = { +-- commentStyle = "line", +-- enable = true, +-- location = "separateLine" +-- } -- ``` ----@field displayConfigurations any[] --- IP address to use for display server. Can be used to `--connect` Haxe build commands. --- +---@class _.lspconfig.settings.eslint.DisableRuleComment -- ```lua --- default = "127.0.0.1" +-- default = "line" -- ``` ----@field displayHost string --- Integer value for the port to open on the display server, or `"auto"`. Can be used to `--connect` Haxe build commands. +---@field commentStyle "line" | "block" +-- Show the disable code actions. -- -- ```lua --- default = "auto" +-- default = true -- ``` ----@field displayPort any --- Haxe completion server configuration +---@field enable boolean +-- Configure the disable rule code action to insert the comment on the same line or a new line. -- -- ```lua --- default = {} +-- default = "separateLine" -- ``` ----@field displayServer _.lspconfig.settings.haxe_language_server.DisplayServer --- Add closing brace at the end of one-line `if/for/while` body expressions ----@field enableBraceBodyWrapping boolean --- Enable code lens to show some statistics ----@field enableCodeLens boolean --- Use the extension's Haxe server to compile auto-generated tasks. Requires `"haxe.displayPort"` to be set. +---@field location "separateLine" | "sameLine" + +-- Show open lint rule documentation web page in the quick fix menu. -- -- ```lua --- default = true +-- default = { +-- enable = true +-- } -- ``` ----@field enableCompilationServer boolean --- Whether a warning popup should be shown if the completion cache build has failed. +---@class _.lspconfig.settings.eslint.ShowDocumentation +-- Show the documentation code actions. -- -- ```lua -- default = true -- ``` ----@field enableCompletionCacheWarning boolean --- Enable automatic diagnostics of Haxe files, run automatically on open and save. +---@field enable boolean + +---@class _.lspconfig.settings.eslint.CodeAction +-- Show disable lint rule in the quick fix menu. -- -- ```lua --- default = true +-- default = { +-- commentStyle = "line", +-- enable = true, +-- location = "separateLine" +-- } -- ``` ----@field enableDiagnostics boolean --- Align new line brackets with Allman style. Can have typing overhead and is incompatible with the Vim extension. ----@field enableExtendedIndentation boolean ----@field enableMethodsView boolean --- Enable the "Haxe Server" view container for performance and cache debugging. ----@field enableServerView boolean --- Whether signature help should include documentation or not. +---@field disableRuleComment _.lspconfig.settings.eslint.DisableRuleComment +-- Show open lint rule documentation web page in the quick fix menu. -- -- ```lua --- default = true +-- default = { +-- enable = true +-- } -- ``` ----@field enableSignatureHelpDocumentation boolean --- A list of dot paths (packages, modules, types) to exclude from classpath parsing, completion and workspace symbols. Can be useful to improve performance. +---@field showDocumentation _.lspconfig.settings.eslint.ShowDocumentation + +---@class _.lspconfig.settings.eslint.CodeActionsOnSave +-- Specifies the code action mode. Possible values are 'all' and 'problems'. -- -- ```lua --- default = { "zpp_nape" } +-- default = "all" -- ``` ----@field exclude any[] --- Path to the Haxe executable or an object containing a Haxe executable configuration +---@field mode "all" | "problems" +-- The rules that should be executed when computing the code actions on save or formatting a file. Defaults to the rules configured via the ESLint configuration +---@field rules string[]|any + +---@class _.lspconfig.settings.eslint.Experimental +-- Enables support of experimental Flat Config (aka eslint.config.js). Requires ESLint version >= 8.21 < 8.57.0). +---@field useFlatConfig boolean + +---@class _.lspconfig.settings.eslint.Format +-- Enables ESLint as a formatter. +---@field enable boolean + +---@class _.lspconfig.settings.eslint.LintTask +-- Controls whether a task for linting the whole workspace will be available. +---@field enable boolean +-- Command line options applied when running the task for linting the whole workspace (see https://eslint.org/docs/user-guide/command-line-interface). -- -- ```lua --- default = "auto" +-- default = "." -- ``` ----@field executable any --- Sort order of imports +---@field options string + +---@class _.lspconfig.settings.eslint.Migration +-- Whether ESlint should migrate auto fix on save settings. -- -- ```lua --- default = "all-alphabetical" +-- default = "on" -- ``` ----@field importsSortOrder "all-alphabetical" | "stdlib -> libs -> project" | "non-project -> project" --- Options for inlay hints feature +---@field 2_x "off" | "on" + +---@class _.lspconfig.settings.eslint.Rules +-- A special rules customization section for text cells in notebook documents. +---@field customizations object[] + +---@class _.lspconfig.settings.eslint.Notebooks +---@field rules _.lspconfig.settings.eslint.Rules + +---@class _.lspconfig.settings.eslint.Problems +-- Shortens the text spans of underlined problems to their first related line. +---@field shortenToSingleLine boolean + +---@class _.lspconfig.settings.eslint.Rules +-- Override the severity of one or more rules reported by this extension, regardless of the project's ESLint config. Use globs to apply default severities for multiple rules. +---@field customizations object[] + +-- The time budget in milliseconds to spend on computing fixes before showing a warning or error. -- -- ```lua -- default = { --- conditionals = false, --- functionReturnTypes = true, --- parameterNames = true, --- parameterTypes = false, --- variableTypes = true +-- error = 6000, +-- warn = 3000 -- } -- ``` ----@field inlayHints _.lspconfig.settings.haxe_language_server.InlayHints --- Upper limit for the number of completion items that can be shown at once. +---@class _.lspconfig.settings.eslint.OnFixes +-- The time budget in milliseconds to spend on computing fixes before showing an error. -- -- ```lua --- default = 1000 +-- default = 6000 -- ``` ----@field maxCompletionItems integer --- Options for postfix completion --- +---@field error number +-- The time budget in milliseconds to spend on computing fixes before showing a warning. +-- -- ```lua --- default = {} +-- default = 3000 -- ``` ----@field postfixCompletion _.lspconfig.settings.haxe_language_server.PostfixCompletion --- Folders to look for renamable identifiers. Rename will not see or touch files outside of those folders. +---@field warn number + +-- The time budget in milliseconds to spend on validation before showing a warning or error. -- -- ```lua --- default = { "src", "source", "Source", "test", "tests" } +-- default = { +-- error = 8000, +-- warn = 4000 +-- } -- ``` ----@field renameSourceFolders any[] --- Options for compilation server recording +---@class _.lspconfig.settings.eslint.OnValidation +-- The time budget in milliseconds to spend on validation before showing an error. +-- +-- ```lua +-- default = 8000 +-- ``` +---@field error number +-- The time budget in milliseconds to spend on validation before showing a warning. +-- +-- ```lua +-- default = 4000 +-- ``` +---@field warn number + +---@class _.lspconfig.settings.eslint.TimeBudget +-- The time budget in milliseconds to spend on computing fixes before showing a warning or error. -- -- ```lua -- default = { --- enabled = false, --- exclude = {}, --- excludeUntracked = false, --- path = ".haxelsp/recording/", --- watch = {} +-- error = 6000, +-- warn = 3000 -- } -- ``` ----@field serverRecording _.lspconfig.settings.haxe_language_server.ServerRecording --- Configures which presentation options to use for generated tasks by default (see `presentation` in `tasks.json`). +---@field onFixes _.lspconfig.settings.eslint.OnFixes +-- The time budget in milliseconds to spend on validation before showing a warning or error. -- -- ```lua -- default = { --- clear = false, --- echo = true, --- focus = false, --- panel = "shared", --- reveal = "always", --- showReuseMessage = true +-- error = 8000, +-- warn = 4000 -- } -- ``` ----@field taskPresentation _.lspconfig.settings.haxe_language_server.TaskPresentation --- Whether to revert to a Haxe 3 style completion where only toplevel packages and imported types are shown (effectively making it incompatible with auto-imports). *Note:* this setting has no effect with Haxe versions earlier than 4.0.0-rc.4. ----@field useLegacyCompletion boolean +---@field onValidation _.lspconfig.settings.eslint.OnValidation ----@class _.lspconfig.settings.haxe_language_server.Haxelib --- Path to the Haxelib executable +---@class _.lspconfig.settings.eslint.Trace +-- Traces the communication between VSCode and the eslint linter service. -- -- ```lua --- default = "auto" +-- default = "off" -- ``` ----@field executable string - ----@class lspconfig.settings.haxe_language_server ----@field haxe _.lspconfig.settings.haxe_language_server.Haxe ----@field haxelib _.lspconfig.settings.haxe_language_server.Haxelib - ----@class _.lspconfig.settings.hhvm.Docker --- Name of the local Docker container to run the language tools in ----@field containerName string - ----@class _.lspconfig.settings.hhvm.Ssh --- Additional command line options to pass when establishing the SSH connection ----@field flags any[] --- Address for the remote development server to connect to (in the format `[user@]hostname`) ----@field host string - ----@class _.lspconfig.settings.hhvm.Remote ----@field docker _.lspconfig.settings.hhvm.Docker --- Run the Hack language tools on an external host ----@field enabled boolean ----@field ssh _.lspconfig.settings.hhvm.Ssh --- The remote connection method ----@field type "ssh" | "docker" --- Absolute location of workspace root in the remote file system ----@field workspacePath string +---@field server "off" | "messages" | "verbose"|table ----@class _.lspconfig.settings.hhvm.Trace --- Traces the communication between VS Code and the Hack & HHAST language servers +---@class _.lspconfig.settings.eslint.Eslint +-- Turns auto fix on save on or off. +---@field autoFixOnSave boolean +---@field codeAction _.lspconfig.settings.eslint.CodeAction +---@field codeActionsOnSave _.lspconfig.settings.eslint.CodeActionsOnSave +-- Enables ESLint debug mode (same as `--debug` on the command line) +---@field debug boolean +-- Controls whether eslint is enabled or not. -- -- ```lua --- default = "off" +-- default = true -- ``` ----@field server "off" | "messages" | "verbose" - ----@class _.lspconfig.settings.hhvm.Hack --- Absolute path to the hh_client executable. This can be left empty if hh_client is already in your environment $PATH. +---@field enable boolean +-- Additional exec argv argument passed to the runtime. This can for example be used to control the maximum heap space using --max_old_space_size +---@field execArgv string[]|any +---@field experimental _.lspconfig.settings.eslint.Experimental +---@field format _.lspconfig.settings.eslint.Format +-- If true, untitled files won't be validated by ESLint. +---@field ignoreUntitled boolean +---@field lintTask _.lspconfig.settings.eslint.LintTask +---@field migration _.lspconfig.settings.eslint.Migration +-- The value of `NODE_ENV` to use when running eslint tasks. +---@field nodeEnv string +-- A path added to `NODE_PATH` when resolving the eslint module. +---@field nodePath string +---@field notebooks _.lspconfig.settings.eslint.Notebooks +-- Whether ESLint should issue a warning on ignored files. -- -- ```lua --- default = "hh_client" +-- default = "off" -- ``` ----@field clientPath string --- Enable calculation of Hack type coverage percentage for every file and display in status bar. ----@field enableCoverageCheck boolean --- Optional list of arguments passed to hhast-lint executable +---@field onIgnoredFiles "warn" | "off" +-- The eslint options object to provide args normally passed to eslint when executed from a command line (see https://eslint.org/docs/developer-guide/nodejs-api#eslint-class). -- -- ```lua -- default = {} -- ``` ----@field hhastArgs string[] --- Whether to lint the entire project or just the open files ----@field hhastLintMode "whole-project" | "open-files" --- Use an alternate `hhast-lint` path. Can be abolute or relative to workspace root. +---@field options table +-- The package manager you use to install node modules. -- -- ```lua --- default = "vendor/bin/hhast-lint" +-- default = "npm" -- ``` ----@field hhastPath string ----@field remote _.lspconfig.settings.hhvm.Remote ----@field trace _.lspconfig.settings.hhvm.Trace --- Enable linting (needs [HHAST](https://github.com/hhvm/hhast) library set up and configured in project) +---@field packageManager "npm" | "yarn" | "pnpm" +-- An array of language ids for which the extension should probe if support is installed. -- -- ```lua --- default = true +-- default = { "astro", "javascript", "javascriptreact", "typescript", "typescriptreact", "html", "mdx", "vue", "markdown", "json", "jsonc" } -- ``` ----@field useHhast boolean --- Start hh_client in Language Server mode. Only works for HHVM version 3.23 and above. +---@field probe string[] +---@field problems _.lspconfig.settings.eslint.Problems +-- Controls whether a task for linting the whole workspace will be available. +---@field provideLintTask boolean +-- Turns on quiet mode, which ignores warnings. +---@field quiet boolean +---@field rules _.lspconfig.settings.eslint.Rules +-- Run the linter on save (onSave) or on type (onType) -- -- ```lua --- default = true +-- default = "onType" -- ``` ----@field useLanguageServer boolean --- Absolute path to the workspace root directory. This will be the VS Code workspace root by default, but can be changed if the project is in a subdirectory or mounted in a Docker container. ----@field workspaceRootPath string +---@field run "onSave" | "onType" +-- The location of the node binary to run ESLint under. +---@field runtime string +---@field timeBudget _.lspconfig.settings.eslint.TimeBudget +---@field trace _.lspconfig.settings.eslint.Trace +-- Since version 7 ESLint offers a new API call ESLint. Use it even if the old CLIEngine is available. From version 8 on forward on ESLint class is available. +---@field useESLintClass boolean +-- Controls whether flat config should be used or not. This setting requires ESLint version 8.57 or later and is interpreted according to the [ESLint Flat Config rollout plan](https://eslint.org/blog/2023/10/flat-config-rollout-plans/). +---@field useFlatConfig boolean +-- An array of language ids which should be validated by ESLint. If not installed ESLint will show an error. +---@field validate any[] +-- Specifies how the working directories ESLint is using are computed. ESLint resolves configuration files (e.g. `eslintrc`, `.eslintignore`) relative to a working directory so it is important to configure this correctly. +---@field workingDirectories any[] ----@class lspconfig.settings.hhvm ----@field hack _.lspconfig.settings.hhvm.Hack +---@class lspconfig.settings.eslint +---@field eslint _.lspconfig.settings.eslint.Eslint ----@class _.lspconfig.settings.hie.AlternateNumberFormat --- Enables alternateNumberFormat plugin +---@class _.lspconfig.settings.flow.Trace +-- Traces the communication between VSCode and the flow lsp service. -- -- ```lua --- default = true +-- default = "off" -- ``` ----@field globalOn boolean +---@field server "off" | "messages" | "verbose" ----@class _.lspconfig.settings.hie.Cabal --- Enables cabal code actions +---@class _.lspconfig.settings.flow.Flow +-- Type coverage diagnostic severity -- -- ```lua --- default = true +-- default = "info" -- ``` ----@field codeActionsOn boolean --- Enables cabal completions +---@field coverageSeverity "error" | "warn" | "info" +-- Is flow enabled -- -- ```lua -- default = true -- ``` ----@field completionOn boolean --- Enables cabal diagnostics +---@field enabled boolean +-- Set value to enable flow lazy mode +---@field lazyMode string +-- Log level for output panel logs -- -- ```lua --- default = true +-- default = "info" -- ``` ----@field diagnosticsOn boolean - ----@class _.lspconfig.settings.hie.Config --- Set path to 'cabal-fmt' executable +---@field logLevel "error" | "warn" | "info" | "trace" +-- Absolute path to flow binary. Special var ${workspaceFolder} or ${flowconfigDir} can be used in path (NOTE: in windows you can use '/' and can omit '.cmd' in path) -- -- ```lua --- default = "cabal-fmt" +-- default = "flow" -- ``` ----@field path string - ----@class _.lspconfig.settings.hie.Cabal-fmt ----@field config _.lspconfig.settings.hie.Config - ----@class _.lspconfig.settings.hie.Config --- Set path to 'cabal-gild' executable +---@field pathToFlow string +-- If true will show uncovered code by default +---@field showUncovered boolean +-- Stop Flow on Exit -- -- ```lua --- default = "cabal-gild" +-- default = true -- ``` ----@field path string - ----@class _.lspconfig.settings.hie.Cabal-gild ----@field config _.lspconfig.settings.hie.Config - ----@class _.lspconfig.settings.hie.CallHierarchy --- Enables callHierarchy plugin +---@field stopFlowOnExit boolean +---@field trace _.lspconfig.settings.flow.Trace +-- If true will use flow bundled with this plugin if nothing works -- -- ```lua -- default = true -- ``` ----@field globalOn boolean - ----@class _.lspconfig.settings.hie.ChangeTypeSignature --- Enables changeTypeSignature plugin +---@field useBundledFlow boolean +-- Complete functions with their parameter signature. -- -- ```lua -- default = true -- ``` ----@field globalOn boolean - ----@class _.lspconfig.settings.hie.Class --- Enables class code actions +---@field useCodeSnippetOnFunctionSuggest boolean +-- Support using flow through your node_modules folder, WARNING: Checking this box is a security risk. When you open a project we will immediately run code contained within it. -- -- ```lua -- default = true -- ``` ----@field codeActionsOn boolean --- Enables class code lenses +---@field useNPMPackagedFlow boolean + +---@class lspconfig.settings.flow +---@field flow _.lspconfig.settings.flow.Flow + +---@class _.lspconfig.settings.fsautocomplete.TestExplorer +-- Decides if the test explorer will automatically try discover tests when the workspace loads. You can still manually refresh the explorer to discover tests at any time -- -- ```lua -- default = true -- ``` ----@field codeLensOn boolean +---@field AutoDiscoverTestsOnLoad boolean ----@class _.lspconfig.settings.hie.Config --- Enable the diff output (WAS/NOW) of eval lenses +---@class _.lspconfig.settings.fsautocomplete.References +-- If enabled, code lenses for reference counts for methods and functions will be shown. -- -- ```lua -- default = true -- ``` ----@field diff boolean --- Enable marking exceptions with `*** Exception:` similarly to doctest and GHCi. ----@field exception boolean +---@field enabled boolean ----@class _.lspconfig.settings.hie.Eval ----@field config _.lspconfig.settings.hie.Config --- Enables eval plugin +---@class _.lspconfig.settings.fsautocomplete.Signature +-- If enabled, code lenses for type signatures on methods and functions will be shown. -- -- ```lua -- default = true -- ``` ----@field globalOn boolean +---@field enabled boolean ----@class _.lspconfig.settings.hie.Explicit-fields --- Enables explicit-fields plugin +---@class _.lspconfig.settings.fsautocomplete.CodeLenses +---@field references _.lspconfig.settings.fsautocomplete.References +---@field signature _.lspconfig.settings.fsautocomplete.Signature + +---@class _.lspconfig.settings.fsautocomplete.TransparentCompiler +-- EXPERIMENTAL: Enables the FSharp Compiler Service's [transparent compiler](https://github.com/dotnet/fsharp/pull/15179) feature. Requires restart. +---@field enabled boolean + +---@class _.lspconfig.settings.fsautocomplete.Fcs +---@field transparentCompiler _.lspconfig.settings.fsautocomplete.TransparentCompiler + +---@class _.lspconfig.settings.fsautocomplete.Gc +-- Configures the garbage collector to [conserve memory](https://learn.microsoft.com/en-us/dotnet/core/runtime-config/garbage-collector#conserve-memory) at the expense of more frequent garbage collections and possibly longer pause times. Acceptable values are 0-9. Any non-zero value will allow the [Large Object Heap](https://learn.microsoft.com/en-us/dotnet/standard/garbage-collection/large-object-heap) to be compacted automatically if it has too much fragmentation. Requires restart. +---@field conserveMemory integer +-- Limits the number of [heaps](https://learn.microsoft.com/en-us/dotnet/standard/garbage-collection/fundamentals#the-managed-heap) created by the garbage collector. Applies to server garbage collection only. See [Middle Ground between Server and Workstation GC](https://devblogs.microsoft.com/dotnet/middle-ground-between-server-and-workstation-gc/) for more details. This can allow FSAC to still benefit from Server garbage collection while still limiting the number of heaps. [Only available on .NET 7 or higher](https://github.com/ionide/ionide-vscode-fsharp/issues/1899#issuecomment-1649009462). Requires restart. -- -- ```lua --- default = true +-- default = 2 -- ``` ----@field globalOn boolean - ----@class _.lspconfig.settings.hie.Explicit-fixity --- Enables explicit-fixity plugin +---@field heapCount integer +-- Configures whether the application uses workstation garbage collection or server garbage collection. See [Workstation vs Server Garbage Collection](https://devblogs.microsoft.com/premier-developer/understanding-different-gc-modes-with-concurrency-visualizer/#workstation-gc-vs-server-gc) for more details. Workstation will use less memory but Server will have more throughput. Requires restart. -- -- ```lua -- default = true -- ``` ----@field globalOn boolean +---@field server boolean ----@class _.lspconfig.settings.hie.Config --- Call out to an external "fourmolu" executable, rather than using the bundled library. ----@field external boolean --- Set path to executable (for "external" mode). +---@class _.lspconfig.settings.fsautocomplete.Fsac +-- Appends the `--attachdebugger` argument to fsac, this will allow you to attach a debugger. +---@field attachDebugger boolean +-- The MemoryCacheOptions.SizeLimit for caching typechecks. -- -- ```lua --- default = "fourmolu" +-- default = 200 -- ``` ----@field path string - ----@class _.lspconfig.settings.hie.Fourmolu ----@field config _.lspconfig.settings.hie.Config - ----@class _.lspconfig.settings.hie.Gadt --- Enables gadt plugin +---@field cachedTypeCheckCount integer +-- Configures FsAutoComplete with settings intended to reduce memory consumption. Requires restart. +---@field conserveMemory boolean +-- additional CLI arguments to be provided to the dotnet runner for FSAC -- -- ```lua --- default = true +-- default = {} -- ``` ----@field globalOn boolean - ----@class _.lspconfig.settings.hie.Ghcide-code-actions-bindings --- Enables ghcide-code-actions-bindings plugin +---@field dotnetArgs string[] +-- additional CLI arguments to be provided to FSAC itself. Useful for flags that aren't exposed in the settings or CLI arguments that only exist in custom built versions of FSAC. Requires restart. -- -- ```lua --- default = true +-- default = {} -- ``` ----@field globalOn boolean - ----@class _.lspconfig.settings.hie.Ghcide-code-actions-fill-holes --- Enables ghcide-code-actions-fill-holes plugin +---@field fsacArgs string[] +---@field gc _.lspconfig.settings.fsautocomplete.Gc +-- The path to the 'fsautocomplete.dll', a directory containing TFM-specific versions of fsautocomplete.dll, or a directory containing fsautocomplete.dll. Useful for debugging a self-built FSAC. If a DLL is specified, uses it directly. If a directory is specified and it contains TFM-specific folders (net6.0, net7.0, etc) then that directory will be probed for the best TFM to use for the current runtime. This is useful when working with a local copy of FSAC, you can point directly to the bin/Debug or bin/Release folder and it'll Just Work. Finally, if a directory is specified and there are no TFM paths, then fsautocomplete.dll from that directory is used. Requires restart. -- -- ```lua --- default = true +-- default = "" -- ``` ----@field globalOn boolean - ----@class _.lspconfig.settings.hie.Ghcide-code-actions-imports-exports --- Enables ghcide-code-actions-imports-exports plugin +---@field netCoreDllPath string +-- EXPERIMENTAL: Speed up analyzing of projects in parallel. Requires restart. +---@field parallelReferenceResolution boolean +-- An array of log categories for FSAC to filter out. These can be found by viewing your log output and noting the text in between the brackets in the log line. For example, in the log line `[16:07:14.626 INF] [Compiler] done compiling foo.fsx`, the category is 'Compiler'. -- -- ```lua --- default = true +-- default = {} -- ``` ----@field globalOn boolean +---@field silencedLogs string[] +-- Enables the use of a new source text implementation. This may have better memory characteristics. Requires restart. +-- +-- ```lua +-- default = "RoslynSourceText" +-- ``` +---@field sourceTextImplementation "NamedText" | "RoslynSourceText" ----@class _.lspconfig.settings.hie.Ghcide-code-actions-type-signatures --- Enables ghcide-code-actions-type-signatures plugin +---@class _.lspconfig.settings.fsautocomplete.InlayHints +-- Hides the explanatory tooltip that appears on InlayHints to describe the different configuration toggles. +---@field disableLongTooltip boolean +-- Controls if the inlay hints feature is enabled -- -- ```lua -- default = true -- ``` ----@field globalOn boolean - ----@class _.lspconfig.settings.hie.Config --- Extends the import list automatically when completing a out-of-scope identifier +---@field enabled boolean +-- Controls if parameter-name inlay hints will be displayed for functions and methods -- -- ```lua -- default = true -- ``` ----@field autoExtendOn boolean --- Inserts snippets when using code completions +---@field parameterNames boolean +-- Controls if type-annotation inlay hints will be displayed for bindings. -- -- ```lua -- default = true -- ``` ----@field snippetsOn boolean +---@field typeAnnotations boolean ----@class _.lspconfig.settings.hie.Ghcide-completions ----@field config _.lspconfig.settings.hie.Config --- Enables ghcide-completions plugin +---@class _.lspconfig.settings.fsautocomplete.InlineValues +-- Enables rendering all kinds of hints inline with your code. Currently supports pipelineHints, which are like LineLenses that appear along each step of a chain of piped expressions +---@field enabled boolean +-- The prefix used when rendering inline values. -- -- ```lua --- default = true +-- default = " // " -- ``` ----@field globalOn boolean +---@field prefix string ----@class _.lspconfig.settings.hie.Ghcide-hover-and-symbols --- Enables ghcide-hover-and-symbols hover +---@class _.lspconfig.settings.fsautocomplete.LineLens +-- Usage mode for LineLens. If `never`, LineLens will never be shown. If `replaceCodeLens`, LineLens will be placed in a decoration on top of the current line. -- -- ```lua --- default = true +-- default = "replaceCodeLens" -- ``` ----@field hoverOn boolean --- Enables ghcide-hover-and-symbols symbols +---@field enabled "never" | "replaceCodeLens" | "always" +-- The prefix displayed before the signature in a LineLens -- -- ```lua --- default = true +-- default = " // " -- ``` ----@field symbolsOn boolean +---@field prefix string ----@class _.lspconfig.settings.hie.Config --- Control how type lenses are shown +---@class _.lspconfig.settings.fsautocomplete.Notifications +-- Enables more verbose notifications using System.Diagnostics.Activity to view traces from FSharp.Compiler.Service. +---@field trace boolean +-- The set of System.Diagnostics.Activity names to watch. -- -- ```lua --- default = "always" +-- default = { "BoundModel.TypeCheck", "BackgroundCompiler." } -- ``` ----@field mode "always" | "exported" | "diagnostics" +---@field traceNamespaces string[] ----@class _.lspconfig.settings.hie.Ghcide-type-lenses ----@field config _.lspconfig.settings.hie.Config --- Enables ghcide-type-lenses plugin +---@class _.lspconfig.settings.fsautocomplete.OpenTelemetry +-- Enables OpenTelemetry exporter. See [OpenTelemetry Protocol Exporter](https://opentelemetry.io/docs/reference/specification/protocol/exporter/) for environment variables to configure for the exporter. Requires Restart. +---@field enabled boolean + +---@class _.lspconfig.settings.fsautocomplete.PipelineHints +-- Enables PipeLine hints, which are like LineLenses that appear along each step of a chain of piped expressions -- -- ```lua -- default = true -- ``` ----@field globalOn boolean +---@field enabled boolean +-- The prefix displayed before the signature +-- +-- ```lua +-- default = " // " +-- ``` +---@field prefix string ----@class _.lspconfig.settings.hie.Config --- Flags used by hlint +---@class _.lspconfig.settings.fsautocomplete.Trace +-- Trace server messages at the LSP protocol level for diagnostics. -- -- ```lua --- default = {} +-- default = "off" -- ``` ----@field flags any[] +---@field server "off" | "messages" | "verbose" ----@class _.lspconfig.settings.hie.Hlint --- Enables hlint code actions +---@class _.lspconfig.settings.fsautocomplete.FSharp +---@field TestExplorer _.lspconfig.settings.fsautocomplete.TestExplorer +-- Enables a codefix that generates missing members for an abstract class when in an type inheriting from that abstract class. -- -- ```lua -- default = true -- ``` ----@field codeActionsOn boolean ----@field config _.lspconfig.settings.hie.Config --- Enables hlint diagnostics +---@field abstractClassStubGeneration boolean +-- The expression to fill in the right-hand side of inherited members when generating missing members for an abstract base class -- -- ```lua --- default = true +-- default = 'failwith "Not Implemented"' -- ``` ----@field diagnosticsOn boolean - ----@class _.lspconfig.settings.hie.ImportLens --- Enables importLens code actions +---@field abstractClassStubGenerationMethodBody string +-- The name of the 'self' identifier in an inherited member. For example, `this` in the expression `this.Member(x: int) = ()` -- -- ```lua --- default = true +-- default = "this" -- ``` ----@field codeActionsOn boolean --- Enables importLens code lenses +---@field abstractClassStubGenerationObjectIdentifier string +-- Enables a panel for FSI that shows the value of all existing bindings in the FSI session +---@field addFsiWatcher boolean +-- Enables a codefix that adds a private access modifier +---@field addPrivateAccessModifier boolean +-- Directories in the array are used as a source of custom analyzers. Requires restart. -- -- ```lua --- default = true +-- default = { "packages/Analyzers", "analyzers" } -- ``` ----@field codeLensOn boolean - ----@class _.lspconfig.settings.hie.ModuleName --- Enables moduleName plugin +---@field analyzersPath any[] +-- Controls whether the solution explorer should automatically reveal and select files when opening them. If `sameAsFileExplorer` is set, then the value of the `explorer.autoReveal` setting will be used instead. -- -- ```lua --- default = true +-- default = "sameAsFileExplorer" -- ``` ----@field globalOn boolean - ----@class _.lspconfig.settings.hie.Config --- Call out to an external "ormolu" executable, rather than using the bundled library ----@field external boolean - ----@class _.lspconfig.settings.hie.Ormolu ----@field config _.lspconfig.settings.hie.Config - ----@class _.lspconfig.settings.hie.Overloaded-record-dot --- Enables overloaded-record-dot plugin +---@field autoRevealInExplorer "sameAsFileExplorer" | "enabled" | "disabled" +---@field codeLenses _.lspconfig.settings.fsautocomplete.CodeLenses +-- Disables popup notifications for failed project loading +---@field disableFailedProjectNotifications boolean +-- Sets the root path for finding locating the dotnet CLI binary. Defaults to the `dotnet` binary found on your system PATH. +---@field dotnetRoot string +-- Enables Enable LSP Server based on FSharp.Data.Adaptive. This can improve stability. Requires restart. -- -- ```lua -- default = true -- ``` ----@field globalOn boolean - ----@class _.lspconfig.settings.hie.Pragmas-completion --- Enables pragmas-completion plugin +---@field enableAdaptiveLspServer boolean +-- EXPERIMENTAL. Enables F# analyzers for custom code diagnostics. Requires restart. +---@field enableAnalyzers boolean +-- EXPERIMENTAL. Enables support for loading workspaces with MsBuild's ProjectGraph. This can improve load times. Requires restart. +---@field enableMSBuildProjectGraph boolean +-- Enables additional code lenses showing number of references of a function or value. Requires background services to be enabled. -- -- ```lua -- default = true -- ``` ----@field globalOn boolean - ----@class _.lspconfig.settings.hie.Pragmas-disable --- Enables pragmas-disable plugin +---@field enableReferenceCodeLens boolean +-- Enables TouchBar integration of build/run/debug buttons -- -- ```lua -- default = true -- ``` ----@field globalOn boolean - ----@class _.lspconfig.settings.hie.Pragmas-suggest --- Enables pragmas-suggest plugin +---@field enableTouchBar boolean +-- Enables the solution explorer view of the current workspace, which shows the workspace as MSBuild sees it -- -- ```lua -- default = true -- ``` ----@field globalOn boolean - ----@class _.lspconfig.settings.hie.QualifyImportedNames --- Enables qualifyImportedNames plugin +---@field enableTreeView boolean +-- The names of custom analyzers that should not be executed. -- -- ```lua --- default = true +-- default = {} -- ``` ----@field globalOn boolean - ----@class _.lspconfig.settings.hie.Config --- Enable experimental cross-module renaming ----@field crossModule boolean - ----@class _.lspconfig.settings.hie.Rename ----@field config _.lspconfig.settings.hie.Config --- Enables rename plugin +---@field excludeAnalyzers any[] +-- Directories in the array are excluded from project file search. Requires restart. -- -- ```lua --- default = true +-- default = { ".git", "paket-files", ".fable", "packages", "node_modules" } -- ``` ----@field globalOn boolean - ----@class _.lspconfig.settings.hie.Retrie --- Enables retrie plugin +---@field excludeProjectDirectories any[] +-- Includes external (from unopened modules and namespaces) symbols in autocomplete +---@field externalAutocomplete boolean +---@field fcs _.lspconfig.settings.fsautocomplete.Fcs +---@field fsac _.lspconfig.settings.fsautocomplete.Fsac +-- An array of additional command line parameters to pass to FSI when it is started. See [the Microsoft documentation](https://docs.microsoft.com/en-us/dotnet/fsharp/language-reference/fsharp-interactive-options) for an exhaustive list. -- -- ```lua --- default = true +-- default = {} -- ``` ----@field globalOn boolean - ----@class _.lspconfig.settings.hie.Config --- LSP semantic token type to use for typeclass methods +---@field fsiExtraParameters any[] +-- The path to the F# Interactive tool used by Ionide-FSharp (When using .NET SDK scripts) -- -- ```lua --- default = "method" +-- default = "" -- ``` ----@field classMethodToken "namespace" | "type" | "class" | "enum" | "interface" | "struct" | "typeParameter" | "parameter" | "variable" | "property" | "enumMember" | "event" | "function" | "method" | "macro" | "keyword" | "modifier" | "comment" | "string" | "number" | "regexp" | "operator" | "decorator" --- LSP semantic token type to use for typeclasses +---@field fsiSdkFilePath string +-- When selecting an external symbols in autocomplete, insert the full name to the editor rather than open its module/namespace. Also allow filtering suggestions by typing its full name. -- --- ```lua --- default = "class" --- ``` ----@field classToken "namespace" | "type" | "class" | "enum" | "interface" | "struct" | "typeParameter" | "parameter" | "variable" | "property" | "enumMember" | "event" | "function" | "method" | "macro" | "keyword" | "modifier" | "comment" | "string" | "number" | "regexp" | "operator" | "decorator" --- LSP semantic token type to use for data constructors +-- Requires `FSharp.externalAutocomplete` enabled. +---@field fullNameExternalAutocomplete boolean +-- Enables generation of `msbuild.binlog` files for project loading. It works only for fresh, non-cached project loading. Run `F#: Clear Project Cache` and `Developer: Reload Window` to force fresh loading of all projects. These files can be loaded and inspected using the [MSBuild Structured Logger](https://github.com/KirillOsenkov/MSBuildStructuredLog) +---@field generateBinlog boolean +-- The names of custom analyzers that should exclusively be executed, others should be ignored. -- -- ```lua --- default = "enumMember" +-- default = {} -- ``` ----@field dataConstructorToken "namespace" | "type" | "class" | "enum" | "interface" | "struct" | "typeParameter" | "parameter" | "variable" | "property" | "enumMember" | "event" | "function" | "method" | "macro" | "keyword" | "modifier" | "comment" | "string" | "number" | "regexp" | "operator" | "decorator" --- LSP semantic token type to use for functions +---@field includeAnalyzers any[] +-- The number of spaces used for indentation when generating code, e.g. for interface stubs -- -- ```lua --- default = "function" +-- default = 4 -- ``` ----@field functionToken "namespace" | "type" | "class" | "enum" | "interface" | "struct" | "typeParameter" | "parameter" | "variable" | "property" | "enumMember" | "event" | "function" | "method" | "macro" | "keyword" | "modifier" | "comment" | "string" | "number" | "regexp" | "operator" | "decorator" --- LSP semantic token type to use for modules +---@field indentationSize number +-- Controls whether the info panel replaces tooltips +---@field infoPanelReplaceHover boolean +-- Controls whether the info panel should be displayed at startup +---@field infoPanelShowOnStartup boolean +-- Controls whether the info panel should be locked at startup +---@field infoPanelStartLocked boolean +-- Controls when the info panel is updated -- -- ```lua --- default = "namespace" +-- default = "onCursorMove" -- ``` ----@field moduleToken "namespace" | "type" | "class" | "enum" | "interface" | "struct" | "typeParameter" | "parameter" | "variable" | "property" | "enumMember" | "event" | "function" | "method" | "macro" | "keyword" | "modifier" | "comment" | "string" | "number" | "regexp" | "operator" | "decorator" --- LSP semantic token type to use for operators +---@field infoPanelUpdate "onCursorMove" | "onHover" | "both" | "none" +---@field inlayHints _.lspconfig.settings.fsautocomplete.InlayHints +---@field inlineValues _.lspconfig.settings.fsautocomplete.InlineValues +-- Enables a codefix that generates missing interface members when inside of an interface implementation expression -- -- ```lua --- default = "operator" +-- default = true -- ``` ----@field operatorToken "namespace" | "type" | "class" | "enum" | "interface" | "struct" | "typeParameter" | "parameter" | "variable" | "property" | "enumMember" | "event" | "function" | "method" | "macro" | "keyword" | "modifier" | "comment" | "string" | "number" | "regexp" | "operator" | "decorator" --- LSP semantic token type to use for pattern synonyms +---@field interfaceStubGeneration boolean +-- The expression to fill in the right-hand side of interface members when generating missing members for an interface implementation expression -- -- ```lua --- default = "macro" +-- default = 'failwith "Not Implemented"' -- ``` ----@field patternSynonymToken "namespace" | "type" | "class" | "enum" | "interface" | "struct" | "typeParameter" | "parameter" | "variable" | "property" | "enumMember" | "event" | "function" | "method" | "macro" | "keyword" | "modifier" | "comment" | "string" | "number" | "regexp" | "operator" | "decorator" --- LSP semantic token type to use for record fields +---@field interfaceStubGenerationMethodBody string +-- The name of the 'self' identifier in an interface member. For example, `this` in the expression `this.Member(x: int) = ()` -- -- ```lua --- default = "property" +-- default = "this" -- ``` ----@field recordFieldToken "namespace" | "type" | "class" | "enum" | "interface" | "struct" | "typeParameter" | "parameter" | "variable" | "property" | "enumMember" | "event" | "function" | "method" | "macro" | "keyword" | "modifier" | "comment" | "string" | "number" | "regexp" | "operator" | "decorator" --- LSP semantic token type to use for type constructors +---@field interfaceStubGenerationObjectIdentifier string +-- Includes keywords in autocomplete -- -- ```lua --- default = "enum" +-- default = true -- ``` ----@field typeConstructorToken "namespace" | "type" | "class" | "enum" | "interface" | "struct" | "typeParameter" | "parameter" | "variable" | "property" | "enumMember" | "event" | "function" | "method" | "macro" | "keyword" | "modifier" | "comment" | "string" | "number" | "regexp" | "operator" | "decorator" --- LSP semantic token type to use for type families +---@field keywordsAutocomplete boolean +---@field lineLens _.lspconfig.settings.fsautocomplete.LineLens +-- Enables integration with [FSharpLint](https://fsprojects.github.io/FSharpLint/) for additional (user-defined) warnings -- -- ```lua --- default = "interface" +-- default = true -- ``` ----@field typeFamilyToken "namespace" | "type" | "class" | "enum" | "interface" | "struct" | "typeParameter" | "parameter" | "variable" | "property" | "enumMember" | "event" | "function" | "method" | "macro" | "keyword" | "modifier" | "comment" | "string" | "number" | "regexp" | "operator" | "decorator" --- LSP semantic token type to use for type synonyms +---@field linter boolean +-- Automatically shows the MSBuild output panel when MSBuild functionality is invoked +---@field msbuildAutoshow boolean +---@field notifications _.lspconfig.settings.fsautocomplete.Notifications +---@field openTelemetry _.lspconfig.settings.fsautocomplete.OpenTelemetry +---@field pipelineHints _.lspconfig.settings.fsautocomplete.PipelineHints +-- Enables a codefix that will generate missing record fields when inside a record construction expression -- -- ```lua --- default = "type" +-- default = true -- ``` ----@field typeSynonymToken "namespace" | "type" | "class" | "enum" | "interface" | "struct" | "typeParameter" | "parameter" | "variable" | "property" | "enumMember" | "event" | "function" | "method" | "macro" | "keyword" | "modifier" | "comment" | "string" | "number" | "regexp" | "operator" | "decorator" --- LSP semantic token type to use for type variables +---@field recordStubGeneration boolean +-- The expression to fill in the right-hand side of record fields when generating missing fields for a record construction expression -- -- ```lua --- default = "typeParameter" +-- default = 'failwith "Not Implemented"' -- ``` ----@field typeVariableToken "namespace" | "type" | "class" | "enum" | "interface" | "struct" | "typeParameter" | "parameter" | "variable" | "property" | "enumMember" | "event" | "function" | "method" | "macro" | "keyword" | "modifier" | "comment" | "string" | "number" | "regexp" | "operator" | "decorator" --- LSP semantic token type to use for variables +---@field recordStubGenerationBody string +-- Enables a codefix that will suggest namespaces or module to open when a name is not recognized -- -- ```lua --- default = "variable" +-- default = true -- ``` ----@field variableToken "namespace" | "type" | "class" | "enum" | "interface" | "struct" | "typeParameter" | "parameter" | "variable" | "property" | "enumMember" | "event" | "function" | "method" | "macro" | "keyword" | "modifier" | "comment" | "string" | "number" | "regexp" | "operator" | "decorator" - ----@class _.lspconfig.settings.hie.SemanticTokens ----@field config _.lspconfig.settings.hie.Config --- Enables semanticTokens plugin ----@field globalOn boolean - ----@class _.lspconfig.settings.hie.Splice --- Enables splice plugin +---@field resolveNamespaces boolean +-- If enabled, the current file will be saved before sending the last selection to FSI for evaluation +---@field saveOnSendLastSelection boolean +-- Automatically shows solution explorer on plugin startup -- -- ```lua -- default = true -- ``` ----@field globalOn boolean - ----@class _.lspconfig.settings.hie.Stan --- Enables stan plugin ----@field globalOn boolean - ----@class _.lspconfig.settings.hie.Plugin ----@field alternateNumberFormat _.lspconfig.settings.hie.AlternateNumberFormat ----@field cabal _.lspconfig.settings.hie.Cabal ----@field cabal-fmt _.lspconfig.settings.hie.Cabal-fmt ----@field cabal-gild _.lspconfig.settings.hie.Cabal-gild ----@field callHierarchy _.lspconfig.settings.hie.CallHierarchy ----@field changeTypeSignature _.lspconfig.settings.hie.ChangeTypeSignature ----@field class _.lspconfig.settings.hie.Class ----@field eval _.lspconfig.settings.hie.Eval ----@field explicit-fields _.lspconfig.settings.hie.Explicit-fields ----@field explicit-fixity _.lspconfig.settings.hie.Explicit-fixity ----@field fourmolu _.lspconfig.settings.hie.Fourmolu ----@field gadt _.lspconfig.settings.hie.Gadt ----@field ghcide-code-actions-bindings _.lspconfig.settings.hie.Ghcide-code-actions-bindings ----@field ghcide-code-actions-fill-holes _.lspconfig.settings.hie.Ghcide-code-actions-fill-holes ----@field ghcide-code-actions-imports-exports _.lspconfig.settings.hie.Ghcide-code-actions-imports-exports ----@field ghcide-code-actions-type-signatures _.lspconfig.settings.hie.Ghcide-code-actions-type-signatures ----@field ghcide-completions _.lspconfig.settings.hie.Ghcide-completions ----@field ghcide-hover-and-symbols _.lspconfig.settings.hie.Ghcide-hover-and-symbols ----@field ghcide-type-lenses _.lspconfig.settings.hie.Ghcide-type-lenses ----@field hlint _.lspconfig.settings.hie.Hlint ----@field importLens _.lspconfig.settings.hie.ImportLens ----@field moduleName _.lspconfig.settings.hie.ModuleName ----@field ormolu _.lspconfig.settings.hie.Ormolu ----@field overloaded-record-dot _.lspconfig.settings.hie.Overloaded-record-dot ----@field pragmas-completion _.lspconfig.settings.hie.Pragmas-completion ----@field pragmas-disable _.lspconfig.settings.hie.Pragmas-disable ----@field pragmas-suggest _.lspconfig.settings.hie.Pragmas-suggest ----@field qualifyImportedNames _.lspconfig.settings.hie.QualifyImportedNames ----@field rename _.lspconfig.settings.hie.Rename ----@field retrie _.lspconfig.settings.hie.Retrie ----@field semanticTokens _.lspconfig.settings.hie.SemanticTokens ----@field splice _.lspconfig.settings.hie.Splice ----@field stan _.lspconfig.settings.hie.Stan - ----@class _.lspconfig.settings.hie.Trace --- Sets the log level in the client side. +---@field showExplorerOnStartup boolean +-- Set the activity (left bar) where the project explorer view will be displayed. If `explorer`, then the project explorer will be a collapsible tab in the main explorer view, a sibling to the file system explorer. If `fsharp`, a new activity with the F# logo will be added and the project explorer will be rendered in this activity.Requires restart. -- -- ```lua --- default = "info" +-- default = "fsharp" -- ``` ----@field client "off" | "error" | "info" | "debug" --- Traces the communication between VS Code and the language server. +---@field showProjectExplorerIn "explorer" | "fsharp" +-- Enables detection of cases when names of functions and values can be simplified -- -- ```lua --- default = "off" +-- default = true -- ``` ----@field server "off" | "messages" | "verbose" - ----@class _.lspconfig.settings.hie.Haskell --- Whether to typecheck the entire project on load. It could drive to bad performance in large projects. +---@field simplifyNameAnalyzer boolean +-- A set of regex patterns to exclude from the simplify name analyzer -- -- ```lua --- default = true +-- default = { ".*\\.g\\.fs", ".*\\.cg\\.fs" } -- ``` ----@field checkProject boolean --- The formatter to use when formatting a document or range. Ensure the plugin is enabled. +---@field simplifyNameAnalyzerExclusions string[] +-- Enables smart indent feature +---@field smartIndent boolean +-- Allow Ionide to prompt whenever internal data files aren't included in your project's .gitignore -- -- ```lua --- default = "ormolu" +-- default = true -- ``` ----@field formattingProvider "brittany" | "floskell" | "fourmolu" | "ormolu" | "stylish-haskell" | "none" --- Manually set a ghcup executable path. +---@field suggestGitignore boolean +-- Allow Ionide to prompt to use SdkScripts -- -- ```lua --- default = "" +-- default = true -- ``` ----@field ghcupExecutablePath string --- If set, redirects the logs to a file. +---@field suggestSdkScripts boolean +---@field trace _.lspconfig.settings.fsautocomplete.Trace +-- Enables a codefix that generates missing union cases when in a match expression -- -- ```lua --- default = "" +-- default = true -- ``` ----@field logFile string --- How to manage/find HLS installations. +---@field unionCaseStubGeneration boolean +-- The expression to fill in the right-hand side of match cases when generating missing cases for a match on a discriminated union -- -- ```lua --- default = "PATH" +-- default = 'failwith "Not Implemented"' -- ``` ----@field manageHLS "GHCup" | "PATH" --- Maximum number of completions sent to the editor. +---@field unionCaseStubGenerationBody string +-- Enables detection of unnecessary parentheses +---@field unnecessaryParenthesesAnalyzer boolean +-- Enables detection of unused declarations -- -- ```lua --- default = 40 +-- default = true -- ``` ----@field maxCompletions integer --- An optional URL to override where ghcup checks for tool download info (usually at: https://raw.githubusercontent.com/haskell/ghcup-metadata/master/ghcup-0.0.7.yaml) +---@field unusedDeclarationsAnalyzer boolean +-- A set of regex patterns to exclude from the unused declarations analyzer -- -- ```lua --- default = "" +-- default = { ".*\\.g\\.fs", ".*\\.cg\\.fs" } -- ``` ----@field metadataURL string --- When opening 'Documentation' for external libraries, open in hackage by default. Set to false to instead open in vscode. +---@field unusedDeclarationsAnalyzerExclusions string[] +-- Enables detection of unused opens -- -- ```lua -- default = true -- ``` ----@field openDocumentationInHackage boolean --- When opening 'Source' for external libraries, open in hackage by default. Set to false to instead open in vscode. +---@field unusedOpensAnalyzer boolean +-- A set of regex patterns to exclude from the unused opens analyzer -- -- ```lua --- default = true +-- default = { ".*\\.g\\.fs", ".*\\.cg\\.fs" } -- ``` ----@field openSourceInHackage boolean ----@field plugin _.lspconfig.settings.hie.Plugin --- Prompt before performing any downloads. +---@field unusedOpensAnalyzerExclusions string[] +-- Logs additional information to F# output channel. This is equivalent to passing the `--verbose` flag to FSAC. Requires restart. +---@field verboseLogging boolean +-- The deep level of directory hierarchy when searching for sln/projects -- -- ```lua --- default = "true" +-- default = 4 -- ``` ----@field promptBeforeDownloads boolean --- An optional path where downloaded metadata will be stored. Check the default value [here](https://github.com/haskell/vscode-haskell#downloaded-binaries) +---@field workspaceModePeekDeepLevel integer +-- Path to the directory or solution file that should be loaded as a workspace. If set, no workspace probing or discovery is done by Ionide at all. +---@field workspacePath string + +---@class _.lspconfig.settings.fsautocomplete.Gc +-- Specifies whether to [affinitize](https://learn.microsoft.com/en-us/dotnet/core/runtime-config/garbage-collector#affinitize) garbage collection threads with processors. To affinitize a GC thread means that it can only run on its specific CPU.. Applies to server garbage collection only. See [GCNoAffinitize](https://learn.microsoft.com/en-us/dotnet/framework/configure-apps/file-schema/runtime/gcnoaffinitize-element#remarks) for more details. [Only available on .NET 7 or higher](https://github.com/ionide/ionide-vscode-fsharp/issues/1899#issuecomment-1649009462). Requires restart. -- -- ```lua --- default = "" +-- default = true -- ``` ----@field releasesDownloadStoragePath string --- An optional URL to override where ghcup checks for HLS-GHC compatibility list (usually at: https://raw.githubusercontent.com/haskell/ghcup-metadata/master/hls-metadata-0.0.1.json) +---@field noAffinitize boolean + +---@class _.lspconfig.settings.fsautocomplete.Fsac +---@field gc _.lspconfig.settings.fsautocomplete.Gc + +---@class _.lspconfig.settings.fsautocomplete.Fsharp +---@field fsac _.lspconfig.settings.fsautocomplete.Fsac + +---@class lspconfig.settings.fsautocomplete +---@field FSharp _.lspconfig.settings.fsautocomplete.FSharp +---@field Fsharp _.lspconfig.settings.fsautocomplete.Fsharp + +---@class _.lspconfig.settings.grammarly.SuggestionCategories +-- Flags use of conjunctions such as "but" and "and" at the beginning of sentences. -- -- ```lua --- default = "" +-- default = "off" -- ``` ----@field releasesURL string --- Define environment variables for the language server. +---@field conjugationAtStartOfSentence "on" | "off" +-- Suggests ways to sound more natural and fluent. -- -- ```lua --- default = {} +-- default = "on" -- ``` ----@field serverEnvironment table --- Manually set a language server executable. Can be something on the $PATH or the full path to the executable itself. Works with `~,` `${HOME}` and `${workspaceFolder}`. +---@field fluency "on" | "off" +-- Flags use of personal pronouns such as "I" and "you" in academic writing. -- -- ```lua --- default = "" +-- default = "off" -- ``` ----@field serverExecutablePath string --- Pass additional arguments to the language server. +---@field informalPronounsAcademic "on" | "off" +-- Suggests adding missing spacing after a numeral when writing times. -- -- ```lua --- default = "" +-- default = "on" -- ``` ----@field serverExtraArgs string --- Preferred approach for loading package components. Setting this to 'multiple components' (EXPERIMENTAL) allows the build tool (such as `cabal` or `stack`) to [load multiple components at once](https://github.com/haskell/cabal/pull/8726), which is a significant improvement. +---@field missingSpaces "on" | "off" +-- Flags a series of nouns that modify a final noun. -- -- ```lua --- default = "singleComponent" +-- default = "on" -- ``` ----@field sessionLoading "singleComponent" | "multipleComponents" --- When manageHLS is set to GHCup, this can overwrite the automatic toolchain configuration with a more specific one. When a tool is omitted, the extension will manage the version (for 'ghc' we try to figure out the version the project requires). The format is '{"tool": "version", ...}'. 'version' accepts all identifiers that 'ghcup' accepts. +---@field nounStrings "on" | "off" +-- Suggests spelling out numbers at the beginning of sentences. -- -- ```lua --- default = {} +-- default = "on" -- ``` ----@field toolchain table ----@field trace _.lspconfig.settings.hie.Trace --- Whether to upgrade GHCup automatically when 'manageHLS' is set to 'GHCup'. +---@field numbersBeginningSentences "on" | "off" +-- Suggests spelling out numbers zero through ten. -- -- ```lua --- default = true +-- default = "on" -- ``` ----@field upgradeGHCup boolean - ----@class lspconfig.settings.hie ----@field haskell _.lspconfig.settings.hie.Haskell - ----@class _.lspconfig.settings.html.Completion --- Controls the default value for attributes when completion is accepted. +---@field numbersZeroThroughTen "on" | "off" +-- Suggests adding the Oxford comma after the second-to-last item in a list of things. -- -- ```lua --- default = "doublequotes" +-- default = "off" -- ``` ----@field attributeDefaultValue "doublequotes" | "singlequotes" | "empty" - ----@class _.lspconfig.settings.html.Format --- List of tags, comma separated, where the content shouldn't be reformatted. `null` defaults to the `pre` tag. +---@field oxfordComma "on" | "off" +-- Flags use of passive voice. -- -- ```lua --- default = "pre,code,textarea" +-- default = "off" -- ``` ----@field contentUnformatted string --- Enable/disable default HTML formatter. +---@field passiveVoice "on" | "off" +-- Suggests using person-first language to refer respectfully to an individual with a disability. -- -- ```lua --- default = true +-- default = "on" -- ``` ----@field enable boolean --- List of tags, comma separated, that should have an extra newline before them. `null` defaults to `"head, body, /html"`. +---@field personFirstLanguage "on" | "off" +-- Suggests alternatives to potentially biased language related to older adults. -- -- ```lua --- default = "head, body, /html" +-- default = "on" -- ``` ----@field extraLiners string --- Format and indent `{{#foo}}` and `{{/foo}}`. ----@field indentHandlebars boolean --- Indent `` and `` sections. ----@field indentInnerHtml boolean --- Maximum number of line breaks to be preserved in one chunk. Use `null` for unlimited. ----@field maxPreserveNewLines number --- Controls whether existing line breaks before elements should be preserved. Only works before elements, not inside tags or for text. +---@field possiblyBiasedLanguageAgeRelated "on" | "off" +-- Suggests alternatives to potentially ableist language. -- -- ```lua --- default = true +-- default = "on" -- ``` ----@field preserveNewLines boolean --- Honor django, erb, handlebars and php templating language tags. ----@field templating boolean --- List of tags, comma separated, that shouldn't be reformatted. `null` defaults to all tags listed at https://www.w3.org/TR/html5/dom.html#phrasing-content. +---@field possiblyBiasedLanguageDisabilityRelated "on" | "off" +-- Suggests alternatives to potentially biased language related to parenting and family systems. -- -- ```lua --- default = "wbr" +-- default = "on" -- ``` ----@field unformatted string --- Keep text content together between this string. +---@field possiblyBiasedLanguageFamilyRelated "on" | "off" +-- Suggests alternatives to potentially gender-biased and non-inclusive phrasing. -- -- ```lua --- default = "" +-- default = "on" -- ``` ----@field unformattedContentDelimiter string --- Wrap attributes. +---@field possiblyBiasedLanguageGenderRelated "on" | "off" +-- Suggests alternatives to language related to human slavery. -- -- ```lua --- default = "auto" +-- default = "on" -- ``` ----@field wrapAttributes "auto" | "force" | "force-aligned" | "force-expand-multiline" | "aligned-multiple" | "preserve" | "preserve-aligned" --- Indent wrapped attributes to after N characters. Use `null` to use the default indent size. Ignored if `#html.format.wrapAttributes#` is set to `aligned`. ----@field wrapAttributesIndentSize number --- Maximum amount of characters per line (0 = disable). +---@field possiblyBiasedLanguageHumanRights "on" | "off" +-- Suggests alternatives to terms with origins in the institution of slavery. -- -- ```lua --- default = 120 +-- default = "on" -- ``` ----@field wrapLineLength integer - ----@class _.lspconfig.settings.html.Hover --- Show tag and attribute documentation in hover. +---@field possiblyBiasedLanguageHumanRightsRelated "on" | "off" +-- Flags LGBTQIA+-related terms that may be seen as biased, outdated, or disrespectful in some contexts. -- -- ```lua --- default = true +-- default = "on" -- ``` ----@field documentation boolean --- Show references to MDN in hover. +---@field possiblyBiasedLanguageLGBTQIARelated "on" | "off" +-- Suggests alternatives to potentially biased language related to race and ethnicity. -- -- ```lua --- default = true +-- default = "on" -- ``` ----@field references boolean - ----@class _.lspconfig.settings.html.Suggest --- Controls whether the built-in HTML language support suggests HTML5 tags, properties and values. +---@field possiblyBiasedLanguageRaceEthnicityRelated "on" | "off" +-- Suggests alternatives to language that may be considered politically incorrect. -- -- ```lua --- default = true +-- default = "on" -- ``` ----@field html5 boolean - ----@class _.lspconfig.settings.html.Trace --- Traces the communication between VS Code and the HTML language server. +---@field possiblyPoliticallyIncorrectLanguage "on" | "off" +-- Flags use of prepositions such as "with" and "in" at the end of sentences. -- -- ```lua -- default = "off" -- ``` ----@field server "off" | "messages" | "verbose" - ----@class _.lspconfig.settings.html.Validate --- Controls whether the built-in HTML language support validates embedded scripts. +---@field prepositionAtTheEndOfSentence "on" | "off" +-- Suggests placing punctuation before closing quotation marks. -- -- ```lua --- default = true +-- default = "on" -- ``` ----@field scripts boolean --- Controls whether the built-in HTML language support validates embedded styles. +---@field punctuationWithQuotation "on" | "off" +-- Flags long, complicated sentences that could potentially confuse your reader. -- -- ```lua --- default = true +-- default = "on" -- ``` ----@field styles boolean - ----@class _.lspconfig.settings.html.Html --- Enable/disable autoclosing of HTML tags. +---@field readabilityFillerWords "on" | "off" +-- Suggests splitting long, complicated sentences that could potentially confuse your reader. -- -- ```lua --- default = true +-- default = "on" -- ``` ----@field autoClosingTags boolean --- Enable/disable auto creation of quotes for HTML attribute assignment. The type of quotes can be configured by `#html.completion.attributeDefaultValue#`. +---@field readabilityTransforms "on" | "off" +-- Flags series of sentences that follow the same pattern. -- -- ```lua --- default = true +-- default = "on" -- ``` ----@field autoCreateQuotes boolean ----@field completion _.lspconfig.settings.html.Completion --- A list of relative file paths pointing to JSON files following the [custom data format](https://github.com/microsoft/vscode-html-languageservice/blob/master/docs/customData.md). --- --- VS Code loads custom data on startup to enhance its HTML support for the custom HTML tags, attributes and attribute values you specify in the JSON files. --- --- The file paths are relative to workspace and only workspace folder settings are considered. +---@field sentenceVariety "on" | "off" +-- Suggests removing extra spaces surrounding a slash. -- -- ```lua --- default = {} +-- default = "on" -- ``` ----@field customData string[] ----@field format _.lspconfig.settings.html.Format ----@field hover _.lspconfig.settings.html.Hover --- Enable/disable mirroring cursor on matching HTML tag. ----@field mirrorCursorOnMatchingTag boolean ----@field suggest _.lspconfig.settings.html.Suggest ----@field trace _.lspconfig.settings.html.Trace ----@field validate _.lspconfig.settings.html.Validate - ----@class lspconfig.settings.html ----@field html _.lspconfig.settings.html.Html - ----@class _.lspconfig.settings.intelephense.Compatibility --- Resolves `ArrayAccess` and `Traversable` implementations that are unioned with a typed array to generic syntax. eg `ArrayAccessOrTraversable|ElementType[]` => `ArrayAccessOrTraversable`. +---@field spacesSurroundingSlash "on" | "off" +-- Suggests rewriting split infinitives so that an adverb doesn't come between "to" and the verb. -- -- ```lua --- default = true +-- default = "on" -- ``` ----@field correctForArrayAccessArrayAndTraversableArrayUnionTypes boolean --- Resolves `BaseClass|static` union types to `static` instead of `BaseClass`. +---@field splitInfinitive "on" | "off" +-- Suggests completing all incomplete sentences, including stylistic sentence fragments that may be intentional. -- -- ```lua --- default = true +-- default = "off" -- ``` ----@field correctForBaseClassStaticUnionTypes boolean --- Prefer `@psalm-` and `@phpstan-` prefixed `@return`, `@var`, `@param` tags when determining symbol types. ----@field preferPsalmPhpstanPrefixedAnnotations boolean - ----@class _.lspconfig.settings.intelephense.Completion --- Global namespace constants and functions will be fully qualified (prefixed with a backslash). ----@field fullyQualifyGlobalConstantsAndFunctions boolean --- Use declarations will be automatically inserted for namespaced classes, traits, interfaces, functions, and constants. +---@field stylisticFragments "on" | "off" +-- Flags unnecessary use of ellipses (...). -- -- ```lua --- default = true +-- default = "off" -- ``` ----@field insertUseDeclaration boolean --- The maximum number of completion items returned per request. +---@field unnecessaryEllipses "on" | "off" +-- Suggests alternatives to words that occur frequently in the same paragraph. -- -- ```lua --- default = 100 +-- default = "on" -- ``` ----@field maxItems number --- Method and function completions will include parentheses and trigger parameter hints. --- --- ```lua --- default = true --- ``` ----@field triggerParameterHints boolean - ----@class _.lspconfig.settings.intelephense.Diagnostics --- Enables argument count diagnostics. +---@field variety "on" | "off" +-- Suggests alternatives to bland and overused words such as "good" and "nice". -- -- ```lua --- default = true +-- default = "on" -- ``` ----@field argumentCount boolean --- Enables deprecated diagnostics. +---@field vocabulary "on" | "off" + +---@class _.lspconfig.settings.grammarly.Suggestions +-- Flags use of conjunctions such as 'but' and 'and' at the beginning of sentences. +---@field ConjunctionAtStartOfSentence true | false +-- Suggests ways to sound more natural and fluent. +---@field Fluency true | false +-- Flags use of personal pronouns such as 'I' and 'you' in academic writing. +---@field InformalPronounsAcademic true | false +-- Suggests adding missing spacing after a numeral when writing times. +---@field MissingSpaces true | false +-- Flags a series of nouns that modify a final noun. +---@field NounStrings true | false +-- Suggests spelling out numbers at the beginning of sentences. +---@field NumbersBeginningSentences true | false +-- Suggests spelling out numbers zero through ten. +---@field NumbersZeroThroughTen true | false +-- Suggests adding the Oxford comma after the second-to-last item in a list of things. +---@field OxfordComma true | false +-- Flags use of passive voice. +---@field PassiveVoice true | false +-- Suggests using person-first language to refer respectfully to an individual with a disability. +---@field PersonFirstLanguage true | false +-- Suggests alternatives to potentially biased language related to older adults. +---@field PossiblyBiasedLanguageAgeRelated true | false +-- Suggests alternatives to potentially ableist language. +---@field PossiblyBiasedLanguageDisabilityRelated true | false +-- Suggests alternatives to potentially biased language related to parenting and family systems. +---@field PossiblyBiasedLanguageFamilyRelated true | false +-- Suggests alternatives to potentially gender-biased and non-inclusive phrasing. +---@field PossiblyBiasedLanguageGenderRelated true | false +-- Suggests alternatives to language related to human slavery. +---@field PossiblyBiasedLanguageHumanRights true | false +-- Suggests alternatives to terms with origins in the institution of slavery. +---@field PossiblyBiasedLanguageHumanRightsRelated true | false +-- Flags LGBTQIA+-related terms that may be seen as biased, outdated, or disrespectful in some contexts. +---@field PossiblyBiasedLanguageLgbtqiaRelated true | false +-- Suggests alternatives to potentially biased language related to race and ethnicity. +---@field PossiblyBiasedLanguageRaceEthnicityRelated true | false +-- Suggests alternatives to language that may be considered politically incorrect. +---@field PossiblyPoliticallyIncorrectLanguage true | false +-- Flags use of prepositions such as 'with' and 'in' at the end of sentences. +---@field PrepositionAtTheEndOfSentence true | false +-- Suggests placing punctuation before closing quotation marks. +---@field PunctuationWithQuotation true | false +-- Flags long, complicated sentences that could potentially confuse your reader. +---@field ReadabilityFillerwords true | false +-- Suggests splitting long, complicated sentences that could potentially confuse your reader. +---@field ReadabilityTransforms true | false +-- Flags series of sentences that follow the same pattern. +---@field SentenceVariety true | false +-- Suggests removing extra spaces surrounding a slash. +---@field SpacesSurroundingSlash true | false +-- Suggests rewriting split infinitives so that an adverb doesn't come between 'to' and the verb. +---@field SplitInfinitive true | false +-- Suggests completing all incomplete sentences, including stylistic sentence fragments that may be intentional. +---@field StylisticFragments true | false +-- Flags unnecessary use of ellipses (...). +---@field UnnecessaryEllipses true | false +-- Suggests alternatives to words that occur frequently in the same paragraph. +---@field Variety true | false +-- Suggests alternatives to bland and overused words such as 'good' and 'nice'. +---@field Vocabulary true | false + +---@class _.lspconfig.settings.grammarly.Config +-- Specific variety of English being written. See [this article](https://support.grammarly.com/hc/en-us/articles/115000089992-Select-between-British-English-American-English-Canadian-English-and-Australian-English) for differences. -- -- ```lua --- default = true +-- default = "auto-text" -- ``` ----@field deprecated boolean --- Enables duplicate symbol diagnostics. +---@field documentDialect "american" | "australian" | "british" | "canadian" | "auto-text" +-- The style or type of writing to be checked. See [What is domain/document type](https://support.grammarly.com/hc/en-us/articles/115000091472-What-is-domain-document-type-)? -- -- ```lua --- default = true +-- default = "general" -- ``` ----@field duplicateSymbols boolean --- Enables diagnostics in embedded languages. +---@field documentDomain "academic" | "business" | "general" | "mail" | "casual" | "creative" +---@field suggestionCategories _.lspconfig.settings.grammarly.SuggestionCategories +---@field suggestions _.lspconfig.settings.grammarly.Suggestions + +---@class _.lspconfig.settings.grammarly.Files +-- Configure [glob patterns](https://code.visualstudio.com/docs/editor/codebasics#_advanced-search-options) for excluding files and folders. -- -- ```lua --- default = true +-- default = {} -- ``` ----@field embeddedLanguages boolean --- Enables diagnostics. +---@field exclude string[] +-- Configure [glob patterns](https://code.visualstudio.com/docs/editor/codebasics#_advanced-search-options) for including files and folders. -- -- ```lua --- default = true +-- default = { "**/readme.md", "**/README.md", "**/*.txt" } -- ``` ----@field enable boolean --- Enables reporting of problems associated with method and class implementations. For example, unimplemented methods or method signature incompatibilities. +---@field include string[] + +---@class _.lspconfig.settings.grammarly.Grammarly +---@field config _.lspconfig.settings.grammarly.Config +---@field files _.lspconfig.settings.grammarly.Files +-- A glob pattern, like `*.{md,txt}` for file scheme. -- -- ```lua --- default = true +-- default = { "**/readme.md", "**/README.md", "**/*.txt" } -- ``` ----@field implementationErrors boolean --- Enables reporting of various language constraint errors. +---@field patterns string[] +-- Filter documents to be checked with Grammarly. -- -- ```lua --- default = true +-- default = {} -- ``` ----@field languageConstraints boolean --- Controls when diagnostics are run. +---@field selectors object[] +-- Start text checking session in paused state +---@field startTextCheckInPausedState boolean + +---@class lspconfig.settings.grammarly +---@field grammarly _.lspconfig.settings.grammarly.Grammarly + +-- Options for generating anonymous functions -- -- ```lua --- default = "onType" +-- default = {} -- ``` ----@field run "onType" | "onSave" --- Enables diagnostics on type compatibility of arguments, property assignments, and return statements where types have been declared. +---@class _.lspconfig.settings.haxe_language_server.Anonymous +-- Whether to include type hints for arguments +---@field argumentTypeHints boolean +-- Whether to wrap types in `Null` even if it can be omitted (for optional arguments with `?`) +---@field explicitNull boolean +-- In which case to include return type hints -- -- ```lua --- default = true +-- default = "never" -- ``` ----@field typeErrors boolean --- Enables undefined class constant diagnostics. +---@field returnTypeHint "always" | "never" | "non-void" +-- Whether to use arrow function syntax (Haxe 4+) -- -- ```lua -- default = true -- ``` ----@field undefinedClassConstants boolean --- Enables undefined constant diagnostics. +---@field useArrowSyntax boolean + +-- Options for generating field-level functions -- -- ```lua --- default = true +-- default = {} -- ``` ----@field undefinedConstants boolean --- Enables undefined function diagnostics. +---@class _.lspconfig.settings.haxe_language_server.Field +-- Whether to include type hints for arguments -- -- ```lua -- default = true -- ``` ----@field undefinedFunctions boolean --- Enables undefined method diagnostics. +---@field argumentTypeHints boolean +-- Whether to wrap types in `Null` even if it can be omitted (for optional arguments with `?`) +---@field explicitNull boolean +-- Whether to include the private visibility modifier even if it can be omitted +---@field explicitPrivate boolean +-- Whether to include the public visibility modifier even if it can be omitted +---@field explicitPublic boolean +-- Whether to place `{` in a new line +---@field placeOpenBraceOnNewLine boolean +-- In which case to include return type hints -- -- ```lua --- default = true +-- default = "non-void" -- ``` ----@field undefinedMethods boolean --- Enables undefined static property diagnostics. +---@field returnTypeHint "always" | "never" | "non-void" + +-- Options for generating functions -- -- ```lua --- default = true +-- default = {} -- ``` ----@field undefinedProperties boolean --- DEPRECATED. Use the setting for each symbol category. +---@class _.lspconfig.settings.haxe_language_server.Functions +-- Options for generating anonymous functions -- -- ```lua --- default = true +-- default = {} -- ``` ----@field undefinedSymbols boolean --- Enables undefined class, interface and trait diagnostics. +---@field anonymous _.lspconfig.settings.haxe_language_server.Anonymous +-- Options for generating field-level functions -- -- ```lua --- default = true +-- default = {} -- ``` ----@field undefinedTypes boolean --- Enables undefined variable diagnostics. +---@field field _.lspconfig.settings.haxe_language_server.Field + +-- Options for generating imports -- -- ```lua --- default = true +-- default = {} -- ``` ----@field undefinedVariables boolean --- Enables unexpected token diagnostics. +---@class _.lspconfig.settings.haxe_language_server.Imports +-- Whether to insert an import automatically when selecting a not-yet-imported type from completion. If `false`, the fully qualified name is inserted instead. -- -- ```lua -- default = true -- ``` ----@field unexpectedTokens boolean --- Enables unused variable, private member, and import diagnostics. +---@field enableAutoImports boolean +-- How to deal with module subtypes when generating imports. -- -- ```lua --- default = true +-- default = "type" -- ``` ----@field unusedSymbols boolean +---@field style "type" | "module" ----@class _.lspconfig.settings.intelephense.Environment --- The directory of the entry point to the application (directory of index.php). Can be absolute or relative to the workspace folder. Used for resolving script inclusion and path suggestions. ----@field documentRoot string --- The include paths (as individual path items) as defined in the include_path ini setting or paths to external libraries. Can be absolute or relative to the workspace folder. Used for resolving script inclusion and/or adding external symbols to folder. ----@field includePaths string[] --- A semver compatible string that represents the target PHP version. Used for providing version appropriate suggestions and diagnostics. PHP 5.3.0 and greater supported. +-- Options for generating switch expressions -- -- ```lua --- default = "8.3.0" +-- default = {} -- ``` ----@field phpVersion string --- When enabled '"` to only show results for a specific haxelib. Use `".*?"` to see all results, including haxelibs. -- -- ```lua --- default = true +-- default = "${workspaceRoot}" -- ``` ----@field constif boolean --- Check variables used in type declarations are datatypes. +---@field diagnosticsPathFilter string +-- ```lua +-- default = {} +-- ``` +---@field displayConfigurations any[] +-- IP address to use for display server. Can be used to `--connect` Haxe build commands. -- -- ```lua --- default = true +-- default = "127.0.0.1" -- ``` ----@field datadecl boolean --- Specifies sub-directories in [a package directory](https://docs.julialang.org/en/v1/manual/code-loading/#Package-directories-1) where only basic linting is. This drastically lowers the chance for false positives. +---@field displayHost string +-- Integer value for the port to open on the display server, or `"auto"`. Can be used to `--connect` Haxe build commands. -- -- ```lua --- default = { "docs", "test" } +-- default = "auto" -- ``` ----@field disabledDirs any[] --- Check iterator syntax of loops. Will identify, for example, attempts to iterate over single values. +---@field displayPort any +-- Haxe completion server configuration -- -- ```lua --- default = true +-- default = {} -- ``` ----@field iter boolean --- Check for deterministic lazy boolean operators. +---@field displayServer _.lspconfig.settings.haxe_language_server.DisplayServer +-- Add closing brace at the end of one-line `if/for/while` body expressions +---@field enableBraceBodyWrapping boolean +-- Enable code lens to show some statistics +---@field enableCodeLens boolean +-- Use the extension's Haxe server to compile auto-generated tasks. Requires `"haxe.displayPort"` to be set. -- -- ```lua -- default = true -- ``` ----@field lazy boolean --- Highlight unknown symbols. The `symbols` option will not mark unknown fields. +---@field enableCompilationServer boolean +-- Whether a warning popup should be shown if the completion cache build has failed. -- -- ```lua --- default = "none" +-- default = true -- ``` ----@field missingrefs "none" | "symbols" | "all" --- Check submodule names do not shadow their parent's name. +---@field enableCompletionCacheWarning boolean +-- Enable automatic diagnostics of Haxe files, run automatically on open and save. -- -- ```lua -- default = true -- ``` ----@field modname boolean --- Check for use of `==` rather than `===` when comparing against `nothing`. +---@field enableDiagnostics boolean +-- Align new line brackets with Allman style. Can have typing overhead and is incompatible with the Vim extension. +---@field enableExtendedIndentation boolean +---@field enableMethodsView boolean +-- Enable the "Haxe Server" view container for performance and cache debugging. +---@field enableServerView boolean +-- Whether signature help should include documentation or not. -- -- ```lua -- default = true -- ``` ----@field nothingcomp boolean --- Check for type piracy - the overloading of external functions with methods specified for external datatypes. 'External' here refers to imported code. +---@field enableSignatureHelpDocumentation boolean +-- A list of dot paths (packages, modules, types) to exclude from classpath parsing, completion and workspace symbols. Can be useful to improve performance. -- -- ```lua --- default = true +-- default = { "zpp_nape" } -- ``` ----@field pirates boolean --- Run the linter on active files. +---@field exclude any[] +-- Path to the Haxe executable or an object containing a Haxe executable configuration -- -- ```lua --- default = true +-- default = "auto" -- ``` ----@field run boolean --- Check parameters declared in `where` statements or datatype declarations are used. +---@field executable any +-- Sort order of imports -- -- ```lua --- default = true +-- default = "all-alphabetical" -- ``` ----@field typeparam boolean --- Check that all declared arguments are used within the function body. +---@field importsSortOrder "all-alphabetical" | "stdlib -> libs -> project" | "non-project -> project" +-- Options for inlay hints feature -- -- ```lua --- default = true +-- default = { +-- conditionals = false, +-- functionReturnTypes = true, +-- parameterNames = true, +-- parameterTypes = false, +-- variableTypes = true +-- } -- ``` ----@field useoffuncargs boolean - ----@class _.lspconfig.settings.julials.PersistentSession --- Always copy the command for connecting to an external REPL to the clipboard. ----@field alwaysCopy boolean --- Experimental: Starts the interactive Julia session in a persistent `tmux` session. Note that `tmux` must be available in the shell defined below. If present the string `$[workspace]` will be replaced with the current file's workspace when the REPL is first opened. ----@field enabled boolean --- Shell used to start the persistent session. +---@field inlayHints _.lspconfig.settings.haxe_language_server.InlayHints +-- Upper limit for the number of completion items that can be shown at once. -- -- ```lua --- default = "/bin/sh" +-- default = 1000 -- ``` ----@field shell string --- Argument to execute code in the configured shell, e.g. `-c` for sh-likes or `/c` for `cmd`. +---@field maxCompletionItems integer +-- Options for postfix completion -- -- ```lua --- default = "-c" +-- default = {} -- ``` ----@field shellExecutionArgument string --- Name of the `tmux` session. +---@field postfixCompletion _.lspconfig.settings.haxe_language_server.PostfixCompletion +-- Folders to look for renamable identifiers. Rename will not see or touch files outside of those folders. -- -- ```lua --- default = "julia_vscode" +-- default = { "src", "source", "Source", "test", "tests" } -- ``` ----@field tmuxSessionName string --- Warn when stopping a persistent session. +---@field renameSourceFolders any[] +-- Options for compilation server recording -- -- ```lua --- default = true +-- default = { +-- enabled = false, +-- exclude = {}, +-- excludeUntracked = false, +-- path = ".haxelsp/recording/", +-- watch = {} +-- } -- ``` ----@field warnOnKill boolean +---@field serverRecording _.lspconfig.settings.haxe_language_server.ServerRecording +-- Configures which presentation options to use for generated tasks by default (see `presentation` in `tasks.json`). +-- +-- ```lua +-- default = { +-- clear = false, +-- echo = true, +-- focus = false, +-- panel = "shared", +-- reveal = "always", +-- showReuseMessage = true +-- } +-- ``` +---@field taskPresentation _.lspconfig.settings.haxe_language_server.TaskPresentation +-- Whether to revert to a Haxe 3 style completion where only toplevel packages and imported types are shown (effectively making it incompatible with auto-imports). *Note:* this setting has no effect with Haxe versions earlier than 4.0.0-rc.4. +---@field useLegacyCompletion boolean ----@class _.lspconfig.settings.julials.Plots --- The output directory to save plots to ----@field path string +---@class _.lspconfig.settings.haxe_language_server.Haxelib +-- Path to the Haxelib executable +-- +-- ```lua +-- default = "auto" +-- ``` +---@field executable string ----@class _.lspconfig.settings.julials.Trace --- Traces the communication between VS Code and the language server. +---@class lspconfig.settings.haxe_language_server +---@field haxe _.lspconfig.settings.haxe_language_server.Haxe +---@field haxelib _.lspconfig.settings.haxe_language_server.Haxelib + +---@class _.lspconfig.settings.hhvm.Docker +-- Name of the local Docker container to run the language tools in +---@field containerName string + +---@class _.lspconfig.settings.hhvm.Ssh +-- Additional command line options to pass when establishing the SSH connection +---@field flags any[] +-- Address for the remote development server to connect to (in the format `[user@]hostname`) +---@field host string + +---@class _.lspconfig.settings.hhvm.Remote +---@field docker _.lspconfig.settings.hhvm.Docker +-- Run the Hack language tools on an external host +---@field enabled boolean +---@field ssh _.lspconfig.settings.hhvm.Ssh +-- The remote connection method +---@field type "ssh" | "docker" +-- Absolute location of workspace root in the remote file system +---@field workspacePath string + +---@class _.lspconfig.settings.hhvm.Trace +-- Traces the communication between VS Code and the Hack & HHAST language servers -- -- ```lua -- default = "off" -- ``` ---@field server "off" | "messages" | "verbose" ----@class _.lspconfig.settings.julials.Workspace --- Show top-level modules in the workspace. +---@class _.lspconfig.settings.hhvm.Hack +-- Absolute path to the hh_client executable. This can be left empty if hh_client is already in your environment $PATH. -- -- ```lua --- default = true +-- default = "hh_client" -- ``` ----@field showModules boolean - ----@class _.lspconfig.settings.julials.Julia --- Number of threads to use for Julia processes. A value of `auto` works on Julia versions that allow for `--threads=auto`. ----@field NumThreads integer|string --- Additional Julia arguments. +---@field clientPath string +-- Enable calculation of Hack type coverage percentage for every file and display in status bar. +---@field enableCoverageCheck boolean +-- Optional list of arguments passed to hhast-lint executable -- -- ```lua -- default = {} -- ``` ----@field additionalArgs any[] --- Cell delimiter regular expressions for Julia files. +---@field hhastArgs string[] +-- Whether to lint the entire project or just the open files +---@field hhastLintMode "whole-project" | "open-files" +-- Use an alternate `hhast-lint` path. Can be abolute or relative to workspace root. -- -- ```lua --- default = { "^##(?!#)", "^#(\\s?)%%", "^#-" } +-- default = "vendor/bin/hhast-lint" -- ``` ----@field cellDelimiters any[] --- Sets the mode for completions. --- +---@field hhastPath string +---@field remote _.lspconfig.settings.hhvm.Remote +---@field trace _.lspconfig.settings.hhvm.Trace +-- Enable linting (needs [HHAST](https://github.com/hhvm/hhast) library set up and configured in project) +-- -- ```lua --- default = "qualify" +-- default = true -- ``` ----@field completionmode "exportedonly" | "import" | "qualify" --- Functions or modules that are set to compiled mode when setting the defaults. +---@field useHhast boolean +-- Start hh_client in Language Server mode. Only works for HHVM version 3.23 and above. -- -- ```lua --- default = { "Base.", "-Base.!", "-Base.all", "-Base.all!", "-Base.any", "-Base.any!", "-Base.cd", "-Base.iterate", "-Base.collect", "-Base.collect_similar", "-Base._collect", "-Base.collect_to!", "-Base.collect_to_with_first!", "-Base.filter", "-Base.filter!", "-Base.foreach", "-Base.findall", "-Base.findfirst", "-Base.findlast", "-Base.findnext", "-Base.findprev", "-Base.Generator", "-Base.map", "-Base.map!", "-Base.maximum!", "-Base.minimum!", "-Base.mktemp", "-Base.mktempdir", "-Base.open", "-Base.prod!", "-Base.redirect_stderr", "-Base.redirect_stdin", "-Base.redirect_stdout", "-Base.reenable_sigint", "-Base.setindex!", "-Base.setprecision", "-Base.setrounding", "-Base.show", "-Base.sprint", "-Base.sum", "-Base.sum!", "-Base.task_local_storage", "-Base.timedwait", "-Base.withenv", "-Base.Broadcast", "Core", "Core.Compiler.", "Core.IR", "Core.Intrinsics", "DelimitedFiles", "Distributed", "LinearAlgebra.", "Serialization", "Statistics", "-Statistics.mean", "SparseArrays", "Mmap" } +-- default = true -- ``` ----@field debuggerDefaultCompiled any[] --- Delete Julia .cov files when running tests with coverage, leaving only a .lcov file behind. +---@field useLanguageServer boolean +-- Absolute path to the workspace root directory. This will be the VS Code workspace root by default, but can be changed if the project is in a subdirectory or mounted in a Docker container. +---@field workspaceRootPath string + +---@class lspconfig.settings.hhvm +---@field hack _.lspconfig.settings.hhvm.Hack + +---@class _.lspconfig.settings.hie.AlternateNumberFormat +-- Enables alternateNumberFormat plugin -- -- ```lua -- default = true -- ``` ----@field deleteJuliaCovFiles boolean --- Command to open files from the REPL (via setting the `JULIA_EDITOR` environment variable). +---@field globalOn boolean + +---@class _.lspconfig.settings.hie.Cabal +-- Enables cabal code actions -- -- ```lua --- default = "code" +-- default = true -- ``` ----@field editor string --- Enable crash reports to be sent to the julia VS Code extension developers. ----@field enableCrashReporter boolean --- Enable usage data and errors to be sent to the julia VS Code extension developers. ----@field enableTelemetry boolean --- Path to a julia environment. VS Code needs to be reloaded for changes to take effect. ----@field environmentPath string --- Points to the julia executable. +---@field codeActionsOn boolean +-- Enables cabal completions -- -- ```lua --- default = "" +-- default = true -- ``` ----@field executablePath string ----@field execution _.lspconfig.settings.julials.Execution --- Whether to automatically show the plot navigator when plotting. ----@field focusPlotNavigator boolean ----@field lint _.lspconfig.settings.julials.Lint --- A workspace relative path to a Julia file that contains the tests that should be run for live testing. +---@field completionOn boolean +-- Enables cabal diagnostics -- -- ```lua --- default = "test/runtests.jl" +-- default = true -- ``` ----@field liveTestFile string --- Julia package server. Sets the `JULIA_PKG_SERVER` environment variable *before* starting a Julia process. Leave this empty to use the systemwide default. Requires a restart of the Julia process. +---@field diagnosticsOn boolean + +---@class _.lspconfig.settings.hie.Config +-- Set path to 'cabal-fmt' executable -- -- ```lua --- default = "" +-- default = "cabal-fmt" -- ``` ----@field packageServer string ----@field persistentSession _.lspconfig.settings.julials.PersistentSession ----@field plots _.lspconfig.settings.julials.Plots --- Request runtime completions from the integrated REPL. ----@field runtimeCompletions boolean --- Enable display of runtime diagnostics. These diagnostics are provided by packages that overload a `show` method for the `application/vnd.julia-vscode.diagnostics` MIME type. +---@field path string + +---@class _.lspconfig.settings.hie.Cabal-fmt +---@field config _.lspconfig.settings.hie.Config + +---@class _.lspconfig.settings.hie.Config +-- Set path to 'cabal-gild' executable -- -- ```lua --- default = true +-- default = "cabal-gild" -- ``` ----@field showRuntimeDiagnostics boolean --- Download symbol server cache files from GitHub. ----@field symbolCacheDownload boolean --- Symbol server cache download URL. +---@field path string + +---@class _.lspconfig.settings.hie.Cabal-gild +---@field config _.lspconfig.settings.hie.Config + +---@class _.lspconfig.settings.hie.CallHierarchy +-- Enables callHierarchy plugin -- -- ```lua --- default = "https://www.julia-vscode.org/symbolcache" +-- default = true -- ``` ----@field symbolserverUpstream string ----@field trace _.lspconfig.settings.julials.Trace --- Use an existing custom sysimage when starting the REPL ----@field useCustomSysimage boolean --- Display plots within VS Code. Might require a restart of the Julia process. +---@field globalOn boolean + +---@class _.lspconfig.settings.hie.ChangeTypeSignature +-- Enables changeTypeSignature plugin -- -- ```lua -- default = true -- ``` ----@field usePlotPane boolean --- Display [progress bars](https://github.com/JunoLab/ProgressLogging.jl) within VS Code. +---@field globalOn boolean + +---@class _.lspconfig.settings.hie.Class +-- Enables class code actions -- -- ```lua -- default = true -- ``` ----@field useProgressFrontend boolean --- Load Revise.jl on startup of the REPL. +---@field codeActionsOn boolean +-- Enables class code lenses -- -- ```lua -- default = true -- ``` ----@field useRevise boolean ----@field workspace _.lspconfig.settings.julials.Workspace - ----@class lspconfig.settings.julials ----@field julia _.lspconfig.settings.julials.Julia +---@field codeLensOn boolean ----@class _.lspconfig.settings.kotlin_language_server.Jvm --- Specifies the JVM target, e.g. "1.6" or "1.8" +---@class _.lspconfig.settings.hie.Config +-- Enable the diff output (WAS/NOW) of eval lenses -- -- ```lua --- default = "default" +-- default = true -- ``` ----@field target string - ----@class _.lspconfig.settings.kotlin_language_server.Compiler ----@field jvm _.lspconfig.settings.kotlin_language_server.Jvm +---@field diff boolean +-- Enable marking exceptions with `*** Exception:` similarly to doctest and GHCi. +---@field exception boolean ----@class _.lspconfig.settings.kotlin_language_server.Snippets --- Specifies whether code completion should provide snippets (true) or plain-text items (false). +---@class _.lspconfig.settings.hie.Eval +---@field config _.lspconfig.settings.hie.Config +-- Enables eval plugin -- -- ```lua -- default = true -- ``` ----@field enabled boolean +---@field globalOn boolean ----@class _.lspconfig.settings.kotlin_language_server.Completion ----@field snippets _.lspconfig.settings.kotlin_language_server.Snippets +---@class _.lspconfig.settings.hie.Explicit-fields +-- Enables explicit-fields plugin +-- +-- ```lua +-- default = true +-- ``` +---@field globalOn boolean ----@class _.lspconfig.settings.kotlin_language_server.DebugAdapter --- [Recommended] Specifies whether the debug adapter should be used. When enabled a debugger for Kotlin will be available. +---@class _.lspconfig.settings.hie.Explicit-fixity +-- Enables explicit-fixity plugin -- -- ```lua -- default = true -- ``` ----@field enabled boolean --- Optionally a custom path to the debug adapter executable. +---@field globalOn boolean + +---@class _.lspconfig.settings.hie.Config +-- Call out to an external "fourmolu" executable, rather than using the bundled library. +---@field external boolean +-- Set path to executable (for "external" mode). -- -- ```lua --- default = "" +-- default = "fourmolu" -- ``` ---@field path string ----@class _.lspconfig.settings.kotlin_language_server.Diagnostics --- [DEBUG] Specifies the debounce time limit. Lower to increase responsiveness at the cost of possible stability issues. +---@class _.lspconfig.settings.hie.Fourmolu +---@field config _.lspconfig.settings.hie.Config + +---@class _.lspconfig.settings.hie.Gadt +-- Enables gadt plugin -- -- ```lua --- default = 250 +-- default = true -- ``` ----@field debounceTime integer --- Whether diagnostics (e.g. errors or warnings from the Kotlin compiler) should be emitted. +---@field globalOn boolean + +---@class _.lspconfig.settings.hie.Ghcide-code-actions-bindings +-- Enables ghcide-code-actions-bindings plugin -- -- ```lua -- default = true -- ``` ----@field enabled boolean --- The minimum severity of diagnostics to emit. +---@field globalOn boolean + +---@class _.lspconfig.settings.hie.Ghcide-code-actions-fill-holes +-- Enables ghcide-code-actions-fill-holes plugin -- -- ```lua --- default = "hint" +-- default = true -- ``` ----@field level "error" | "warning" | "information" | "hint" +---@field globalOn boolean ----@class _.lspconfig.settings.kotlin_language_server.ExternalSources --- Specifies whether decompiled/external classes should be auto-converted to Kotlin. ----@field autoConvertToKotlin boolean --- [Recommended] Specifies whether URIs inside JARs should be represented using the 'kls'-scheme. +---@class _.lspconfig.settings.hie.Ghcide-code-actions-imports-exports +-- Enables ghcide-code-actions-imports-exports plugin -- -- ```lua -- default = true -- ``` ----@field useKlsScheme boolean +---@field globalOn boolean ----@class _.lspconfig.settings.kotlin_language_server.Indexing --- Whether global symbols in the project should be indexed automatically in the background. This enables e.g. code completion for unimported classes and functions. +---@class _.lspconfig.settings.hie.Ghcide-code-actions-type-signatures +-- Enables ghcide-code-actions-type-signatures plugin -- -- ```lua -- default = true -- ``` ----@field enabled boolean - ----@class _.lspconfig.settings.kotlin_language_server.InlayHints --- Whether to provide inlay hints on chained function calls or not. ----@field chainedHints boolean --- Whether to provide inlay hints for parameters on call sites or not. ----@field parameterHints boolean --- Whether to provide inlay hints for types on declaration sites or not. ----@field typeHints boolean +---@field globalOn boolean ----@class _.lspconfig.settings.kotlin_language_server.Java --- A custom JAVA_HOME for the language server and debug adapter to use. +---@class _.lspconfig.settings.hie.Config +-- Extends the import list automatically when completing a out-of-scope identifier -- -- ```lua --- default = "" +-- default = true -- ``` ----@field home string --- Custom options using JAVA_OPTS for the language server and debug adapter. +---@field autoExtendOn boolean +-- Inserts snippets when using code completions -- -- ```lua --- default = "" +-- default = true -- ``` ----@field opts string +---@field snippetsOn boolean ----@class _.lspconfig.settings.kotlin_language_server.DebugAttach --- [DEBUG] If enabled (together with debugAttach.enabled), the language server will not immediately launch but instead listen on the specified attach port and wait for a debugger. This is ONLY useful if you need to debug the language server ITSELF. ----@field autoSuspend boolean --- [DEBUG] Whether the language server should listen for debuggers, i.e. be debuggable while running in VSCode. This is ONLY useful if you need to debug the language server ITSELF. ----@field enabled boolean --- [DEBUG] If transport is stdio this enables you to attach to the running language server with a debugger. This is ONLY useful if you need to debug the language server ITSELF. +---@class _.lspconfig.settings.hie.Ghcide-completions +---@field config _.lspconfig.settings.hie.Config +-- Enables ghcide-completions plugin -- -- ```lua --- default = 5005 +-- default = true -- ``` ----@field port integer +---@field globalOn boolean ----@class _.lspconfig.settings.kotlin_language_server.LanguageServer ----@field debugAttach _.lspconfig.settings.kotlin_language_server.DebugAttach --- [Recommended] Specifies whether the language server should be used. When enabled the extension will provide code completions and linting, otherwise just syntax highlighting. Might require a reload to apply. +---@class _.lspconfig.settings.hie.Ghcide-hover-and-symbols +-- Enables ghcide-hover-and-symbols hover -- -- ```lua -- default = true -- ``` ----@field enabled boolean --- Optionally a custom path to the language server executable. +---@field hoverOn boolean +-- Enables ghcide-hover-and-symbols symbols -- -- ```lua --- default = "" +-- default = true -- ``` ----@field path string --- The port to which the client will attempt to connect to. A random port is used if zero. Only used if the transport layer is TCP. +---@field symbolsOn boolean + +---@class _.lspconfig.settings.hie.Config +-- Control how type lenses are shown -- -- ```lua --- default = 0 +-- default = "always" -- ``` ----@field port integer --- The transport layer beneath the language server protocol. Note that the extension will launch the server even if a TCP socket is used. --- --- ```lua --- default = "stdio" --- ``` ----@field transport "stdio" | "tcp" +---@field mode "always" | "exported" | "diagnostics" ----@class _.lspconfig.settings.kotlin_language_server.Linting --- [DEBUG] Specifies the debounce time limit. Lower to increase responsiveness at the cost of possible stability issues. +---@class _.lspconfig.settings.hie.Ghcide-type-lenses +---@field config _.lspconfig.settings.hie.Config +-- Enables ghcide-type-lenses plugin -- -- ```lua --- default = 250 +-- default = true -- ``` ----@field debounceTime integer +---@field globalOn boolean ----@class _.lspconfig.settings.kotlin_language_server.Scripts --- Whether language features are provided for .gradle.kts scripts. Experimental and may not work properly. ----@field buildScriptsEnabled boolean --- Whether language features are provided for .kts scripts. Experimental and may not work properly. ----@field enabled boolean +---@class _.lspconfig.settings.hie.Config +-- Flags used by hlint +-- +-- ```lua +-- default = {} +-- ``` +---@field flags any[] ----@class _.lspconfig.settings.kotlin_language_server.Trace --- Traces the communication between VSCode and the Kotlin language server. +---@class _.lspconfig.settings.hie.Hlint +-- Enables hlint code actions -- -- ```lua --- default = "off" +-- default = true -- ``` ----@field server "off" | "messages" | "verbose" +---@field codeActionsOn boolean +---@field config _.lspconfig.settings.hie.Config +-- Enables hlint diagnostics +-- +-- ```lua +-- default = true +-- ``` +---@field diagnosticsOn boolean ----@class _.lspconfig.settings.kotlin_language_server.Kotlin ----@field compiler _.lspconfig.settings.kotlin_language_server.Compiler ----@field completion _.lspconfig.settings.kotlin_language_server.Completion --- [DEPRECATED] Specifies the debounce time limit. Lower to increase responsiveness at the cost of possible stability issues. +---@class _.lspconfig.settings.hie.ImportLens +-- Enables importLens code actions -- -- ```lua --- default = 250 +-- default = true -- ``` ----@field debounceTime integer ----@field debugAdapter _.lspconfig.settings.kotlin_language_server.DebugAdapter ----@field diagnostics _.lspconfig.settings.kotlin_language_server.Diagnostics ----@field externalSources _.lspconfig.settings.kotlin_language_server.ExternalSources ----@field indexing _.lspconfig.settings.kotlin_language_server.Indexing ----@field inlayHints _.lspconfig.settings.kotlin_language_server.InlayHints ----@field java _.lspconfig.settings.kotlin_language_server.Java ----@field languageServer _.lspconfig.settings.kotlin_language_server.LanguageServer ----@field linting _.lspconfig.settings.kotlin_language_server.Linting ----@field scripts _.lspconfig.settings.kotlin_language_server.Scripts --- [DEPRECATED] Specifies whether code completion should provide snippets (true) or plain-text items (false). +---@field codeActionsOn boolean +-- Enables importLens code lenses -- -- ```lua -- default = true -- ``` ----@field snippetsEnabled boolean ----@field trace _.lspconfig.settings.kotlin_language_server.Trace +---@field codeLensOn boolean ----@class lspconfig.settings.kotlin_language_server ----@field kotlin _.lspconfig.settings.kotlin_language_server.Kotlin +---@class _.lspconfig.settings.hie.ModuleName +-- Enables moduleName plugin +-- +-- ```lua +-- default = true +-- ``` +---@field globalOn boolean ----@class _.lspconfig.settings.ltex.AdditionalRules --- Enable LanguageTool rules that are marked as picky and that are disabled by default, e.g., rules about passive voice, sentence length, etc., at the cost of more false positives. ----@field enablePickyRules boolean --- Optional path to a directory with rules of a language model with *n*-gram occurrence counts. Set this setting to the parent directory that contains subdirectories for languages (e.g., `en`). +---@class _.lspconfig.settings.hie.Config +-- Call out to an external "ormolu" executable, rather than using the bundled library +---@field external boolean + +---@class _.lspconfig.settings.hie.Ormolu +---@field config _.lspconfig.settings.hie.Config + +---@class _.lspconfig.settings.hie.Overloaded-record-dot +-- Enables overloaded-record-dot plugin -- -- ```lua --- default = "" +-- default = true -- ``` ----@field languageModel string --- Optional mother tongue of the user (e.g., `"de-DE"`). [More info...](https://valentjn.github.io/ltex/settings.html#ltexadditionalrulesmothertongue) +---@field globalOn boolean + +---@class _.lspconfig.settings.hie.Pragmas-completion +-- Enables pragmas-completion plugin -- -- ```lua --- default = "" +-- default = true -- ``` ----@field motherTongue "" | "ar" | "ast-ES" | "be-BY" | "br-FR" | "ca-ES" | "ca-ES-valencia" | "da-DK" | "de" | "de-AT" | "de-CH" | "de-DE" | "de-DE-x-simple-language" | "el-GR" | "en" | "en-AU" | "en-CA" | "en-GB" | "en-NZ" | "en-US" | "en-ZA" | "eo" | "es" | "es-AR" | "fa" | "fr" | "ga-IE" | "gl-ES" | "it" | "ja-JP" | "km-KH" | "nl" | "nl-BE" | "pl-PL" | "pt" | "pt-AO" | "pt-BR" | "pt-MZ" | "pt-PT" | "ro-RO" | "ru-RU" | "sk-SK" | "sl-SI" | "sv" | "ta-IN" | "tl-PH" | "uk-UA" | "zh-CN" --- Optional path to a directory with rules of a pretrained neural network model. +---@field globalOn boolean + +---@class _.lspconfig.settings.hie.Pragmas-disable +-- Enables pragmas-disable plugin -- -- ```lua --- default = "" +-- default = true -- ``` ----@field neuralNetworkModel string --- Optional path to a directory with rules of a word2vec language model. +---@field globalOn boolean + +---@class _.lspconfig.settings.hie.Pragmas-suggest +-- Enables pragmas-suggest plugin -- -- ```lua --- default = "" +-- default = true -- ``` ----@field word2VecModel string +---@field globalOn boolean ----@class _.lspconfig.settings.ltex.Bibtex --- List of BibTeX fields whose values are to be checked in BibTeX files. [More info...](https://valentjn.github.io/ltex/settings.html#ltexbibtexfields) +---@class _.lspconfig.settings.hie.QualifyImportedNames +-- Enables qualifyImportedNames plugin -- -- ```lua --- default = {} +-- default = true -- ``` ----@field fields table +---@field globalOn boolean --- Controls which `settings.json` or external setting file ([see documentation](https://valentjn.github.io/ltex/vscode-ltex/setting-scopes-files.html#external-setting-files)) to update when using one of the quick fixes. +---@class _.lspconfig.settings.hie.Config +-- Enable experimental cross-module renaming +---@field crossModule boolean + +---@class _.lspconfig.settings.hie.Rename +---@field config _.lspconfig.settings.hie.Config +-- Enables rename plugin -- -- ```lua --- default = { --- dictionary = "workspaceFolderExternalFile", --- disabledRules = "workspaceFolderExternalFile", --- hiddenFalsePositives = "workspaceFolderExternalFile" --- } +-- default = true -- ``` ----@class _.lspconfig.settings.ltex.ConfigurationTarget ----@field dictionary "user" | "workspace" | "workspaceFolder" | "userExternalFile" | "workspaceExternalFile" | "workspaceFolderExternalFile" ----@field disabledRules "user" | "workspace" | "workspaceFolder" | "userExternalFile" | "workspaceExternalFile" | "workspaceFolderExternalFile" ----@field hiddenFalsePositives "user" | "workspace" | "workspaceFolder" | "userExternalFile" | "workspaceExternalFile" | "workspaceFolderExternalFile" +---@field globalOn boolean --- Lists of additional words that should not be counted as spelling errors. [More info...](https://valentjn.github.io/ltex/settings.html#ltexdictionary) +---@class _.lspconfig.settings.hie.Retrie +-- Enables retrie plugin -- -- ```lua --- default = {} +-- default = true -- ``` ----@class _.lspconfig.settings.ltex.Dictionary --- List of additional `ar` (Arabic) words that should not be counted as spelling errors. ----@field ar string[] --- List of additional `ast-ES` (Asturian) words that should not be counted as spelling errors. ----@field ast-ES string[] --- List of additional `be-BY` (Belarusian) words that should not be counted as spelling errors. ----@field be-BY string[] --- List of additional `br-FR` (Breton) words that should not be counted as spelling errors. ----@field br-FR string[] --- List of additional `ca-ES` (Catalan) words that should not be counted as spelling errors. ----@field ca-ES string[] --- List of additional `ca-ES-valencia` (Catalan (Valencian)) words that should not be counted as spelling errors. ----@field ca-ES-valencia string[] --- List of additional `da-DK` (Danish) words that should not be counted as spelling errors. ----@field da-DK string[] --- List of additional `de` (German) words that should not be counted as spelling errors. ----@field de string[] --- List of additional `de-AT` (German (Austria)) words that should not be counted as spelling errors. ----@field de-AT string[] --- List of additional `de-CH` (German (Swiss)) words that should not be counted as spelling errors. ----@field de-CH string[] --- List of additional `de-DE` (German (Germany)) words that should not be counted as spelling errors. ----@field de-DE string[] --- List of additional `de-DE-x-simple-language` (Simple German) words that should not be counted as spelling errors. ----@field de-DE-x-simple-language string[] --- List of additional `el-GR` (Greek) words that should not be counted as spelling errors. ----@field el-GR string[] --- List of additional `en` (English) words that should not be counted as spelling errors. ----@field en string[] --- List of additional `en-AU` (English (Australian)) words that should not be counted as spelling errors. ----@field en-AU string[] --- List of additional `en-CA` (English (Canadian)) words that should not be counted as spelling errors. ----@field en-CA string[] --- List of additional `en-GB` (English (GB)) words that should not be counted as spelling errors. ----@field en-GB string[] --- List of additional `en-NZ` (English (New Zealand)) words that should not be counted as spelling errors. ----@field en-NZ string[] --- List of additional `en-US` (English (US)) words that should not be counted as spelling errors. ----@field en-US string[] --- List of additional `en-ZA` (English (South African)) words that should not be counted as spelling errors. ----@field en-ZA string[] --- List of additional `eo` (Esperanto) words that should not be counted as spelling errors. ----@field eo string[] --- List of additional `es` (Spanish) words that should not be counted as spelling errors. ----@field es string[] --- List of additional `es-AR` (Spanish (voseo)) words that should not be counted as spelling errors. ----@field es-AR string[] --- List of additional `fa` (Persian) words that should not be counted as spelling errors. ----@field fa string[] --- List of additional `fr` (French) words that should not be counted as spelling errors. ----@field fr string[] --- List of additional `ga-IE` (Irish) words that should not be counted as spelling errors. ----@field ga-IE string[] --- List of additional `gl-ES` (Galician) words that should not be counted as spelling errors. ----@field gl-ES string[] --- List of additional `it` (Italian) words that should not be counted as spelling errors. ----@field it string[] --- List of additional `ja-JP` (Japanese) words that should not be counted as spelling errors. ----@field ja-JP string[] --- List of additional `km-KH` (Khmer) words that should not be counted as spelling errors. ----@field km-KH string[] --- List of additional `nl` (Dutch) words that should not be counted as spelling errors. ----@field nl string[] --- List of additional `nl-BE` (Dutch (Belgium)) words that should not be counted as spelling errors. ----@field nl-BE string[] --- List of additional `pl-PL` (Polish) words that should not be counted as spelling errors. ----@field pl-PL string[] --- List of additional `pt` (Portuguese) words that should not be counted as spelling errors. ----@field pt string[] --- List of additional `pt-AO` (Portuguese (Angola preAO)) words that should not be counted as spelling errors. ----@field pt-AO string[] --- List of additional `pt-BR` (Portuguese (Brazil)) words that should not be counted as spelling errors. ----@field pt-BR string[] --- List of additional `pt-MZ` (Portuguese (Moçambique preAO)) words that should not be counted as spelling errors. ----@field pt-MZ string[] --- List of additional `pt-PT` (Portuguese (Portugal)) words that should not be counted as spelling errors. ----@field pt-PT string[] --- List of additional `ro-RO` (Romanian) words that should not be counted as spelling errors. ----@field ro-RO string[] --- List of additional `ru-RU` (Russian) words that should not be counted as spelling errors. ----@field ru-RU string[] --- List of additional `sk-SK` (Slovak) words that should not be counted as spelling errors. ----@field sk-SK string[] --- List of additional `sl-SI` (Slovenian) words that should not be counted as spelling errors. ----@field sl-SI string[] --- List of additional `sv` (Swedish) words that should not be counted as spelling errors. ----@field sv string[] --- List of additional `ta-IN` (Tamil) words that should not be counted as spelling errors. ----@field ta-IN string[] --- List of additional `tl-PH` (Tagalog) words that should not be counted as spelling errors. ----@field tl-PH string[] --- List of additional `uk-UA` (Ukrainian) words that should not be counted as spelling errors. ----@field uk-UA string[] --- List of additional `zh-CN` (Chinese) words that should not be counted as spelling errors. ----@field zh-CN string[] +---@field globalOn boolean --- Lists of rules that should be disabled (if enabled by default by LanguageTool). [More info...](https://valentjn.github.io/ltex/settings.html#ltexdisabledrules) +---@class _.lspconfig.settings.hie.Config +-- LSP semantic token type to use for typeclass methods -- -- ```lua --- default = {} +-- default = "method" -- ``` ----@class _.lspconfig.settings.ltex.DisabledRules --- List of additional `ar` (Arabic) rules that should be disabled (if enabled by default by LanguageTool). ----@field ar string[] --- List of additional `ast-ES` (Asturian) rules that should be disabled (if enabled by default by LanguageTool). ----@field ast-ES string[] --- List of additional `be-BY` (Belarusian) rules that should be disabled (if enabled by default by LanguageTool). ----@field be-BY string[] --- List of additional `br-FR` (Breton) rules that should be disabled (if enabled by default by LanguageTool). ----@field br-FR string[] --- List of additional `ca-ES` (Catalan) rules that should be disabled (if enabled by default by LanguageTool). +---@field classMethodToken "namespace" | "type" | "class" | "enum" | "interface" | "struct" | "typeParameter" | "parameter" | "variable" | "property" | "enumMember" | "event" | "function" | "method" | "macro" | "keyword" | "modifier" | "comment" | "string" | "number" | "regexp" | "operator" | "decorator" +-- LSP semantic token type to use for typeclasses +-- +-- ```lua +-- default = "class" +-- ``` +---@field classToken "namespace" | "type" | "class" | "enum" | "interface" | "struct" | "typeParameter" | "parameter" | "variable" | "property" | "enumMember" | "event" | "function" | "method" | "macro" | "keyword" | "modifier" | "comment" | "string" | "number" | "regexp" | "operator" | "decorator" +-- LSP semantic token type to use for data constructors +-- +-- ```lua +-- default = "enumMember" +-- ``` +---@field dataConstructorToken "namespace" | "type" | "class" | "enum" | "interface" | "struct" | "typeParameter" | "parameter" | "variable" | "property" | "enumMember" | "event" | "function" | "method" | "macro" | "keyword" | "modifier" | "comment" | "string" | "number" | "regexp" | "operator" | "decorator" +-- LSP semantic token type to use for functions +-- +-- ```lua +-- default = "function" +-- ``` +---@field functionToken "namespace" | "type" | "class" | "enum" | "interface" | "struct" | "typeParameter" | "parameter" | "variable" | "property" | "enumMember" | "event" | "function" | "method" | "macro" | "keyword" | "modifier" | "comment" | "string" | "number" | "regexp" | "operator" | "decorator" +-- LSP semantic token type to use for modules +-- +-- ```lua +-- default = "namespace" +-- ``` +---@field moduleToken "namespace" | "type" | "class" | "enum" | "interface" | "struct" | "typeParameter" | "parameter" | "variable" | "property" | "enumMember" | "event" | "function" | "method" | "macro" | "keyword" | "modifier" | "comment" | "string" | "number" | "regexp" | "operator" | "decorator" +-- LSP semantic token type to use for operators +-- +-- ```lua +-- default = "operator" +-- ``` +---@field operatorToken "namespace" | "type" | "class" | "enum" | "interface" | "struct" | "typeParameter" | "parameter" | "variable" | "property" | "enumMember" | "event" | "function" | "method" | "macro" | "keyword" | "modifier" | "comment" | "string" | "number" | "regexp" | "operator" | "decorator" +-- LSP semantic token type to use for pattern synonyms +-- +-- ```lua +-- default = "macro" +-- ``` +---@field patternSynonymToken "namespace" | "type" | "class" | "enum" | "interface" | "struct" | "typeParameter" | "parameter" | "variable" | "property" | "enumMember" | "event" | "function" | "method" | "macro" | "keyword" | "modifier" | "comment" | "string" | "number" | "regexp" | "operator" | "decorator" +-- LSP semantic token type to use for record fields +-- +-- ```lua +-- default = "property" +-- ``` +---@field recordFieldToken "namespace" | "type" | "class" | "enum" | "interface" | "struct" | "typeParameter" | "parameter" | "variable" | "property" | "enumMember" | "event" | "function" | "method" | "macro" | "keyword" | "modifier" | "comment" | "string" | "number" | "regexp" | "operator" | "decorator" +-- LSP semantic token type to use for type constructors +-- +-- ```lua +-- default = "enum" +-- ``` +---@field typeConstructorToken "namespace" | "type" | "class" | "enum" | "interface" | "struct" | "typeParameter" | "parameter" | "variable" | "property" | "enumMember" | "event" | "function" | "method" | "macro" | "keyword" | "modifier" | "comment" | "string" | "number" | "regexp" | "operator" | "decorator" +-- LSP semantic token type to use for type families +-- +-- ```lua +-- default = "interface" +-- ``` +---@field typeFamilyToken "namespace" | "type" | "class" | "enum" | "interface" | "struct" | "typeParameter" | "parameter" | "variable" | "property" | "enumMember" | "event" | "function" | "method" | "macro" | "keyword" | "modifier" | "comment" | "string" | "number" | "regexp" | "operator" | "decorator" +-- LSP semantic token type to use for type synonyms +-- +-- ```lua +-- default = "type" +-- ``` +---@field typeSynonymToken "namespace" | "type" | "class" | "enum" | "interface" | "struct" | "typeParameter" | "parameter" | "variable" | "property" | "enumMember" | "event" | "function" | "method" | "macro" | "keyword" | "modifier" | "comment" | "string" | "number" | "regexp" | "operator" | "decorator" +-- LSP semantic token type to use for type variables +-- +-- ```lua +-- default = "typeParameter" +-- ``` +---@field typeVariableToken "namespace" | "type" | "class" | "enum" | "interface" | "struct" | "typeParameter" | "parameter" | "variable" | "property" | "enumMember" | "event" | "function" | "method" | "macro" | "keyword" | "modifier" | "comment" | "string" | "number" | "regexp" | "operator" | "decorator" +-- LSP semantic token type to use for variables +-- +-- ```lua +-- default = "variable" +-- ``` +---@field variableToken "namespace" | "type" | "class" | "enum" | "interface" | "struct" | "typeParameter" | "parameter" | "variable" | "property" | "enumMember" | "event" | "function" | "method" | "macro" | "keyword" | "modifier" | "comment" | "string" | "number" | "regexp" | "operator" | "decorator" + +---@class _.lspconfig.settings.hie.SemanticTokens +---@field config _.lspconfig.settings.hie.Config +-- Enables semanticTokens plugin +---@field globalOn boolean + +---@class _.lspconfig.settings.hie.Splice +-- Enables splice plugin +-- +-- ```lua +-- default = true +-- ``` +---@field globalOn boolean + +---@class _.lspconfig.settings.hie.Stan +-- Enables stan plugin +---@field globalOn boolean + +---@class _.lspconfig.settings.hie.Plugin +---@field alternateNumberFormat _.lspconfig.settings.hie.AlternateNumberFormat +---@field cabal _.lspconfig.settings.hie.Cabal +---@field cabal-fmt _.lspconfig.settings.hie.Cabal-fmt +---@field cabal-gild _.lspconfig.settings.hie.Cabal-gild +---@field callHierarchy _.lspconfig.settings.hie.CallHierarchy +---@field changeTypeSignature _.lspconfig.settings.hie.ChangeTypeSignature +---@field class _.lspconfig.settings.hie.Class +---@field eval _.lspconfig.settings.hie.Eval +---@field explicit-fields _.lspconfig.settings.hie.Explicit-fields +---@field explicit-fixity _.lspconfig.settings.hie.Explicit-fixity +---@field fourmolu _.lspconfig.settings.hie.Fourmolu +---@field gadt _.lspconfig.settings.hie.Gadt +---@field ghcide-code-actions-bindings _.lspconfig.settings.hie.Ghcide-code-actions-bindings +---@field ghcide-code-actions-fill-holes _.lspconfig.settings.hie.Ghcide-code-actions-fill-holes +---@field ghcide-code-actions-imports-exports _.lspconfig.settings.hie.Ghcide-code-actions-imports-exports +---@field ghcide-code-actions-type-signatures _.lspconfig.settings.hie.Ghcide-code-actions-type-signatures +---@field ghcide-completions _.lspconfig.settings.hie.Ghcide-completions +---@field ghcide-hover-and-symbols _.lspconfig.settings.hie.Ghcide-hover-and-symbols +---@field ghcide-type-lenses _.lspconfig.settings.hie.Ghcide-type-lenses +---@field hlint _.lspconfig.settings.hie.Hlint +---@field importLens _.lspconfig.settings.hie.ImportLens +---@field moduleName _.lspconfig.settings.hie.ModuleName +---@field ormolu _.lspconfig.settings.hie.Ormolu +---@field overloaded-record-dot _.lspconfig.settings.hie.Overloaded-record-dot +---@field pragmas-completion _.lspconfig.settings.hie.Pragmas-completion +---@field pragmas-disable _.lspconfig.settings.hie.Pragmas-disable +---@field pragmas-suggest _.lspconfig.settings.hie.Pragmas-suggest +---@field qualifyImportedNames _.lspconfig.settings.hie.QualifyImportedNames +---@field rename _.lspconfig.settings.hie.Rename +---@field retrie _.lspconfig.settings.hie.Retrie +---@field semanticTokens _.lspconfig.settings.hie.SemanticTokens +---@field splice _.lspconfig.settings.hie.Splice +---@field stan _.lspconfig.settings.hie.Stan + +---@class _.lspconfig.settings.hie.Trace +-- Sets the log level in the client side. +-- +-- ```lua +-- default = "info" +-- ``` +---@field client "off" | "error" | "info" | "debug" +-- Traces the communication between VS Code and the language server. +-- +-- ```lua +-- default = "off" +-- ``` +---@field server "off" | "messages" | "verbose" + +---@class _.lspconfig.settings.hie.Haskell +-- The formatter to use when formatting a document or range of a cabal formatter. Ensure the plugin is enabled. +-- +-- ```lua +-- default = "cabal-gild" +-- ``` +---@field cabalFormattingProvider "cabal-gild" | "cabal-fmt" | "none" +-- Whether to typecheck the entire project on load. It could drive to bad performance in large projects. +-- +-- ```lua +-- default = true +-- ``` +---@field checkProject boolean +-- The formatter to use when formatting a document or range. Ensure the plugin is enabled. +-- +-- ```lua +-- default = "ormolu" +-- ``` +---@field formattingProvider "brittany" | "floskell" | "fourmolu" | "ormolu" | "stylish-haskell" | "none" +-- Manually set a ghcup executable path. +-- +-- ```lua +-- default = "" +-- ``` +---@field ghcupExecutablePath string +-- If set, redirects the logs to a file. +-- +-- ```lua +-- default = "" +-- ``` +---@field logFile string +-- How to manage/find HLS installations. +-- +-- ```lua +-- default = "PATH" +-- ``` +---@field manageHLS "GHCup" | "PATH" +-- Maximum number of completions sent to the editor. +-- +-- ```lua +-- default = 40 +-- ``` +---@field maxCompletions integer +-- An optional URL to override where ghcup checks for tool download info (usually at: https://raw.githubusercontent.com/haskell/ghcup-metadata/master/ghcup-0.0.7.yaml) +-- +-- ```lua +-- default = "" +-- ``` +---@field metadataURL string +-- When opening 'Documentation' for external libraries, open in hackage by default. Set to false to instead open in vscode. +-- +-- ```lua +-- default = true +-- ``` +---@field openDocumentationInHackage boolean +-- When opening 'Source' for external libraries, open in hackage by default. Set to false to instead open in vscode. +-- +-- ```lua +-- default = true +-- ``` +---@field openSourceInHackage boolean +---@field plugin _.lspconfig.settings.hie.Plugin +-- Prompt before performing any downloads. +-- +-- ```lua +-- default = "true" +-- ``` +---@field promptBeforeDownloads boolean +-- An optional path where downloaded metadata will be stored. Check the default value [here](https://github.com/haskell/vscode-haskell#downloaded-binaries) +-- +-- ```lua +-- default = "" +-- ``` +---@field releasesDownloadStoragePath string +-- An optional URL to override where ghcup checks for HLS-GHC compatibility list (usually at: https://raw.githubusercontent.com/haskell/ghcup-metadata/master/hls-metadata-0.0.1.json) +-- +-- ```lua +-- default = "" +-- ``` +---@field releasesURL string +-- Define environment variables for the language server. +-- +-- ```lua +-- default = {} +-- ``` +---@field serverEnvironment table +-- Manually set a language server executable. Can be something on the $PATH or the full path to the executable itself. Works with `~,` `${HOME}` and `${workspaceFolder}`. +-- +-- ```lua +-- default = "" +-- ``` +---@field serverExecutablePath string +-- Pass additional arguments to the language server. +-- +-- ```lua +-- default = "" +-- ``` +---@field serverExtraArgs string +-- Preferred approach for loading package components. Setting this to 'multiple components' (EXPERIMENTAL) allows the build tool (such as `cabal` or `stack`) to [load multiple components at once](https://github.com/haskell/cabal/pull/8726), which is a significant improvement. +-- +-- ```lua +-- default = "singleComponent" +-- ``` +---@field sessionLoading "singleComponent" | "multipleComponents" +-- When manageHLS is set to GHCup, this can overwrite the automatic toolchain configuration with a more specific one. When a tool is omitted, the extension will manage the version (for 'ghc' we try to figure out the version the project requires). The format is '{"tool": "version", ...}'. 'version' accepts all identifiers that 'ghcup' accepts. +-- +-- ```lua +-- default = {} +-- ``` +---@field toolchain table +---@field trace _.lspconfig.settings.hie.Trace +-- Whether to upgrade GHCup automatically when 'manageHLS' is set to 'GHCup'. +-- +-- ```lua +-- default = true +-- ``` +---@field upgradeGHCup boolean + +---@class lspconfig.settings.hie +---@field haskell _.lspconfig.settings.hie.Haskell + +---@class _.lspconfig.settings.html.Completion +-- Controls the default value for attributes when completion is accepted. +-- +-- ```lua +-- default = "doublequotes" +-- ``` +---@field attributeDefaultValue "doublequotes" | "singlequotes" | "empty" + +---@class _.lspconfig.settings.html.Format +-- List of tags, comma separated, where the content shouldn't be reformatted. `null` defaults to the `pre` tag. +-- +-- ```lua +-- default = "pre,code,textarea" +-- ``` +---@field contentUnformatted string +-- Enable/disable default HTML formatter. +-- +-- ```lua +-- default = true +-- ``` +---@field enable boolean +-- List of tags, comma separated, that should have an extra newline before them. `null` defaults to `"head, body, /html"`. +-- +-- ```lua +-- default = "head, body, /html" +-- ``` +---@field extraLiners string +-- Format and indent `{{#foo}}` and `{{/foo}}`. +---@field indentHandlebars boolean +-- Indent `` and `` sections. +---@field indentInnerHtml boolean +-- Maximum number of line breaks to be preserved in one chunk. Use `null` for unlimited. +---@field maxPreserveNewLines number +-- Controls whether existing line breaks before elements should be preserved. Only works before elements, not inside tags or for text. +-- +-- ```lua +-- default = true +-- ``` +---@field preserveNewLines boolean +-- Honor django, erb, handlebars and php templating language tags. +---@field templating boolean +-- List of tags, comma separated, that shouldn't be reformatted. `null` defaults to all tags listed at https://www.w3.org/TR/html5/dom.html#phrasing-content. +-- +-- ```lua +-- default = "wbr" +-- ``` +---@field unformatted string +-- Keep text content together between this string. +-- +-- ```lua +-- default = "" +-- ``` +---@field unformattedContentDelimiter string +-- Wrap attributes. +-- +-- ```lua +-- default = "auto" +-- ``` +---@field wrapAttributes "auto" | "force" | "force-aligned" | "force-expand-multiline" | "aligned-multiple" | "preserve" | "preserve-aligned" +-- Indent wrapped attributes to after N characters. Use `null` to use the default indent size. Ignored if `#html.format.wrapAttributes#` is set to `aligned`. +---@field wrapAttributesIndentSize number +-- Maximum amount of characters per line (0 = disable). +-- +-- ```lua +-- default = 120 +-- ``` +---@field wrapLineLength integer + +---@class _.lspconfig.settings.html.Hover +-- Show tag and attribute documentation in hover. +-- +-- ```lua +-- default = true +-- ``` +---@field documentation boolean +-- Show references to MDN in hover. +-- +-- ```lua +-- default = true +-- ``` +---@field references boolean + +---@class _.lspconfig.settings.html.Suggest +-- Controls whether the built-in HTML language support suggests HTML5 tags, properties and values. +-- +-- ```lua +-- default = true +-- ``` +---@field html5 boolean + +---@class _.lspconfig.settings.html.Trace +-- Traces the communication between VS Code and the HTML language server. +-- +-- ```lua +-- default = "off" +-- ``` +---@field server "off" | "messages" | "verbose" + +---@class _.lspconfig.settings.html.Validate +-- Controls whether the built-in HTML language support validates embedded scripts. +-- +-- ```lua +-- default = true +-- ``` +---@field scripts boolean +-- Controls whether the built-in HTML language support validates embedded styles. +-- +-- ```lua +-- default = true +-- ``` +---@field styles boolean + +---@class _.lspconfig.settings.html.Html +-- Enable/disable autoclosing of HTML tags. +-- +-- ```lua +-- default = true +-- ``` +---@field autoClosingTags boolean +-- Enable/disable auto creation of quotes for HTML attribute assignment. The type of quotes can be configured by `#html.completion.attributeDefaultValue#`. +-- +-- ```lua +-- default = true +-- ``` +---@field autoCreateQuotes boolean +---@field completion _.lspconfig.settings.html.Completion +-- A list of relative file paths pointing to JSON files following the [custom data format](https://github.com/microsoft/vscode-html-languageservice/blob/master/docs/customData.md). +-- +-- VS Code loads custom data on startup to enhance its HTML support for the custom HTML tags, attributes and attribute values you specify in the JSON files. +-- +-- The file paths are relative to workspace and only workspace folder settings are considered. +-- +-- ```lua +-- default = {} +-- ``` +---@field customData string[] +---@field format _.lspconfig.settings.html.Format +---@field hover _.lspconfig.settings.html.Hover +-- Enable/disable mirroring cursor on matching HTML tag. +---@field mirrorCursorOnMatchingTag boolean +---@field suggest _.lspconfig.settings.html.Suggest +---@field trace _.lspconfig.settings.html.Trace +---@field validate _.lspconfig.settings.html.Validate + +---@class lspconfig.settings.html +---@field html _.lspconfig.settings.html.Html + +---@class _.lspconfig.settings.intelephense.Compatibility +-- Resolves `ArrayAccess` and `Traversable` implementations that are unioned with a typed array to generic syntax. eg `ArrayAccessOrTraversable|ElementType[]` => `ArrayAccessOrTraversable`. +-- +-- ```lua +-- default = true +-- ``` +---@field correctForArrayAccessArrayAndTraversableArrayUnionTypes boolean +-- Resolves `BaseClass|static` union types to `static` instead of `BaseClass`. +-- +-- ```lua +-- default = true +-- ``` +---@field correctForBaseClassStaticUnionTypes boolean +-- Prefer `@psalm-` and `@phpstan-` prefixed `@return`, `@var`, `@param` tags when determining symbol types. +---@field preferPsalmPhpstanPrefixedAnnotations boolean + +---@class _.lspconfig.settings.intelephense.Completion +-- Global namespace constants and functions will be fully qualified (prefixed with a backslash). +---@field fullyQualifyGlobalConstantsAndFunctions boolean +-- Use declarations will be automatically inserted for namespaced classes, traits, interfaces, functions, and constants. +-- +-- ```lua +-- default = true +-- ``` +---@field insertUseDeclaration boolean +-- The maximum number of completion items returned per request. +-- +-- ```lua +-- default = 100 +-- ``` +---@field maxItems number +-- Method and function completions will include parentheses and trigger parameter hints. +-- +-- ```lua +-- default = true +-- ``` +---@field triggerParameterHints boolean + +---@class _.lspconfig.settings.intelephense.Diagnostics +-- Enables argument count diagnostics. +-- +-- ```lua +-- default = true +-- ``` +---@field argumentCount boolean +-- Enables deprecated diagnostics. +-- +-- ```lua +-- default = true +-- ``` +---@field deprecated boolean +-- Enables duplicate symbol diagnostics. +-- +-- ```lua +-- default = true +-- ``` +---@field duplicateSymbols boolean +-- Enables diagnostics in embedded languages. +-- +-- ```lua +-- default = true +-- ``` +---@field embeddedLanguages boolean +-- Enables diagnostics. +-- +-- ```lua +-- default = true +-- ``` +---@field enable boolean +-- Enables reporting of problems associated with method and class implementations. For example, unimplemented methods or method signature incompatibilities. +-- +-- ```lua +-- default = true +-- ``` +---@field implementationErrors boolean +-- Enables reporting of various language constraint errors. +-- +-- ```lua +-- default = true +-- ``` +---@field languageConstraints boolean +-- Controls when diagnostics are run. +-- +-- ```lua +-- default = "onType" +-- ``` +---@field run "onType" | "onSave" +-- Enables diagnostics on type compatibility of arguments, property assignments, and return statements where types have been declared. +-- +-- ```lua +-- default = true +-- ``` +---@field typeErrors boolean +-- Enables undefined class constant diagnostics. +-- +-- ```lua +-- default = true +-- ``` +---@field undefinedClassConstants boolean +-- Enables undefined constant diagnostics. +-- +-- ```lua +-- default = true +-- ``` +---@field undefinedConstants boolean +-- Enables undefined function diagnostics. +-- +-- ```lua +-- default = true +-- ``` +---@field undefinedFunctions boolean +-- Enables undefined method diagnostics. +-- +-- ```lua +-- default = true +-- ``` +---@field undefinedMethods boolean +-- Enables undefined static property diagnostics. +-- +-- ```lua +-- default = true +-- ``` +---@field undefinedProperties boolean +-- DEPRECATED. Use the setting for each symbol category. +-- +-- ```lua +-- default = true +-- ``` +---@field undefinedSymbols boolean +-- Enables undefined class, interface and trait diagnostics. +-- +-- ```lua +-- default = true +-- ``` +---@field undefinedTypes boolean +-- Enables undefined variable diagnostics. +-- +-- ```lua +-- default = true +-- ``` +---@field undefinedVariables boolean +-- Enables unexpected token diagnostics. +-- +-- ```lua +-- default = true +-- ``` +---@field unexpectedTokens boolean +-- Enables unused variable, private member, and import diagnostics. +-- +-- ```lua +-- default = true +-- ``` +---@field unusedSymbols boolean + +---@class _.lspconfig.settings.intelephense.Environment +-- The directory of the entry point to the application (directory of index.php). Can be absolute or relative to the workspace folder. Used for resolving script inclusion and path suggestions. +---@field documentRoot string +-- The include paths (as individual path items) as defined in the include_path ini setting or paths to external libraries. Can be absolute or relative to the workspace folder. Used for resolving script inclusion and/or adding external symbols to folder. +---@field includePaths string[] +-- A semver compatible string that represents the target PHP version. Used for providing version appropriate suggestions and diagnostics. PHP 5.3.0 and greater supported. +-- +-- ```lua +-- default = "8.3.0" +-- ``` +---@field phpVersion string +-- When enabled '` or `}` +-- +-- ```lua +-- default = true +-- ``` +---@field enabled boolean + +---@class _.lspconfig.settings.jdtls.Settings +-- Optional formatter profile name from the Eclipse formatter settings. +---@field profile string +-- Specifies the url or file path to the [Eclipse formatter xml settings](https://github.com/redhat-developer/vscode-java/wiki/Formatter-settings). +---@field url string + +---@class _.lspconfig.settings.jdtls.Format +---@field comments _.lspconfig.settings.jdtls.Comments +-- Enable/disable default Java formatter +-- +-- ```lua +-- default = true +-- ``` +---@field enabled boolean +---@field onType _.lspconfig.settings.jdtls.OnType +---@field settings _.lspconfig.settings.jdtls.Settings + +---@class _.lspconfig.settings.jdtls.ImplementationsCodeLens +-- Enable/disable the implementations code lens. +---@field enabled boolean + +---@class _.lspconfig.settings.jdtls.AnnotationProcessing +-- Enable/disable the annotation processing on Gradle projects and delegate Annotation Processing to JDT APT. Only works for Gradle 5.2 or higher. +-- +-- ```lua +-- default = true +-- ``` +---@field enabled boolean + +---@class _.lspconfig.settings.jdtls.Java +-- The location to the JVM used to run the Gradle daemon. +---@field home string + +---@class _.lspconfig.settings.jdtls.Offline +-- Enable/disable the Gradle offline mode. +---@field enabled boolean + +---@class _.lspconfig.settings.jdtls.User +-- Setting for GRADLE_USER_HOME. +---@field home string + +---@class _.lspconfig.settings.jdtls.Wrapper +-- Use Gradle from the 'gradle-wrapper.properties' file. +-- +-- ```lua +-- default = true +-- ``` +---@field enabled boolean + +---@class _.lspconfig.settings.jdtls.Gradle +---@field annotationProcessing _.lspconfig.settings.jdtls.AnnotationProcessing +-- Arguments to pass to Gradle. +---@field arguments string +-- Enable/disable the Gradle importer. +-- +-- ```lua +-- default = true +-- ``` +---@field enabled boolean +-- Use Gradle from the specified local installation directory or GRADLE_HOME if the Gradle wrapper is missing or disabled and no 'java.import.gradle.version' is specified. +---@field home string +---@field java _.lspconfig.settings.jdtls.Java +-- JVM arguments to pass to Gradle. +---@field jvmArguments string +---@field offline _.lspconfig.settings.jdtls.Offline +---@field user _.lspconfig.settings.jdtls.User +-- Use Gradle from the specific version if the Gradle wrapper is missing or disabled. +---@field version string +---@field wrapper _.lspconfig.settings.jdtls.Wrapper + +---@class _.lspconfig.settings.jdtls.Offline +-- Enable/disable the Maven offline mode. +---@field enabled boolean + +---@class _.lspconfig.settings.jdtls.Maven +-- Enable/disable test classpath segregation. When enabled, this permits the usage of test resources within a Maven project as dependencies within the compile scope of other projects. +---@field disableTestClasspathFlag boolean +-- Enable/disable the Maven importer. +-- +-- ```lua +-- default = true +-- ``` +---@field enabled boolean +---@field offline _.lspconfig.settings.jdtls.Offline + +---@class _.lspconfig.settings.jdtls.Import +-- Configure glob patterns for excluding folders. Use `!` to negate patterns to allow subfolders imports. You have to include a parent directory. The order is important. +-- +-- ```lua +-- default = { "**/node_modules/**", "**/.metadata/**", "**/archetype-resources/**", "**/META-INF/maven/**" } +-- ``` +---@field exclusions any[] +-- Specify whether the project metadata files(.project, .classpath, .factorypath, .settings/) will be generated at the project root. Click [HERE](command:_java.metadataFilesGeneration) to learn how to change the setting to make it take effect. +---@field generatesMetadataFilesAtProjectRoot boolean +---@field gradle _.lspconfig.settings.jdtls.Gradle +---@field maven _.lspconfig.settings.jdtls.Maven +-- [Experimental] Specifies how to select build configuration files to import. +-- Note: Currently, `Gradle` projects cannot be partially imported. +-- +-- ```lua +-- default = "automatic" +-- ``` +---@field projectSelection "manual" | "automatic" + +---@class _.lspconfig.settings.jdtls.Wrapper +-- Defines allowed/disallowed SHA-256 checksums of Gradle Wrappers +-- +-- ```lua +-- default = {} +-- ``` +---@field checksums object[] + +---@class _.lspconfig.settings.jdtls.Gradle +---@field wrapper _.lspconfig.settings.jdtls.Wrapper + +---@class _.lspconfig.settings.jdtls.Imports +---@field gradle _.lspconfig.settings.jdtls.Gradle + +---@class _.lspconfig.settings.jdtls.ParameterNames +-- Enable/disable inlay hints for parameter names: +-- ```java +-- +-- Integer.valueOf(/* s: */ '123', /* radix: */ 10) +-- +-- ``` +-- `#java.inlayHints.parameterNames.exclusions#` can be used to disable the inlay hints for methods. +-- +-- ```lua +-- default = "literals" +-- ``` +---@field enabled "none" | "literals" | "all" +-- The patterns for the methods that will be disabled to show the inlay hints. Supported pattern examples: +-- - `java.lang.Math.*` - All the methods from java.lang.Math. +-- - `*.Arrays.asList` - Methods named as 'asList' in the types named as 'Arrays'. +-- - `*.println(*)` - Methods named as 'println'. +-- - `(from, to)` - Methods with two parameters named as 'from' and 'to'. +-- - `(arg*)` - Methods with one parameter whose name starts with 'arg'. +-- +-- ```lua +-- default = {} +-- ``` +---@field exclusions string[] + +---@class _.lspconfig.settings.jdtls.InlayHints +---@field parameterNames _.lspconfig.settings.jdtls.ParameterNames + +---@class _.lspconfig.settings.jdtls.AndroidSupport +-- [Experimental] Specify whether to enable Android project importing. When set to `auto`, the Android support will be enabled in Visual Studio Code - Insiders. +-- +-- **Note:** Only works for Android Gradle Plugin `3.2.0` or higher. +-- +-- ```lua +-- default = "auto" +-- ``` +---@field enabled "auto" | "on" | "off" + +---@class _.lspconfig.settings.jdtls.Java +-- Specifies the folder path to the JDK (17 or more recent) used to launch the Java Language Server. This setting will replace the Java extension's embedded JRE to start the Java Language Server. +-- +-- On Windows, backslashes must be escaped, i.e. +-- "java.jdt.ls.java.home":"C:\\Program Files\\Java\\jdk-17.0_3" +---@field home string + +---@class _.lspconfig.settings.jdtls.LombokSupport +-- Whether to load lombok processors from project classpath +-- +-- ```lua +-- default = true +-- ``` +---@field enabled boolean + +---@class _.lspconfig.settings.jdtls.ProtobufSupport +-- Specify whether to automatically add Protobuf output source directories to the classpath. +-- +-- **Note:** Only works for Gradle `com.google.protobuf` plugin `0.8.4` or higher. +-- +-- ```lua +-- default = true +-- ``` +---@field enabled boolean + +---@class _.lspconfig.settings.jdtls.Ls +---@field androidSupport _.lspconfig.settings.jdtls.AndroidSupport +---@field java _.lspconfig.settings.jdtls.Java +---@field lombokSupport _.lspconfig.settings.jdtls.LombokSupport +---@field protobufSupport _.lspconfig.settings.jdtls.ProtobufSupport +-- Specifies extra VM arguments used to launch the Java Language Server. Eg. use `-XX:+UseParallelGC -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -Dsun.zip.disableMemoryMapping=true -Xmx1G -Xms100m -Xlog:disable` to optimize memory usage with the parallel garbage collector +-- +-- ```lua +-- default = "-XX:+UseParallelGC -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -Dsun.zip.disableMemoryMapping=true -Xmx1G -Xms100m -Xlog:disable" +-- ``` +---@field vmargs string + +---@class _.lspconfig.settings.jdtls.Jdt +---@field ls _.lspconfig.settings.jdtls.Ls + +---@class _.lspconfig.settings.jdtls.Maven +-- Enable/disable download of Maven source artifacts as part of importing Maven projects. +---@field downloadSources boolean +-- Force update of Snapshots/Releases. +---@field updateSnapshots boolean + +---@class _.lspconfig.settings.jdtls.Project +-- Project encoding settings +-- +-- ```lua +-- default = "ignore" +-- ``` +---@field encoding "ignore" | "warning" | "setDefault" +-- Enable/disable the server-mode switch information, when Java projects import is skipped on startup. +-- +-- ```lua +-- default = true +-- ``` +---@field importHint boolean +-- Specifies whether to import the Java projects, when opening the folder in Hybrid mode for the first time. +-- +-- ```lua +-- default = "automatic" +-- ``` +---@field importOnFirstTimeStartup "disabled" | "interactive" | "automatic" +-- A relative path to the workspace where stores the compiled output. `Only` effective in the `WORKSPACE` scope. The setting will `NOT` affect Maven or Gradle project. +-- +-- ```lua +-- default = "" +-- ``` +---@field outputPath string +-- Configure glob patterns for referencing local libraries to a Java project. +-- +-- ```lua +-- default = { "lib/**/*.jar" } +-- ``` +---@field referencedLibraries any[]|table +-- Excludes files and folders from being refreshed by the Java Language Server, which can improve the overall performance. For example, ["node_modules","\.git"] will exclude all files and folders named `node_modules` or `.git`. Pattern expressions must be compatible with `java.util.regex.Pattern`. Defaults to ["node_modules","\.git"]. +-- +-- ```lua +-- default = { "node_modules", "\\.git" } +-- ``` +---@field resourceFilters string[] +-- Relative paths to the workspace where stores the source files. `Only` effective in the `WORKSPACE` scope. The setting will `NOT` affect Maven or Gradle project. +-- +-- ```lua +-- default = {} +-- ``` +---@field sourcePaths string[] + +---@class _.lspconfig.settings.jdtls.Quickfix +-- Show quickfixes at the problem or line level. +-- +-- ```lua +-- default = "line" +-- ``` +---@field showAt "line" | "problem" + +---@class _.lspconfig.settings.jdtls.Interface +-- Specify whether to replace all the occurrences of the subtype with the new extracted interface. +-- +-- ```lua +-- default = true +-- ``` +---@field replace boolean + +---@class _.lspconfig.settings.jdtls.Extract +---@field interface _.lspconfig.settings.jdtls.Interface + +---@class _.lspconfig.settings.jdtls.Refactoring +---@field extract _.lspconfig.settings.jdtls.Extract + +---@class _.lspconfig.settings.jdtls.References +-- Include getter, setter and builder/constructor when finding references. +-- +-- ```lua +-- default = true +-- ``` +---@field includeAccessors boolean +-- Include the decompiled sources when finding references. +-- +-- ```lua +-- default = true +-- ``` +---@field includeDecompiledSources boolean + +---@class _.lspconfig.settings.jdtls.ReferencesCodeLens +-- Enable/disable the references code lens. +---@field enabled boolean + +---@class _.lspconfig.settings.jdtls.SaveActions +-- Enable/disable cleanup actions on save. +-- +-- ```lua +-- default = true +-- ``` +---@field cleanup boolean +-- Enable/disable auto organize imports on save action +---@field organizeImports boolean + +---@class _.lspconfig.settings.jdtls.SelectionRange +-- Enable/disable Smart Selection support for Java. Disabling this option will not affect the VS Code built-in word-based and bracket-based smart selection. +-- +-- ```lua +-- default = true +-- ``` +---@field enabled boolean + +---@class _.lspconfig.settings.jdtls.Server +-- The launch mode for the Java extension +-- +-- ```lua +-- default = "Hybrid" +-- ``` +---@field launchMode "Standard" | "LightWeight" | "Hybrid" + +---@class _.lspconfig.settings.jdtls.Settings +-- Specifies the url or file path to the workspace Java settings. See [Setting Global Preferences](https://github.com/redhat-developer/vscode-java/wiki/Settings-Global-Preferences) +---@field url string + +---@class _.lspconfig.settings.jdtls.SharedIndexes +-- [Experimental] Specify whether to share indexes between different workspaces. When set to `auto`, shared indexes will be enabled in Visual Studio Code - Insiders. +-- +-- ```lua +-- default = "auto" +-- ``` +---@field enabled "auto" | "on" | "off" +-- Specifies a common index location for all workspaces. See default values as follows: +-- +-- Windows: First use `"$APPDATA\\.jdt\\index"`, or `"~\\.jdt\\index"` if it does not exist +-- +-- macOS: `"~/Library/Caches/.jdt/index"` +-- +-- Linux: First use `"$XDG_CACHE_HOME/.jdt/index"`, or `"~/.cache/.jdt/index"` if it does not exist +-- +-- ```lua +-- default = "" +-- ``` +---@field location string + +---@class _.lspconfig.settings.jdtls.ShowBuildStatusOnStart +-- Automatically show build status on startup. +-- +-- ```lua +-- default = "notification" +-- ``` +---@field enabled "notification" | "terminal" | "off"|any + +---@class _.lspconfig.settings.jdtls.Description +-- Enable/disable to show the description in signature help. +---@field enabled boolean + +---@class _.lspconfig.settings.jdtls.SignatureHelp +---@field description _.lspconfig.settings.jdtls.Description +-- Enable/disable the signature help. +-- +-- ```lua +-- default = true +-- ``` +---@field enabled boolean + +---@class _.lspconfig.settings.jdtls.OrganizeImports +-- Specifies the number of imports added before a star-import declaration is used. +-- +-- ```lua +-- default = 99 +-- ``` +---@field starThreshold integer +-- Specifies the number of static imports added before a star-import declaration is used. +-- +-- ```lua +-- default = 99 +-- ``` +---@field staticStarThreshold integer + +---@class _.lspconfig.settings.jdtls.Sources +---@field organizeImports _.lspconfig.settings.jdtls.OrganizeImports + +---@class _.lspconfig.settings.jdtls.Symbols +-- Include method declarations from source files in symbol search. +---@field includeSourceMethodDeclarations boolean + +---@class _.lspconfig.settings.jdtls.Templates +-- Specifies the file header comment for new Java file. Supports configuring multi-line comments with an array of strings, and using ${variable} to reference the [predefined variables](command:_java.templateVariables). +-- +-- ```lua +-- default = {} +-- ``` +---@field fileHeader any[] +-- Specifies the type comment for new Java type. Supports configuring multi-line comments with an array of strings, and using ${variable} to reference the [predefined variables](command:_java.templateVariables). +-- +-- ```lua +-- default = {} +-- ``` +---@field typeComment any[] + +---@class _.lspconfig.settings.jdtls.Trace +-- Traces the communication between VS Code and the Java language server. +-- +-- ```lua +-- default = "off" +-- ``` +---@field server "off" | "messages" | "verbose" + +---@class _.lspconfig.settings.jdtls.TypeHierarchy +-- Enable/disable lazy loading the content in type hierarchy. Lazy loading could save a lot of loading time but every type should be expanded manually to load its content. +---@field lazyLoad boolean + +---@class _.lspconfig.settings.jdtls.Java +---@field autobuild _.lspconfig.settings.jdtls.Autobuild +---@field cleanup _.lspconfig.settings.jdtls.Cleanup +---@field codeAction _.lspconfig.settings.jdtls.CodeAction +---@field codeGeneration _.lspconfig.settings.jdtls.CodeGeneration +---@field compile _.lspconfig.settings.jdtls.Compile +---@field completion _.lspconfig.settings.jdtls.Completion +---@field configuration _.lspconfig.settings.jdtls.Configuration +---@field contentProvider _.lspconfig.settings.jdtls.ContentProvider +---@field eclipse _.lspconfig.settings.jdtls.Eclipse +---@field edit _.lspconfig.settings.jdtls.Edit +---@field editor _.lspconfig.settings.jdtls.Editor +---@field errors _.lspconfig.settings.jdtls.Errors +---@field foldingRange _.lspconfig.settings.jdtls.FoldingRange +---@field format _.lspconfig.settings.jdtls.Format +-- Specifies the folder path to the JDK (17 or more recent) used to launch the Java Language Server. +-- On Windows, backslashes must be escaped, i.e. +-- "java.home":"C:\\Program Files\\Java\\jdk-17.0_3" +---@field home string +---@field implementationsCodeLens _.lspconfig.settings.jdtls.ImplementationsCodeLens +---@field import _.lspconfig.settings.jdtls.Import +---@field imports _.lspconfig.settings.jdtls.Imports +---@field inlayHints _.lspconfig.settings.jdtls.InlayHints +---@field jdt _.lspconfig.settings.jdtls.Jdt +---@field maven _.lspconfig.settings.jdtls.Maven +-- Max simultaneous project builds +-- +-- ```lua +-- default = 1 +-- ``` +---@field maxConcurrentBuilds integer +---@field project _.lspconfig.settings.jdtls.Project +---@field quickfix _.lspconfig.settings.jdtls.Quickfix +---@field refactoring _.lspconfig.settings.jdtls.Refactoring +---@field references _.lspconfig.settings.jdtls.References +---@field referencesCodeLens _.lspconfig.settings.jdtls.ReferencesCodeLens +---@field saveActions _.lspconfig.settings.jdtls.SaveActions +---@field selectionRange _.lspconfig.settings.jdtls.SelectionRange +---@field server _.lspconfig.settings.jdtls.Server +---@field settings _.lspconfig.settings.jdtls.Settings +---@field sharedIndexes _.lspconfig.settings.jdtls.SharedIndexes +---@field showBuildStatusOnStart _.lspconfig.settings.jdtls.ShowBuildStatusOnStart +---@field signatureHelp _.lspconfig.settings.jdtls.SignatureHelp +---@field sources _.lspconfig.settings.jdtls.Sources +---@field symbols _.lspconfig.settings.jdtls.Symbols +---@field templates _.lspconfig.settings.jdtls.Templates +---@field trace _.lspconfig.settings.jdtls.Trace +---@field typeHierarchy _.lspconfig.settings.jdtls.TypeHierarchy + +---@class _.lspconfig.settings.jdtls.Telemetry +-- Enable usage data and errors to be sent to Red Hat servers. Read our [privacy statement](https://developers.redhat.com/article/tool-data-collection). +---@field enabled boolean + +---@class _.lspconfig.settings.jdtls.Redhat +---@field telemetry _.lspconfig.settings.jdtls.Telemetry + +---@class lspconfig.settings.jdtls +---@field java _.lspconfig.settings.jdtls.Java +---@field redhat _.lspconfig.settings.jdtls.Redhat + +---@class _.lspconfig.settings.jsonls.ColorDecorators +-- Enables or disables color decorators +-- +-- ```lua +-- default = true +-- ``` +---@field enable boolean + +---@class _.lspconfig.settings.jsonls.Format +-- Enable/disable default JSON formatter +-- +-- ```lua +-- default = true +-- ``` +---@field enable boolean +-- Keep all existing new lines when formatting. +---@field keepLines boolean + +---@class _.lspconfig.settings.jsonls.SchemaDownload +-- When enabled, JSON schemas can be fetched from http and https locations. +-- +-- ```lua +-- default = true +-- ``` +---@field enable boolean + +---@class _.lspconfig.settings.jsonls.Trace +-- Traces the communication between VS Code and the JSON language server. +-- +-- ```lua +-- default = "off" +-- ``` +---@field server "off" | "messages" | "verbose" + +---@class _.lspconfig.settings.jsonls.Validate +-- Enable/disable JSON validation. +-- +-- ```lua +-- default = true +-- ``` +---@field enable boolean + +---@class _.lspconfig.settings.jsonls.Json +---@field colorDecorators _.lspconfig.settings.jsonls.ColorDecorators +---@field format _.lspconfig.settings.jsonls.Format +-- The maximum number of outline symbols and folding regions computed (limited for performance reasons). +-- +-- ```lua +-- default = 5000 +-- ``` +---@field maxItemsComputed number +---@field schemaDownload _.lspconfig.settings.jsonls.SchemaDownload +-- Associate schemas to JSON files in the current project. +---@field schemas object[] +---@field trace _.lspconfig.settings.jsonls.Trace +---@field validate _.lspconfig.settings.jsonls.Validate + +---@class lspconfig.settings.jsonls +---@field json _.lspconfig.settings.jsonls.Json + +---@class _.lspconfig.settings.julials.Execution +-- Print executed code in REPL and append it to the REPL history. +---@field codeInREPL boolean +-- Show separate inline results for all code blocks in a cell +---@field inlineResultsForCellEvaluation boolean +-- Specifies how to show inline execution results +-- +-- ```lua +-- default = "both" +-- ``` +---@field resultType "REPL" | "inline" | "inline, errors in REPL" | "both" +-- Save file before execution +---@field saveOnEval boolean + +---@class _.lspconfig.settings.julials.Lint +-- This compares call signatures against all known methods for the called function. Calls with too many or too few arguments, or unknown keyword parameters are highlighted. +-- +-- ```lua +-- default = true +-- ``` +---@field call boolean +-- Check for constant conditionals in if statements that result in branches never being reached.. +-- +-- ```lua +-- default = true +-- ``` +---@field constif boolean +-- Check variables used in type declarations are datatypes. +-- +-- ```lua +-- default = true +-- ``` +---@field datadecl boolean +-- Specifies sub-directories in [a package directory](https://docs.julialang.org/en/v1/manual/code-loading/#Package-directories-1) where only basic linting is. This drastically lowers the chance for false positives. +-- +-- ```lua +-- default = { "docs", "test" } +-- ``` +---@field disabledDirs any[] +-- Check iterator syntax of loops. Will identify, for example, attempts to iterate over single values. +-- +-- ```lua +-- default = true +-- ``` +---@field iter boolean +-- Check for deterministic lazy boolean operators. +-- +-- ```lua +-- default = true +-- ``` +---@field lazy boolean +-- Highlight unknown symbols. The `symbols` option will not mark unknown fields. +-- +-- ```lua +-- default = "none" +-- ``` +---@field missingrefs "none" | "symbols" | "all" +-- Check submodule names do not shadow their parent's name. +-- +-- ```lua +-- default = true +-- ``` +---@field modname boolean +-- Check for use of `==` rather than `===` when comparing against `nothing`. +-- +-- ```lua +-- default = true +-- ``` +---@field nothingcomp boolean +-- Check for type piracy - the overloading of external functions with methods specified for external datatypes. 'External' here refers to imported code. +-- +-- ```lua +-- default = true +-- ``` +---@field pirates boolean +-- Run the linter on active files. +-- +-- ```lua +-- default = true +-- ``` +---@field run boolean +-- Check parameters declared in `where` statements or datatype declarations are used. +-- +-- ```lua +-- default = true +-- ``` +---@field typeparam boolean +-- Check that all declared arguments are used within the function body. +-- +-- ```lua +-- default = true +-- ``` +---@field useoffuncargs boolean + +---@class _.lspconfig.settings.julials.PersistentSession +-- Always copy the command for connecting to an external REPL to the clipboard. +---@field alwaysCopy boolean +-- Experimental: Starts the interactive Julia session in a persistent `tmux` session. Note that `tmux` must be available in the shell defined below. If present the string `$[workspace]` will be replaced with the current file's workspace when the REPL is first opened. +---@field enabled boolean +-- Shell used to start the persistent session. +-- +-- ```lua +-- default = "/bin/sh" +-- ``` +---@field shell string +-- Argument to execute code in the configured shell, e.g. `-c` for sh-likes or `/c` for `cmd`. +-- +-- ```lua +-- default = "-c" +-- ``` +---@field shellExecutionArgument string +-- Name of the `tmux` session. +-- +-- ```lua +-- default = "julia_vscode" +-- ``` +---@field tmuxSessionName string +-- Warn when stopping a persistent session. +-- +-- ```lua +-- default = true +-- ``` +---@field warnOnKill boolean + +---@class _.lspconfig.settings.julials.Plots +-- The output directory to save plots to +---@field path string + +---@class _.lspconfig.settings.julials.Trace +-- Traces the communication between VS Code and the language server. +-- +-- ```lua +-- default = "off" +-- ``` +---@field server "off" | "messages" | "verbose" + +---@class _.lspconfig.settings.julials.Workspace +-- Show top-level modules in the workspace. +-- +-- ```lua +-- default = true +-- ``` +---@field showModules boolean + +---@class _.lspconfig.settings.julials.Julia +-- Number of threads to use for Julia processes. A value of `auto` works on Julia versions that allow for `--threads=auto`. +---@field NumThreads integer|string +-- Additional Julia arguments. +-- +-- ```lua +-- default = {} +-- ``` +---@field additionalArgs any[] +-- Cell delimiter regular expressions for Julia files. +-- +-- ```lua +-- default = { "^##(?!#)", "^#(\\s?)%%", "^#-" } +-- ``` +---@field cellDelimiters any[] +-- Sets the mode for completions. +-- +-- ```lua +-- default = "qualify" +-- ``` +---@field completionmode "exportedonly" | "import" | "qualify" +-- Functions or modules that are set to compiled mode when setting the defaults. +-- +-- ```lua +-- default = { "Base.", "-Base.!", "-Base.all", "-Base.all!", "-Base.any", "-Base.any!", "-Base.cd", "-Base.iterate", "-Base.collect", "-Base.collect_similar", "-Base._collect", "-Base.collect_to!", "-Base.collect_to_with_first!", "-Base.filter", "-Base.filter!", "-Base.foreach", "-Base.findall", "-Base.findfirst", "-Base.findlast", "-Base.findnext", "-Base.findprev", "-Base.Generator", "-Base.map", "-Base.map!", "-Base.maximum!", "-Base.minimum!", "-Base.mktemp", "-Base.mktempdir", "-Base.open", "-Base.prod!", "-Base.redirect_stderr", "-Base.redirect_stdin", "-Base.redirect_stdout", "-Base.reenable_sigint", "-Base.setindex!", "-Base.setprecision", "-Base.setrounding", "-Base.show", "-Base.sprint", "-Base.sum", "-Base.sum!", "-Base.task_local_storage", "-Base.timedwait", "-Base.withenv", "-Base.Broadcast", "Core", "Core.Compiler.", "Core.IR", "Core.Intrinsics", "DelimitedFiles", "Distributed", "LinearAlgebra.", "Serialization", "Statistics", "-Statistics.mean", "SparseArrays", "Mmap" } +-- ``` +---@field debuggerDefaultCompiled any[] +-- Delete Julia .cov files when running tests with coverage, leaving only a .lcov file behind. +-- +-- ```lua +-- default = true +-- ``` +---@field deleteJuliaCovFiles boolean +-- Command to open files from the REPL (via setting the `JULIA_EDITOR` environment variable). +-- +-- ```lua +-- default = "code" +-- ``` +---@field editor string +-- Enable crash reports to be sent to the julia VS Code extension developers. +---@field enableCrashReporter boolean +-- Enable usage data and errors to be sent to the julia VS Code extension developers. +---@field enableTelemetry boolean +-- Path to a julia environment. VS Code needs to be reloaded for changes to take effect. +---@field environmentPath string +-- Points to the julia executable. +-- +-- ```lua +-- default = "" +-- ``` +---@field executablePath string +---@field execution _.lspconfig.settings.julials.Execution +-- Whether to automatically show the plot navigator when plotting. +---@field focusPlotNavigator boolean +---@field lint _.lspconfig.settings.julials.Lint +-- A workspace relative path to a Julia file that contains the tests that should be run for live testing. +-- +-- ```lua +-- default = "test/runtests.jl" +-- ``` +---@field liveTestFile string +-- Julia package server. Sets the `JULIA_PKG_SERVER` environment variable *before* starting a Julia process. Leave this empty to use the systemwide default. Requires a restart of the Julia process. +-- +-- ```lua +-- default = "" +-- ``` +---@field packageServer string +---@field persistentSession _.lspconfig.settings.julials.PersistentSession +---@field plots _.lspconfig.settings.julials.Plots +-- Request runtime completions from the integrated REPL. +---@field runtimeCompletions boolean +-- Enable display of runtime diagnostics. These diagnostics are provided by packages that overload a `show` method for the `application/vnd.julia-vscode.diagnostics` MIME type. +-- +-- ```lua +-- default = true +-- ``` +---@field showRuntimeDiagnostics boolean +-- Download symbol server cache files from GitHub. +---@field symbolCacheDownload boolean +-- Symbol server cache download URL. +-- +-- ```lua +-- default = "https://www.julia-vscode.org/symbolcache" +-- ``` +---@field symbolserverUpstream string +---@field trace _.lspconfig.settings.julials.Trace +-- Use an existing custom sysimage when starting the REPL +---@field useCustomSysimage boolean +-- Display plots within VS Code. Might require a restart of the Julia process. +-- +-- ```lua +-- default = true +-- ``` +---@field usePlotPane boolean +-- Display [progress bars](https://github.com/JunoLab/ProgressLogging.jl) within VS Code. +-- +-- ```lua +-- default = true +-- ``` +---@field useProgressFrontend boolean +-- Load Revise.jl on startup of the REPL. +-- +-- ```lua +-- default = true +-- ``` +---@field useRevise boolean +---@field workspace _.lspconfig.settings.julials.Workspace + +---@class lspconfig.settings.julials +---@field julia _.lspconfig.settings.julials.Julia + +---@class _.lspconfig.settings.kotlin_language_server.Jvm +-- Specifies the JVM target, e.g. "1.6" or "1.8" +-- +-- ```lua +-- default = "default" +-- ``` +---@field target string + +---@class _.lspconfig.settings.kotlin_language_server.Compiler +---@field jvm _.lspconfig.settings.kotlin_language_server.Jvm + +---@class _.lspconfig.settings.kotlin_language_server.Snippets +-- Specifies whether code completion should provide snippets (true) or plain-text items (false). +-- +-- ```lua +-- default = true +-- ``` +---@field enabled boolean + +---@class _.lspconfig.settings.kotlin_language_server.Completion +---@field snippets _.lspconfig.settings.kotlin_language_server.Snippets + +---@class _.lspconfig.settings.kotlin_language_server.DebugAdapter +-- [Recommended] Specifies whether the debug adapter should be used. When enabled a debugger for Kotlin will be available. +-- +-- ```lua +-- default = true +-- ``` +---@field enabled boolean +-- Optionally a custom path to the debug adapter executable. +-- +-- ```lua +-- default = "" +-- ``` +---@field path string + +---@class _.lspconfig.settings.kotlin_language_server.Diagnostics +-- [DEBUG] Specifies the debounce time limit. Lower to increase responsiveness at the cost of possible stability issues. +-- +-- ```lua +-- default = 250 +-- ``` +---@field debounceTime integer +-- Whether diagnostics (e.g. errors or warnings from the Kotlin compiler) should be emitted. +-- +-- ```lua +-- default = true +-- ``` +---@field enabled boolean +-- The minimum severity of diagnostics to emit. +-- +-- ```lua +-- default = "hint" +-- ``` +---@field level "error" | "warning" | "information" | "hint" + +---@class _.lspconfig.settings.kotlin_language_server.ExternalSources +-- Specifies whether decompiled/external classes should be auto-converted to Kotlin. +---@field autoConvertToKotlin boolean +-- [Recommended] Specifies whether URIs inside JARs should be represented using the 'kls'-scheme. +-- +-- ```lua +-- default = true +-- ``` +---@field useKlsScheme boolean + +---@class _.lspconfig.settings.kotlin_language_server.Indexing +-- Whether global symbols in the project should be indexed automatically in the background. This enables e.g. code completion for unimported classes and functions. +-- +-- ```lua +-- default = true +-- ``` +---@field enabled boolean + +---@class _.lspconfig.settings.kotlin_language_server.InlayHints +-- Whether to provide inlay hints on chained function calls or not. +---@field chainedHints boolean +-- Whether to provide inlay hints for parameters on call sites or not. +---@field parameterHints boolean +-- Whether to provide inlay hints for types on declaration sites or not. +---@field typeHints boolean + +---@class _.lspconfig.settings.kotlin_language_server.Java +-- A custom JAVA_HOME for the language server and debug adapter to use. +-- +-- ```lua +-- default = "" +-- ``` +---@field home string +-- Custom options using JAVA_OPTS for the language server and debug adapter. +-- +-- ```lua +-- default = "" +-- ``` +---@field opts string + +---@class _.lspconfig.settings.kotlin_language_server.DebugAttach +-- [DEBUG] If enabled (together with debugAttach.enabled), the language server will not immediately launch but instead listen on the specified attach port and wait for a debugger. This is ONLY useful if you need to debug the language server ITSELF. +---@field autoSuspend boolean +-- [DEBUG] Whether the language server should listen for debuggers, i.e. be debuggable while running in VSCode. This is ONLY useful if you need to debug the language server ITSELF. +---@field enabled boolean +-- [DEBUG] If transport is stdio this enables you to attach to the running language server with a debugger. This is ONLY useful if you need to debug the language server ITSELF. +-- +-- ```lua +-- default = 5005 +-- ``` +---@field port integer + +---@class _.lspconfig.settings.kotlin_language_server.LanguageServer +---@field debugAttach _.lspconfig.settings.kotlin_language_server.DebugAttach +-- [Recommended] Specifies whether the language server should be used. When enabled the extension will provide code completions and linting, otherwise just syntax highlighting. Might require a reload to apply. +-- +-- ```lua +-- default = true +-- ``` +---@field enabled boolean +-- Optionally a custom path to the language server executable. +-- +-- ```lua +-- default = "" +-- ``` +---@field path string +-- The port to which the client will attempt to connect to. A random port is used if zero. Only used if the transport layer is TCP. +-- +-- ```lua +-- default = 0 +-- ``` +---@field port integer +-- The transport layer beneath the language server protocol. Note that the extension will launch the server even if a TCP socket is used. +-- +-- ```lua +-- default = "stdio" +-- ``` +---@field transport "stdio" | "tcp" + +---@class _.lspconfig.settings.kotlin_language_server.Linting +-- [DEBUG] Specifies the debounce time limit. Lower to increase responsiveness at the cost of possible stability issues. +-- +-- ```lua +-- default = 250 +-- ``` +---@field debounceTime integer + +---@class _.lspconfig.settings.kotlin_language_server.Scripts +-- Whether language features are provided for .gradle.kts scripts. Experimental and may not work properly. +---@field buildScriptsEnabled boolean +-- Whether language features are provided for .kts scripts. Experimental and may not work properly. +---@field enabled boolean + +---@class _.lspconfig.settings.kotlin_language_server.Trace +-- Traces the communication between VSCode and the Kotlin language server. +-- +-- ```lua +-- default = "off" +-- ``` +---@field server "off" | "messages" | "verbose" + +---@class _.lspconfig.settings.kotlin_language_server.Kotlin +---@field compiler _.lspconfig.settings.kotlin_language_server.Compiler +---@field completion _.lspconfig.settings.kotlin_language_server.Completion +-- [DEPRECATED] Specifies the debounce time limit. Lower to increase responsiveness at the cost of possible stability issues. +-- +-- ```lua +-- default = 250 +-- ``` +---@field debounceTime integer +---@field debugAdapter _.lspconfig.settings.kotlin_language_server.DebugAdapter +---@field diagnostics _.lspconfig.settings.kotlin_language_server.Diagnostics +---@field externalSources _.lspconfig.settings.kotlin_language_server.ExternalSources +---@field indexing _.lspconfig.settings.kotlin_language_server.Indexing +---@field inlayHints _.lspconfig.settings.kotlin_language_server.InlayHints +---@field java _.lspconfig.settings.kotlin_language_server.Java +---@field languageServer _.lspconfig.settings.kotlin_language_server.LanguageServer +---@field linting _.lspconfig.settings.kotlin_language_server.Linting +---@field scripts _.lspconfig.settings.kotlin_language_server.Scripts +-- [DEPRECATED] Specifies whether code completion should provide snippets (true) or plain-text items (false). +-- +-- ```lua +-- default = true +-- ``` +---@field snippetsEnabled boolean +---@field trace _.lspconfig.settings.kotlin_language_server.Trace + +---@class lspconfig.settings.kotlin_language_server +---@field kotlin _.lspconfig.settings.kotlin_language_server.Kotlin + +---@class _.lspconfig.settings.ltex.AdditionalRules +-- Enable LanguageTool rules that are marked as picky and that are disabled by default, e.g., rules about passive voice, sentence length, etc., at the cost of more false positives. +---@field enablePickyRules boolean +-- Optional path to a directory with rules of a language model with *n*-gram occurrence counts. Set this setting to the parent directory that contains subdirectories for languages (e.g., `en`). +-- +-- ```lua +-- default = "" +-- ``` +---@field languageModel string +-- Optional mother tongue of the user (e.g., `"de-DE"`). [More info...](https://valentjn.github.io/ltex/settings.html#ltexadditionalrulesmothertongue) +-- +-- ```lua +-- default = "" +-- ``` +---@field motherTongue "" | "ar" | "ast-ES" | "be-BY" | "br-FR" | "ca-ES" | "ca-ES-valencia" | "da-DK" | "de" | "de-AT" | "de-CH" | "de-DE" | "de-DE-x-simple-language" | "el-GR" | "en" | "en-AU" | "en-CA" | "en-GB" | "en-NZ" | "en-US" | "en-ZA" | "eo" | "es" | "es-AR" | "fa" | "fr" | "ga-IE" | "gl-ES" | "it" | "ja-JP" | "km-KH" | "nl" | "nl-BE" | "pl-PL" | "pt" | "pt-AO" | "pt-BR" | "pt-MZ" | "pt-PT" | "ro-RO" | "ru-RU" | "sk-SK" | "sl-SI" | "sv" | "ta-IN" | "tl-PH" | "uk-UA" | "zh-CN" +-- Optional path to a directory with rules of a pretrained neural network model. +-- +-- ```lua +-- default = "" +-- ``` +---@field neuralNetworkModel string +-- Optional path to a directory with rules of a word2vec language model. +-- +-- ```lua +-- default = "" +-- ``` +---@field word2VecModel string + +---@class _.lspconfig.settings.ltex.Bibtex +-- List of BibTeX fields whose values are to be checked in BibTeX files. [More info...](https://valentjn.github.io/ltex/settings.html#ltexbibtexfields) +-- +-- ```lua +-- default = {} +-- ``` +---@field fields table + +-- Controls which `settings.json` or external setting file ([see documentation](https://valentjn.github.io/ltex/vscode-ltex/setting-scopes-files.html#external-setting-files)) to update when using one of the quick fixes. +-- +-- ```lua +-- default = { +-- dictionary = "workspaceFolderExternalFile", +-- disabledRules = "workspaceFolderExternalFile", +-- hiddenFalsePositives = "workspaceFolderExternalFile" +-- } +-- ``` +---@class _.lspconfig.settings.ltex.ConfigurationTarget +---@field dictionary "user" | "workspace" | "workspaceFolder" | "userExternalFile" | "workspaceExternalFile" | "workspaceFolderExternalFile" +---@field disabledRules "user" | "workspace" | "workspaceFolder" | "userExternalFile" | "workspaceExternalFile" | "workspaceFolderExternalFile" +---@field hiddenFalsePositives "user" | "workspace" | "workspaceFolder" | "userExternalFile" | "workspaceExternalFile" | "workspaceFolderExternalFile" + +-- Lists of additional words that should not be counted as spelling errors. [More info...](https://valentjn.github.io/ltex/settings.html#ltexdictionary) +-- +-- ```lua +-- default = {} +-- ``` +---@class _.lspconfig.settings.ltex.Dictionary +-- List of additional `ar` (Arabic) words that should not be counted as spelling errors. +---@field ar string[] +-- List of additional `ast-ES` (Asturian) words that should not be counted as spelling errors. +---@field ast-ES string[] +-- List of additional `be-BY` (Belarusian) words that should not be counted as spelling errors. +---@field be-BY string[] +-- List of additional `br-FR` (Breton) words that should not be counted as spelling errors. +---@field br-FR string[] +-- List of additional `ca-ES` (Catalan) words that should not be counted as spelling errors. +---@field ca-ES string[] +-- List of additional `ca-ES-valencia` (Catalan (Valencian)) words that should not be counted as spelling errors. +---@field ca-ES-valencia string[] +-- List of additional `da-DK` (Danish) words that should not be counted as spelling errors. +---@field da-DK string[] +-- List of additional `de` (German) words that should not be counted as spelling errors. +---@field de string[] +-- List of additional `de-AT` (German (Austria)) words that should not be counted as spelling errors. +---@field de-AT string[] +-- List of additional `de-CH` (German (Swiss)) words that should not be counted as spelling errors. +---@field de-CH string[] +-- List of additional `de-DE` (German (Germany)) words that should not be counted as spelling errors. +---@field de-DE string[] +-- List of additional `de-DE-x-simple-language` (Simple German) words that should not be counted as spelling errors. +---@field de-DE-x-simple-language string[] +-- List of additional `el-GR` (Greek) words that should not be counted as spelling errors. +---@field el-GR string[] +-- List of additional `en` (English) words that should not be counted as spelling errors. +---@field en string[] +-- List of additional `en-AU` (English (Australian)) words that should not be counted as spelling errors. +---@field en-AU string[] +-- List of additional `en-CA` (English (Canadian)) words that should not be counted as spelling errors. +---@field en-CA string[] +-- List of additional `en-GB` (English (GB)) words that should not be counted as spelling errors. +---@field en-GB string[] +-- List of additional `en-NZ` (English (New Zealand)) words that should not be counted as spelling errors. +---@field en-NZ string[] +-- List of additional `en-US` (English (US)) words that should not be counted as spelling errors. +---@field en-US string[] +-- List of additional `en-ZA` (English (South African)) words that should not be counted as spelling errors. +---@field en-ZA string[] +-- List of additional `eo` (Esperanto) words that should not be counted as spelling errors. +---@field eo string[] +-- List of additional `es` (Spanish) words that should not be counted as spelling errors. +---@field es string[] +-- List of additional `es-AR` (Spanish (voseo)) words that should not be counted as spelling errors. +---@field es-AR string[] +-- List of additional `fa` (Persian) words that should not be counted as spelling errors. +---@field fa string[] +-- List of additional `fr` (French) words that should not be counted as spelling errors. +---@field fr string[] +-- List of additional `ga-IE` (Irish) words that should not be counted as spelling errors. +---@field ga-IE string[] +-- List of additional `gl-ES` (Galician) words that should not be counted as spelling errors. +---@field gl-ES string[] +-- List of additional `it` (Italian) words that should not be counted as spelling errors. +---@field it string[] +-- List of additional `ja-JP` (Japanese) words that should not be counted as spelling errors. +---@field ja-JP string[] +-- List of additional `km-KH` (Khmer) words that should not be counted as spelling errors. +---@field km-KH string[] +-- List of additional `nl` (Dutch) words that should not be counted as spelling errors. +---@field nl string[] +-- List of additional `nl-BE` (Dutch (Belgium)) words that should not be counted as spelling errors. +---@field nl-BE string[] +-- List of additional `pl-PL` (Polish) words that should not be counted as spelling errors. +---@field pl-PL string[] +-- List of additional `pt` (Portuguese) words that should not be counted as spelling errors. +---@field pt string[] +-- List of additional `pt-AO` (Portuguese (Angola preAO)) words that should not be counted as spelling errors. +---@field pt-AO string[] +-- List of additional `pt-BR` (Portuguese (Brazil)) words that should not be counted as spelling errors. +---@field pt-BR string[] +-- List of additional `pt-MZ` (Portuguese (Moçambique preAO)) words that should not be counted as spelling errors. +---@field pt-MZ string[] +-- List of additional `pt-PT` (Portuguese (Portugal)) words that should not be counted as spelling errors. +---@field pt-PT string[] +-- List of additional `ro-RO` (Romanian) words that should not be counted as spelling errors. +---@field ro-RO string[] +-- List of additional `ru-RU` (Russian) words that should not be counted as spelling errors. +---@field ru-RU string[] +-- List of additional `sk-SK` (Slovak) words that should not be counted as spelling errors. +---@field sk-SK string[] +-- List of additional `sl-SI` (Slovenian) words that should not be counted as spelling errors. +---@field sl-SI string[] +-- List of additional `sv` (Swedish) words that should not be counted as spelling errors. +---@field sv string[] +-- List of additional `ta-IN` (Tamil) words that should not be counted as spelling errors. +---@field ta-IN string[] +-- List of additional `tl-PH` (Tagalog) words that should not be counted as spelling errors. +---@field tl-PH string[] +-- List of additional `uk-UA` (Ukrainian) words that should not be counted as spelling errors. +---@field uk-UA string[] +-- List of additional `zh-CN` (Chinese) words that should not be counted as spelling errors. +---@field zh-CN string[] + +-- Lists of rules that should be disabled (if enabled by default by LanguageTool). [More info...](https://valentjn.github.io/ltex/settings.html#ltexdisabledrules) +-- +-- ```lua +-- default = {} +-- ``` +---@class _.lspconfig.settings.ltex.DisabledRules +-- List of additional `ar` (Arabic) rules that should be disabled (if enabled by default by LanguageTool). +---@field ar string[] +-- List of additional `ast-ES` (Asturian) rules that should be disabled (if enabled by default by LanguageTool). +---@field ast-ES string[] +-- List of additional `be-BY` (Belarusian) rules that should be disabled (if enabled by default by LanguageTool). +---@field be-BY string[] +-- List of additional `br-FR` (Breton) rules that should be disabled (if enabled by default by LanguageTool). +---@field br-FR string[] +-- List of additional `ca-ES` (Catalan) rules that should be disabled (if enabled by default by LanguageTool). +---@field ca-ES string[] +-- List of additional `ca-ES-valencia` (Catalan (Valencian)) rules that should be disabled (if enabled by default by LanguageTool). +---@field ca-ES-valencia string[] +-- List of additional `da-DK` (Danish) rules that should be disabled (if enabled by default by LanguageTool). +---@field da-DK string[] +-- List of additional `de` (German) rules that should be disabled (if enabled by default by LanguageTool). +---@field de string[] +-- List of additional `de-AT` (German (Austria)) rules that should be disabled (if enabled by default by LanguageTool). +---@field de-AT string[] +-- List of additional `de-CH` (German (Swiss)) rules that should be disabled (if enabled by default by LanguageTool). +---@field de-CH string[] +-- List of additional `de-DE` (German (Germany)) rules that should be disabled (if enabled by default by LanguageTool). +---@field de-DE string[] +-- List of additional `de-DE-x-simple-language` (Simple German) rules that should be disabled (if enabled by default by LanguageTool). +---@field de-DE-x-simple-language string[] +-- List of additional `el-GR` (Greek) rules that should be disabled (if enabled by default by LanguageTool). +---@field el-GR string[] +-- List of additional `en` (English) rules that should be disabled (if enabled by default by LanguageTool). +---@field en string[] +-- List of additional `en-AU` (English (Australian)) rules that should be disabled (if enabled by default by LanguageTool). +---@field en-AU string[] +-- List of additional `en-CA` (English (Canadian)) rules that should be disabled (if enabled by default by LanguageTool). +---@field en-CA string[] +-- List of additional `en-GB` (English (GB)) rules that should be disabled (if enabled by default by LanguageTool). +---@field en-GB string[] +-- List of additional `en-NZ` (English (New Zealand)) rules that should be disabled (if enabled by default by LanguageTool). +---@field en-NZ string[] +-- List of additional `en-US` (English (US)) rules that should be disabled (if enabled by default by LanguageTool). +---@field en-US string[] +-- List of additional `en-ZA` (English (South African)) rules that should be disabled (if enabled by default by LanguageTool). +---@field en-ZA string[] +-- List of additional `eo` (Esperanto) rules that should be disabled (if enabled by default by LanguageTool). +---@field eo string[] +-- List of additional `es` (Spanish) rules that should be disabled (if enabled by default by LanguageTool). +---@field es string[] +-- List of additional `es-AR` (Spanish (voseo)) rules that should be disabled (if enabled by default by LanguageTool). +---@field es-AR string[] +-- List of additional `fa` (Persian) rules that should be disabled (if enabled by default by LanguageTool). +---@field fa string[] +-- List of additional `fr` (French) rules that should be disabled (if enabled by default by LanguageTool). +---@field fr string[] +-- List of additional `ga-IE` (Irish) rules that should be disabled (if enabled by default by LanguageTool). +---@field ga-IE string[] +-- List of additional `gl-ES` (Galician) rules that should be disabled (if enabled by default by LanguageTool). +---@field gl-ES string[] +-- List of additional `it` (Italian) rules that should be disabled (if enabled by default by LanguageTool). +---@field it string[] +-- List of additional `ja-JP` (Japanese) rules that should be disabled (if enabled by default by LanguageTool). +---@field ja-JP string[] +-- List of additional `km-KH` (Khmer) rules that should be disabled (if enabled by default by LanguageTool). +---@field km-KH string[] +-- List of additional `nl` (Dutch) rules that should be disabled (if enabled by default by LanguageTool). +---@field nl string[] +-- List of additional `nl-BE` (Dutch (Belgium)) rules that should be disabled (if enabled by default by LanguageTool). +---@field nl-BE string[] +-- List of additional `pl-PL` (Polish) rules that should be disabled (if enabled by default by LanguageTool). +---@field pl-PL string[] +-- List of additional `pt` (Portuguese) rules that should be disabled (if enabled by default by LanguageTool). +---@field pt string[] +-- List of additional `pt-AO` (Portuguese (Angola preAO)) rules that should be disabled (if enabled by default by LanguageTool). +---@field pt-AO string[] +-- List of additional `pt-BR` (Portuguese (Brazil)) rules that should be disabled (if enabled by default by LanguageTool). +---@field pt-BR string[] +-- List of additional `pt-MZ` (Portuguese (Moçambique preAO)) rules that should be disabled (if enabled by default by LanguageTool). +---@field pt-MZ string[] +-- List of additional `pt-PT` (Portuguese (Portugal)) rules that should be disabled (if enabled by default by LanguageTool). +---@field pt-PT string[] +-- List of additional `ro-RO` (Romanian) rules that should be disabled (if enabled by default by LanguageTool). +---@field ro-RO string[] +-- List of additional `ru-RU` (Russian) rules that should be disabled (if enabled by default by LanguageTool). +---@field ru-RU string[] +-- List of additional `sk-SK` (Slovak) rules that should be disabled (if enabled by default by LanguageTool). +---@field sk-SK string[] +-- List of additional `sl-SI` (Slovenian) rules that should be disabled (if enabled by default by LanguageTool). +---@field sl-SI string[] +-- List of additional `sv` (Swedish) rules that should be disabled (if enabled by default by LanguageTool). +---@field sv string[] +-- List of additional `ta-IN` (Tamil) rules that should be disabled (if enabled by default by LanguageTool). +---@field ta-IN string[] +-- List of additional `tl-PH` (Tagalog) rules that should be disabled (if enabled by default by LanguageTool). +---@field tl-PH string[] +-- List of additional `uk-UA` (Ukrainian) rules that should be disabled (if enabled by default by LanguageTool). +---@field uk-UA string[] +-- List of additional `zh-CN` (Chinese) rules that should be disabled (if enabled by default by LanguageTool). +---@field zh-CN string[] + +-- Lists of rules that should be enabled (if disabled by default by LanguageTool). [More info...](https://valentjn.github.io/ltex/settings.html#ltexenabledrules) +-- +-- ```lua +-- default = {} +-- ``` +---@class _.lspconfig.settings.ltex.EnabledRules +-- List of additional `ar` (Arabic) rules that should be enabled (if disabled by default by LanguageTool). +---@field ar string[] +-- List of additional `ast-ES` (Asturian) rules that should be enabled (if disabled by default by LanguageTool). +---@field ast-ES string[] +-- List of additional `be-BY` (Belarusian) rules that should be enabled (if disabled by default by LanguageTool). +---@field be-BY string[] +-- List of additional `br-FR` (Breton) rules that should be enabled (if disabled by default by LanguageTool). +---@field br-FR string[] +-- List of additional `ca-ES` (Catalan) rules that should be enabled (if disabled by default by LanguageTool). +---@field ca-ES string[] +-- List of additional `ca-ES-valencia` (Catalan (Valencian)) rules that should be enabled (if disabled by default by LanguageTool). +---@field ca-ES-valencia string[] +-- List of additional `da-DK` (Danish) rules that should be enabled (if disabled by default by LanguageTool). +---@field da-DK string[] +-- List of additional `de` (German) rules that should be enabled (if disabled by default by LanguageTool). +---@field de string[] +-- List of additional `de-AT` (German (Austria)) rules that should be enabled (if disabled by default by LanguageTool). +---@field de-AT string[] +-- List of additional `de-CH` (German (Swiss)) rules that should be enabled (if disabled by default by LanguageTool). +---@field de-CH string[] +-- List of additional `de-DE` (German (Germany)) rules that should be enabled (if disabled by default by LanguageTool). +---@field de-DE string[] +-- List of additional `de-DE-x-simple-language` (Simple German) rules that should be enabled (if disabled by default by LanguageTool). +---@field de-DE-x-simple-language string[] +-- List of additional `el-GR` (Greek) rules that should be enabled (if disabled by default by LanguageTool). +---@field el-GR string[] +-- List of additional `en` (English) rules that should be enabled (if disabled by default by LanguageTool). +---@field en string[] +-- List of additional `en-AU` (English (Australian)) rules that should be enabled (if disabled by default by LanguageTool). +---@field en-AU string[] +-- List of additional `en-CA` (English (Canadian)) rules that should be enabled (if disabled by default by LanguageTool). +---@field en-CA string[] +-- List of additional `en-GB` (English (GB)) rules that should be enabled (if disabled by default by LanguageTool). +---@field en-GB string[] +-- List of additional `en-NZ` (English (New Zealand)) rules that should be enabled (if disabled by default by LanguageTool). +---@field en-NZ string[] +-- List of additional `en-US` (English (US)) rules that should be enabled (if disabled by default by LanguageTool). +---@field en-US string[] +-- List of additional `en-ZA` (English (South African)) rules that should be enabled (if disabled by default by LanguageTool). +---@field en-ZA string[] +-- List of additional `eo` (Esperanto) rules that should be enabled (if disabled by default by LanguageTool). +---@field eo string[] +-- List of additional `es` (Spanish) rules that should be enabled (if disabled by default by LanguageTool). +---@field es string[] +-- List of additional `es-AR` (Spanish (voseo)) rules that should be enabled (if disabled by default by LanguageTool). +---@field es-AR string[] +-- List of additional `fa` (Persian) rules that should be enabled (if disabled by default by LanguageTool). +---@field fa string[] +-- List of additional `fr` (French) rules that should be enabled (if disabled by default by LanguageTool). +---@field fr string[] +-- List of additional `ga-IE` (Irish) rules that should be enabled (if disabled by default by LanguageTool). +---@field ga-IE string[] +-- List of additional `gl-ES` (Galician) rules that should be enabled (if disabled by default by LanguageTool). +---@field gl-ES string[] +-- List of additional `it` (Italian) rules that should be enabled (if disabled by default by LanguageTool). +---@field it string[] +-- List of additional `ja-JP` (Japanese) rules that should be enabled (if disabled by default by LanguageTool). +---@field ja-JP string[] +-- List of additional `km-KH` (Khmer) rules that should be enabled (if disabled by default by LanguageTool). +---@field km-KH string[] +-- List of additional `nl` (Dutch) rules that should be enabled (if disabled by default by LanguageTool). +---@field nl string[] +-- List of additional `nl-BE` (Dutch (Belgium)) rules that should be enabled (if disabled by default by LanguageTool). +---@field nl-BE string[] +-- List of additional `pl-PL` (Polish) rules that should be enabled (if disabled by default by LanguageTool). +---@field pl-PL string[] +-- List of additional `pt` (Portuguese) rules that should be enabled (if disabled by default by LanguageTool). +---@field pt string[] +-- List of additional `pt-AO` (Portuguese (Angola preAO)) rules that should be enabled (if disabled by default by LanguageTool). +---@field pt-AO string[] +-- List of additional `pt-BR` (Portuguese (Brazil)) rules that should be enabled (if disabled by default by LanguageTool). +---@field pt-BR string[] +-- List of additional `pt-MZ` (Portuguese (Moçambique preAO)) rules that should be enabled (if disabled by default by LanguageTool). +---@field pt-MZ string[] +-- List of additional `pt-PT` (Portuguese (Portugal)) rules that should be enabled (if disabled by default by LanguageTool). +---@field pt-PT string[] +-- List of additional `ro-RO` (Romanian) rules that should be enabled (if disabled by default by LanguageTool). +---@field ro-RO string[] +-- List of additional `ru-RU` (Russian) rules that should be enabled (if disabled by default by LanguageTool). +---@field ru-RU string[] +-- List of additional `sk-SK` (Slovak) rules that should be enabled (if disabled by default by LanguageTool). +---@field sk-SK string[] +-- List of additional `sl-SI` (Slovenian) rules that should be enabled (if disabled by default by LanguageTool). +---@field sl-SI string[] +-- List of additional `sv` (Swedish) rules that should be enabled (if disabled by default by LanguageTool). +---@field sv string[] +-- List of additional `ta-IN` (Tamil) rules that should be enabled (if disabled by default by LanguageTool). +---@field ta-IN string[] +-- List of additional `tl-PH` (Tagalog) rules that should be enabled (if disabled by default by LanguageTool). +---@field tl-PH string[] +-- List of additional `uk-UA` (Ukrainian) rules that should be enabled (if disabled by default by LanguageTool). +---@field uk-UA string[] +-- List of additional `zh-CN` (Chinese) rules that should be enabled (if disabled by default by LanguageTool). +---@field zh-CN string[] + +-- Lists of false-positive diagnostics to hide (by hiding all diagnostics of a specific rule within a specific sentence). [More info...](https://valentjn.github.io/ltex/settings.html#ltexhiddenfalsepositives) +-- +-- ```lua +-- default = {} +-- ``` +---@class _.lspconfig.settings.ltex.HiddenFalsePositives +-- List of `ar` (Arabic) false-positive diagnostics to hide. +---@field ar string[] +-- List of `ast-ES` (Asturian) false-positive diagnostics to hide. +---@field ast-ES string[] +-- List of `be-BY` (Belarusian) false-positive diagnostics to hide. +---@field be-BY string[] +-- List of `br-FR` (Breton) false-positive diagnostics to hide. +---@field br-FR string[] +-- List of `ca-ES` (Catalan) false-positive diagnostics to hide. ---@field ca-ES string[] --- List of additional `ca-ES-valencia` (Catalan (Valencian)) rules that should be disabled (if enabled by default by LanguageTool). +-- List of `ca-ES-valencia` (Catalan (Valencian)) false-positive diagnostics to hide. ---@field ca-ES-valencia string[] --- List of additional `da-DK` (Danish) rules that should be disabled (if enabled by default by LanguageTool). +-- List of `da-DK` (Danish) false-positive diagnostics to hide. ---@field da-DK string[] --- List of additional `de` (German) rules that should be disabled (if enabled by default by LanguageTool). +-- List of `de` (German) false-positive diagnostics to hide. ---@field de string[] --- List of additional `de-AT` (German (Austria)) rules that should be disabled (if enabled by default by LanguageTool). +-- List of `de-AT` (German (Austria)) false-positive diagnostics to hide. ---@field de-AT string[] --- List of additional `de-CH` (German (Swiss)) rules that should be disabled (if enabled by default by LanguageTool). +-- List of `de-CH` (German (Swiss)) false-positive diagnostics to hide. ---@field de-CH string[] --- List of additional `de-DE` (German (Germany)) rules that should be disabled (if enabled by default by LanguageTool). +-- List of `de-DE` (German (Germany)) false-positive diagnostics to hide. ---@field de-DE string[] --- List of additional `de-DE-x-simple-language` (Simple German) rules that should be disabled (if enabled by default by LanguageTool). +-- List of `de-DE-x-simple-language` (Simple German) false-positive diagnostics to hide. ---@field de-DE-x-simple-language string[] --- List of additional `el-GR` (Greek) rules that should be disabled (if enabled by default by LanguageTool). +-- List of `el-GR` (Greek) false-positive diagnostics to hide. ---@field el-GR string[] --- List of additional `en` (English) rules that should be disabled (if enabled by default by LanguageTool). +-- List of `en` (English) false-positive diagnostics to hide. ---@field en string[] --- List of additional `en-AU` (English (Australian)) rules that should be disabled (if enabled by default by LanguageTool). +-- List of `en-AU` (English (Australian)) false-positive diagnostics to hide. ---@field en-AU string[] --- List of additional `en-CA` (English (Canadian)) rules that should be disabled (if enabled by default by LanguageTool). +-- List of `en-CA` (English (Canadian)) false-positive diagnostics to hide. ---@field en-CA string[] --- List of additional `en-GB` (English (GB)) rules that should be disabled (if enabled by default by LanguageTool). +-- List of `en-GB` (English (GB)) false-positive diagnostics to hide. ---@field en-GB string[] --- List of additional `en-NZ` (English (New Zealand)) rules that should be disabled (if enabled by default by LanguageTool). +-- List of `en-NZ` (English (New Zealand)) false-positive diagnostics to hide. ---@field en-NZ string[] --- List of additional `en-US` (English (US)) rules that should be disabled (if enabled by default by LanguageTool). +-- List of `en-US` (English (US)) false-positive diagnostics to hide. ---@field en-US string[] --- List of additional `en-ZA` (English (South African)) rules that should be disabled (if enabled by default by LanguageTool). +-- List of `en-ZA` (English (South African)) false-positive diagnostics to hide. ---@field en-ZA string[] --- List of additional `eo` (Esperanto) rules that should be disabled (if enabled by default by LanguageTool). +-- List of `eo` (Esperanto) false-positive diagnostics to hide. ---@field eo string[] --- List of additional `es` (Spanish) rules that should be disabled (if enabled by default by LanguageTool). +-- List of `es` (Spanish) false-positive diagnostics to hide. ---@field es string[] --- List of additional `es-AR` (Spanish (voseo)) rules that should be disabled (if enabled by default by LanguageTool). +-- List of `es-AR` (Spanish (voseo)) false-positive diagnostics to hide. ---@field es-AR string[] --- List of additional `fa` (Persian) rules that should be disabled (if enabled by default by LanguageTool). +-- List of `fa` (Persian) false-positive diagnostics to hide. ---@field fa string[] --- List of additional `fr` (French) rules that should be disabled (if enabled by default by LanguageTool). +-- List of `fr` (French) false-positive diagnostics to hide. ---@field fr string[] --- List of additional `ga-IE` (Irish) rules that should be disabled (if enabled by default by LanguageTool). +-- List of `ga-IE` (Irish) false-positive diagnostics to hide. ---@field ga-IE string[] --- List of additional `gl-ES` (Galician) rules that should be disabled (if enabled by default by LanguageTool). +-- List of `gl-ES` (Galician) false-positive diagnostics to hide. ---@field gl-ES string[] --- List of additional `it` (Italian) rules that should be disabled (if enabled by default by LanguageTool). +-- List of `it` (Italian) false-positive diagnostics to hide. ---@field it string[] --- List of additional `ja-JP` (Japanese) rules that should be disabled (if enabled by default by LanguageTool). +-- List of `ja-JP` (Japanese) false-positive diagnostics to hide. ---@field ja-JP string[] --- List of additional `km-KH` (Khmer) rules that should be disabled (if enabled by default by LanguageTool). +-- List of `km-KH` (Khmer) false-positive diagnostics to hide. ---@field km-KH string[] --- List of additional `nl` (Dutch) rules that should be disabled (if enabled by default by LanguageTool). +-- List of `nl` (Dutch) false-positive diagnostics to hide. ---@field nl string[] --- List of additional `nl-BE` (Dutch (Belgium)) rules that should be disabled (if enabled by default by LanguageTool). +-- List of `nl-BE` (Dutch (Belgium)) false-positive diagnostics to hide. ---@field nl-BE string[] --- List of additional `pl-PL` (Polish) rules that should be disabled (if enabled by default by LanguageTool). +-- List of `pl-PL` (Polish) false-positive diagnostics to hide. ---@field pl-PL string[] --- List of additional `pt` (Portuguese) rules that should be disabled (if enabled by default by LanguageTool). +-- List of `pt` (Portuguese) false-positive diagnostics to hide. ---@field pt string[] --- List of additional `pt-AO` (Portuguese (Angola preAO)) rules that should be disabled (if enabled by default by LanguageTool). +-- List of `pt-AO` (Portuguese (Angola preAO)) false-positive diagnostics to hide. ---@field pt-AO string[] --- List of additional `pt-BR` (Portuguese (Brazil)) rules that should be disabled (if enabled by default by LanguageTool). +-- List of `pt-BR` (Portuguese (Brazil)) false-positive diagnostics to hide. ---@field pt-BR string[] --- List of additional `pt-MZ` (Portuguese (Moçambique preAO)) rules that should be disabled (if enabled by default by LanguageTool). +-- List of `pt-MZ` (Portuguese (Moçambique preAO)) false-positive diagnostics to hide. ---@field pt-MZ string[] --- List of additional `pt-PT` (Portuguese (Portugal)) rules that should be disabled (if enabled by default by LanguageTool). +-- List of `pt-PT` (Portuguese (Portugal)) false-positive diagnostics to hide. ---@field pt-PT string[] --- List of additional `ro-RO` (Romanian) rules that should be disabled (if enabled by default by LanguageTool). +-- List of `ro-RO` (Romanian) false-positive diagnostics to hide. ---@field ro-RO string[] --- List of additional `ru-RU` (Russian) rules that should be disabled (if enabled by default by LanguageTool). +-- List of `ru-RU` (Russian) false-positive diagnostics to hide. ---@field ru-RU string[] --- List of additional `sk-SK` (Slovak) rules that should be disabled (if enabled by default by LanguageTool). +-- List of `sk-SK` (Slovak) false-positive diagnostics to hide. ---@field sk-SK string[] --- List of additional `sl-SI` (Slovenian) rules that should be disabled (if enabled by default by LanguageTool). +-- List of `sl-SI` (Slovenian) false-positive diagnostics to hide. ---@field sl-SI string[] --- List of additional `sv` (Swedish) rules that should be disabled (if enabled by default by LanguageTool). +-- List of `sv` (Swedish) false-positive diagnostics to hide. ---@field sv string[] --- List of additional `ta-IN` (Tamil) rules that should be disabled (if enabled by default by LanguageTool). +-- List of `ta-IN` (Tamil) false-positive diagnostics to hide. ---@field ta-IN string[] --- List of additional `tl-PH` (Tagalog) rules that should be disabled (if enabled by default by LanguageTool). +-- List of `tl-PH` (Tagalog) false-positive diagnostics to hide. ---@field tl-PH string[] --- List of additional `uk-UA` (Ukrainian) rules that should be disabled (if enabled by default by LanguageTool). +-- List of `uk-UA` (Ukrainian) false-positive diagnostics to hide. ---@field uk-UA string[] --- List of additional `zh-CN` (Chinese) rules that should be disabled (if enabled by default by LanguageTool). +-- List of `zh-CN` (Chinese) false-positive diagnostics to hide. ---@field zh-CN string[] --- Lists of rules that should be enabled (if disabled by default by LanguageTool). [More info...](https://valentjn.github.io/ltex/settings.html#ltexenabledrules) +---@class _.lspconfig.settings.ltex.Java +-- Initial size of the Java heap memory in megabytes (corresponds to Java's `-Xms` option, must be a positive integer). [More info...](https://valentjn.github.io/ltex/settings.html#ltexjavainitialheapsize) +-- +-- ```lua +-- default = 64 +-- ``` +---@field initialHeapSize integer +-- Maximum size of the Java heap memory in megabytes (corresponds to Java's `-Xmx` option, must be a positive integer). [More info...](https://valentjn.github.io/ltex/settings.html#ltexjavamaximumheapsize) +-- +-- ```lua +-- default = 512 +-- ``` +---@field maximumHeapSize integer +-- If set to an empty string, LTeX uses a Java distribution that is bundled with ltex-ls. You can point this setting to an existing Java installation on your computer to use that installation instead. [More info...](https://valentjn.github.io/ltex/settings.html#ltexjavapath) +-- +-- ```lua +-- default = "" +-- ``` +---@field path string + +---@class _.lspconfig.settings.ltex.LanguageToolOrg +-- API key for Premium API access. Only relevant if `ltex.languageToolHttpServerUri` is set. +-- +-- ```lua +-- default = "" +-- ``` +---@field apiKey string +-- Username/email as used to log in at languagetool.org for Premium API access. Only relevant if `ltex.languageToolHttpServerUri` is set. +-- +-- ```lua +-- default = "" +-- ``` +---@field username string + +---@class _.lspconfig.settings.ltex.Latex +-- List of LaTeX commands to be handled by the LaTeX parser, listed together with empty arguments (e.g., `"\ref{}"`, `"\documentclass[]{}"`). [More info...](https://valentjn.github.io/ltex/settings.html#ltexlatexcommands) +-- +-- ```lua +-- default = {} +-- ``` +---@field commands table +-- List of names of LaTeX environments to be handled by the LaTeX parser. [More info...](https://valentjn.github.io/ltex/settings.html#ltexlatexenvironments) +-- +-- ```lua +-- default = {} +-- ``` +---@field environments table + +---@class _.lspconfig.settings.ltex.Ltex-ls +-- ```lua +-- default = "" +-- ``` +---@field languageToolHttpServerUri string +-- ```lua +-- default = "" +-- ``` +---@field languageToolOrgApiKey string +-- ```lua +-- default = "" +-- ``` +---@field languageToolOrgUsername string +-- Logging level (verbosity) of the ltex-ls server log, which is accessible via `View` › `Output` › `LTeX Language Server`. [More info...](https://valentjn.github.io/ltex/settings.html#ltexltex-lsloglevel) +-- +-- ```lua +-- default = "fine" +-- ``` +---@field logLevel "severe" | "warning" | "info" | "config" | "fine" | "finer" | "finest" +-- If set to an empty string, LTeX automatically downloads [ltex-ls from GitHub](https://github.com/valentjn/ltex-ls/releases), stores it in the folder of the extension, and uses it for the checking process. You can point this setting to an ltex-ls release you downloaded by yourself. [More info...](https://valentjn.github.io/ltex/settings.html#ltexltex-lspath) +-- +-- ```lua +-- default = "" +-- ``` +---@field path string + +---@class _.lspconfig.settings.ltex.Markdown +-- List of Markdown node types to be handled by the Markdown parser. [More info...](https://valentjn.github.io/ltex/settings.html#ltexmarkdownnodes) +-- +-- ```lua +-- default = {} +-- ``` +---@field nodes table + +---@class _.lspconfig.settings.ltex.Trace +-- Debug setting to log the communication between language client and server. [More info...](https://valentjn.github.io/ltex/settings.html#ltextraceserver) +-- +-- ```lua +-- default = "off" +-- ``` +---@field server "off" | "messages" | "verbose" + +---@class _.lspconfig.settings.ltex.Ltex +---@field additionalRules _.lspconfig.settings.ltex.AdditionalRules +---@field bibtex _.lspconfig.settings.ltex.Bibtex +-- Controls when documents should be checked. [More info...](https://valentjn.github.io/ltex/settings.html#ltexcheckfrequency) +-- +-- ```lua +-- default = "edit" +-- ``` +---@field checkFrequency "edit" | "save" | "manual" +-- If set to `true`, diagnostics of a file are cleared when the file is closed. +-- +-- ```lua +-- default = true +-- ``` +---@field clearDiagnosticsWhenClosingFile boolean +-- Whether completion is enabled (also known as auto-completion, suggestions, or IntelliSense). [More info...](https://valentjn.github.io/ltex/settings.html#ltexcompletionenabled) +---@field completionEnabled boolean +-- Controls which `settings.json` or external setting file ([see documentation](https://valentjn.github.io/ltex/vscode-ltex/setting-scopes-files.html#external-setting-files)) to update when using one of the quick fixes. +-- +-- ```lua +-- default = { +-- dictionary = "workspaceFolderExternalFile", +-- disabledRules = "workspaceFolderExternalFile", +-- hiddenFalsePositives = "workspaceFolderExternalFile" +-- } +-- ``` +---@field configurationTarget _.lspconfig.settings.ltex.ConfigurationTarget +-- Severity of the diagnostics corresponding to the grammar and spelling errors. [More info...](https://valentjn.github.io/ltex/settings.html#ltexdiagnosticseverity) +-- +-- ```lua +-- default = "information" +-- ``` +---@field diagnosticSeverity any +-- Lists of additional words that should not be counted as spelling errors. [More info...](https://valentjn.github.io/ltex/settings.html#ltexdictionary) +-- +-- ```lua +-- default = {} +-- ``` +---@field dictionary _.lspconfig.settings.ltex.Dictionary +-- Lists of rules that should be disabled (if enabled by default by LanguageTool). [More info...](https://valentjn.github.io/ltex/settings.html#ltexdisabledrules) +-- +-- ```lua +-- default = {} +-- ``` +---@field disabledRules _.lspconfig.settings.ltex.DisabledRules +-- Controls whether the extension is enabled. Allows disabling LanguageTool on specific workspaces or for specific code language modes (i.e., file types). [More info...](https://valentjn.github.io/ltex/settings.html#ltexenabled) +-- +-- ```lua +-- default = { "bibtex", "context", "context.tex", "html", "latex", "markdown", "org", "restructuredtext", "rsweave" } +-- ``` +---@field enabled any +-- Lists of rules that should be enabled (if disabled by default by LanguageTool). [More info...](https://valentjn.github.io/ltex/settings.html#ltexenabledrules) +-- +-- ```lua +-- default = {} +-- ``` +---@field enabledRules _.lspconfig.settings.ltex.EnabledRules +-- Lists of false-positive diagnostics to hide (by hiding all diagnostics of a specific rule within a specific sentence). [More info...](https://valentjn.github.io/ltex/settings.html#ltexhiddenfalsepositives) +-- +-- ```lua +-- default = {} +-- ``` +---@field hiddenFalsePositives _.lspconfig.settings.ltex.HiddenFalsePositives +---@field java _.lspconfig.settings.ltex.Java +-- The language (e.g., `"en-US"`) LanguageTool should check against. If possible, use a specific variant like `"en-US"` or `"de-DE"` instead of the generic language code like `"en"` or `"de"` to obtain spelling corrections (in addition to grammar corrections). [More info...](https://valentjn.github.io/ltex/settings.html#ltexlanguage) +-- +-- ```lua +-- default = "en-US" +-- ``` +---@field language "auto" | "ar" | "ast-ES" | "be-BY" | "br-FR" | "ca-ES" | "ca-ES-valencia" | "da-DK" | "de" | "de-AT" | "de-CH" | "de-DE" | "de-DE-x-simple-language" | "el-GR" | "en" | "en-AU" | "en-CA" | "en-GB" | "en-NZ" | "en-US" | "en-ZA" | "eo" | "es" | "es-AR" | "fa" | "fr" | "ga-IE" | "gl-ES" | "it" | "ja-JP" | "km-KH" | "nl" | "nl-BE" | "pl-PL" | "pt" | "pt-AO" | "pt-BR" | "pt-MZ" | "pt-PT" | "ro-RO" | "ru-RU" | "sk-SK" | "sl-SI" | "sv" | "ta-IN" | "tl-PH" | "uk-UA" | "zh-CN" +-- If set to a non-empty string, LTeX will not use the bundled, built-in version of LanguageTool. Instead, LTeX will connect to an external [LanguageTool HTTP server](http://wiki.languagetool.org/http-server). Set this setting to the root URI of the server, and do not append `v2/check` or similar. [More info...](https://valentjn.github.io/ltex/settings.html#ltexlanguagetoolhttpserveruri) +-- +-- ```lua +-- default = "" +-- ``` +---@field languageToolHttpServerUri string +---@field languageToolOrg _.lspconfig.settings.ltex.LanguageToolOrg +---@field latex _.lspconfig.settings.ltex.Latex +---@field ltex-ls _.lspconfig.settings.ltex.Ltex-ls +---@field markdown _.lspconfig.settings.ltex.Markdown +-- Size of the LanguageTool `ResultCache` in sentences (must be a positive integer). [More info...](https://valentjn.github.io/ltex/settings.html#ltexsentencecachesize) +-- +-- ```lua +-- default = 2000 +-- ``` +---@field sentenceCacheSize integer +-- If set to `true`, an item about the status of LTeX is shown permanently in the status bar. +---@field statusBarItem boolean +---@field trace _.lspconfig.settings.ltex.Trace + +---@class lspconfig.settings.ltex +---@field ltex _.lspconfig.settings.ltex.Ltex + +---@class _.lspconfig.settings.lua_ls.AddonManager +-- Whether the addon manager is enabled or not. +-- +-- ```lua +-- default = true +-- ``` +---@field enable boolean + +---@class _.lspconfig.settings.lua_ls.CodeLens +-- Enable code lens. +---@field enable boolean + +---@class _.lspconfig.settings.lua_ls.Completion +-- When the input looks like a file name, automatically `require` this file. +-- +-- ```lua +-- default = true +-- ``` +---@field autoRequire boolean +-- Shows function call snippets. +-- +-- ```lua +-- default = "Disable" +-- ``` +---@field callSnippet "Disable" | "Both" | "Replace" +-- Previewing the relevant code snippet of the suggestion may help you understand the usage of the suggestion. The number set indicates the number of intercepted lines in the code fragment. If it is set to `0`, this feature can be disabled. +-- +-- ```lua +-- default = 0 +-- ``` +---@field displayContext integer +-- Enable completion. +-- +-- ```lua +-- default = true +-- ``` +---@field enable boolean +-- Shows keyword syntax snippets. +-- +-- ```lua +-- default = "Replace" +-- ``` +---@field keywordSnippet "Disable" | "Both" | "Replace" +-- The symbol used to trigger the postfix suggestion. +-- +-- ```lua +-- default = "@" +-- ``` +---@field postfix string +-- The separator used when `require`. +-- +-- ```lua +-- default = "." +-- ``` +---@field requireSeparator string +-- Display parameters in completion list. When the function has multiple definitions, they will be displayed separately. +-- +-- ```lua +-- default = true +-- ``` +---@field showParams boolean +-- Show contextual words in suggestions. +-- +-- ```lua +-- default = "Fallback" +-- ``` +---@field showWord "Enable" | "Fallback" | "Disable" +-- Whether the displayed context word contains the content of other files in the workspace. +-- +-- ```lua +-- default = true +-- ``` +---@field workspaceWord boolean + +-- Modify the diagnostic needed file status in a group. +-- +-- * Opened: only diagnose opened files +-- * Any: diagnose all files +-- * None: disable this diagnostic +-- +-- `Fallback` means that diagnostics in this group are controlled by `diagnostics.neededFileStatus` separately. +-- Other settings will override individual settings without end of `!`. +-- +---@class _.lspconfig.settings.lua_ls.GroupFileStatus +-- * ambiguity-1 +-- * count-down-loop +-- * different-requires +-- * newfield-call +-- * newline-call +-- +-- ```lua +-- default = "Fallback" +-- ``` +---@field ambiguity "Any" | "Opened" | "None" | "Fallback" +-- * await-in-sync +-- * not-yieldable +-- +-- ```lua +-- default = "Fallback" +-- ``` +---@field await "Any" | "Opened" | "None" | "Fallback" +-- * codestyle-check +-- * name-style-check +-- * spell-check +-- +-- ```lua +-- default = "Fallback" +-- ``` +---@field codestyle "Any" | "Opened" | "None" | "Fallback" +-- * global-element +-- +-- ```lua +-- default = "Fallback" +-- ``` +---@field conventions "Any" | "Opened" | "None" | "Fallback" +-- * duplicate-index +-- * duplicate-set-field +-- +-- ```lua +-- default = "Fallback" +-- ``` +---@field duplicate "Any" | "Opened" | "None" | "Fallback" +-- * global-in-nil-env +-- * lowercase-global +-- * undefined-env-child +-- * undefined-global +-- +-- ```lua +-- default = "Fallback" +-- ``` +---@field global "Any" | "Opened" | "None" | "Fallback" +-- * circle-doc-class +-- * doc-field-no-class +-- * duplicate-doc-alias +-- * duplicate-doc-field +-- * duplicate-doc-param +-- * incomplete-signature-doc +-- * missing-global-doc +-- * missing-local-export-doc +-- * undefined-doc-class +-- * undefined-doc-name +-- * undefined-doc-param +-- * unknown-cast-variable +-- * unknown-diag-code +-- * unknown-operator +-- +-- ```lua +-- default = "Fallback" +-- ``` +---@field luadoc "Any" | "Opened" | "None" | "Fallback" +-- * redefined-local +-- +-- ```lua +-- default = "Fallback" +-- ``` +---@field redefined "Any" | "Opened" | "None" | "Fallback" +-- * close-non-object +-- * deprecated +-- * discard-returns +-- * invisible +-- +-- ```lua +-- default = "Fallback" +-- ``` +---@field strict "Any" | "Opened" | "None" | "Fallback" +-- * no-unknown +-- +-- ```lua +-- default = "Fallback" +-- ``` +---@field strong "Any" | "Opened" | "None" | "Fallback" +-- * assign-type-mismatch +-- * cast-local-type +-- * cast-type-mismatch +-- * inject-field +-- * need-check-nil +-- * param-type-mismatch +-- * return-type-mismatch +-- * undefined-field +-- +-- ```lua +-- default = "Fallback" +-- ``` +---@field type-check "Any" | "Opened" | "None" | "Fallback" +-- * missing-fields +-- * missing-parameter +-- * missing-return +-- * missing-return-value +-- * redundant-parameter +-- * redundant-return-value +-- * redundant-value +-- * unbalanced-assignments +-- +-- ```lua +-- default = "Fallback" +-- ``` +---@field unbalanced "Any" | "Opened" | "None" | "Fallback" +-- * code-after-break +-- * empty-block +-- * redundant-return +-- * trailing-space +-- * unreachable-code +-- * unused-function +-- * unused-label +-- * unused-local +-- * unused-vararg +-- +-- ```lua +-- default = "Fallback" +-- ``` +---@field unused "Any" | "Opened" | "None" | "Fallback" + +-- Modify the diagnostic severity in a group. +-- `Fallback` means that diagnostics in this group are controlled by `diagnostics.severity` separately. +-- Other settings will override individual settings without end of `!`. +-- +---@class _.lspconfig.settings.lua_ls.GroupSeverity +-- * ambiguity-1 +-- * count-down-loop +-- * different-requires +-- * newfield-call +-- * newline-call +-- +-- ```lua +-- default = "Fallback" +-- ``` +---@field ambiguity "Error" | "Warning" | "Information" | "Hint" | "Fallback" +-- * await-in-sync +-- * not-yieldable +-- +-- ```lua +-- default = "Fallback" +-- ``` +---@field await "Error" | "Warning" | "Information" | "Hint" | "Fallback" +-- * codestyle-check +-- * name-style-check +-- * spell-check +-- +-- ```lua +-- default = "Fallback" +-- ``` +---@field codestyle "Error" | "Warning" | "Information" | "Hint" | "Fallback" +-- * global-element +-- +-- ```lua +-- default = "Fallback" +-- ``` +---@field conventions "Error" | "Warning" | "Information" | "Hint" | "Fallback" +-- * duplicate-index +-- * duplicate-set-field +-- +-- ```lua +-- default = "Fallback" +-- ``` +---@field duplicate "Error" | "Warning" | "Information" | "Hint" | "Fallback" +-- * global-in-nil-env +-- * lowercase-global +-- * undefined-env-child +-- * undefined-global +-- +-- ```lua +-- default = "Fallback" +-- ``` +---@field global "Error" | "Warning" | "Information" | "Hint" | "Fallback" +-- * circle-doc-class +-- * doc-field-no-class +-- * duplicate-doc-alias +-- * duplicate-doc-field +-- * duplicate-doc-param +-- * incomplete-signature-doc +-- * missing-global-doc +-- * missing-local-export-doc +-- * undefined-doc-class +-- * undefined-doc-name +-- * undefined-doc-param +-- * unknown-cast-variable +-- * unknown-diag-code +-- * unknown-operator +-- +-- ```lua +-- default = "Fallback" +-- ``` +---@field luadoc "Error" | "Warning" | "Information" | "Hint" | "Fallback" +-- * redefined-local +-- +-- ```lua +-- default = "Fallback" +-- ``` +---@field redefined "Error" | "Warning" | "Information" | "Hint" | "Fallback" +-- * close-non-object +-- * deprecated +-- * discard-returns +-- * invisible +-- +-- ```lua +-- default = "Fallback" +-- ``` +---@field strict "Error" | "Warning" | "Information" | "Hint" | "Fallback" +-- * no-unknown +-- +-- ```lua +-- default = "Fallback" +-- ``` +---@field strong "Error" | "Warning" | "Information" | "Hint" | "Fallback" +-- * assign-type-mismatch +-- * cast-local-type +-- * cast-type-mismatch +-- * inject-field +-- * need-check-nil +-- * param-type-mismatch +-- * return-type-mismatch +-- * undefined-field +-- +-- ```lua +-- default = "Fallback" +-- ``` +---@field type-check "Error" | "Warning" | "Information" | "Hint" | "Fallback" +-- * missing-fields +-- * missing-parameter +-- * missing-return +-- * missing-return-value +-- * redundant-parameter +-- * redundant-return-value +-- * redundant-value +-- * unbalanced-assignments +-- +-- ```lua +-- default = "Fallback" +-- ``` +---@field unbalanced "Error" | "Warning" | "Information" | "Hint" | "Fallback" +-- * code-after-break +-- * empty-block +-- * redundant-return +-- * trailing-space +-- * unreachable-code +-- * unused-function +-- * unused-label +-- * unused-local +-- * unused-vararg +-- +-- ```lua +-- default = "Fallback" +-- ``` +---@field unused "Error" | "Warning" | "Information" | "Hint" | "Fallback" + +-- * Opened: only diagnose opened files +-- * Any: diagnose all files +-- * None: disable this diagnostic +-- +-- End with `!` means override the group setting `diagnostics.groupFileStatus`. +-- +---@class _.lspconfig.settings.lua_ls.NeededFileStatus +-- Enable ambiguous operator precedence diagnostics. For example, the `num or 0 + 1` expression will be suggested `(num or 0) + 1` instead. +-- +-- ```lua +-- default = "Any" +-- ``` +---@field ambiguity-1 "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" +-- Enable diagnostics for assignments in which the value's type does not match the type of the assigned variable. +-- +-- ```lua +-- default = "Opened" +-- ``` +---@field assign-type-mismatch "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" +-- Enable diagnostics for calls of asynchronous functions within a synchronous function. +-- +-- ```lua +-- default = "None" +-- ``` +---@field await-in-sync "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" +-- Enable diagnostics for casts of local variables where the target type does not match the defined type. +-- +-- ```lua +-- default = "Opened" +-- ``` +---@field cast-local-type "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" +-- Enable diagnostics for casts where the target type does not match the initial type. +-- +-- ```lua +-- default = "Opened" +-- ``` +---@field cast-type-mismatch "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" +-- TODO: Needs documentation +-- +-- ```lua +-- default = "Any" +-- ``` +---@field circle-doc-class "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" +-- Enable diagnostics for attempts to close a variable with a non-object. +-- +-- ```lua +-- default = "Any" +-- ``` +---@field close-non-object "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" +-- Enable diagnostics for code placed after a break statement in a loop. +-- +-- ```lua +-- default = "Opened" +-- ``` +---@field code-after-break "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" +-- Enable diagnostics for incorrectly styled lines. +-- +-- ```lua +-- default = "None" +-- ``` +---@field codestyle-check "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" +-- Enable diagnostics for `for` loops which will never reach their max/limit because the loop is incrementing instead of decrementing. +-- +-- ```lua +-- default = "Any" +-- ``` +---@field count-down-loop "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" +-- Enable diagnostics to highlight deprecated API. +-- +-- ```lua +-- default = "Any" +-- ``` +---@field deprecated "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" +-- Enable diagnostics for files which are required by two different paths. +-- +-- ```lua +-- default = "Any" +-- ``` +---@field different-requires "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" +-- Enable diagnostics for calls of functions annotated with `---@nodiscard` where the return values are ignored. +-- +-- ```lua +-- default = "Any" +-- ``` +---@field discard-returns "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" +-- Enable diagnostics to highlight a field annotation without a defining class annotation. +-- +-- ```lua +-- default = "Any" +-- ``` +---@field doc-field-no-class "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" +-- Enable diagnostics for a duplicated alias annotation name. +-- +-- ```lua +-- default = "Any" +-- ``` +---@field duplicate-doc-alias "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" +-- Enable diagnostics for a duplicated field annotation name. +-- +-- ```lua +-- default = "Any" +-- ``` +---@field duplicate-doc-field "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" +-- Enable diagnostics for a duplicated param annotation name. +-- +-- ```lua +-- default = "Any" +-- ``` +---@field duplicate-doc-param "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" +-- Enable duplicate table index diagnostics. +-- +-- ```lua +-- default = "Any" +-- ``` +---@field duplicate-index "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" +-- Enable diagnostics for setting the same field in a class more than once. +-- +-- ```lua +-- default = "Opened" +-- ``` +---@field duplicate-set-field "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" +-- Enable empty code block diagnostics. +-- +-- ```lua +-- default = "Opened" +-- ``` +---@field empty-block "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" +-- Enable diagnostics to warn about global elements. +-- +-- ```lua +-- default = "None" +-- ``` +---@field global-element "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" +-- Enable cannot use global variables ( `_ENV` is set to `nil`) diagnostics. +-- +-- ```lua +-- default = "Any" +-- ``` +---@field global-in-nil-env "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" +-- Incomplete @param or @return annotations for functions. +-- +-- ```lua +-- default = "None" +-- ``` +---@field incomplete-signature-doc "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" +-- TODO: Needs documentation +-- +-- ```lua +-- default = "Opened" +-- ``` +---@field inject-field "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" +-- Enable diagnostics for accesses to fields which are invisible. +-- +-- ```lua +-- default = "Any" +-- ``` +---@field invisible "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" +-- Enable lowercase global variable definition diagnostics. +-- +-- ```lua +-- default = "Any" +-- ``` +---@field lowercase-global "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" +-- TODO: Needs documentation +-- +-- ```lua +-- default = "Any" +-- ``` +---@field missing-fields "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" +-- Missing annotations for globals! Global functions must have a comment and annotations for all parameters and return values. +-- +-- ```lua +-- default = "None" +-- ``` +---@field missing-global-doc "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" +-- Missing annotations for exported locals! Exported local functions must have a comment and annotations for all parameters and return values. +-- +-- ```lua +-- default = "None" +-- ``` +---@field missing-local-export-doc "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" +-- Enable diagnostics for function calls where the number of arguments is less than the number of annotated function parameters. +-- +-- ```lua +-- default = "Any" +-- ``` +---@field missing-parameter "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" +-- Enable diagnostics for functions with return annotations which have no return statement. +-- +-- ```lua +-- default = "Any" +-- ``` +---@field missing-return "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" +-- Enable diagnostics for return statements without values although the containing function declares returns. +-- +-- ```lua +-- default = "Any" +-- ``` +---@field missing-return-value "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" +-- Enable diagnostics for name style. +-- +-- ```lua +-- default = "None" +-- ``` +---@field name-style-check "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" +-- Enable diagnostics for variable usages if `nil` or an optional (potentially `nil`) value was assigned to the variable before. +-- +-- ```lua +-- default = "Opened" +-- ``` +---@field need-check-nil "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" +-- Enable newfield call diagnostics. It is raised when the parenthesis of a function call appear on the following line when defining a field in a table. +-- +-- ```lua +-- default = "Any" +-- ``` +---@field newfield-call "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" +-- Enable newline call diagnostics. Is's raised when a line starting with `(` is encountered, which is syntactically parsed as a function call on the previous line. +-- +-- ```lua +-- default = "Any" +-- ``` +---@field newline-call "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" +-- Enable diagnostics for cases in which the type cannot be inferred. +-- +-- ```lua +-- default = "None" +-- ``` +---@field no-unknown "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" +-- Enable diagnostics for calls to `coroutine.yield()` when it is not permitted. +-- +-- ```lua +-- default = "None" +-- ``` +---@field not-yieldable "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" +-- Enable diagnostics for function calls where the type of a provided parameter does not match the type of the annotated function definition. +-- +-- ```lua +-- default = "Opened" +-- ``` +---@field param-type-mismatch "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" +-- Enable redefined local variable diagnostics. +-- +-- ```lua +-- default = "Opened" +-- ``` +---@field redefined-local "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" +-- Enable redundant function parameter diagnostics. +-- +-- ```lua +-- default = "Any" +-- ``` +---@field redundant-parameter "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" +-- Enable diagnostics for return statements which are not needed because the function would exit on its own. +-- +-- ```lua +-- default = "Opened" +-- ``` +---@field redundant-return "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" +-- Enable diagnostics for return statements which return an extra value which is not specified by a return annotation. +-- +-- ```lua +-- default = "Any" +-- ``` +---@field redundant-return-value "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" +-- Enable the redundant values assigned diagnostics. It's raised during assignment operation, when the number of values is higher than the number of objects being assigned. +-- +-- ```lua +-- default = "Any" +-- ``` +---@field redundant-value "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" +-- Enable diagnostics for return values whose type does not match the type declared in the corresponding return annotation. +-- +-- ```lua +-- default = "Opened" +-- ``` +---@field return-type-mismatch "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" +-- Enable diagnostics for typos in strings. +-- +-- ```lua +-- default = "None" +-- ``` +---@field spell-check "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" +-- Enable trailing space diagnostics. +-- +-- ```lua +-- default = "Opened" +-- ``` +---@field trailing-space "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" +-- Enable diagnostics on multiple assignments if not all variables obtain a value (e.g., `local x,y = 1`). +-- +-- ```lua +-- default = "Any" +-- ``` +---@field unbalanced-assignments "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" +-- Enable diagnostics for class annotations in which an undefined class is referenced. +-- +-- ```lua +-- default = "Any" +-- ``` +---@field undefined-doc-class "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" +-- Enable diagnostics for type annotations referencing an undefined type or alias. +-- +-- ```lua +-- default = "Any" +-- ``` +---@field undefined-doc-name "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" +-- Enable diagnostics for cases in which a parameter annotation is given without declaring the parameter in the function definition. +-- +-- ```lua +-- default = "Any" +-- ``` +---@field undefined-doc-param "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" +-- Enable undefined environment variable diagnostics. It's raised when `_ENV` table is set to a new literal table, but the used global variable is no longer present in the global environment. +-- +-- ```lua +-- default = "Any" +-- ``` +---@field undefined-env-child "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" +-- Enable diagnostics for cases in which an undefined field of a variable is read. +-- +-- ```lua +-- default = "Opened" +-- ``` +---@field undefined-field "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" +-- Enable undefined global variable diagnostics. +-- +-- ```lua +-- default = "Any" +-- ``` +---@field undefined-global "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" +-- Enable diagnostics for casts of undefined variables. +-- +-- ```lua +-- default = "Any" +-- ``` +---@field unknown-cast-variable "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" +-- Enable diagnostics in cases in which an unknown diagnostics code is entered. +-- +-- ```lua +-- default = "Any" +-- ``` +---@field unknown-diag-code "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" +-- Enable diagnostics for unknown operators. +-- +-- ```lua +-- default = "Any" +-- ``` +---@field unknown-operator "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" +-- Enable diagnostics for unreachable code. +-- +-- ```lua +-- default = "Opened" +-- ``` +---@field unreachable-code "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" +-- Enable unused function diagnostics. +-- +-- ```lua +-- default = "Opened" +-- ``` +---@field unused-function "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" +-- Enable unused label diagnostics. +-- +-- ```lua +-- default = "Opened" +-- ``` +---@field unused-label "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" +-- Enable unused local variable diagnostics. +-- +-- ```lua +-- default = "Opened" +-- ``` +---@field unused-local "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" +-- Enable unused vararg diagnostics. +-- +-- ```lua +-- default = "Opened" +-- ``` +---@field unused-vararg "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" + +-- Modify the diagnostic severity. +-- +-- End with `!` means override the group setting `diagnostics.groupSeverity`. +-- +---@class _.lspconfig.settings.lua_ls.Severity +-- Enable ambiguous operator precedence diagnostics. For example, the `num or 0 + 1` expression will be suggested `(num or 0) + 1` instead. +-- +-- ```lua +-- default = "Warning" +-- ``` +---@field ambiguity-1 "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" +-- Enable diagnostics for assignments in which the value's type does not match the type of the assigned variable. +-- +-- ```lua +-- default = "Warning" +-- ``` +---@field assign-type-mismatch "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" +-- Enable diagnostics for calls of asynchronous functions within a synchronous function. +-- +-- ```lua +-- default = "Warning" +-- ``` +---@field await-in-sync "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" +-- Enable diagnostics for casts of local variables where the target type does not match the defined type. +-- +-- ```lua +-- default = "Warning" +-- ``` +---@field cast-local-type "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" +-- Enable diagnostics for casts where the target type does not match the initial type. +-- +-- ```lua +-- default = "Warning" +-- ``` +---@field cast-type-mismatch "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" +-- TODO: Needs documentation +-- +-- ```lua +-- default = "Warning" +-- ``` +---@field circle-doc-class "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" +-- Enable diagnostics for attempts to close a variable with a non-object. +-- +-- ```lua +-- default = "Warning" +-- ``` +---@field close-non-object "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" +-- Enable diagnostics for code placed after a break statement in a loop. +-- +-- ```lua +-- default = "Hint" +-- ``` +---@field code-after-break "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" +-- Enable diagnostics for incorrectly styled lines. +-- +-- ```lua +-- default = "Warning" +-- ``` +---@field codestyle-check "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" +-- Enable diagnostics for `for` loops which will never reach their max/limit because the loop is incrementing instead of decrementing. +-- +-- ```lua +-- default = "Warning" +-- ``` +---@field count-down-loop "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" +-- Enable diagnostics to highlight deprecated API. +-- +-- ```lua +-- default = "Warning" +-- ``` +---@field deprecated "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" +-- Enable diagnostics for files which are required by two different paths. +-- +-- ```lua +-- default = "Warning" +-- ``` +---@field different-requires "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" +-- Enable diagnostics for calls of functions annotated with `---@nodiscard` where the return values are ignored. +-- +-- ```lua +-- default = "Warning" +-- ``` +---@field discard-returns "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" +-- Enable diagnostics to highlight a field annotation without a defining class annotation. +-- +-- ```lua +-- default = "Warning" +-- ``` +---@field doc-field-no-class "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" +-- Enable diagnostics for a duplicated alias annotation name. +-- +-- ```lua +-- default = "Warning" +-- ``` +---@field duplicate-doc-alias "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" +-- Enable diagnostics for a duplicated field annotation name. +-- +-- ```lua +-- default = "Warning" +-- ``` +---@field duplicate-doc-field "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" +-- Enable diagnostics for a duplicated param annotation name. +-- +-- ```lua +-- default = "Warning" +-- ``` +---@field duplicate-doc-param "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" +-- Enable duplicate table index diagnostics. +-- +-- ```lua +-- default = "Warning" +-- ``` +---@field duplicate-index "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" +-- Enable diagnostics for setting the same field in a class more than once. +-- +-- ```lua +-- default = "Warning" +-- ``` +---@field duplicate-set-field "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" +-- Enable empty code block diagnostics. +-- +-- ```lua +-- default = "Hint" +-- ``` +---@field empty-block "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" +-- Enable diagnostics to warn about global elements. +-- +-- ```lua +-- default = "Warning" +-- ``` +---@field global-element "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" +-- Enable cannot use global variables ( `_ENV` is set to `nil`) diagnostics. +-- +-- ```lua +-- default = "Warning" +-- ``` +---@field global-in-nil-env "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" +-- Incomplete @param or @return annotations for functions. +-- +-- ```lua +-- default = "Warning" +-- ``` +---@field incomplete-signature-doc "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" +-- TODO: Needs documentation +-- +-- ```lua +-- default = "Warning" +-- ``` +---@field inject-field "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" +-- Enable diagnostics for accesses to fields which are invisible. +-- +-- ```lua +-- default = "Warning" +-- ``` +---@field invisible "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" +-- Enable lowercase global variable definition diagnostics. +-- +-- ```lua +-- default = "Information" +-- ``` +---@field lowercase-global "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" +-- TODO: Needs documentation +-- +-- ```lua +-- default = "Warning" +-- ``` +---@field missing-fields "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" +-- Missing annotations for globals! Global functions must have a comment and annotations for all parameters and return values. +-- +-- ```lua +-- default = "Warning" +-- ``` +---@field missing-global-doc "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" +-- Missing annotations for exported locals! Exported local functions must have a comment and annotations for all parameters and return values. +-- +-- ```lua +-- default = "Warning" +-- ``` +---@field missing-local-export-doc "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" +-- Enable diagnostics for function calls where the number of arguments is less than the number of annotated function parameters. +-- +-- ```lua +-- default = "Warning" +-- ``` +---@field missing-parameter "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" +-- Enable diagnostics for functions with return annotations which have no return statement. +-- +-- ```lua +-- default = "Warning" +-- ``` +---@field missing-return "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" +-- Enable diagnostics for return statements without values although the containing function declares returns. +-- +-- ```lua +-- default = "Warning" +-- ``` +---@field missing-return-value "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" +-- Enable diagnostics for name style. +-- +-- ```lua +-- default = "Warning" +-- ``` +---@field name-style-check "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" +-- Enable diagnostics for variable usages if `nil` or an optional (potentially `nil`) value was assigned to the variable before. +-- +-- ```lua +-- default = "Warning" +-- ``` +---@field need-check-nil "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" +-- Enable newfield call diagnostics. It is raised when the parenthesis of a function call appear on the following line when defining a field in a table. +-- +-- ```lua +-- default = "Warning" +-- ``` +---@field newfield-call "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" +-- Enable newline call diagnostics. Is's raised when a line starting with `(` is encountered, which is syntactically parsed as a function call on the previous line. +-- +-- ```lua +-- default = "Warning" +-- ``` +---@field newline-call "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" +-- Enable diagnostics for cases in which the type cannot be inferred. +-- +-- ```lua +-- default = "Warning" +-- ``` +---@field no-unknown "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" +-- Enable diagnostics for calls to `coroutine.yield()` when it is not permitted. +-- +-- ```lua +-- default = "Warning" +-- ``` +---@field not-yieldable "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" +-- Enable diagnostics for function calls where the type of a provided parameter does not match the type of the annotated function definition. +-- +-- ```lua +-- default = "Warning" +-- ``` +---@field param-type-mismatch "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" +-- Enable redefined local variable diagnostics. +-- +-- ```lua +-- default = "Hint" +-- ``` +---@field redefined-local "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" +-- Enable redundant function parameter diagnostics. +-- +-- ```lua +-- default = "Warning" +-- ``` +---@field redundant-parameter "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" +-- Enable diagnostics for return statements which are not needed because the function would exit on its own. +-- +-- ```lua +-- default = "Hint" +-- ``` +---@field redundant-return "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" +-- Enable diagnostics for return statements which return an extra value which is not specified by a return annotation. +-- +-- ```lua +-- default = "Warning" +-- ``` +---@field redundant-return-value "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" +-- Enable the redundant values assigned diagnostics. It's raised during assignment operation, when the number of values is higher than the number of objects being assigned. +-- +-- ```lua +-- default = "Warning" +-- ``` +---@field redundant-value "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" +-- Enable diagnostics for return values whose type does not match the type declared in the corresponding return annotation. +-- +-- ```lua +-- default = "Warning" +-- ``` +---@field return-type-mismatch "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" +-- Enable diagnostics for typos in strings. +-- +-- ```lua +-- default = "Information" +-- ``` +---@field spell-check "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" +-- Enable trailing space diagnostics. +-- +-- ```lua +-- default = "Hint" +-- ``` +---@field trailing-space "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" +-- Enable diagnostics on multiple assignments if not all variables obtain a value (e.g., `local x,y = 1`). +-- +-- ```lua +-- default = "Warning" +-- ``` +---@field unbalanced-assignments "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" +-- Enable diagnostics for class annotations in which an undefined class is referenced. +-- +-- ```lua +-- default = "Warning" +-- ``` +---@field undefined-doc-class "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" +-- Enable diagnostics for type annotations referencing an undefined type or alias. +-- +-- ```lua +-- default = "Warning" +-- ``` +---@field undefined-doc-name "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" +-- Enable diagnostics for cases in which a parameter annotation is given without declaring the parameter in the function definition. +-- +-- ```lua +-- default = "Warning" +-- ``` +---@field undefined-doc-param "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" +-- Enable undefined environment variable diagnostics. It's raised when `_ENV` table is set to a new literal table, but the used global variable is no longer present in the global environment. +-- +-- ```lua +-- default = "Information" +-- ``` +---@field undefined-env-child "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" +-- Enable diagnostics for cases in which an undefined field of a variable is read. +-- +-- ```lua +-- default = "Warning" +-- ``` +---@field undefined-field "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" +-- Enable undefined global variable diagnostics. +-- +-- ```lua +-- default = "Warning" +-- ``` +---@field undefined-global "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" +-- Enable diagnostics for casts of undefined variables. +-- +-- ```lua +-- default = "Warning" +-- ``` +---@field unknown-cast-variable "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" +-- Enable diagnostics in cases in which an unknown diagnostics code is entered. +-- +-- ```lua +-- default = "Warning" +-- ``` +---@field unknown-diag-code "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" +-- Enable diagnostics for unknown operators. +-- +-- ```lua +-- default = "Warning" +-- ``` +---@field unknown-operator "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" +-- Enable diagnostics for unreachable code. +-- +-- ```lua +-- default = "Hint" +-- ``` +---@field unreachable-code "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" +-- Enable unused function diagnostics. +-- +-- ```lua +-- default = "Hint" +-- ``` +---@field unused-function "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" +-- Enable unused label diagnostics. +-- +-- ```lua +-- default = "Hint" +-- ``` +---@field unused-label "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" +-- Enable unused local variable diagnostics. +-- +-- ```lua +-- default = "Hint" +-- ``` +---@field unused-local "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" +-- Enable unused vararg diagnostics. +-- +-- ```lua +-- default = "Hint" +-- ``` +---@field unused-vararg "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" + +---@class _.lspconfig.settings.lua_ls.Diagnostics +-- Disabled diagnostic (Use code in hover brackets). -- -- ```lua -- default = {} -- ``` ----@class _.lspconfig.settings.ltex.EnabledRules --- List of additional `ar` (Arabic) rules that should be enabled (if disabled by default by LanguageTool). ----@field ar string[] --- List of additional `ast-ES` (Asturian) rules that should be enabled (if disabled by default by LanguageTool). ----@field ast-ES string[] --- List of additional `be-BY` (Belarusian) rules that should be enabled (if disabled by default by LanguageTool). ----@field be-BY string[] --- List of additional `br-FR` (Breton) rules that should be enabled (if disabled by default by LanguageTool). ----@field br-FR string[] --- List of additional `ca-ES` (Catalan) rules that should be enabled (if disabled by default by LanguageTool). ----@field ca-ES string[] --- List of additional `ca-ES-valencia` (Catalan (Valencian)) rules that should be enabled (if disabled by default by LanguageTool). ----@field ca-ES-valencia string[] --- List of additional `da-DK` (Danish) rules that should be enabled (if disabled by default by LanguageTool). ----@field da-DK string[] --- List of additional `de` (German) rules that should be enabled (if disabled by default by LanguageTool). ----@field de string[] --- List of additional `de-AT` (German (Austria)) rules that should be enabled (if disabled by default by LanguageTool). ----@field de-AT string[] --- List of additional `de-CH` (German (Swiss)) rules that should be enabled (if disabled by default by LanguageTool). ----@field de-CH string[] --- List of additional `de-DE` (German (Germany)) rules that should be enabled (if disabled by default by LanguageTool). ----@field de-DE string[] --- List of additional `de-DE-x-simple-language` (Simple German) rules that should be enabled (if disabled by default by LanguageTool). ----@field de-DE-x-simple-language string[] --- List of additional `el-GR` (Greek) rules that should be enabled (if disabled by default by LanguageTool). ----@field el-GR string[] --- List of additional `en` (English) rules that should be enabled (if disabled by default by LanguageTool). ----@field en string[] --- List of additional `en-AU` (English (Australian)) rules that should be enabled (if disabled by default by LanguageTool). ----@field en-AU string[] --- List of additional `en-CA` (English (Canadian)) rules that should be enabled (if disabled by default by LanguageTool). ----@field en-CA string[] --- List of additional `en-GB` (English (GB)) rules that should be enabled (if disabled by default by LanguageTool). ----@field en-GB string[] --- List of additional `en-NZ` (English (New Zealand)) rules that should be enabled (if disabled by default by LanguageTool). ----@field en-NZ string[] --- List of additional `en-US` (English (US)) rules that should be enabled (if disabled by default by LanguageTool). ----@field en-US string[] --- List of additional `en-ZA` (English (South African)) rules that should be enabled (if disabled by default by LanguageTool). ----@field en-ZA string[] --- List of additional `eo` (Esperanto) rules that should be enabled (if disabled by default by LanguageTool). ----@field eo string[] --- List of additional `es` (Spanish) rules that should be enabled (if disabled by default by LanguageTool). ----@field es string[] --- List of additional `es-AR` (Spanish (voseo)) rules that should be enabled (if disabled by default by LanguageTool). ----@field es-AR string[] --- List of additional `fa` (Persian) rules that should be enabled (if disabled by default by LanguageTool). ----@field fa string[] --- List of additional `fr` (French) rules that should be enabled (if disabled by default by LanguageTool). ----@field fr string[] --- List of additional `ga-IE` (Irish) rules that should be enabled (if disabled by default by LanguageTool). ----@field ga-IE string[] --- List of additional `gl-ES` (Galician) rules that should be enabled (if disabled by default by LanguageTool). ----@field gl-ES string[] --- List of additional `it` (Italian) rules that should be enabled (if disabled by default by LanguageTool). ----@field it string[] --- List of additional `ja-JP` (Japanese) rules that should be enabled (if disabled by default by LanguageTool). ----@field ja-JP string[] --- List of additional `km-KH` (Khmer) rules that should be enabled (if disabled by default by LanguageTool). ----@field km-KH string[] --- List of additional `nl` (Dutch) rules that should be enabled (if disabled by default by LanguageTool). ----@field nl string[] --- List of additional `nl-BE` (Dutch (Belgium)) rules that should be enabled (if disabled by default by LanguageTool). ----@field nl-BE string[] --- List of additional `pl-PL` (Polish) rules that should be enabled (if disabled by default by LanguageTool). ----@field pl-PL string[] --- List of additional `pt` (Portuguese) rules that should be enabled (if disabled by default by LanguageTool). ----@field pt string[] --- List of additional `pt-AO` (Portuguese (Angola preAO)) rules that should be enabled (if disabled by default by LanguageTool). ----@field pt-AO string[] --- List of additional `pt-BR` (Portuguese (Brazil)) rules that should be enabled (if disabled by default by LanguageTool). ----@field pt-BR string[] --- List of additional `pt-MZ` (Portuguese (Moçambique preAO)) rules that should be enabled (if disabled by default by LanguageTool). ----@field pt-MZ string[] --- List of additional `pt-PT` (Portuguese (Portugal)) rules that should be enabled (if disabled by default by LanguageTool). ----@field pt-PT string[] --- List of additional `ro-RO` (Romanian) rules that should be enabled (if disabled by default by LanguageTool). ----@field ro-RO string[] --- List of additional `ru-RU` (Russian) rules that should be enabled (if disabled by default by LanguageTool). ----@field ru-RU string[] --- List of additional `sk-SK` (Slovak) rules that should be enabled (if disabled by default by LanguageTool). ----@field sk-SK string[] --- List of additional `sl-SI` (Slovenian) rules that should be enabled (if disabled by default by LanguageTool). ----@field sl-SI string[] --- List of additional `sv` (Swedish) rules that should be enabled (if disabled by default by LanguageTool). ----@field sv string[] --- List of additional `ta-IN` (Tamil) rules that should be enabled (if disabled by default by LanguageTool). ----@field ta-IN string[] --- List of additional `tl-PH` (Tagalog) rules that should be enabled (if disabled by default by LanguageTool). ----@field tl-PH string[] --- List of additional `uk-UA` (Ukrainian) rules that should be enabled (if disabled by default by LanguageTool). ----@field uk-UA string[] --- List of additional `zh-CN` (Chinese) rules that should be enabled (if disabled by default by LanguageTool). ----@field zh-CN string[] +---@field disable string[] +-- Do not diagnose Lua files that use the following scheme. +-- +-- ```lua +-- default = { "git" } +-- ``` +---@field disableScheme string[] +-- Enable diagnostics. +-- +-- ```lua +-- default = true +-- ``` +---@field enable boolean +-- Defined global variables. +-- +-- ```lua +-- default = {} +-- ``` +---@field globals string[] +-- Find defined global variables using regex. +-- +-- ```lua +-- default = {} +-- ``` +---@field globalsRegex string[] +-- Modify the diagnostic needed file status in a group. +-- +-- * Opened: only diagnose opened files +-- * Any: diagnose all files +-- * None: disable this diagnostic +-- +-- `Fallback` means that diagnostics in this group are controlled by `diagnostics.neededFileStatus` separately. +-- Other settings will override individual settings without end of `!`. +-- +---@field groupFileStatus _.lspconfig.settings.lua_ls.GroupFileStatus +-- Modify the diagnostic severity in a group. +-- `Fallback` means that diagnostics in this group are controlled by `diagnostics.severity` separately. +-- Other settings will override individual settings without end of `!`. +-- +---@field groupSeverity _.lspconfig.settings.lua_ls.GroupSeverity +-- How to diagnose ignored files. +-- +-- ```lua +-- default = "Opened" +-- ``` +---@field ignoredFiles "Enable" | "Opened" | "Disable" +-- How to diagnose files loaded via `Lua.workspace.library`. +-- +-- ```lua +-- default = "Opened" +-- ``` +---@field libraryFiles "Enable" | "Opened" | "Disable" +-- * Opened: only diagnose opened files +-- * Any: diagnose all files +-- * None: disable this diagnostic +-- +-- End with `!` means override the group setting `diagnostics.groupFileStatus`. +-- +---@field neededFileStatus _.lspconfig.settings.lua_ls.NeededFileStatus +-- Modify the diagnostic severity. +-- +-- End with `!` means override the group setting `diagnostics.groupSeverity`. +-- +---@field severity _.lspconfig.settings.lua_ls.Severity +-- Do not diagnose `unused-local` when the variable name matches the following pattern. +-- +-- ```lua +-- default = {} +-- ``` +---@field unusedLocalExclude string[] +-- Latency (milliseconds) for workspace diagnostics. +-- +-- ```lua +-- default = 3000 +-- ``` +---@field workspaceDelay integer +-- Set the time to trigger workspace diagnostics. +-- +-- ```lua +-- default = "OnSave" +-- ``` +---@field workspaceEvent "OnChange" | "OnSave" | "None" +-- Workspace diagnostics run rate (%). Decreasing this value reduces CPU usage, but also reduces the speed of workspace diagnostics. The diagnosis of the file you are currently editing is always done at full speed and is not affected by this setting. +-- +-- ```lua +-- default = 100 +-- ``` +---@field workspaceRate integer --- Lists of false-positive diagnostics to hide (by hiding all diagnostics of a specific rule within a specific sentence). [More info...](https://valentjn.github.io/ltex/settings.html#ltexhiddenfalsepositives) +---@class _.lspconfig.settings.lua_ls.Doc +-- Treat specific field names as package, e.g. `m_*` means `XXX.m_id` and `XXX.m_type` are package, witch can only be accessed in the file where the definition is located. -- -- ```lua -- default = {} -- ``` ----@class _.lspconfig.settings.ltex.HiddenFalsePositives --- List of `ar` (Arabic) false-positive diagnostics to hide. ----@field ar string[] --- List of `ast-ES` (Asturian) false-positive diagnostics to hide. ----@field ast-ES string[] --- List of `be-BY` (Belarusian) false-positive diagnostics to hide. ----@field be-BY string[] --- List of `br-FR` (Breton) false-positive diagnostics to hide. ----@field br-FR string[] --- List of `ca-ES` (Catalan) false-positive diagnostics to hide. ----@field ca-ES string[] --- List of `ca-ES-valencia` (Catalan (Valencian)) false-positive diagnostics to hide. ----@field ca-ES-valencia string[] --- List of `da-DK` (Danish) false-positive diagnostics to hide. ----@field da-DK string[] --- List of `de` (German) false-positive diagnostics to hide. ----@field de string[] --- List of `de-AT` (German (Austria)) false-positive diagnostics to hide. ----@field de-AT string[] --- List of `de-CH` (German (Swiss)) false-positive diagnostics to hide. ----@field de-CH string[] --- List of `de-DE` (German (Germany)) false-positive diagnostics to hide. ----@field de-DE string[] --- List of `de-DE-x-simple-language` (Simple German) false-positive diagnostics to hide. ----@field de-DE-x-simple-language string[] --- List of `el-GR` (Greek) false-positive diagnostics to hide. ----@field el-GR string[] --- List of `en` (English) false-positive diagnostics to hide. ----@field en string[] --- List of `en-AU` (English (Australian)) false-positive diagnostics to hide. ----@field en-AU string[] --- List of `en-CA` (English (Canadian)) false-positive diagnostics to hide. ----@field en-CA string[] --- List of `en-GB` (English (GB)) false-positive diagnostics to hide. ----@field en-GB string[] --- List of `en-NZ` (English (New Zealand)) false-positive diagnostics to hide. ----@field en-NZ string[] --- List of `en-US` (English (US)) false-positive diagnostics to hide. ----@field en-US string[] --- List of `en-ZA` (English (South African)) false-positive diagnostics to hide. ----@field en-ZA string[] --- List of `eo` (Esperanto) false-positive diagnostics to hide. ----@field eo string[] --- List of `es` (Spanish) false-positive diagnostics to hide. ----@field es string[] --- List of `es-AR` (Spanish (voseo)) false-positive diagnostics to hide. ----@field es-AR string[] --- List of `fa` (Persian) false-positive diagnostics to hide. ----@field fa string[] --- List of `fr` (French) false-positive diagnostics to hide. ----@field fr string[] --- List of `ga-IE` (Irish) false-positive diagnostics to hide. ----@field ga-IE string[] --- List of `gl-ES` (Galician) false-positive diagnostics to hide. ----@field gl-ES string[] --- List of `it` (Italian) false-positive diagnostics to hide. ----@field it string[] --- List of `ja-JP` (Japanese) false-positive diagnostics to hide. ----@field ja-JP string[] --- List of `km-KH` (Khmer) false-positive diagnostics to hide. ----@field km-KH string[] --- List of `nl` (Dutch) false-positive diagnostics to hide. ----@field nl string[] --- List of `nl-BE` (Dutch (Belgium)) false-positive diagnostics to hide. ----@field nl-BE string[] --- List of `pl-PL` (Polish) false-positive diagnostics to hide. ----@field pl-PL string[] --- List of `pt` (Portuguese) false-positive diagnostics to hide. ----@field pt string[] --- List of `pt-AO` (Portuguese (Angola preAO)) false-positive diagnostics to hide. ----@field pt-AO string[] --- List of `pt-BR` (Portuguese (Brazil)) false-positive diagnostics to hide. ----@field pt-BR string[] --- List of `pt-MZ` (Portuguese (Moçambique preAO)) false-positive diagnostics to hide. ----@field pt-MZ string[] --- List of `pt-PT` (Portuguese (Portugal)) false-positive diagnostics to hide. ----@field pt-PT string[] --- List of `ro-RO` (Romanian) false-positive diagnostics to hide. ----@field ro-RO string[] --- List of `ru-RU` (Russian) false-positive diagnostics to hide. ----@field ru-RU string[] --- List of `sk-SK` (Slovak) false-positive diagnostics to hide. ----@field sk-SK string[] --- List of `sl-SI` (Slovenian) false-positive diagnostics to hide. ----@field sl-SI string[] --- List of `sv` (Swedish) false-positive diagnostics to hide. ----@field sv string[] --- List of `ta-IN` (Tamil) false-positive diagnostics to hide. ----@field ta-IN string[] --- List of `tl-PH` (Tagalog) false-positive diagnostics to hide. ----@field tl-PH string[] --- List of `uk-UA` (Ukrainian) false-positive diagnostics to hide. ----@field uk-UA string[] --- List of `zh-CN` (Chinese) false-positive diagnostics to hide. ----@field zh-CN string[] +---@field packageName string[] +-- Treat specific field names as private, e.g. `m_*` means `XXX.m_id` and `XXX.m_type` are private, witch can only be accessed in the class where the definition is located. +-- +-- ```lua +-- default = {} +-- ``` +---@field privateName string[] +-- Treat specific field names as protected, e.g. `m_*` means `XXX.m_id` and `XXX.m_type` are protected, witch can only be accessed in the class where the definition is located and its subclasses. +-- +-- ```lua +-- default = {} +-- ``` +---@field protectedName string[] ----@class _.lspconfig.settings.ltex.Java --- Initial size of the Java heap memory in megabytes (corresponds to Java's `-Xms` option, must be a positive integer). [More info...](https://valentjn.github.io/ltex/settings.html#ltexjavainitialheapsize) +---@class _.lspconfig.settings.lua_ls.Format +-- The default format configuration. Has a lower priority than `.editorconfig` file in the workspace. +-- Read [formatter docs](https://github.com/CppCXY/EmmyLuaCodeStyle/tree/master/docs) to learn usage. +-- -- -- ```lua --- default = 64 +-- default = {} -- ``` ----@field initialHeapSize integer --- Maximum size of the Java heap memory in megabytes (corresponds to Java's `-Xmx` option, must be a positive integer). [More info...](https://valentjn.github.io/ltex/settings.html#ltexjavamaximumheapsize) +---@field defaultConfig table +-- Enable code formatter. -- -- ```lua --- default = 512 +-- default = true -- ``` ----@field maximumHeapSize integer --- If set to an empty string, LTeX uses a Java distribution that is bundled with ltex-ls. You can point this setting to an existing Java installation on your computer to use that installation instead. [More info...](https://valentjn.github.io/ltex/settings.html#ltexjavapath) +---@field enable boolean + +---@class _.lspconfig.settings.lua_ls.Hint +-- Show hints of array index when constructing a table. -- -- ```lua --- default = "" +-- default = "Auto" -- ``` ----@field path string +---@field arrayIndex "Enable" | "Auto" | "Disable" +-- If the called function is marked `---@async`, prompt `await` at the call. +-- +-- ```lua +-- default = true +-- ``` +---@field await boolean +-- Enable inlay hint. +---@field enable boolean +-- Show hints of parameter name at the function call. +-- +-- ```lua +-- default = "All" +-- ``` +---@field paramName "All" | "Literal" | "Disable" +-- Show type hints at the parameter of the function. +-- +-- ```lua +-- default = true +-- ``` +---@field paramType boolean +-- If there is no semicolon at the end of the statement, display a virtual semicolon. +-- +-- ```lua +-- default = "SameLine" +-- ``` +---@field semicolon "All" | "SameLine" | "Disable" +-- Show hints of type at assignment operation. +---@field setType boolean ----@class _.lspconfig.settings.ltex.LanguageToolOrg --- API key for Premium API access. Only relevant if `ltex.languageToolHttpServerUri` is set. +---@class _.lspconfig.settings.lua_ls.Hover +-- Enable hover. -- -- ```lua --- default = "" +-- default = true -- ``` ----@field apiKey string --- Username/email as used to log in at languagetool.org for Premium API access. Only relevant if `ltex.languageToolHttpServerUri` is set. +---@field enable boolean +-- When the value corresponds to multiple types, limit the number of types displaying. -- -- ```lua --- default = "" +-- default = 5 -- ``` ----@field username string +---@field enumsLimit integer +-- Whether to expand the alias. For example, expands `---@alias myType boolean|number` appears as `boolean|number`, otherwise it appears as `myType'. +-- +-- +-- ```lua +-- default = true +-- ``` +---@field expandAlias boolean +-- When hovering to view a table, limits the maximum number of previews for fields. +-- +-- ```lua +-- default = 50 +-- ``` +---@field previewFields integer +-- Hover to view numeric content (only if literal is not decimal). +-- +-- ```lua +-- default = true +-- ``` +---@field viewNumber boolean +-- Hover to view the contents of a string (only if the literal contains an escape character). +-- +-- ```lua +-- default = true +-- ``` +---@field viewString boolean +-- The maximum length of a hover to view the contents of a string. +-- +-- ```lua +-- default = 1000 +-- ``` +---@field viewStringMax integer ----@class _.lspconfig.settings.ltex.Latex --- List of LaTeX commands to be handled by the LaTeX parser, listed together with empty arguments (e.g., `"\ref{}"`, `"\documentclass[]{}"`). [More info...](https://valentjn.github.io/ltex/settings.html#ltexlatexcommands) +---@class _.lspconfig.settings.lua_ls.Misc +-- Specify the executable path in VSCode. +-- +-- ```lua +-- default = "" +-- ``` +---@field executablePath string +-- [Command line parameters](https://github.com/LuaLS/lua-telemetry-server/tree/master/method) when starting the language server in VSCode. -- -- ```lua -- default = {} -- ``` ----@field commands table --- List of names of LaTeX environments to be handled by the LaTeX parser. [More info...](https://valentjn.github.io/ltex/settings.html#ltexlatexenvironments) +---@field parameters string[] + +---@class _.lspconfig.settings.lua_ls.NameStyle +-- Set name style config -- -- ```lua -- default = {} -- ``` ----@field environments table +---@field config table ----@class _.lspconfig.settings.ltex.Ltex-ls +-- Adjust the enabled state of the built-in library. You can disable (or redefine) the non-existent library according to the actual runtime environment. +-- +-- * `default`: Indicates that the library will be enabled or disabled according to the runtime version +-- * `enable`: always enable +-- * `disable`: always disable +-- +---@class _.lspconfig.settings.lua_ls.Builtin +-- TODO: Needs documentation +-- -- ```lua --- default = "" +-- default = "default" -- ``` ----@field languageToolHttpServerUri string +---@field basic "default" | "enable" | "disable" +-- TODO: Needs documentation +-- -- ```lua --- default = "" +-- default = "default" -- ``` ----@field languageToolOrgApiKey string +---@field bit "default" | "enable" | "disable" +-- TODO: Needs documentation +-- -- ```lua --- default = "" +-- default = "default" -- ``` ----@field languageToolOrgUsername string --- Logging level (verbosity) of the ltex-ls server log, which is accessible via `View` › `Output` › `LTeX Language Server`. [More info...](https://valentjn.github.io/ltex/settings.html#ltexltex-lsloglevel) +---@field bit32 "default" | "enable" | "disable" +-- TODO: Needs documentation -- -- ```lua --- default = "fine" +-- default = "default" -- ``` ----@field logLevel "severe" | "warning" | "info" | "config" | "fine" | "finer" | "finest" --- If set to an empty string, LTeX automatically downloads [ltex-ls from GitHub](https://github.com/valentjn/ltex-ls/releases), stores it in the folder of the extension, and uses it for the checking process. You can point this setting to an ltex-ls release you downloaded by yourself. [More info...](https://valentjn.github.io/ltex/settings.html#ltexltex-lspath) +---@field builtin "default" | "enable" | "disable" +-- TODO: Needs documentation -- -- ```lua --- default = "" +-- default = "default" -- ``` ----@field path string - ----@class _.lspconfig.settings.ltex.Markdown --- List of Markdown node types to be handled by the Markdown parser. [More info...](https://valentjn.github.io/ltex/settings.html#ltexmarkdownnodes) +---@field coroutine "default" | "enable" | "disable" +-- TODO: Needs documentation -- -- ```lua --- default = {} +-- default = "default" -- ``` ----@field nodes table - ----@class _.lspconfig.settings.ltex.Trace --- Debug setting to log the communication between language client and server. [More info...](https://valentjn.github.io/ltex/settings.html#ltextraceserver) +---@field debug "default" | "enable" | "disable" +-- TODO: Needs documentation -- -- ```lua --- default = "off" +-- default = "default" -- ``` ----@field server "off" | "messages" | "verbose" - ----@class _.lspconfig.settings.ltex.Ltex ----@field additionalRules _.lspconfig.settings.ltex.AdditionalRules ----@field bibtex _.lspconfig.settings.ltex.Bibtex --- Controls when documents should be checked. [More info...](https://valentjn.github.io/ltex/settings.html#ltexcheckfrequency) +---@field ffi "default" | "enable" | "disable" +-- TODO: Needs documentation -- -- ```lua --- default = "edit" +-- default = "default" -- ``` ----@field checkFrequency "edit" | "save" | "manual" --- If set to `true`, diagnostics of a file are cleared when the file is closed. +---@field io "default" | "enable" | "disable" +-- TODO: Needs documentation -- -- ```lua --- default = true +-- default = "default" -- ``` ----@field clearDiagnosticsWhenClosingFile boolean --- Whether completion is enabled (also known as auto-completion, suggestions, or IntelliSense). [More info...](https://valentjn.github.io/ltex/settings.html#ltexcompletionenabled) ----@field completionEnabled boolean --- Controls which `settings.json` or external setting file ([see documentation](https://valentjn.github.io/ltex/vscode-ltex/setting-scopes-files.html#external-setting-files)) to update when using one of the quick fixes. +---@field jit "default" | "enable" | "disable" +-- TODO: Needs documentation -- -- ```lua --- default = { --- dictionary = "workspaceFolderExternalFile", --- disabledRules = "workspaceFolderExternalFile", --- hiddenFalsePositives = "workspaceFolderExternalFile" --- } +-- default = "default" -- ``` ----@field configurationTarget _.lspconfig.settings.ltex.ConfigurationTarget --- Severity of the diagnostics corresponding to the grammar and spelling errors. [More info...](https://valentjn.github.io/ltex/settings.html#ltexdiagnosticseverity) +---@field jit.profile "default" | "enable" | "disable" +-- TODO: Needs documentation -- -- ```lua --- default = "information" +-- default = "default" -- ``` ----@field diagnosticSeverity any --- Lists of additional words that should not be counted as spelling errors. [More info...](https://valentjn.github.io/ltex/settings.html#ltexdictionary) +---@field jit.util "default" | "enable" | "disable" +-- TODO: Needs documentation -- -- ```lua --- default = {} +-- default = "default" -- ``` ----@field dictionary _.lspconfig.settings.ltex.Dictionary --- Lists of rules that should be disabled (if enabled by default by LanguageTool). [More info...](https://valentjn.github.io/ltex/settings.html#ltexdisabledrules) +---@field math "default" | "enable" | "disable" +-- TODO: Needs documentation -- -- ```lua --- default = {} +-- default = "default" -- ``` ----@field disabledRules _.lspconfig.settings.ltex.DisabledRules --- Controls whether the extension is enabled. Allows disabling LanguageTool on specific workspaces or for specific code language modes (i.e., file types). [More info...](https://valentjn.github.io/ltex/settings.html#ltexenabled) +---@field os "default" | "enable" | "disable" +-- TODO: Needs documentation -- -- ```lua --- default = { "bibtex", "context", "context.tex", "html", "latex", "markdown", "org", "restructuredtext", "rsweave" } +-- default = "default" -- ``` ----@field enabled any --- Lists of rules that should be enabled (if disabled by default by LanguageTool). [More info...](https://valentjn.github.io/ltex/settings.html#ltexenabledrules) +---@field package "default" | "enable" | "disable" +-- TODO: Needs documentation -- -- ```lua --- default = {} +-- default = "default" -- ``` ----@field enabledRules _.lspconfig.settings.ltex.EnabledRules --- Lists of false-positive diagnostics to hide (by hiding all diagnostics of a specific rule within a specific sentence). [More info...](https://valentjn.github.io/ltex/settings.html#ltexhiddenfalsepositives) +---@field string "default" | "enable" | "disable" +-- TODO: Needs documentation -- -- ```lua --- default = {} +-- default = "default" -- ``` ----@field hiddenFalsePositives _.lspconfig.settings.ltex.HiddenFalsePositives ----@field java _.lspconfig.settings.ltex.Java --- The language (e.g., `"en-US"`) LanguageTool should check against. If possible, use a specific variant like `"en-US"` or `"de-DE"` instead of the generic language code like `"en"` or `"de"` to obtain spelling corrections (in addition to grammar corrections). [More info...](https://valentjn.github.io/ltex/settings.html#ltexlanguage) +---@field string.buffer "default" | "enable" | "disable" +-- TODO: Needs documentation -- -- ```lua --- default = "en-US" +-- default = "default" -- ``` ----@field language "auto" | "ar" | "ast-ES" | "be-BY" | "br-FR" | "ca-ES" | "ca-ES-valencia" | "da-DK" | "de" | "de-AT" | "de-CH" | "de-DE" | "de-DE-x-simple-language" | "el-GR" | "en" | "en-AU" | "en-CA" | "en-GB" | "en-NZ" | "en-US" | "en-ZA" | "eo" | "es" | "es-AR" | "fa" | "fr" | "ga-IE" | "gl-ES" | "it" | "ja-JP" | "km-KH" | "nl" | "nl-BE" | "pl-PL" | "pt" | "pt-AO" | "pt-BR" | "pt-MZ" | "pt-PT" | "ro-RO" | "ru-RU" | "sk-SK" | "sl-SI" | "sv" | "ta-IN" | "tl-PH" | "uk-UA" | "zh-CN" --- If set to a non-empty string, LTeX will not use the bundled, built-in version of LanguageTool. Instead, LTeX will connect to an external [LanguageTool HTTP server](http://wiki.languagetool.org/http-server). Set this setting to the root URI of the server, and do not append `v2/check` or similar. [More info...](https://valentjn.github.io/ltex/settings.html#ltexlanguagetoolhttpserveruri) +---@field table "default" | "enable" | "disable" +-- TODO: Needs documentation -- -- ```lua --- default = "" +-- default = "default" -- ``` ----@field languageToolHttpServerUri string ----@field languageToolOrg _.lspconfig.settings.ltex.LanguageToolOrg ----@field latex _.lspconfig.settings.ltex.Latex ----@field ltex-ls _.lspconfig.settings.ltex.Ltex-ls ----@field markdown _.lspconfig.settings.ltex.Markdown --- Size of the LanguageTool `ResultCache` in sentences (must be a positive integer). [More info...](https://valentjn.github.io/ltex/settings.html#ltexsentencecachesize) +---@field table.clear "default" | "enable" | "disable" +-- TODO: Needs documentation -- -- ```lua --- default = 2000 +-- default = "default" -- ``` ----@field sentenceCacheSize integer --- If set to `true`, an item about the status of LTeX is shown permanently in the status bar. ----@field statusBarItem boolean ----@field trace _.lspconfig.settings.ltex.Trace - ----@class lspconfig.settings.ltex ----@field ltex _.lspconfig.settings.ltex.Ltex - ----@class _.lspconfig.settings.lua_ls.AddonManager --- Whether the addon manager is enabled or not. +---@field table.new "default" | "enable" | "disable" +-- TODO: Needs documentation -- -- ```lua --- default = true +-- default = "default" -- ``` ----@field enable boolean - ----@class _.lspconfig.settings.lua_ls.CodeLens --- Enable code lens. ----@field enable boolean +---@field utf8 "default" | "enable" | "disable" ----@class _.lspconfig.settings.lua_ls.Completion --- When the input looks like a file name, automatically `require` this file. +---@class _.lspconfig.settings.lua_ls.Runtime +-- Adjust the enabled state of the built-in library. You can disable (or redefine) the non-existent library according to the actual runtime environment. -- --- ```lua --- default = true --- ``` ----@field autoRequire boolean --- Shows function call snippets. +-- * `default`: Indicates that the library will be enabled or disabled according to the runtime version +-- * `enable`: always enable +-- * `disable`: always disable -- --- ```lua --- default = "Disable" --- ``` ----@field callSnippet "Disable" | "Both" | "Replace" --- Previewing the relevant code snippet of the suggestion may help you understand the usage of the suggestion. The number set indicates the number of intercepted lines in the code fragment. If it is set to `0`, this feature can be disabled. +---@field builtin _.lspconfig.settings.lua_ls.Builtin +-- File encoding. The `ansi` option is only available under the `Windows` platform. -- -- ```lua --- default = 0 +-- default = "utf8" -- ``` ----@field displayContext integer --- Enable completion. +---@field fileEncoding "utf8" | "ansi" | "utf16le" | "utf16be" +-- Format of the directory name of the meta files. -- -- ```lua --- default = true +-- default = "${version} ${language} ${encoding}" -- ``` ----@field enable boolean --- Shows keyword syntax snippets. +---@field meta string +-- Supports non-standard symbols. Make sure that your runtime environment supports these symbols. -- -- ```lua --- default = "Replace" +-- default = {} -- ``` ----@field keywordSnippet "Disable" | "Both" | "Replace" --- The symbol used to trigger the postfix suggestion. +---@field nonstandardSymbol string[] +-- When using `require`, how to find the file based on the input name. +-- Setting this config to `?/init.lua` means that when you enter `require 'myfile'`, `${workspace}/myfile/init.lua` will be searched from the loaded files. +-- if `runtime.pathStrict` is `false`, `${workspace}/**/myfile/init.lua` will also be searched. +-- If you want to load files outside the workspace, you need to set `Lua.workspace.library` first. -- --- ```lua --- default = "@" --- ``` ----@field postfix string --- The separator used when `require`. -- -- ```lua --- default = "." +-- default = { "?.lua", "?/init.lua" } +-- ``` +---@field path string[] +-- When enabled, `runtime.path` will only search the first level of directories, see the description of `runtime.path`. +---@field pathStrict boolean +-- Plugin path. Please read [wiki](https://luals.github.io/wiki/plugins) to learn more. +---@field plugin string|any[] +-- Additional arguments for the plugin. +---@field pluginArgs any[]|table +-- The custom global variables are regarded as some special built-in variables, and the language server will provide special support +-- The following example shows that 'include' is treated as' require '. +-- ```json +-- "Lua.runtime.special" : { +-- "include" : "require" +-- } -- ``` ----@field requireSeparator string --- Display parameters in completion list. When the function has multiple definitions, they will be displayed separately. +-- -- -- ```lua --- default = true +-- default = {} -- ``` ----@field showParams boolean --- Show contextual words in suggestions. +---@field special table +-- Allows Unicode characters in name. +---@field unicodeName boolean +-- Lua runtime version. -- -- ```lua --- default = "Fallback" +-- default = "Lua 5.4" -- ``` ----@field showWord "Enable" | "Fallback" | "Disable" --- Whether the displayed context word contains the content of other files in the workspace. +---@field version "Lua 5.1" | "Lua 5.2" | "Lua 5.3" | "Lua 5.4" | "LuaJIT" + +---@class _.lspconfig.settings.lua_ls.Semantic +-- Semantic coloring of type annotations. -- -- ```lua -- default = true -- ``` ----@field workspaceWord boolean - --- Modify the diagnostic needed file status in a group. --- --- * Opened: only diagnose opened files --- * Any: diagnose all files --- * None: disable this diagnostic --- --- `Fallback` means that diagnostics in this group are controlled by `diagnostics.neededFileStatus` separately. --- Other settings will override individual settings without end of `!`. --- ----@class _.lspconfig.settings.lua_ls.GroupFileStatus --- * ambiguity-1 --- * count-down-loop --- * different-requires --- * newfield-call --- * newline-call +---@field annotation boolean +-- Enable semantic color. You may need to set `editor.semanticHighlighting.enabled` to `true` to take effect. -- -- ```lua --- default = "Fallback" +-- default = true -- ``` ----@field ambiguity "Any" | "Opened" | "None" | "Fallback" --- * await-in-sync --- * not-yieldable +---@field enable boolean +-- Semantic coloring of keywords/literals/operators. You only need to enable this feature if your editor cannot do syntax coloring. +---@field keyword boolean +-- Semantic coloring of variables/fields/parameters. -- -- ```lua --- default = "Fallback" +-- default = true -- ``` ----@field await "Any" | "Opened" | "None" | "Fallback" --- * codestyle-check --- * name-style-check --- * spell-check +---@field variable boolean + +---@class _.lspconfig.settings.lua_ls.SignatureHelp +-- Enable signature help. -- -- ```lua --- default = "Fallback" +-- default = true -- ``` ----@field codestyle "Any" | "Opened" | "None" | "Fallback" --- * global-element +---@field enable boolean + +---@class _.lspconfig.settings.lua_ls.Spell +-- Custom words for spell checking. -- -- ```lua --- default = "Fallback" +-- default = {} -- ``` ----@field conventions "Any" | "Opened" | "None" | "Fallback" --- * duplicate-index --- * duplicate-set-field +---@field dict string[] + +---@class _.lspconfig.settings.lua_ls.Type +-- Allowed to assign the `number` type to the `integer` type. -- -- ```lua --- default = "Fallback" +-- default = true -- ``` ----@field duplicate "Any" | "Opened" | "None" | "Fallback" --- * global-in-nil-env --- * lowercase-global --- * undefined-env-child --- * undefined-global +---@field castNumberToInteger boolean +-- When a parameter type is not annotated, it is inferred from the function's call sites. +-- +-- When this setting is `false`, the type of the parameter is `any` when it is not annotated. +-- +---@field inferParamType boolean +-- When checking the type of union type, ignore the `nil` in it. +-- +-- When this setting is `false`, the `number|nil` type cannot be assigned to the `number` type. It can be with `true`. +-- +---@field weakNilCheck boolean +-- Once one subtype of a union type meets the condition, the union type also meets the condition. +-- +-- When this setting is `false`, the `number|boolean` type cannot be assigned to the `number` type. It can be with `true`. +-- +---@field weakUnionCheck boolean + +-- Configures the formatting behavior while typing Lua code. +---@class _.lspconfig.settings.lua_ls.Config +-- Controls if `end` is automatically completed at suitable positions. -- -- ```lua --- default = "Fallback" +-- default = "true" -- ``` ----@field global "Any" | "Opened" | "None" | "Fallback" --- * circle-doc-class --- * doc-field-no-class --- * duplicate-doc-alias --- * duplicate-doc-field --- * duplicate-doc-param --- * incomplete-signature-doc --- * missing-global-doc --- * missing-local-export-doc --- * undefined-doc-class --- * undefined-doc-name --- * undefined-doc-param --- * unknown-cast-variable --- * unknown-diag-code --- * unknown-operator +---@field auto_complete_end string +-- Controls if a separator is automatically appended at the end of a table declaration. -- -- ```lua --- default = "Fallback" +-- default = "true" -- ``` ----@field luadoc "Any" | "Opened" | "None" | "Fallback" --- * redefined-local +---@field auto_complete_table_sep string +-- Controls if a line is formatted at all. -- -- ```lua --- default = "Fallback" +-- default = "true" -- ``` ----@field redefined "Any" | "Opened" | "None" | "Fallback" --- * close-non-object --- * deprecated --- * discard-returns --- * invisible +---@field format_line string + +---@class _.lspconfig.settings.lua_ls.TypeFormat +-- Configures the formatting behavior while typing Lua code. +---@field config _.lspconfig.settings.lua_ls.Config + +---@class _.lspconfig.settings.lua_ls.Window +-- Show progress bar in status bar. -- -- ```lua --- default = "Fallback" +-- default = true -- ``` ----@field strict "Any" | "Opened" | "None" | "Fallback" --- * no-unknown +---@field progressBar boolean +-- Show extension status in status bar. -- -- ```lua --- default = "Fallback" +-- default = true -- ``` ----@field strong "Any" | "Opened" | "None" | "Fallback" --- * assign-type-mismatch --- * cast-local-type --- * cast-type-mismatch --- * inject-field --- * need-check-nil --- * param-type-mismatch --- * return-type-mismatch --- * undefined-field +---@field statusBar boolean + +---@class _.lspconfig.settings.lua_ls.Workspace +-- Automatic detection and adaptation of third-party libraries, currently supported libraries are: +-- +-- * OpenResty +-- * Cocos4.0 +-- * LÖVE +-- * LÖVR +-- * skynet +-- * Jass +-- +---@field checkThirdParty string|boolean +-- Ignored files and directories (Use `.gitignore` grammar). -- -- ```lua --- default = "Fallback" +-- default = { ".vscode" } -- ``` ----@field type-check "Any" | "Opened" | "None" | "Fallback" --- * missing-fields --- * missing-parameter --- * missing-return --- * missing-return-value --- * redundant-parameter --- * redundant-return-value --- * redundant-value --- * unbalanced-assignments +---@field ignoreDir string[] +-- Ignore submodules. -- -- ```lua --- default = "Fallback" +-- default = true -- ``` ----@field unbalanced "Any" | "Opened" | "None" | "Fallback" --- * code-after-break --- * empty-block --- * redundant-return --- * trailing-space --- * unreachable-code --- * unused-function --- * unused-label --- * unused-local --- * unused-vararg +---@field ignoreSubmodules boolean +-- In addition to the current workspace, which directories will load files from. The files in these directories will be treated as externally provided code libraries, and some features (such as renaming fields) will not modify these files. -- -- ```lua --- default = "Fallback" +-- default = {} -- ``` ----@field unused "Any" | "Opened" | "None" | "Fallback" - --- Modify the diagnostic severity in a group. --- `Fallback` means that diagnostics in this group are controlled by `diagnostics.severity` separately. --- Other settings will override individual settings without end of `!`. --- ----@class _.lspconfig.settings.lua_ls.GroupSeverity --- * ambiguity-1 --- * count-down-loop --- * different-requires --- * newfield-call --- * newline-call +---@field library string[] +-- Max preloaded files. -- -- ```lua --- default = "Fallback" +-- default = 5000 -- ``` ----@field ambiguity "Error" | "Warning" | "Information" | "Hint" | "Fallback" --- * await-in-sync --- * not-yieldable +---@field maxPreload integer +-- Skip files larger than this value (KB) when preloading. -- -- ```lua --- default = "Fallback" +-- default = 500 -- ``` ----@field await "Error" | "Warning" | "Information" | "Hint" | "Fallback" --- * codestyle-check --- * name-style-check --- * spell-check +---@field preloadFileSize integer +-- Ignore files list in `.gitignore` . -- -- ```lua --- default = "Fallback" +-- default = true -- ``` ----@field codestyle "Error" | "Warning" | "Information" | "Hint" | "Fallback" --- * global-element +---@field useGitIgnore boolean +-- Add private third-party library configuration file paths here, please refer to the built-in [configuration file path](https://github.com/LuaLS/lua-language-server/tree/master/meta/3rd) -- -- ```lua --- default = "Fallback" +-- default = {} -- ``` ----@field conventions "Error" | "Warning" | "Information" | "Hint" | "Fallback" --- * duplicate-index --- * duplicate-set-field +---@field userThirdParty string[] + +---@class _.lspconfig.settings.lua_ls.Lua +---@field addonManager _.lspconfig.settings.lua_ls.AddonManager +---@field codeLens _.lspconfig.settings.lua_ls.CodeLens +---@field completion _.lspconfig.settings.lua_ls.Completion +---@field diagnostics _.lspconfig.settings.lua_ls.Diagnostics +---@field doc _.lspconfig.settings.lua_ls.Doc +---@field format _.lspconfig.settings.lua_ls.Format +---@field hint _.lspconfig.settings.lua_ls.Hint +---@field hover _.lspconfig.settings.lua_ls.Hover +---@field misc _.lspconfig.settings.lua_ls.Misc +---@field nameStyle _.lspconfig.settings.lua_ls.NameStyle +---@field runtime _.lspconfig.settings.lua_ls.Runtime +---@field semantic _.lspconfig.settings.lua_ls.Semantic +---@field signatureHelp _.lspconfig.settings.lua_ls.SignatureHelp +---@field spell _.lspconfig.settings.lua_ls.Spell +---@field type _.lspconfig.settings.lua_ls.Type +---@field typeFormat _.lspconfig.settings.lua_ls.TypeFormat +---@field window _.lspconfig.settings.lua_ls.Window +---@field workspace _.lspconfig.settings.lua_ls.Workspace + +---@class lspconfig.settings.lua_ls +---@field Lua _.lspconfig.settings.lua_ls.Lua + +---@class _.lspconfig.settings.luau_lsp.Trace +-- Traces the communication between VS Code and the Luau language server. -- -- ```lua --- default = "Fallback" +-- default = "off" -- ``` ----@field duplicate "Error" | "Warning" | "Information" | "Hint" | "Fallback" --- * global-in-nil-env --- * lowercase-global --- * undefined-env-child --- * undefined-global +---@field server "off" | "messages" | "verbose" + +---@class _.lspconfig.settings.luau_lsp.Luau +---@field trace _.lspconfig.settings.luau_lsp.Trace + +---@class _.lspconfig.settings.luau_lsp.Bytecode +-- The `debugLevel` to use when compiling bytecode -- -- ```lua --- default = "Fallback" +-- default = 1 -- ``` ----@field global "Error" | "Warning" | "Information" | "Hint" | "Fallback" --- * circle-doc-class --- * doc-field-no-class --- * duplicate-doc-alias --- * duplicate-doc-field --- * duplicate-doc-param --- * incomplete-signature-doc --- * missing-global-doc --- * missing-local-export-doc --- * undefined-doc-class --- * undefined-doc-name --- * undefined-doc-param --- * unknown-cast-variable --- * unknown-diag-code --- * unknown-operator +---@field debugLevel number +-- The `typeInfoLevel` to use when compiling bytecode -- -- ```lua --- default = "Fallback" +-- default = 1 -- ``` ----@field luadoc "Error" | "Warning" | "Information" | "Hint" | "Fallback" --- * redefined-local +---@field typeInfoLevel number +-- The `vectorCtor` to use when compiling bytecode -- -- ```lua --- default = "Fallback" +-- default = "new" -- ``` ----@field redefined "Error" | "Warning" | "Information" | "Hint" | "Fallback" --- * close-non-object --- * deprecated --- * discard-returns --- * invisible +---@field vectorCtor string +-- The `vectorLib` to use when compiling bytecode -- -- ```lua --- default = "Fallback" +-- default = "Vector3" -- ``` ----@field strict "Error" | "Warning" | "Information" | "Hint" | "Fallback" --- * no-unknown +---@field vectorLib string +-- The `vectorType` to use when compiling bytecode -- -- ```lua --- default = "Fallback" +-- default = "Vector3" -- ``` ----@field strong "Error" | "Warning" | "Information" | "Hint" | "Fallback" --- * assign-type-mismatch --- * cast-local-type --- * cast-type-mismatch --- * inject-field --- * need-check-nil --- * param-type-mismatch --- * return-type-mismatch --- * undefined-field +---@field vectorType string + +---@class _.lspconfig.settings.luau_lsp.Imports +-- Suggest automatic imports in completion items +---@field enabled boolean +-- The style of requires when autocompleted -- -- ```lua --- default = "Fallback" +-- default = "auto" -- ``` ----@field type-check "Error" | "Warning" | "Information" | "Hint" | "Fallback" --- * missing-fields --- * missing-parameter --- * missing-return --- * missing-return-value --- * redundant-parameter --- * redundant-return-value --- * redundant-value --- * unbalanced-assignments +---@field requireStyle "auto" | "alwaysRelative" | "alwaysAbsolute" +-- Whether services and requires should be separated by an empty line +---@field separateGroupsWithLine boolean +-- Whether module requires are suggested in autocomplete -- -- ```lua --- default = "Fallback" +-- default = true -- ``` ----@field unbalanced "Error" | "Warning" | "Information" | "Hint" | "Fallback" --- * code-after-break --- * empty-block --- * redundant-return --- * trailing-space --- * unreachable-code --- * unused-function --- * unused-label --- * unused-local --- * unused-vararg +---@field suggestRequires boolean +-- Whether GetService completions are suggested in autocomplete -- -- ```lua --- default = "Fallback" +-- default = true -- ``` ----@field unused "Error" | "Warning" | "Information" | "Hint" | "Fallback" +---@field suggestServices boolean --- * Opened: only diagnose opened files --- * Any: diagnose all files --- * None: disable this diagnostic --- --- End with `!` means override the group setting `diagnostics.groupFileStatus`. --- ----@class _.lspconfig.settings.lua_ls.NeededFileStatus --- Enable ambiguous operator precedence diagnostics. For example, the `num or 0 + 1` expression will be suggested `(num or 0) + 1` instead. +---@class _.lspconfig.settings.luau_lsp.Completion +-- Add parentheses after completing a function call -- -- ```lua --- default = "Any" +-- default = true -- ``` ----@field ambiguity-1 "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" --- Enable diagnostics for assignments in which the value's type does not match the type of the assigned variable. +---@field addParentheses boolean +-- If `#luau-lsp.completion.addParentheses#` is enabled, then include a tabstop after the parentheses for the cursor to move to -- -- ```lua --- default = "Opened" +-- default = true -- ``` ----@field assign-type-mismatch "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" --- Enable diagnostics for calls of asynchronous functions within a synchronous function. +---@field addTabstopAfterParentheses boolean +-- Automatically insert an `end` when opening a block +---@field autocompleteEnd boolean +-- Enable autocomplete -- -- ```lua --- default = "None" +-- default = true -- ``` ----@field await-in-sync "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" --- Enable diagnostics for casts of local variables where the target type does not match the defined type. +---@field enabled boolean +-- Fill parameter names in an autocompleted function call, which can be tabbed through. Requires `#luau-lsp.completion.addParentheses#` to be enabled -- -- ```lua --- default = "Opened" +-- default = true -- ``` ----@field cast-local-type "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" --- Enable diagnostics for casts where the target type does not match the initial type. +---@field fillCallArguments boolean +---@field imports _.lspconfig.settings.luau_lsp.Imports +-- Whether to show non-function properties when performing a method call with a colon (e.g., `foo:bar`) +---@field showPropertiesOnMethodCall boolean +-- Suggest automatic imports in completion items +---@field suggestImports boolean + +---@class _.lspconfig.settings.luau_lsp.Diagnostics +-- Recompute diagnostics for dependents when a file changes. If `#luau-lsp.diagnostics.workspace#` is enabled, this is ignored -- -- ```lua --- default = "Opened" +-- default = true -- ``` ----@field cast-type-mismatch "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" --- TODO: Needs documentation +---@field includeDependents boolean +-- Use strict DataModel types in diagnostics. When on, this is equivalent to the more expressive autocompletion types. When this is off, `game`/`script`/`workspace` (and their members) are all typed as `any`, and helps to prevent false positives. [Read More](https://github.com/JohnnyMorganz/luau-lsp/issues/83#issuecomment-1192865024) +---@field strictDatamodelTypes boolean +-- Compute diagnostics for the whole workspace +---@field workspace boolean + +---@class _.lspconfig.settings.luau_lsp.Fflags +-- Enable all (boolean) Luau FFlags by default. These flags can later be overriden by `#luau-lsp.fflags.override#` and `#luau-lsp.fflags.sync#` +---@field enableByDefault boolean +-- Override FFlags passed to Luau -- -- ```lua --- default = "Any" +-- default = {} -- ``` ----@field circle-doc-class "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" --- Enable diagnostics for attempts to close a variable with a non-object. +---@field override table +-- Sync currently enabled FFlags with Roblox's published FFlags. +-- This currently only syncs FFlags which begin with 'Luau' -- -- ```lua --- default = "Any" +-- default = true -- ``` ----@field close-non-object "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" --- Enable diagnostics for code placed after a break statement in a loop. +---@field sync boolean + +---@class _.lspconfig.settings.luau_lsp.Hover +-- Enable hover -- -- ```lua --- default = "Opened" +-- default = true -- ``` ----@field code-after-break "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" --- Enable diagnostics for incorrectly styled lines. +---@field enabled boolean +-- Show string length when hovering over a string literal -- -- ```lua --- default = "None" +-- default = true -- ``` ----@field codestyle-check "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" --- Enable diagnostics for `for` loops which will never reach their max/limit because the loop is incrementing instead of decrementing. +---@field includeStringLength boolean +-- Show function definitions on multiple lines +---@field multilineFunctionDefinitions boolean +-- Show table kinds +---@field showTableKinds boolean +-- Use strict DataModel types in hover display. When on, this is equivalent to autocompletion types. When off, this is equivalent to diagnostic types -- -- ```lua --- default = "Any" +-- default = true -- ``` ----@field count-down-loop "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" --- Enable diagnostics to highlight deprecated API. +---@field strictDatamodelTypes boolean + +---@class _.lspconfig.settings.luau_lsp.Index +-- Whether all files in a workspace should be indexed into memory. If disabled, only limited support is available for features such as 'Find All References' and 'Rename' -- -- ```lua --- default = "Any" +-- default = true -- ``` ----@field deprecated "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" --- Enable diagnostics for files which are required by two different paths. +---@field enabled boolean +-- The maximum amount of files that can be indexed. If more files are indexed, more memory is needed -- -- ```lua --- default = "Any" +-- default = 10000 -- ``` ----@field different-requires "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" --- Enable diagnostics for calls of functions annotated with `---@nodiscard` where the return values are ignored. +---@field maxFiles number + +---@class _.lspconfig.settings.luau_lsp.InlayHints +-- Show inlay hints for function return types +---@field functionReturnTypes boolean +-- Whether type annotation inlay hints can be made insertable by clicking -- -- ```lua --- default = "Any" +-- default = true -- ``` ----@field discard-returns "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" --- Enable diagnostics to highlight a field annotation without a defining class annotation. +---@field makeInsertable boolean +-- Show inlay hints for function parameter names -- -- ```lua --- default = "Any" +-- default = "none" -- ``` ----@field doc-field-no-class "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" --- Enable diagnostics for a duplicated alias annotation name. +---@field parameterNames "none" | "literals" | "all" +-- Show inlay hints for parameter types +---@field parameterTypes boolean +-- The maximum length a type hint should be before being truncated -- -- ```lua --- default = "Any" +-- default = 50 -- ``` ----@field duplicate-doc-alias "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" --- Enable diagnostics for a duplicated field annotation name. +---@field typeHintMaxLength number +-- Show inlay hints for variable types +---@field variableTypes boolean + +---@class _.lspconfig.settings.luau_lsp.Platform +-- Platform-specific support features -- -- ```lua --- default = "Any" +-- default = "roblox" -- ``` ----@field duplicate-doc-field "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" --- Enable diagnostics for a duplicated param annotation name. +---@field type "standard" | "roblox" + +---@class _.lspconfig.settings.luau_lsp.Plugin +-- Use Roblox Studio Plugin to provide DataModel information +---@field enabled boolean +-- The maximum request body size accepted from the plugin, in a string representation parse-able by the [bytes](https://www.npmjs.com/package/bytes) library -- -- ```lua --- default = "Any" +-- default = "3mb" -- ``` ----@field duplicate-doc-param "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" --- Enable duplicate table index diagnostics. +---@field maximumRequestBodySize string +-- Port number to connect to the Studio Plugin -- -- ```lua --- default = "Any" +-- default = 3667 -- ``` ----@field duplicate-index "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" --- Enable diagnostics for setting the same field in a class more than once. +---@field port number + +---@class _.lspconfig.settings.luau_lsp.Require +-- A mapping of custom require string prefixes to directory paths. The aliases should include trailing slashes -- -- ```lua --- default = "Opened" +-- default = {} -- ``` ----@field duplicate-set-field "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" --- Enable empty code block diagnostics. +---@field directoryAliases table +-- A mapping of custom require string aliases to file paths -- -- ```lua --- default = "Opened" +-- default = {} -- ``` ----@field empty-block "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" --- Enable diagnostics to warn about global elements. +---@field fileAliases table +-- How string requires should be interpreted -- -- ```lua --- default = "None" +-- default = "relativeToWorkspaceRoot" -- ``` ----@field global-element "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" --- Enable cannot use global variables ( `_ENV` is set to `nil`) diagnostics. +---@field mode "relativeToWorkspaceRoot" | "relativeToFile" + +---@class _.lspconfig.settings.luau_lsp.SignatureHelp +-- Enable signature help -- -- ```lua --- default = "Any" +-- default = true -- ``` ----@field global-in-nil-env "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" --- Incomplete @param or @return annotations for functions. +---@field enabled boolean + +---@class _.lspconfig.settings.luau_lsp.Sourcemap +-- Automatically run the `rojo sourcemap` command to regenerate sourcemaps on changes -- -- ```lua --- default = "None" +-- default = true -- ``` ----@field incomplete-signature-doc "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" --- TODO: Needs documentation +---@field autogenerate boolean +-- Whether Rojo sourcemap parsing is enabled -- -- ```lua --- default = "Opened" +-- default = true -- ``` ----@field inject-field "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" --- Enable diagnostics for accesses to fields which are invisible. +---@field enabled boolean +-- Include non-script instances in the generated sourcemap -- -- ```lua --- default = "Any" +-- default = true -- ``` ----@field invisible "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" --- Enable lowercase global variable definition diagnostics. +---@field includeNonScripts boolean +-- Path to the Rojo executable. If not provided, attempts to run `rojo` in the workspace directory, so it must be available on the PATH +---@field rojoPath string +-- The name of the Rojo project file to generate a sourcemap for. +-- Only applies if `#luau-lsp.sourcemap.autogenerate#` is enabled -- -- ```lua --- default = "Any" +-- default = "default.project.json" -- ``` ----@field lowercase-global "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" --- TODO: Needs documentation +---@field rojoProjectFile string + +---@class _.lspconfig.settings.luau_lsp.Types +-- A list of paths to definition files to load in to the type checker. Note that definition file syntax is currently unstable and may change at any time -- -- ```lua --- default = "Any" +-- default = {} -- ``` ----@field missing-fields "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" --- Missing annotations for globals! Global functions must have a comment and annotations for all parameters and return values. +---@field definitionFiles string[] +-- A list of paths to documentation files which provide documentation support to the definition files provided -- -- ```lua --- default = "None" +-- default = {} -- ``` ----@field missing-global-doc "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" --- Missing annotations for exported locals! Exported local functions must have a comment and annotations for all parameters and return values. +---@field documentationFiles string[] +-- Load in and automatically update Roblox type definitions for the type checker -- -- ```lua --- default = "None" +-- default = true -- ``` ----@field missing-local-export-doc "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" --- Enable diagnostics for function calls where the number of arguments is less than the number of annotated function parameters. +---@field roblox boolean +-- Security Level to use in the Roblox API definitions -- -- ```lua --- default = "Any" +-- default = "PluginSecurity" -- ``` ----@field missing-parameter "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" --- Enable diagnostics for functions with return annotations which have no return statement. +---@field robloxSecurityLevel "None" | "LocalUserSecurity" | "PluginSecurity" | "RobloxScriptSecurity" + +---@class _.lspconfig.settings.luau_lsp.Luau-lsp +-- Automatically insert an `end` when opening a block +---@field autocompleteEnd boolean +---@field bytecode _.lspconfig.settings.luau_lsp.Bytecode +---@field completion _.lspconfig.settings.luau_lsp.Completion +---@field diagnostics _.lspconfig.settings.luau_lsp.Diagnostics +---@field fflags _.lspconfig.settings.luau_lsp.Fflags +---@field hover _.lspconfig.settings.luau_lsp.Hover +-- Diagnostics will not be reported for any file matching these globs unless the file is currently open -- -- ```lua --- default = "Any" +-- default = { "**/_Index/**" } -- ``` ----@field missing-return "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" --- Enable diagnostics for return statements without values although the containing function declares returns. +---@field ignoreGlobs string[] +---@field index _.lspconfig.settings.luau_lsp.Index +---@field inlayHints _.lspconfig.settings.luau_lsp.InlayHints +---@field platform _.lspconfig.settings.luau_lsp.Platform +---@field plugin _.lspconfig.settings.luau_lsp.Plugin +---@field require _.lspconfig.settings.luau_lsp.Require +---@field signatureHelp _.lspconfig.settings.luau_lsp.SignatureHelp +---@field sourcemap _.lspconfig.settings.luau_lsp.Sourcemap +---@field types _.lspconfig.settings.luau_lsp.Types + +---@class lspconfig.settings.luau_lsp +---@field luau _.lspconfig.settings.luau_lsp.Luau +---@field luau-lsp _.lspconfig.settings.luau_lsp.Luau-lsp + +---@class _.lspconfig.settings.omnisharp.ExpressionEvaluationOptions +-- %generateOptionsSchema.expressionEvaluationOptions.allowFastEvaluate.description% -- -- ```lua --- default = "Any" +-- default = true -- ``` ----@field missing-return-value "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" --- Enable diagnostics for name style. +---@field allowFastEvaluate boolean +-- %generateOptionsSchema.expressionEvaluationOptions.allowImplicitFuncEval.description% -- -- ```lua --- default = "None" +-- default = true -- ``` ----@field name-style-check "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" --- Enable diagnostics for variable usages if `nil` or an optional (potentially `nil`) value was assigned to the variable before. +---@field allowImplicitFuncEval boolean +-- %generateOptionsSchema.expressionEvaluationOptions.allowToString.markdownDescription% -- -- ```lua --- default = "Opened" +-- default = true -- ``` ----@field need-check-nil "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" --- Enable newfield call diagnostics. It is raised when the parenthesis of a function call appear on the following line when defining a field in a table. +---@field allowToString boolean +-- %generateOptionsSchema.expressionEvaluationOptions.showRawValues.description% +---@field showRawValues boolean + +---@class _.lspconfig.settings.omnisharp.DiagnosticsLog +-- %generateOptionsSchema.logging.diagnosticsLog.debugEngineAPITracing.markdownDescription% -- -- ```lua --- default = "Any" +-- default = "none" -- ``` ----@field newfield-call "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" --- Enable newline call diagnostics. Is's raised when a line starting with `(` is encountered, which is syntactically parsed as a function call on the previous line. +---@field debugEngineAPITracing "none" | "error" | "all" +-- %generateOptionsSchema.logging.diagnosticsLog.debugRuntimeEventTracing.markdownDescription% +---@field debugRuntimeEventTracing boolean +-- %generateOptionsSchema.logging.diagnosticsLog.dispatcherMessages.markdownDescription% -- -- ```lua --- default = "Any" +-- default = "none" -- ``` ----@field newline-call "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" --- Enable diagnostics for cases in which the type cannot be inferred. +---@field dispatcherMessages "none" | "error" | "important" | "normal" +-- %generateOptionsSchema.logging.diagnosticsLog.expressionEvaluationTracing.markdownDescription% +---@field expressionEvaluationTracing boolean +-- %generateOptionsSchema.logging.diagnosticsLog.protocolMessages.markdownDescription% +---@field protocolMessages boolean +-- %generateOptionsSchema.logging.diagnosticsLog.startDebuggingTracing.markdownDescription% +---@field startDebuggingTracing boolean + +---@class _.lspconfig.settings.omnisharp.Logging +-- %generateOptionsSchema.logging.browserStdOut.markdownDescription% -- -- ```lua --- default = "None" +-- default = true -- ``` ----@field no-unknown "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" --- Enable diagnostics for calls to `coroutine.yield()` when it is not permitted. +---@field browserStdOut boolean +-- %generateOptionsSchema.logging.consoleUsageMessage.description% -- -- ```lua --- default = "None" +-- default = true -- ``` ----@field not-yieldable "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" --- Enable diagnostics for function calls where the type of a provided parameter does not match the type of the annotated function definition. +---@field consoleUsageMessage boolean +---@field diagnosticsLog _.lspconfig.settings.omnisharp.DiagnosticsLog +-- %generateOptionsSchema.logging.elapsedTiming.markdownDescription% +---@field elapsedTiming boolean +---@field engineLogging boolean +-- %generateOptionsSchema.logging.exceptions.markdownDescription% -- -- ```lua --- default = "Opened" +-- default = true -- ``` ----@field param-type-mismatch "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" --- Enable redefined local variable diagnostics. +---@field exceptions boolean +-- %generateOptionsSchema.logging.moduleLoad.markdownDescription% -- -- ```lua --- default = "Opened" +-- default = true -- ``` ----@field redefined-local "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" --- Enable redundant function parameter diagnostics. +---@field moduleLoad boolean +-- %generateOptionsSchema.logging.processExit.markdownDescription% -- -- ```lua --- default = "Any" +-- default = true -- ``` ----@field redundant-parameter "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" --- Enable diagnostics for return statements which are not needed because the function would exit on its own. +---@field processExit boolean +-- %generateOptionsSchema.logging.programOutput.markdownDescription% -- -- ```lua --- default = "Opened" +-- default = true -- ``` ----@field redundant-return "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" --- Enable diagnostics for return statements which return an extra value which is not specified by a return annotation. +---@field programOutput boolean +-- %generateOptionsSchema.logging.threadExit.markdownDescription% +---@field threadExit boolean + +---@class _.lspconfig.settings.omnisharp.ModuleFilter +-- %generateOptionsSchema.symbolOptions.moduleFilter.excludedModules.description% -- -- ```lua --- default = "Any" +-- default = {} -- ``` ----@field redundant-return-value "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" --- Enable the redundant values assigned diagnostics. It's raised during assignment operation, when the number of values is higher than the number of objects being assigned. +---@field excludedModules string[] +-- %generateOptionsSchema.symbolOptions.moduleFilter.includeSymbolsNextToModules.description% -- -- ```lua --- default = "Any" +-- default = true -- ``` ----@field redundant-value "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" --- Enable diagnostics for return values whose type does not match the type declared in the corresponding return annotation. +---@field includeSymbolsNextToModules boolean +-- %generateOptionsSchema.symbolOptions.moduleFilter.includeSymbolsOnDemand.description% -- -- ```lua --- default = "Opened" +-- default = true -- ``` ----@field return-type-mismatch "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" --- Enable diagnostics for typos in strings. +---@field includeSymbolsOnDemand boolean +-- %generateOptionsSchema.symbolOptions.moduleFilter.includedModules.description% -- -- ```lua --- default = "None" +-- default = {} -- ``` ----@field spell-check "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" --- Enable trailing space diagnostics. +---@field includedModules string[] +-- %generateOptionsSchema.symbolOptions.moduleFilter.mode.description% -- -- ```lua --- default = "Opened" +-- default = "loadAllButExcluded" -- ``` ----@field trailing-space "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" --- Enable diagnostics on multiple assignments if not all variables obtain a value (e.g., `local x,y = 1`). +---@field mode "loadAllButExcluded" | "loadOnlyIncluded" + +---@class _.lspconfig.settings.omnisharp.SymbolOptions +-- %generateOptionsSchema.symbolOptions.cachePath.description% -- -- ```lua --- default = "Any" +-- default = "" -- ``` ----@field unbalanced-assignments "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" --- Enable diagnostics for class annotations in which an undefined class is referenced. +---@field cachePath string +---@field moduleFilter _.lspconfig.settings.omnisharp.ModuleFilter +-- %generateOptionsSchema.symbolOptions.searchMicrosoftSymbolServer.description% +---@field searchMicrosoftSymbolServer boolean +-- %generateOptionsSchema.symbolOptions.searchNuGetOrgSymbolServer.description% +---@field searchNuGetOrgSymbolServer boolean +-- %generateOptionsSchema.symbolOptions.searchPaths.description% -- -- ```lua --- default = "Any" +-- default = {} -- ``` ----@field undefined-doc-class "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" --- Enable diagnostics for type annotations referencing an undefined type or alias. +---@field searchPaths string[] + +---@class _.lspconfig.settings.omnisharp.Debug +-- %generateOptionsSchema.console.settingsDescription% -- -- ```lua --- default = "Any" +-- default = "internalConsole" -- ``` ----@field undefined-doc-name "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" --- Enable diagnostics for cases in which a parameter annotation is given without declaring the parameter in the function definition. +---@field console "internalConsole" | "integratedTerminal" | "externalTerminal" +-- %generateOptionsSchema.enableStepFiltering.markdownDescription% -- -- ```lua --- default = "Any" +-- default = true -- ``` ----@field undefined-doc-param "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" --- Enable undefined environment variable diagnostics. It's raised when `_ENV` table is set to a new literal table, but the used global variable is no longer present in the global environment. +---@field enableStepFiltering boolean +---@field expressionEvaluationOptions _.lspconfig.settings.omnisharp.ExpressionEvaluationOptions +-- %generateOptionsSchema.justMyCode.markdownDescription% -- -- ```lua --- default = "Any" +-- default = true -- ``` ----@field undefined-env-child "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" --- Enable diagnostics for cases in which an undefined field of a variable is read. +---@field justMyCode boolean +---@field logging _.lspconfig.settings.omnisharp.Logging +-- %generateOptionsSchema.requireExactSource.markdownDescription% -- -- ```lua --- default = "Opened" +-- default = true -- ``` ----@field undefined-field "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" --- Enable undefined global variable diagnostics. +---@field requireExactSource boolean +-- %generateOptionsSchema.sourceFileMap.markdownDescription% -- -- ```lua --- default = "Any" +-- default = {} -- ``` ----@field undefined-global "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" --- Enable diagnostics for casts of undefined variables. +---@field sourceFileMap table +-- %generateOptionsSchema.stopAtEntry.markdownDescription% +---@field stopAtEntry boolean +-- %generateOptionsSchema.suppressJITOptimizations.markdownDescription% +---@field suppressJITOptimizations boolean +---@field symbolOptions _.lspconfig.settings.omnisharp.SymbolOptions + +---@class _.lspconfig.settings.omnisharp.Format +-- Enable/disable default C# formatter (requires restart). -- -- ```lua --- default = "Any" +-- default = true -- ``` ----@field unknown-cast-variable "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" --- Enable diagnostics in cases in which an unknown diagnostics code is entered. +---@field enable boolean + +---@class _.lspconfig.settings.omnisharp.InlayHints +-- %configuration.csharp.inlayHints.enableInlayHintsForImplicitObjectCreation% +---@field enableInlayHintsForImplicitObjectCreation boolean +-- %configuration.csharp.inlayHints.enableInlayHintsForImplicitVariableTypes% +---@field enableInlayHintsForImplicitVariableTypes boolean +-- %configuration.csharp.inlayHints.enableInlayHintsForLambdaParameterTypes% +---@field enableInlayHintsForLambdaParameterTypes boolean +-- %configuration.csharp.inlayHints.enableInlayHintsForTypes% +---@field enableInlayHintsForTypes boolean + +---@class _.lspconfig.settings.omnisharp.ReferencesCodeLens +-- Array of custom symbol names for which CodeLens should be disabled. -- -- ```lua --- default = "Any" +-- default = {} -- ``` ----@field unknown-diag-code "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" --- Enable diagnostics for unknown operators. +---@field filteredSymbols string[] + +---@class _.lspconfig.settings.omnisharp.SemanticHighlighting +-- Enable/disable Semantic Highlighting for C# files (Razor files currently unsupported). Defaults to false. Close open files for changes to take effect. -- -- ```lua --- default = "Any" +-- default = true -- ``` ----@field unknown-operator "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" --- Enable diagnostics for unreachable code. +---@field enabled boolean + +---@class _.lspconfig.settings.omnisharp.Csharp +---@field debug _.lspconfig.settings.omnisharp.Debug +---@field format _.lspconfig.settings.omnisharp.Format +---@field inlayHints _.lspconfig.settings.omnisharp.InlayHints +-- Specifies the maximum number of files for which diagnostics are reported for the whole workspace. If this limit is exceeded, diagnostics will be shown for currently opened files only. Specify 0 or less to disable the limit completely. -- -- ```lua --- default = "Opened" +-- default = 1000 -- ``` ----@field unreachable-code "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" --- Enable unused function diagnostics. +---@field maxProjectFileCountForDiagnosticAnalysis number +---@field referencesCodeLens _.lspconfig.settings.omnisharp.ReferencesCodeLens +---@field semanticHighlighting _.lspconfig.settings.omnisharp.SemanticHighlighting +-- Shows the OmniSharp log in the Output pane when OmniSharp reports an error. -- -- ```lua --- default = "Opened" +-- default = true -- ``` ----@field unused-function "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" --- Enable unused label diagnostics. +---@field showOmnisharpLogOnError boolean +-- Suppress the notification window to add missing assets to build or debug the application. +---@field suppressBuildAssetsNotification boolean +-- Suppress the warning that the .NET Core SDK is not on the path. +---@field suppressDotnetInstallWarning boolean +-- Suppress the notification window to perform a 'dotnet restore' when dependencies can't be resolved. +---@field suppressDotnetRestoreNotification boolean +-- Suppress 'hidden' diagnostics (such as 'unnecessary using directives') from appearing in the editor or the Problems pane. -- -- ```lua --- default = "Opened" +-- default = true -- ``` ----@field unused-label "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" --- Enable unused local variable diagnostics. +---@field suppressHiddenDiagnostics boolean +-- Suppress the warning that project.json is no longer a supported project format for .NET Core applications +---@field suppressProjectJsonWarning boolean + +---@class _.lspconfig.settings.omnisharp.BackgroundAnalysis +-- %configuration.dotnet.backgroundAnalysis.analyzerDiagnosticsScope% -- -- ```lua --- default = "Opened" +-- default = "openFiles" -- ``` ----@field unused-local "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" --- Enable unused vararg diagnostics. +---@field analyzerDiagnosticsScope "openFiles" | "fullSolution" | "none" +-- %configuration.dotnet.backgroundAnalysis.compilerDiagnosticsScope% -- -- ```lua --- default = "Opened" +-- default = "openFiles" -- ``` ----@field unused-vararg "Any" | "Opened" | "None" | "Any!" | "Opened!" | "None!" +---@field compilerDiagnosticsScope "openFiles" | "fullSolution" | "none" --- Modify the diagnostic severity. --- --- End with `!` means override the group setting `diagnostics.groupSeverity`. --- ----@class _.lspconfig.settings.lua_ls.Severity --- Enable ambiguous operator precedence diagnostics. For example, the `num or 0 + 1` expression will be suggested `(num or 0) + 1` instead. +---@class _.lspconfig.settings.omnisharp.CodeLens +-- %configuration.dotnet.codeLens.enableReferencesCodeLens% -- -- ```lua --- default = "Warning" +-- default = true -- ``` ----@field ambiguity-1 "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" --- Enable diagnostics for assignments in which the value's type does not match the type of the assigned variable. +---@field enableReferencesCodeLens boolean +-- %configuration.dotnet.codeLens.enableTestsCodeLens% -- -- ```lua --- default = "Warning" +-- default = true -- ``` ----@field assign-type-mismatch "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" --- Enable diagnostics for calls of asynchronous functions within a synchronous function. +---@field enableTestsCodeLens boolean + +---@class _.lspconfig.settings.omnisharp.Completion +-- %configuration.dotnet.completion.provideRegexCompletions% -- -- ```lua --- default = "Warning" +-- default = "true" -- ``` ----@field await-in-sync "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" --- Enable diagnostics for casts of local variables where the target type does not match the defined type. +---@field provideRegexCompletions boolean +-- %configuration.dotnet.completion.showCompletionItemsFromUnimportedNamespaces% -- -- ```lua --- default = "Warning" +-- default = true -- ``` ----@field cast-local-type "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" --- Enable diagnostics for casts where the target type does not match the initial type. +---@field showCompletionItemsFromUnimportedNamespaces boolean +-- %configuration.dotnet.completion.showNameCompletionSuggestions% -- -- ```lua --- default = "Warning" +-- default = "true" -- ``` ----@field cast-type-mismatch "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" --- TODO: Needs documentation +---@field showNameCompletionSuggestions boolean + +---@class _.lspconfig.settings.omnisharp.Highlighting +-- %configuration.dotnet.highlighting.highlightRelatedJsonComponents% -- -- ```lua --- default = "Warning" +-- default = "true" -- ``` ----@field circle-doc-class "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" --- Enable diagnostics for attempts to close a variable with a non-object. +---@field highlightRelatedJsonComponents boolean +-- %configuration.dotnet.highlighting.highlightRelatedRegexComponents% -- -- ```lua --- default = "Warning" +-- default = "true" -- ``` ----@field close-non-object "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" --- Enable diagnostics for code placed after a break statement in a loop. +---@field highlightRelatedRegexComponents boolean + +---@class _.lspconfig.settings.omnisharp.ImplementType +-- %configuration.dotnet.implementType.insertionBehavior% -- -- ```lua --- default = "Hint" --- ``` ----@field code-after-break "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" --- Enable diagnostics for incorrectly styled lines. +-- default = "withOtherMembersOfTheSameKind" +-- ``` +---@field insertionBehavior "withOtherMembersOfTheSameKind" | "atTheEnd" +-- %configuration.dotnet.implementType.propertyGenerationBehavior% -- -- ```lua --- default = "Warning" +-- default = "preferThrowingProperties" -- ``` ----@field codestyle-check "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" --- Enable diagnostics for `for` loops which will never reach their max/limit because the loop is incrementing instead of decrementing. +---@field propertyGenerationBehavior "preferThrowingProperties" | "preferAutoProperties" + +---@class _.lspconfig.settings.omnisharp.InlayHints +-- %configuration.csharp.inlayHints.enableInlayHintsForIndexerParameters% +---@field enableInlayHintsForIndexerParameters boolean +-- %configuration.dotnet.inlayHints.enableInlayHintsForLiteralParameters% +---@field enableInlayHintsForLiteralParameters boolean +-- %configuration.dotnet.inlayHints.enableInlayHintsForObjectCreationParameters% +---@field enableInlayHintsForObjectCreationParameters boolean +-- %configuration.dotnet.inlayHints.enableInlayHintsForOtherParameters% +---@field enableInlayHintsForOtherParameters boolean +-- %configuration.dotnet.inlayHints.enableInlayHintsForParameters% +---@field enableInlayHintsForParameters boolean +-- %configuration.dotnet.inlayHints.suppressInlayHintsForParametersThatDifferOnlyBySuffix% +---@field suppressInlayHintsForParametersThatDifferOnlyBySuffix boolean +-- %configuration.dotnet.inlayHints.suppressInlayHintsForParametersThatMatchArgumentName% +---@field suppressInlayHintsForParametersThatMatchArgumentName boolean +-- %configuration.dotnet.inlayHints.suppressInlayHintsForParametersThatMatchMethodIntent% +---@field suppressInlayHintsForParametersThatMatchMethodIntent boolean + +---@class _.lspconfig.settings.omnisharp.Navigation +-- %configuration.dotnet.navigation.navigateToDecompiledSources% -- -- ```lua --- default = "Warning" +-- default = "true" -- ``` ----@field count-down-loop "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" --- Enable diagnostics to highlight deprecated API. +---@field navigateToDecompiledSources boolean + +---@class _.lspconfig.settings.omnisharp.Projects +-- Sets a path where MSBuild binary logs are written to when loading projects, to help diagnose loading errors. +---@field binaryLogPath string +-- %configuration.dotnet.projects.enableAutomaticRestore% -- -- ```lua --- default = "Warning" +-- default = true -- ``` ----@field deprecated "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" --- Enable diagnostics for files which are required by two different paths. +---@field enableAutomaticRestore boolean + +---@class _.lspconfig.settings.omnisharp.QuickInfo +-- %configuration.dotnet.quickInfo.showRemarksInQuickInfo% -- -- ```lua --- default = "Warning" +-- default = "true" -- ``` ----@field different-requires "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" --- Enable diagnostics for calls of functions annotated with `---@nodiscard` where the return values are ignored. +---@field showRemarksInQuickInfo boolean + +-- %configuration.dotnet.server.componentPaths% -- -- ```lua --- default = "Warning" +-- default = {} -- ``` ----@field discard-returns "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" --- Enable diagnostics to highlight a field annotation without a defining class annotation. +---@class _.lspconfig.settings.omnisharp.ComponentPaths +-- %configuration.dotnet.server.componentPaths.roslynDevKit% +---@field roslynDevKit string +-- %configuration.dotnet.server.componentPaths.xamlTools% +---@field xamlTools string + +---@class _.lspconfig.settings.omnisharp.Server +-- %configuration.dotnet.server.componentPaths% -- -- ```lua --- default = "Warning" +-- default = {} -- ``` ----@field doc-field-no-class "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" --- Enable diagnostics for a duplicated alias annotation name. +---@field componentPaths _.lspconfig.settings.omnisharp.ComponentPaths +-- %configuration.dotnet.server.crashDumpPath% +---@field crashDumpPath string +-- %configuration.dotnet.server.extensionPaths% +---@field extensionPaths string[] +-- %configuration.dotnet.server.path% +---@field path string +-- %configuration.dotnet.server.startTimeout% -- -- ```lua --- default = "Warning" +-- default = 30000 -- ``` ----@field duplicate-doc-alias "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" --- Enable diagnostics for a duplicated field annotation name. +---@field startTimeout number +-- %configuration.dotnet.server.suppressLspErrorToasts% +---@field suppressLspErrorToasts boolean +-- %configuration.dotnet.server.trace% -- -- ```lua --- default = "Warning" +-- default = "Information" -- ``` ----@field duplicate-doc-field "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" --- Enable diagnostics for a duplicated param annotation name. +---@field trace "Trace" | "Debug" | "Information" | "Warning" | "Error" | "Critical" | "None" +-- Switches to use the Omnisharp server for language features when enabled (requires restart). This option will not be honored with C# Dev Kit installed. +---@field useOmnisharp boolean +-- %configuration.dotnet.server.waitForDebugger% +---@field waitForDebugger boolean + +---@class _.lspconfig.settings.omnisharp.SymbolSearch +-- %configuration.dotnet.symbolSearch.searchReferenceAssemblies% -- -- ```lua --- default = "Warning" +-- default = true -- ``` ----@field duplicate-doc-param "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" --- Enable duplicate table index diagnostics. +---@field searchReferenceAssemblies boolean + +-- %generateOptionsSchema.expressionEvaluationOptions.description% -- -- ```lua --- default = "Warning" +-- default = {} -- ``` ----@field duplicate-index "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" --- Enable diagnostics for setting the same field in a class more than once. +---@class _.lspconfig.settings.omnisharp.ExpressionEvaluationOptions +-- %generateOptionsSchema.expressionEvaluationOptions.allowFastEvaluate.description% -- -- ```lua --- default = "Warning" +-- default = true -- ``` ----@field duplicate-set-field "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" --- Enable empty code block diagnostics. +---@field allowFastEvaluate boolean +-- %generateOptionsSchema.expressionEvaluationOptions.allowImplicitFuncEval.description% -- -- ```lua --- default = "Hint" +-- default = true -- ``` ----@field empty-block "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" --- Enable diagnostics to warn about global elements. +---@field allowImplicitFuncEval boolean +-- %generateOptionsSchema.expressionEvaluationOptions.allowToString.markdownDescription% -- -- ```lua --- default = "Warning" +-- default = true -- ``` ----@field global-element "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" --- Enable cannot use global variables ( `_ENV` is set to `nil`) diagnostics. +---@field allowToString boolean +-- %generateOptionsSchema.expressionEvaluationOptions.showRawValues.description% +---@field showRawValues boolean + +-- %generateOptionsSchema.logging.description% -- -- ```lua --- default = "Warning" +-- default = {} -- ``` ----@field global-in-nil-env "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" --- Incomplete @param or @return annotations for functions. +---@class _.lspconfig.settings.omnisharp.Logging +-- %generateOptionsSchema.logging.exceptions.markdownDescription% -- -- ```lua --- default = "Warning" +-- default = true -- ``` ----@field incomplete-signature-doc "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" --- TODO: Needs documentation +---@field exceptions boolean +-- %generateOptionsSchema.logging.moduleLoad.markdownDescription% -- -- ```lua --- default = "Warning" +-- default = true -- ``` ----@field inject-field "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" --- Enable diagnostics for accesses to fields which are invisible. +---@field moduleLoad boolean +-- %generateOptionsSchema.logging.processExit.markdownDescription% -- -- ```lua --- default = "Warning" +-- default = true -- ``` ----@field invisible "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" --- Enable lowercase global variable definition diagnostics. +---@field processExit boolean +-- %generateOptionsSchema.logging.programOutput.markdownDescription% -- -- ```lua --- default = "Information" +-- default = true -- ``` ----@field lowercase-global "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" --- TODO: Needs documentation +---@field programOutput boolean +-- %generateOptionsSchema.logging.threadExit.markdownDescription% +---@field threadExit boolean + +-- %generateOptionsSchema.symbolOptions.moduleFilter.description% -- -- ```lua --- default = "Warning" +-- default = { +-- excludedModules = {}, +-- mode = "loadAllButExcluded" +-- } -- ``` ----@field missing-fields "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" --- Missing annotations for globals! Global functions must have a comment and annotations for all parameters and return values. +---@class _.lspconfig.settings.omnisharp.ModuleFilter +-- %generateOptionsSchema.symbolOptions.moduleFilter.excludedModules.description% -- -- ```lua --- default = "Warning" +-- default = {} -- ``` ----@field missing-global-doc "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" --- Missing annotations for exported locals! Exported local functions must have a comment and annotations for all parameters and return values. +---@field excludedModules string[] +-- %generateOptionsSchema.symbolOptions.moduleFilter.includeSymbolsNextToModules.description% -- -- ```lua --- default = "Warning" +-- default = true -- ``` ----@field missing-local-export-doc "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" --- Enable diagnostics for function calls where the number of arguments is less than the number of annotated function parameters. +---@field includeSymbolsNextToModules boolean +-- %generateOptionsSchema.symbolOptions.moduleFilter.includeSymbolsOnDemand.description% -- -- ```lua --- default = "Warning" +-- default = true -- ``` ----@field missing-parameter "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" --- Enable diagnostics for functions with return annotations which have no return statement. +---@field includeSymbolsOnDemand boolean +-- %generateOptionsSchema.symbolOptions.moduleFilter.includedModules.description% -- -- ```lua --- default = "Warning" +-- default = {} -- ``` ----@field missing-return "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" --- Enable diagnostics for return statements without values although the containing function declares returns. +---@field includedModules string[] +-- %generateOptionsSchema.symbolOptions.moduleFilter.mode.description% -- -- ```lua --- default = "Warning" +-- default = "loadAllButExcluded" -- ``` ----@field missing-return-value "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" --- Enable diagnostics for name style. +---@field mode "loadAllButExcluded" | "loadOnlyIncluded" + +-- %generateOptionsSchema.symbolOptions.description% -- -- ```lua --- default = "Warning" +-- default = { +-- searchMicrosoftSymbolServer = false, +-- searchNuGetOrgSymbolServer = false, +-- searchPaths = {} +-- } -- ``` ----@field name-style-check "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" --- Enable diagnostics for variable usages if `nil` or an optional (potentially `nil`) value was assigned to the variable before. +---@class _.lspconfig.settings.omnisharp.SymbolOptions +-- %generateOptionsSchema.symbolOptions.cachePath.description% -- -- ```lua --- default = "Warning" +-- default = "" -- ``` ----@field need-check-nil "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" --- Enable newfield call diagnostics. It is raised when the parenthesis of a function call appear on the following line when defining a field in a table. +---@field cachePath string +-- %generateOptionsSchema.symbolOptions.moduleFilter.description% -- -- ```lua --- default = "Warning" +-- default = { +-- excludedModules = {}, +-- mode = "loadAllButExcluded" +-- } -- ``` ----@field newfield-call "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" --- Enable newline call diagnostics. Is's raised when a line starting with `(` is encountered, which is syntactically parsed as a function call on the previous line. +---@field moduleFilter _.lspconfig.settings.omnisharp.ModuleFilter +-- %generateOptionsSchema.symbolOptions.searchMicrosoftSymbolServer.description% +---@field searchMicrosoftSymbolServer boolean +-- %generateOptionsSchema.symbolOptions.searchNuGetOrgSymbolServer.description% +---@field searchNuGetOrgSymbolServer boolean +-- %generateOptionsSchema.symbolOptions.searchPaths.description% -- -- ```lua --- default = "Warning" +-- default = {} -- ``` ----@field newline-call "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" --- Enable diagnostics for cases in which the type cannot be inferred. +---@field searchPaths string[] + +-- %configuration.dotnet.unitTestDebuggingOptions% -- -- ```lua --- default = "Warning" +-- default = {} -- ``` ----@field no-unknown "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" --- Enable diagnostics for calls to `coroutine.yield()` when it is not permitted. +---@class _.lspconfig.settings.omnisharp.UnitTestDebuggingOptions +-- For debug extension development only: if a port is specified VS Code tries to connect to a debug adapter running in server mode -- -- ```lua --- default = "Warning" +-- default = 4711 -- ``` ----@field not-yieldable "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" --- Enable diagnostics for function calls where the type of a provided parameter does not match the type of the annotated function definition. +---@field debugServer number +-- %generateOptionsSchema.enableStepFiltering.markdownDescription% -- -- ```lua --- default = "Warning" +-- default = true -- ``` ----@field param-type-mismatch "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" --- Enable redefined local variable diagnostics. +---@field enableStepFiltering boolean +-- %generateOptionsSchema.expressionEvaluationOptions.description% -- -- ```lua --- default = "Hint" +-- default = {} -- ``` ----@field redefined-local "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" --- Enable redundant function parameter diagnostics. +---@field expressionEvaluationOptions _.lspconfig.settings.omnisharp.ExpressionEvaluationOptions +-- %generateOptionsSchema.justMyCode.markdownDescription% -- -- ```lua --- default = "Warning" +-- default = true -- ``` ----@field redundant-parameter "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" --- Enable diagnostics for return statements which are not needed because the function would exit on its own. +---@field justMyCode boolean +-- %generateOptionsSchema.logging.description% -- -- ```lua --- default = "Hint" +-- default = {} -- ``` ----@field redundant-return "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" --- Enable diagnostics for return statements which return an extra value which is not specified by a return annotation. +---@field logging _.lspconfig.settings.omnisharp.Logging +-- %generateOptionsSchema.requireExactSource.markdownDescription% -- -- ```lua --- default = "Warning" +-- default = true -- ``` ----@field redundant-return-value "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" --- Enable the redundant values assigned diagnostics. It's raised during assignment operation, when the number of values is higher than the number of objects being assigned. +---@field requireExactSource boolean +-- %generateOptionsSchema.sourceFileMap.markdownDescription% +---@field sourceFileMap table +-- %generateOptionsSchema.sourceLinkOptions.markdownDescription% -- -- ```lua --- default = "Warning" +-- default = { +-- ["*"] = { +-- enabled = true +-- } +-- } -- ``` ----@field redundant-value "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" --- Enable diagnostics for return values whose type does not match the type declared in the corresponding return annotation. +---@field sourceLinkOptions table +-- %generateOptionsSchema.suppressJITOptimizations.markdownDescription% +---@field suppressJITOptimizations boolean +-- %generateOptionsSchema.symbolOptions.description% -- -- ```lua --- default = "Warning" +-- default = { +-- searchMicrosoftSymbolServer = false, +-- searchNuGetOrgSymbolServer = false, +-- searchPaths = {} +-- } -- ``` ----@field return-type-mismatch "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" --- Enable diagnostics for typos in strings. +---@field symbolOptions _.lspconfig.settings.omnisharp.SymbolOptions +-- %generateOptionsSchema.targetArchitecture.markdownDescription% +---@field targetArchitecture "x86_64" | "arm64" +-- Type type of code to debug. Can be either 'coreclr' for .NET Core debugging, or 'clr' for Desktop .NET Framework. 'clr' only works on Windows as the Desktop framework is Windows-only. -- -- ```lua --- default = "Information" +-- default = "coreclr" -- ``` ----@field spell-check "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" --- Enable trailing space diagnostics. +---@field type "coreclr" | "clr" + +---@class _.lspconfig.settings.omnisharp.UnitTests +-- Path to the .runsettings file which should be used when running unit tests. (Previously `omnisharp.testRunSettings`) +---@field runSettingsPath string + +---@class _.lspconfig.settings.omnisharp.Dotnet +---@field backgroundAnalysis _.lspconfig.settings.omnisharp.BackgroundAnalysis +---@field codeLens _.lspconfig.settings.omnisharp.CodeLens +---@field completion _.lspconfig.settings.omnisharp.Completion +-- %configuration.dotnet.defaultSolution.description% +---@field defaultSolution string +-- %configuration.dotnet.dotnetPath% +---@field dotnetPath string +-- %configuration.dotnet.enableXamlTools% -- -- ```lua --- default = "Hint" +-- default = true -- ``` ----@field trailing-space "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" --- Enable diagnostics on multiple assignments if not all variables obtain a value (e.g., `local x,y = 1`). +---@field enableXamlTools boolean +---@field highlighting _.lspconfig.settings.omnisharp.Highlighting +---@field implementType _.lspconfig.settings.omnisharp.ImplementType +---@field inlayHints _.lspconfig.settings.omnisharp.InlayHints +---@field navigation _.lspconfig.settings.omnisharp.Navigation +-- %configuration.dotnet.preferCSharpExtension% +---@field preferCSharpExtension boolean +---@field projects _.lspconfig.settings.omnisharp.Projects +---@field quickInfo _.lspconfig.settings.omnisharp.QuickInfo +---@field server _.lspconfig.settings.omnisharp.Server +---@field symbolSearch _.lspconfig.settings.omnisharp.SymbolSearch +-- %configuration.dotnet.unitTestDebuggingOptions% -- -- ```lua --- default = "Warning" +-- default = {} -- ``` ----@field unbalanced-assignments "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" --- Enable diagnostics for class annotations in which an undefined class is referenced. +---@field unitTestDebuggingOptions _.lspconfig.settings.omnisharp.UnitTestDebuggingOptions +---@field unitTests _.lspconfig.settings.omnisharp.UnitTests + +---@class _.lspconfig.settings.omnisharp.Omnisharp +-- Specifies whether the OmniSharp server will be automatically started or not. If false, OmniSharp can be started with the 'Restart OmniSharp' command -- -- ```lua --- default = "Warning" +-- default = true -- ``` ----@field undefined-doc-class "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" --- Enable diagnostics for type annotations referencing an undefined type or alias. +---@field autoStart boolean +-- Specifies whether notifications should be shown if OmniSharp encounters warnings or errors loading a project. Note that these warnings/errors are always emitted to the OmniSharp log +---@field disableMSBuildDiagnosticWarning boolean +-- Paths to a local download of the .NET CLI to use for running any user code. +---@field dotNetCliPaths string[] +-- (EXPERIMENTAL) Enables support for resolving completion edits asynchronously. This can speed up time to show the completion list, particularly override and partial method completion lists, at the cost of slight delays after inserting a completion item. Most completion items will have no noticeable impact with this feature, but typing immediately after inserting an override or partial method completion, before the insert is completed, can have unpredictable results. +---@field enableAsyncCompletion boolean +-- Enables support for decompiling external references instead of viewing metadata. +---@field enableDecompilationSupport boolean +-- Enables support for reading code style, naming convention and analyzer settings from .editorconfig. -- -- ```lua --- default = "Warning" +-- default = true -- ``` ----@field undefined-doc-name "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" --- Enable diagnostics for cases in which a parameter annotation is given without declaring the parameter in the function definition. +---@field enableEditorConfigSupport boolean +-- Enables support for the experimental language protocol based engine (requires reload to setup bindings correctly) +---@field enableLspDriver boolean +-- If true, MSBuild project system will only load projects for files that were opened in the editor. This setting is useful for big C# codebases and allows for faster initialization of code navigation features only for projects that are relevant to code that is being edited. With this setting enabled OmniSharp may load fewer projects and may thus display incomplete reference lists for symbols. +---@field enableMsBuildLoadProjectsOnDemand boolean +-- Specifies the level of logging output from the OmniSharp server. -- -- ```lua --- default = "Warning" +-- default = "information" -- ``` ----@field undefined-doc-param "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" --- Enable undefined environment variable diagnostics. It's raised when `_ENV` table is set to a new literal table, but the used global variable is no longer present in the global environment. +---@field loggingLevel "trace" | "debug" | "information" | "warning" | "error" | "critical" +-- The maximum number of items that 'Go to Symbol in Workspace' operation can show. The limit is applied only when a positive number is specified here. -- -- ```lua --- default = "Information" +-- default = 1000 -- ``` ----@field undefined-env-child "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" --- Enable diagnostics for cases in which an undefined field of a variable is read. +---@field maxFindSymbolsItems number +-- The maximum number of projects to be shown in the 'Select Project' dropdown (maximum 250). -- -- ```lua --- default = "Warning" +-- default = 250 -- ``` ----@field undefined-field "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" --- Enable undefined global variable diagnostics. +---@field maxProjectResults number +-- The minimum number of characters to enter before 'Go to Symbol in Workspace' operation shows any results. -- -- ```lua --- default = "Warning" +-- default = 0 -- ``` ----@field undefined-global "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" --- Enable diagnostics for casts of undefined variables. +---@field minFindSymbolsFilterLength number +-- Specifies the path to a mono installation to use when "useModernNet" is set to false, instead of the default system one. Example: "/Library/Frameworks/Mono.framework/Versions/Current" +---@field monoPath string +-- Specifies whether 'using' directives should be grouped and sorted during document formatting. +---@field organizeImportsOnFormat boolean +-- The exclude pattern used by OmniSharp to find all project files. -- -- ```lua --- default = "Warning" +-- default = "**/node_modules/**,**/.git/**,**/bower_components/**" -- ``` ----@field unknown-cast-variable "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" --- Enable diagnostics in cases in which an unknown diagnostics code is entered. +---@field projectFilesExcludePattern string +-- The time Visual Studio Code will wait for the OmniSharp server to start. Time is expressed in seconds. -- -- ```lua --- default = "Warning" +-- default = 60 -- ``` ----@field unknown-diag-code "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" --- Enable diagnostics for unknown operators. +---@field projectLoadTimeout number +-- Specifies whether to include preview versions of the .NET SDK when determining which version to use for project loading. Applies when "useModernNet" is set to true. -- -- ```lua --- default = "Warning" +-- default = true -- ``` ----@field unknown-operator "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" --- Enable diagnostics for unreachable code. +---@field sdkIncludePrereleases boolean +-- Specifies the path to a .NET SDK installation to use for project loading instead of the highest version installed. Applies when "useModernNet" is set to true. Example: /home/username/dotnet/sdks/6.0.300. +---@field sdkPath string +-- Specifies the version of the .NET SDK to use for project loading instead of the highest version installed. Applies when "useModernNet" is set to true. Example: 6.0.300. +---@field sdkVersion string +-- Specifes whether OmniSharp should use VS Code editor settings for C# code formatting (use of tabs, indentation size). -- -- ```lua --- default = "Hint" +-- default = true -- ``` ----@field unreachable-code "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" --- Enable unused function diagnostics. +---@field useEditorFormattingSettings boolean +-- Use OmniSharp build for .NET 6. This version _does not_ support non-SDK-style .NET Framework projects, including Unity. SDK-style Framework, .NET Core, and .NET 5+ projects should see significant performance improvements. -- -- ```lua --- default = "Hint" +-- default = true -- ``` ----@field unused-function "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" --- Enable unused label diagnostics. +---@field useModernNet boolean + +---@class _.lspconfig.settings.omnisharp.Completion +-- Specifies whether to commit tag helper and component elements with a space. -- -- ```lua --- default = "Hint" +-- default = "false" -- ``` ----@field unused-label "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" --- Enable unused local variable diagnostics. +---@field commitElementsWithSpace boolean + +---@class _.lspconfig.settings.omnisharp.Format +-- Forces the open brace after an @code or @functions directive to be on the following line. +---@field codeBlockBraceOnNextLine boolean +-- Enable/disable default Razor formatter. -- -- ```lua --- default = "Hint" +-- default = true -- ``` ----@field unused-local "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" --- Enable unused vararg diagnostics. +---@field enable boolean + +---@class _.lspconfig.settings.omnisharp.LanguageServer +-- %configuration.razor.languageServer.debug% +---@field debug boolean +-- %configuration.razor.languageServer.directory% +---@field directory string +-- %configuration.razor.languageServer.forceRuntimeCodeGeneration% +---@field forceRuntimeCodeGeneration boolean + +---@class _.lspconfig.settings.omnisharp.Plugin +-- Overrides the path to the Razor plugin dll. +---@field path string + +---@class _.lspconfig.settings.omnisharp.Server +-- %configuration.razor.server.trace% -- -- ```lua --- default = "Hint" +-- default = "Information" -- ``` ----@field unused-vararg "Error" | "Warning" | "Information" | "Hint" | "Error!" | "Warning!" | "Information!" | "Hint!" +---@field trace "Trace" | "Debug" | "Information" | "Warning" | "Error" | "Critical" | "None" ----@class _.lspconfig.settings.lua_ls.Diagnostics --- Disabled diagnostic (Use code in hover brackets). +---@class _.lspconfig.settings.omnisharp.Razor +---@field completion _.lspconfig.settings.omnisharp.Completion +-- Forces the omnisharp-vscode extension to run in a mode that enables local Razor.VSCode deving. +---@field devmode boolean +---@field format _.lspconfig.settings.omnisharp.Format +---@field languageServer _.lspconfig.settings.omnisharp.LanguageServer +---@field plugin _.lspconfig.settings.omnisharp.Plugin +---@field server _.lspconfig.settings.omnisharp.Server + +---@class lspconfig.settings.omnisharp +---@field csharp _.lspconfig.settings.omnisharp.Csharp +---@field dotnet _.lspconfig.settings.omnisharp.Dotnet +---@field omnisharp _.lspconfig.settings.omnisharp.Omnisharp +---@field razor _.lspconfig.settings.omnisharp.Razor + +---@class _.lspconfig.settings.perlls.Perl +-- directory for caching of parsed symbols, if the directory does not exists, it will be created, defaults to ${workspace}/.vscode/perl-lang. This should be one unqiue directory per project and an absolute path. +---@field cacheDir string +-- arguments for containerCmd. Varies depending on containerCmd. +---@field containerArgs any[] +-- If set Perl::LanguageServer can run inside a container. Options are: 'docker', 'docker-compose', 'podman', 'kubectl' +---@field containerCmd string +-- To start a new container, set to 'run', to execute inside an existing container set to 'exec'. Note: kubectl only supports 'exec' +-- +-- ```lua +-- default = "exec" +-- ``` +---@field containerMode string +-- Image to start or container to exec inside or pod to use +---@field containerName string +-- port to use for connection between vscode and debug adapter inside Perl::LanguageServer. On a multi user system every user must use a different port. -- -- ```lua --- default = {} +-- default = 13603 -- ``` ----@field disable string[] --- Do not diagnose Lua files that use the following scheme. +---@field debugAdapterPort integer +-- if debugAdapterPort is in use try ports from debugAdapterPort to debugAdapterPort + debugAdapterPortRange. Default 100. -- -- ```lua --- default = { "git" } +-- default = 100 -- ``` ----@field disableScheme string[] --- Enable diagnostics. +---@field debugAdapterPortRange integer +-- if true, the LanguageServer will not cache the result of parsing source files on disk, so it can be used within readonly directories +---@field disableCache boolean +-- per default enviroment from vscode will be passed to debuggee, syntax check and perltidy. If set to true, no enviroment variables will be passed. +---@field disablePassEnv boolean +-- enable/disable this extension -- -- ```lua -- default = true -- ``` ---@field enable boolean --- Defined global variables. +-- object with environment settings for command that starts the LanguageServer, e.g. can be used to set KUBECONFIG. +---@field env table +-- array for filtering perl file, defaults to *.pm|*.pl +---@field fileFilter any[] +-- directories to ignore, defaults to .vscode, .git, .svn +---@field ignoreDirs any[] +-- If set, log output is written to the given logfile, instead of displaying it in the vscode output pane. Log output is always appended so you are responsible for rotating the file. +---@field logFile string +-- Log level 0-2 -- -- ```lua --- default = {} +-- default = 0 -- ``` ----@field globals string[] --- Find defined global variables using regex. +---@field logLevel integer +-- mapping of local to remote paths +---@field pathMap any[] +-- defaults to perl +---@field perlCmd string +-- array with paths to add to perl library path. This setting is used by the syntax checker and for the debuggee and also for the LanguageServer itself. perl.perlInc should be absolute paths. +---@field perlInc any[] +-- if true, show also local variables in symbol view +---@field showLocalVars boolean +-- ip address of remote system +---@field sshAddr string +-- optional arguments for ssh +---@field sshArgs any[] +-- defaults to ssh on unix and plink on windows +---@field sshCmd string +-- optional, port for ssh to remote system +---@field sshPort string +-- user for ssh login +---@field sshUser string +-- path of the workspace root on remote system +---@field sshWorkspaceRoot string +-- Use -T for syntax check. +---@field useTaintForSyntaxCheck boolean + +---@class lspconfig.settings.perlls +---@field perl _.lspconfig.settings.perlls.Perl + +---@class _.lspconfig.settings.perlnavigator.Trace +-- Traces the communication between VS Code and the language server. -- -- ```lua --- default = {} +-- default = "messages" -- ``` ----@field globalsRegex string[] --- Modify the diagnostic needed file status in a group. --- --- * Opened: only diagnose opened files --- * Any: diagnose all files --- * None: disable this diagnostic --- --- `Fallback` means that diagnostics in this group are controlled by `diagnostics.neededFileStatus` separately. --- Other settings will override individual settings without end of `!`. --- ----@field groupFileStatus _.lspconfig.settings.lua_ls.GroupFileStatus --- Modify the diagnostic severity in a group. --- `Fallback` means that diagnostics in this group are controlled by `diagnostics.severity` separately. --- Other settings will override individual settings without end of `!`. --- ----@field groupSeverity _.lspconfig.settings.lua_ls.GroupSeverity --- How to diagnose ignored files. +---@field server "off" | "messages" | "verbose" + +---@class _.lspconfig.settings.perlnavigator.Perlnavigator +-- Enable warnings using -Mwarnings command switch -- -- ```lua --- default = "Opened" +-- default = true -- ``` ----@field ignoredFiles "Enable" | "Opened" | "Disable" --- How to diagnose files loaded via `Lua.workspace.library`. +---@field enableWarnings boolean +-- Boolean to indicate if $project/lib should be added to the path by default -- -- ```lua --- default = "Opened" +-- default = true -- ``` ----@field libraryFiles "Enable" | "Opened" | "Disable" --- * Opened: only diagnose opened files --- * Any: diagnose all files --- * None: disable this diagnostic --- --- End with `!` means override the group setting `diagnostics.groupFileStatus`. --- ----@field neededFileStatus _.lspconfig.settings.lua_ls.NeededFileStatus --- Modify the diagnostic severity. --- --- End with `!` means override the group setting `diagnostics.groupSeverity`. --- ----@field severity _.lspconfig.settings.lua_ls.Severity --- Do not diagnose `unused-local` when the variable name matches the following pattern. +---@field includeLib boolean +-- Array of paths added to @INC. You can use $workspaceFolder as a placeholder. -- -- ```lua -- default = {} -- ``` ----@field unusedLocalExclude string[] --- Latency (milliseconds) for workspace diagnostics. --- --- ```lua --- default = 3000 --- ``` ----@field workspaceDelay integer --- Set the time to trigger workspace diagnostics. +---@field includePaths any[] +-- Log to stdout from the navigator. Viewable in the Perl Navigator LSP log -- -- ```lua --- default = "OnSave" +-- default = true -- ``` ----@field workspaceEvent "OnChange" | "OnSave" | "None" --- Workspace diagnostics run rate (%). Decreasing this value reduces CPU usage, but also reduces the speed of workspace diagnostics. The diagnosis of the file you are currently editing is always done at full speed and is not affected by this setting. +---@field logging boolean +-- Enable running perl -c on your code -- -- ```lua --- default = 100 +-- default = true -- ``` ----@field workspaceRate integer - ----@class _.lspconfig.settings.lua_ls.Doc --- Treat specific field names as package, e.g. `m_*` means `XXX.m_id` and `XXX.m_type` are package, witch can only be accessed in the file where the definition is located. +---@field perlCompileEnabled boolean +-- Pass environment variables to the perl executable. Skipped if undefined. -- -- ```lua -- default = {} -- ``` ----@field packageName string[] --- Treat specific field names as private, e.g. `m_*` means `XXX.m_id` and `XXX.m_type` are private, witch can only be accessed in the class where the definition is located. +---@field perlEnv table +-- Add environment variables to current environment, or totally replace (perlEnv related). -- -- ```lua --- default = {} +-- default = true -- ``` ----@field privateName string[] --- Treat specific field names as protected, e.g. `m_*` means `XXX.m_id` and `XXX.m_type` are protected, witch can only be accessed in the class where the definition is located and its subclasses. +---@field perlEnvAdd boolean +-- Pass miscellaneous command line arguments to pass to the perl executable -- -- ```lua -- default = {} -- ``` ----@field protectedName string[] - ----@class _.lspconfig.settings.lua_ls.Format --- The default format configuration. Has a lower priority than `.editorconfig` file in the workspace. --- Read [formatter docs](https://github.com/CppCXY/EmmyLuaCodeStyle/tree/master/docs) to learn usage. --- +---@field perlParams any[] +-- Full path to the perl executable (no aliases, .bat files or ~/) -- -- ```lua --- default = {} +-- default = "perl" -- ``` ----@field defaultConfig table --- Enable code formatter. +---@field perlPath string +-- Enable perl critic. -- -- ```lua -- default = true -- ``` ----@field enable boolean - ----@class _.lspconfig.settings.lua_ls.Hint --- Show hints of array index when constructing a table. --- --- ```lua --- default = "Auto" --- ``` ----@field arrayIndex "Enable" | "Auto" | "Disable" --- If the called function is marked `---@async`, prompt `await` at the call. +---@field perlcriticEnabled boolean +-- Regex pattern with policies to exclude for perl critic (normally in profile) +---@field perlcriticExclude string +-- Regex pattern with policies to include for perl critic (normally in profile) +---@field perlcriticInclude string +-- Path to perl critic profile. Otherwise perlcritic itself will default to ~/.perlcriticrc. (no aliases, .bat files or ~/) -- -- ```lua --- default = true +-- default = "" -- ``` ----@field await boolean --- Enable inlay hint. ----@field enable boolean --- Show hints of parameter name at the function call. +---@field perlcriticProfile string +-- Override severity level for perl critic (normally in profile) +---@field perlcriticSeverity number +-- Override theme for perl critic (normally in profile) +---@field perlcriticTheme string +-- Enable perlimports as a linter. +---@field perlimportsLintEnabled boolean +-- Path to perlimports.toml (no aliases, .bat files or ~/) -- -- ```lua --- default = "All" +-- default = "" -- ``` ----@field paramName "All" | "Literal" | "Disable" --- Show type hints at the parameter of the function. +---@field perlimportsProfile string +-- Enable perlimports as a tidier. +---@field perlimportsTidyEnabled boolean +-- Enable perl tidy. -- -- ```lua -- default = true -- ``` ----@field paramType boolean --- If there is no semicolon at the end of the statement, display a virtual semicolon. +---@field perltidyEnabled boolean +-- Path to perl tidy profile (no aliases, .bat files or ~/) -- -- ```lua --- default = "SameLine" +-- default = "" -- ``` ----@field semicolon "All" | "SameLine" | "Disable" --- Show hints of type at assignment operation. ----@field setType boolean - ----@class _.lspconfig.settings.lua_ls.Hover --- Enable hover. +---@field perltidyProfile string +-- Editor Diagnostic severity level for Critic severity 1 -- -- ```lua --- default = true +-- default = "hint" -- ``` ----@field enable boolean --- When the value corresponds to multiple types, limit the number of types displaying. +---@field severity1 "error" | "warning" | "info" | "hint" | "none" +-- Editor Diagnostic severity level for Critic severity 2 -- -- ```lua --- default = 5 +-- default = "hint" -- ``` ----@field enumsLimit integer --- Whether to expand the alias. For example, expands `---@alias myType boolean|number` appears as `boolean|number`, otherwise it appears as `myType'. --- +---@field severity2 "error" | "warning" | "info" | "hint" | "none" +-- Editor Diagnostic severity level for Critic severity 3 -- -- ```lua --- default = true +-- default = "hint" -- ``` ----@field expandAlias boolean --- When hovering to view a table, limits the maximum number of previews for fields. +---@field severity3 "error" | "warning" | "info" | "hint" | "none" +-- Editor Diagnostic severity level for Critic severity 4 -- -- ```lua --- default = 50 +-- default = "info" -- ``` ----@field previewFields integer --- Hover to view numeric content (only if literal is not decimal). +---@field severity4 "error" | "warning" | "info" | "hint" | "none" +-- Editor Diagnostic severity level for Critic severity 5 -- -- ```lua --- default = true +-- default = "warning" -- ``` ----@field viewNumber boolean --- Hover to view the contents of a string (only if the literal contains an escape character). +---@field severity5 "error" | "warning" | "info" | "hint" | "none" +---@field trace _.lspconfig.settings.perlnavigator.Trace + +---@class lspconfig.settings.perlnavigator +---@field perlnavigator _.lspconfig.settings.perlnavigator.Perlnavigator + +---@class _.lspconfig.settings.perlpls.Perlcritic +-- Enable perlcritic +---@field enabled boolean +-- Path to .perlcriticrc +---@field perlcriticrc string + +---@class _.lspconfig.settings.perlpls.Syntax +-- Enable syntax checking +---@field enabled boolean +-- Path to the perl binary to use for syntax checking +---@field perl string + +---@class _.lspconfig.settings.perlpls.Perl +-- Current working directory to use +---@field cwd string +-- Paths to add to @INC. +---@field inc any[] +---@field perlcritic _.lspconfig.settings.perlpls.Perlcritic +-- Path to .perltidyrc +---@field perltidyrc string +-- Path to the pls executable script +---@field pls string +-- Arguments to pass to the pls command +---@field plsargs any[] +---@field syntax _.lspconfig.settings.perlpls.Syntax + +---@class _.lspconfig.settings.perlpls.Perlcritic +-- Enable perlcritic -- -- ```lua -- default = true -- ``` ----@field viewString boolean --- The maximum length of a hover to view the contents of a string. +---@field enabled boolean +-- Path to .perlcriticrc -- -- ```lua --- default = 1000 +-- default = "~/.perlcriticrc" -- ``` ----@field viewStringMax integer +---@field perlcriticrc string ----@class _.lspconfig.settings.lua_ls.Misc --- Specify the executable path in VSCode. --- --- ```lua --- default = "" --- ``` ----@field executablePath string --- [Command line parameters](https://github.com/LuaLS/lua-telemetry-server/tree/master/method) when starting the language server in VSCode. +---@class _.lspconfig.settings.perlpls.Perltidy +-- Path to .perltidyrc -- -- ```lua --- default = {} +-- default = "~/.perltidyrc" -- ``` ----@field parameters string[] +---@field perltidyrc string ----@class _.lspconfig.settings.lua_ls.NameStyle --- Set name style config +---@class _.lspconfig.settings.perlpls.Podchecker +-- Enable podchecker (requires Pod::Checker to be installed) -- -- ```lua --- default = {} +-- default = true -- ``` ----@field config table +---@field enabled boolean --- Adjust the enabled state of the built-in library. You can disable (or redefine) the non-existent library according to the actual runtime environment. --- --- * `default`: Indicates that the library will be enabled or disabled according to the runtime version --- * `enable`: always enable --- * `disable`: always disable --- ----@class _.lspconfig.settings.lua_ls.Builtin --- TODO: Needs documentation --- --- ```lua --- default = "default" --- ``` ----@field basic "default" | "enable" | "disable" --- TODO: Needs documentation --- --- ```lua --- default = "default" --- ``` ----@field bit "default" | "enable" | "disable" --- TODO: Needs documentation +---@class _.lspconfig.settings.perlpls.Syntax +-- Additional arguments to pass when syntax checking. This is useful if there is a BEGIN block in your code that changes behavior depending on the contents of @ARGV. -- -- ```lua --- default = "default" +-- default = {} -- ``` ----@field bit32 "default" | "enable" | "disable" --- TODO: Needs documentation +---@field args any[] +-- Enable syntax checking -- -- ```lua --- default = "default" +-- default = true -- ``` ----@field builtin "default" | "enable" | "disable" --- TODO: Needs documentation +---@field enabled boolean +-- Path to the perl binary to use for syntax checking -- -- ```lua --- default = "default" +-- default = "" -- ``` ----@field coroutine "default" | "enable" | "disable" --- TODO: Needs documentation +---@field perl string + +---@class _.lspconfig.settings.perlpls.Pls +-- Arguments to pass to the pls command -- -- ```lua --- default = "default" +-- default = {} -- ``` ----@field debug "default" | "enable" | "disable" --- TODO: Needs documentation +---@field args any[] +-- Path to the pls executable script -- -- ```lua --- default = "default" +-- default = "pls" -- ``` ----@field ffi "default" | "enable" | "disable" --- TODO: Needs documentation +---@field cmd string +-- Current working directory to use -- -- ```lua --- default = "default" +-- default = "." -- ``` ----@field io "default" | "enable" | "disable" --- TODO: Needs documentation +---@field cwd string +-- Paths to add to @INC. -- -- ```lua --- default = "default" +-- default = {} -- ``` ----@field jit "default" | "enable" | "disable" --- TODO: Needs documentation +---@field inc any[] +---@field perlcritic _.lspconfig.settings.perlpls.Perlcritic +---@field perltidy _.lspconfig.settings.perlpls.Perltidy +---@field podchecker _.lspconfig.settings.perlpls.Podchecker +---@field syntax _.lspconfig.settings.perlpls.Syntax + +---@class lspconfig.settings.perlpls +---@field perl _.lspconfig.settings.perlpls.Perl +---@field pls _.lspconfig.settings.perlpls.Pls + +---@class _.lspconfig.settings.powershell_es.BugReporting +-- **Deprecated:** Specifies the URL of the GitHub project in which to generate bug reports. -- -- ```lua --- default = "default" +-- default = "https://github.com/PowerShell/vscode-powershell" -- ``` ----@field jit.profile "default" | "enable" | "disable" --- TODO: Needs documentation +---@field project string + +---@class _.lspconfig.settings.powershell_es.Buttons +-- Show buttons in the editor's title bar for moving the terminals pane (with the PowerShell Extension Terminal) around. +---@field showPanelMovementButtons boolean +-- Show the `Run` and `Run Selection` buttons in the editor's title bar. -- -- ```lua --- default = "default" +-- default = true -- ``` ----@field jit.util "default" | "enable" | "disable" --- TODO: Needs documentation +---@field showRunButtons boolean + +---@class _.lspconfig.settings.powershell_es.CodeFolding +-- Enables syntax based code folding. When disabled, the default indentation based code folding is used. -- -- ```lua --- default = "default" +-- default = true -- ``` ----@field math "default" | "enable" | "disable" --- TODO: Needs documentation +---@field enable boolean +-- Shows the last line of a folded section similar to the default VS Code folding style. When disabled, the entire folded region is hidden. -- -- ```lua --- default = "default" +-- default = true -- ``` ----@field os "default" | "enable" | "disable" --- TODO: Needs documentation +---@field showLastLine boolean + +---@class _.lspconfig.settings.powershell_es.CodeFormatting +-- Adds a space before and after the pipeline operator (`|`) if it is missing. -- -- ```lua --- default = "default" +-- default = true -- ``` ----@field package "default" | "enable" | "disable" --- TODO: Needs documentation +---@field addWhitespaceAroundPipe boolean +-- Align assignment statements in a hashtable or a DSC Configuration. -- -- ```lua --- default = "default" +-- default = true -- ``` ----@field string "default" | "enable" | "disable" --- TODO: Needs documentation +---@field alignPropertyValuePairs boolean +-- Replaces aliases with their aliased name. +---@field autoCorrectAliases boolean +-- Removes redundant semicolon(s) at the end of a line where a line terminator is sufficient. +---@field avoidSemicolonsAsLineTerminators boolean +-- Does not reformat one-line code blocks, such as: `if (...) {...} else {...}`. -- -- ```lua --- default = "default" +-- default = true -- ``` ----@field string.buffer "default" | "enable" | "disable" --- TODO: Needs documentation +---@field ignoreOneLineBlock boolean +-- Adds a newline (line break) after a closing brace. -- -- ```lua --- default = "default" +-- default = true -- ``` ----@field table "default" | "enable" | "disable" --- TODO: Needs documentation +---@field newLineAfterCloseBrace boolean +-- Adds a newline (line break) after an open brace. -- -- ```lua --- default = "default" +-- default = true -- ``` ----@field table.clear "default" | "enable" | "disable" --- TODO: Needs documentation +---@field newLineAfterOpenBrace boolean +-- Places open brace on the same line as its associated statement. -- -- ```lua --- default = "default" +-- default = true -- ``` ----@field table.new "default" | "enable" | "disable" --- TODO: Needs documentation +---@field openBraceOnSameLine boolean +-- Whether to increase indentation after a pipeline for multi-line statements. See [PSScriptAnalyzer](https://github.com/PowerShell/PSScriptAnalyzer/blob/a94d9f5666bba9f569cdf9c1bc99556934f2b8f4/docs/Rules/UseConsistentIndentation.md#pipelineindentation-string-default-value-is-increaseindentationforfirstpipeline) for examples. It is suggested to use `IncreaseIndentationForFirstPipeline` instead of the default `NoIndentation`. **This default may change in the future,** please see the [Request For Comment](https://github.com/PowerShell/vscode-powershell/issues/4296). -- -- ```lua --- default = "default" +-- default = "NoIndentation" -- ``` ----@field utf8 "default" | "enable" | "disable" - ----@class _.lspconfig.settings.lua_ls.Runtime --- Adjust the enabled state of the built-in library. You can disable (or redefine) the non-existent library according to the actual runtime environment. --- --- * `default`: Indicates that the library will be enabled or disabled according to the runtime version --- * `enable`: always enable --- * `disable`: always disable --- ----@field builtin _.lspconfig.settings.lua_ls.Builtin --- File encoding. The `ansi` option is only available under the `Windows` platform. +---@field pipelineIndentationStyle "IncreaseIndentationForFirstPipeline" | "IncreaseIndentationAfterEveryPipeline" | "NoIndentation" | "None" +-- Sets the code formatting options to follow the given indent style in a way that is compatible with PowerShell syntax. Any setting other than `Custom` will configure (and override) the settings: -- --- ```lua --- default = "utf8" --- ``` ----@field fileEncoding "utf8" | "ansi" | "utf16le" | "utf16be" --- Format of the directory name of the meta files. +-- * `#powershell.codeFormatting.openBraceOnSameLine#` -- --- ```lua --- default = "${version} ${language} ${encoding}" --- ``` ----@field meta string --- Supports non-standard symbols. Make sure that your runtime environment supports these symbols. +-- * `#powershell.codeFormatting.newLineAfterOpenBrace#` -- --- ```lua --- default = {} --- ``` ----@field nonstandardSymbol string[] --- When using `require`, how to find the file based on the input name. --- Setting this config to `?/init.lua` means that when you enter `require 'myfile'`, `${workspace}/myfile/init.lua` will be searched from the loaded files. --- if `runtime.pathStrict` is `false`, `${workspace}/**/myfile/init.lua` will also be searched. --- If you want to load files outside the workspace, you need to set `Lua.workspace.library` first. +-- * `#powershell.codeFormatting.newLineAfterCloseBrace#` -- +-- For more information about the brace styles, please see [PoshCode's discussion](https://github.com/PoshCode/PowerShellPracticeAndStyle/issues/81). -- -- ```lua --- default = { "?.lua", "?/init.lua" } --- ``` ----@field path string[] --- When enabled, `runtime.path` will only search the first level of directories, see the description of `runtime.path`. ----@field pathStrict boolean --- Plugin path. Please read [wiki](https://luals.github.io/wiki/plugins) to learn more. ----@field plugin string|any[] --- Additional arguments for the plugin. ----@field pluginArgs any[]|table --- The custom global variables are regarded as some special built-in variables, and the language server will provide special support --- The following example shows that 'include' is treated as' require '. --- ```json --- "Lua.runtime.special" : { --- "include" : "require" --- } +-- default = "Custom" -- ``` --- +---@field preset "Custom" | "Allman" | "OTBS" | "Stroustrup" +-- Trims extraneous whitespace (more than one character) before and after the pipeline operator (`|`). +---@field trimWhitespaceAroundPipe boolean +-- Use single quotes if a string is not interpolated and its value does not contain a single quote. +---@field useConstantStrings boolean +-- Use correct casing for cmdlets. +---@field useCorrectCasing boolean +-- Adds a space after a separator (`,` and `;`). -- -- ```lua --- default = {} +-- default = true -- ``` ----@field special table --- Allows Unicode characters in name. ----@field unicodeName boolean --- Lua runtime version. +---@field whitespaceAfterSeparator boolean +-- Adds spaces before and after an operator (`=`, `+`, `-`, etc.). -- -- ```lua --- default = "Lua 5.4" +-- default = true -- ``` ----@field version "Lua 5.1" | "Lua 5.2" | "Lua 5.3" | "Lua 5.4" | "LuaJIT" - ----@class _.lspconfig.settings.lua_ls.Semantic --- Semantic coloring of type annotations. +---@field whitespaceAroundOperator boolean +-- **Deprecated:** Please use the `#powershell.codeFormatting.addWhitespaceAroundPipe#` setting instead. If you've used this setting before, we have moved it for you automatically. -- -- ```lua -- default = true -- ``` ----@field annotation boolean --- Enable semantic color. You may need to set `editor.semanticHighlighting.enabled` to `true` to take effect. +---@field whitespaceAroundPipe boolean +-- Adds a space between a keyword and its associated script-block expression. -- -- ```lua -- default = true -- ``` ----@field enable boolean --- Semantic coloring of keywords/literals/operators. You only need to enable this feature if your editor cannot do syntax coloring. ----@field keyword boolean --- Semantic coloring of variables/fields/parameters. +---@field whitespaceBeforeOpenBrace boolean +-- Adds a space between a keyword (`if`, `elseif`, `while`, `switch`, etc.) and its associated conditional expression. -- -- ```lua -- default = true -- ``` ----@field variable boolean - ----@class _.lspconfig.settings.lua_ls.SignatureHelp --- Enable signature help. +---@field whitespaceBeforeOpenParen boolean +-- Removes redundant whitespace between parameters. +---@field whitespaceBetweenParameters boolean +-- Adds a space after an opening brace (`{`) and before a closing brace (`}`). -- -- ```lua -- default = true -- ``` ----@field enable boolean +---@field whitespaceInsideBrace boolean ----@class _.lspconfig.settings.lua_ls.Spell --- Custom words for spell checking. +---@class _.lspconfig.settings.powershell_es.Debugging +-- Creates a temporary PowerShell Extension Terminal for each debugging session. This is useful for debugging PowerShell classes and binary modules. +---@field createTemporaryIntegratedConsole boolean + +---@class _.lspconfig.settings.powershell_es.Developer +-- Specifies an alternative path to the folder containing modules that are bundled with the PowerShell extension, that is: PowerShell Editor Services, PSScriptAnalyzer and PSReadLine. **This setting is only meant for extension developers and requires the extension to be run in development mode!** -- -- ```lua --- default = {} +-- default = "../../PowerShellEditorServices/module" -- ``` ----@field dict string[] - ----@class _.lspconfig.settings.lua_ls.Type --- Allowed to assign the `number` type to the `integer` type. +---@field bundledModulesPath string +-- Sets the log verbosity for both the extension and its LSP server, PowerShell Editor Services. **Please set to `Diagnostic` when recording logs for a bug report!** -- -- ```lua --- default = true +-- default = "Normal" -- ``` ----@field castNumberToInteger boolean --- When a parameter type is not annotated, it is inferred from the function's call sites. --- --- When this setting is `false`, the type of the parameter is `any` when it is not annotated. --- ----@field inferParamType boolean --- When checking the type of union type, ignore the `nil` in it. --- --- When this setting is `false`, the `number|nil` type cannot be assigned to the `number` type. It can be with `true`. --- ----@field weakNilCheck boolean --- Once one subtype of a union type meets the condition, the union type also meets the condition. --- --- When this setting is `false`, the `number|boolean` type cannot be assigned to the `number` type. It can be with `true`. --- ----@field weakUnionCheck boolean - --- Configures the formatting behavior while typing Lua code. ----@class _.lspconfig.settings.lua_ls.Config --- Controls if `end` is automatically completed at suitable positions. +---@field editorServicesLogLevel "Diagnostic" | "Verbose" | "Normal" | "Warning" | "Error" | "None" +-- Launches the LSP server with the `/waitForDebugger` flag to force it to wait for a .NET debugger to attach before proceeding, and emit its PID until then. **This setting is only meant for extension developers and requires the extension to be run in development mode!** +---@field editorServicesWaitForDebugger boolean +-- An array of strings that enable experimental features in the PowerShell extension. **No flags are currently available!** -- -- ```lua --- default = "true" +-- default = {} -- ``` ----@field auto_complete_end string --- Controls if a separator is automatically appended at the end of a table declaration. +---@field featureFlags string[] +-- On Windows we launch the PowerShell executable with `-ExecutionPolicy Bypass` so that the LSP server (PowerShell Editor Services module) will launch without issue. Some anti-virus programs disallow this command-line argument and this flag can be used to remove it. **Using this setting may require trusting the script manually in order for it to launch!** -- -- ```lua --- default = "true" +-- default = true -- ``` ----@field auto_complete_table_sep string --- Controls if a line is formatted at all. +---@field setExecutionPolicy boolean +-- Specifies how many seconds the extension will wait for the LSP server, PowerShell Editor Services, to connect. The default is four minutes; try increasing this value if your computer is particularly slow (often caused by overactive anti-malware programs). -- -- ```lua --- default = "true" +-- default = 240 -- ``` ----@field format_line string - ----@class _.lspconfig.settings.lua_ls.TypeFormat --- Configures the formatting behavior while typing Lua code. ----@field config _.lspconfig.settings.lua_ls.Config +---@field waitForSessionFileTimeoutSeconds number ----@class _.lspconfig.settings.lua_ls.Window --- Show progress bar in status bar. +---@class _.lspconfig.settings.powershell_es.IntegratedConsole +-- Switches focus to the console when a script selection is run or a script file is debugged. -- -- ```lua -- default = true -- ``` ----@field progressBar boolean --- Show extension status in status bar. +---@field focusConsoleOnExecute boolean +-- Use the VS Code API to clear the terminal since that's the only reliable way to clear the scrollback buffer. Turn this on if you're used to `Clear-Host` clearing scroll history. **This setting is not recommended and likely to be deprecated!** +---@field forceClearScrollbackBuffer boolean +-- Shows the Extension Terminal when the PowerShell extension is initialized. When disabled, the pane is not opened on startup, but the Extension Terminal is still created in order to power the extension's features. -- -- ```lua -- default = true -- ``` ----@field statusBar boolean - ----@class _.lspconfig.settings.lua_ls.Workspace --- Automatic detection and adaptation of third-party libraries, currently supported libraries are: --- --- * OpenResty --- * Cocos4.0 --- * LÖVE --- * LÖVR --- * skynet --- * Jass --- ----@field checkThirdParty string|boolean --- Ignored files and directories (Use `.gitignore` grammar). +---@field showOnStartup boolean +-- Starts the Extension Terminal in the background. **If this is enabled, to access the terminal you must run the [Show Extension Terminal command](command:PowerShell.ShowSessionConsole), and once shown it cannot be put back into the background.** This option completely hides the Extension Terminal from the terminals view. You are probably looking for the `#powershell.integratedConsole.showOnStartup#` option instead. +---@field startInBackground boolean +-- Sets the startup location for Extension Terminal. -- -- ```lua --- default = { ".vscode" } +-- default = "Panel" -- ``` ----@field ignoreDir string[] --- Ignore submodules. +---@field startLocation "Editor" | "Panel" +-- Do not show the startup banner in the PowerShell Extension Terminal. +---@field suppressStartupBanner boolean +-- This will disable the use of PSReadLine in the PowerShell Extension Terminal and use a legacy implementation. **This setting is not recommended and likely to be deprecated!** +---@field useLegacyReadLine boolean + +---@class _.lspconfig.settings.powershell_es.Pester +-- This setting controls the appearance of the `Run Tests` and `Debug Tests` CodeLenses that appears above Pester tests. -- -- ```lua -- default = true -- ``` ----@field ignoreSubmodules boolean --- In addition to the current workspace, which directories will load files from. The files in these directories will be treated as externally provided code libraries, and some features (such as renaming fields) will not modify these files. +---@field codeLens boolean +-- Defines the verbosity of output to be used when debugging a test or a block. For Pester 5 and newer the default value `Diagnostic` will print additional information about discovery, skipped and filtered tests, mocking and more. -- -- ```lua --- default = {} +-- default = "Diagnostic" -- ``` ----@field library string[] --- Max preloaded files. +---@field debugOutputVerbosity "None" | "Minimal" | "Normal" | "Detailed" | "Diagnostic" +-- Defines the verbosity of output to be used. For Pester 5 and newer the default value `FromPreference` will use the `Output` settings from the `$PesterPreference` defined in the caller's context, and will default to `Normal` if there is none. For Pester 4 the `FromPreference` and `Normal` options map to `All`, and `Minimal` option maps to `Fails`. -- -- ```lua --- default = 5000 +-- default = "FromPreference" -- ``` ----@field maxPreload integer --- Skip files larger than this value (KB) when preloading. +---@field outputVerbosity "FromPreference" | "None" | "Minimal" | "Normal" | "Detailed" | "Diagnostic" +-- Use a CodeLens that is compatible with Pester 4. Disabling this will show `Run Tests` on all `It`, `Describe` and `Context` blocks, and will correctly work only with Pester 5 and newer. -- -- ```lua --- default = 500 +-- default = true -- ``` ----@field preloadFileSize integer --- Ignore files list in `.gitignore` . +---@field useLegacyCodeLens boolean + +---@class _.lspconfig.settings.powershell_es.ScriptAnalysis +-- Enables real-time script analysis using [PSScriptAnalyzer](https://github.com/PowerShell/PSScriptAnalyzer) that populates the [Problems view](command:workbench.panel.markers.view.focus). -- -- ```lua -- default = true -- ``` ----@field useGitIgnore boolean --- Add private third-party library configuration file paths here, please refer to the built-in [configuration file path](https://github.com/LuaLS/lua-language-server/tree/master/meta/3rd) +---@field enable boolean +-- Specifies the path to a [PSScriptAnalyzer](https://github.com/PowerShell/PSScriptAnalyzer) settings file. **This setting may not work as expected currently!** -- -- ```lua --- default = {} +-- default = "PSScriptAnalyzerSettings.psd1" -- ``` ----@field userThirdParty string[] - ----@class _.lspconfig.settings.lua_ls.Lua ----@field addonManager _.lspconfig.settings.lua_ls.AddonManager ----@field codeLens _.lspconfig.settings.lua_ls.CodeLens ----@field completion _.lspconfig.settings.lua_ls.Completion ----@field diagnostics _.lspconfig.settings.lua_ls.Diagnostics ----@field doc _.lspconfig.settings.lua_ls.Doc ----@field format _.lspconfig.settings.lua_ls.Format ----@field hint _.lspconfig.settings.lua_ls.Hint ----@field hover _.lspconfig.settings.lua_ls.Hover ----@field misc _.lspconfig.settings.lua_ls.Misc ----@field nameStyle _.lspconfig.settings.lua_ls.NameStyle ----@field runtime _.lspconfig.settings.lua_ls.Runtime ----@field semantic _.lspconfig.settings.lua_ls.Semantic ----@field signatureHelp _.lspconfig.settings.lua_ls.SignatureHelp ----@field spell _.lspconfig.settings.lua_ls.Spell ----@field type _.lspconfig.settings.lua_ls.Type ----@field typeFormat _.lspconfig.settings.lua_ls.TypeFormat ----@field window _.lspconfig.settings.lua_ls.Window ----@field workspace _.lspconfig.settings.lua_ls.Workspace - ----@class lspconfig.settings.lua_ls ----@field Lua _.lspconfig.settings.lua_ls.Lua +---@field settingsPath string ----@class _.lspconfig.settings.luau_lsp.Trace --- Traces the communication between VS Code and the Luau language server. +---@class _.lspconfig.settings.powershell_es.SideBar +-- Specifies an array of modules to exclude from Command Explorer listing. -- -- ```lua --- default = "off" +-- default = {} -- ``` ----@field server "off" | "messages" | "verbose" - ----@class _.lspconfig.settings.luau_lsp.Luau ----@field trace _.lspconfig.settings.luau_lsp.Trace +---@field CommandExplorerExcludeFilter string[] +-- Specifies the visibility of the Command Explorer in the side bar. +---@field CommandExplorerVisibility boolean ----@class _.lspconfig.settings.luau_lsp.Bytecode --- The `debugLevel` to use when compiling bytecode +---@class _.lspconfig.settings.powershell_es.StartAsLoginShell +-- Starts the PowerShell extension's underlying PowerShell process as a login shell, if applicable. +---@field linux boolean +-- Starts the PowerShell extension's underlying PowerShell process as a login shell, if applicable. -- -- ```lua --- default = 1 +-- default = true -- ``` ----@field debugLevel number --- The `typeInfoLevel` to use when compiling bytecode +---@field osx boolean + +---@class _.lspconfig.settings.powershell_es.Trace +-- Traces the communication between VS Code and the PowerShell Editor Services language server. **This setting is only meant for extension developers!** -- -- ```lua --- default = 1 +-- default = "off" -- ``` ----@field typeInfoLevel number --- The `vectorCtor` to use when compiling bytecode +---@field server "off" | "messages" | "verbose" + +---@class _.lspconfig.settings.powershell_es.Powershell +-- Specifies to search for references only within open documents instead of all workspace files. An alternative to `#powershell.enableReferencesCodeLens#` that allows large workspaces to support some references without the performance impact. +---@field analyzeOpenDocumentsOnly boolean +---@field bugReporting _.lspconfig.settings.powershell_es.BugReporting +---@field buttons _.lspconfig.settings.powershell_es.Buttons +---@field codeFolding _.lspconfig.settings.powershell_es.CodeFolding +---@field codeFormatting _.lspconfig.settings.powershell_es.CodeFormatting +-- A path where the Extension Terminal will be launched. Both the PowerShell process's and the shell's location will be set to this directory. Does not support variables, but does support the use of '~' and paths relative to a single workspace. **For multi-root workspaces, use the name of the folder you wish to have as the cwd.** -- -- ```lua --- default = "new" +-- default = "" -- ``` ----@field vectorCtor string --- The `vectorLib` to use when compiling bytecode +---@field cwd string +---@field debugging _.lspconfig.settings.powershell_es.Debugging +---@field developer _.lspconfig.settings.powershell_es.Developer +-- Specifies whether the extension loads [PowerShell profiles](https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_profiles). Note that the extension's "Current Host" profile is `Microsoft.VSCode_profile.ps1`, which will be loaded instead of the default "Current Host" profile of `Microsoft.PowerShell_profile.ps1`. Use the "All Hosts" profile `profile.ps1` for common configuration. -- -- ```lua --- default = "Vector3" +-- default = true -- ``` ----@field vectorLib string --- The `vectorType` to use when compiling bytecode +---@field enableProfileLoading boolean +-- Specifies if Code Lenses are displayed above function definitions, used to show the number of times the function is referenced in the workspace and navigate to those references. Large workspaces may want to disable this setting if performance is compromised. See also `#powershell.analyzeOpenDocumentsOnly#`. -- -- ```lua --- default = "Vector3" +-- default = true -- ``` ----@field vectorType string - ----@class _.lspconfig.settings.luau_lsp.Imports --- Suggest automatic imports in completion items ----@field enabled boolean --- The style of requires when autocompleted +---@field enableReferencesCodeLens boolean +-- Specifies the [comment based help](https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_comment_based_help) completion style triggered by typing ` ##`. -- -- ```lua --- default = "auto" +-- default = "BlockComment" -- ``` ----@field requireStyle "auto" | "alwaysRelative" | "alwaysAbsolute" --- Whether services and requires should be separated by an empty line ----@field separateGroupsWithLine boolean --- Whether module requires are suggested in autocomplete +---@field helpCompletion "Disabled" | "BlockComment" | "LineComment" +---@field integratedConsole _.lspconfig.settings.powershell_es.IntegratedConsole +---@field pester _.lspconfig.settings.powershell_es.Pester +-- Specifies a list of Item / Value pairs where the **Item** is a user-chosen name and the **Value** is an absolute path to a PowerShell executable. The name appears in the [Session Menu Command](command:PowerShell.ShowSessionMenu) and is used to reference this executable in the `#powershell.powerShellDefaultVersion#` setting. -- -- ```lua --- default = true +-- default = {} -- ``` ----@field suggestRequires boolean --- Whether GetService completions are suggested in autocomplete +---@field powerShellAdditionalExePaths table +-- Specifies the default PowerShell version started by the extension. The name must match what is displayed in the [Session Menu command](command:PowerShell.ShowSessionMenu), for example, `Windows PowerShell (x86)`. You can specify additional PowerShell executables with the `#powershell.powerShellAdditionalExePaths#` setting. -- -- ```lua --- default = true +-- default = "" -- ``` ----@field suggestServices boolean - ----@class _.lspconfig.settings.luau_lsp.Completion --- Add parentheses after completing a function call +---@field powerShellDefaultVersion string +-- **Deprecated:** Specifies the path to the PowerShell executable. -- -- ```lua --- default = true +-- default = "" -- ``` ----@field addParentheses boolean --- If `#luau-lsp.completion.addParentheses#` is enabled, then include a tabstop after the parentheses for the cursor to move to +---@field powerShellExePath string +-- **Deprecated:** Specifies whether you should be prompted to update your version of `PackageManagement` if it's under 1.4.6. +---@field promptToUpdatePackageManagement boolean +-- Specifies whether you may be prompted to update your version of PowerShell. -- -- ```lua -- default = true -- ``` ----@field addTabstopAfterParentheses boolean --- Automatically insert an `end` when opening a block ----@field autocompleteEnd boolean --- Enable autocomplete +---@field promptToUpdatePowerShell boolean +---@field scriptAnalysis _.lspconfig.settings.powershell_es.ScriptAnalysis +---@field sideBar _.lspconfig.settings.powershell_es.SideBar +---@field startAsLoginShell _.lspconfig.settings.powershell_es.StartAsLoginShell +-- Starts the PowerShell extension automatically when a PowerShell file is opened. If `false`, to start the extension use the [Restart Session command](command:PowerShell.RestartSession). **IntelliSense, code navigation, the Extension Terminal, code formatting, and other features are not enabled until the extension starts.** -- -- ```lua -- default = true -- ``` ----@field enabled boolean --- Fill parameter names in an autocompleted function call, which can be tabbed through. Requires `#luau-lsp.completion.addParentheses#` to be enabled +---@field startAutomatically boolean +-- Suppresses the warning message when any of `#powershell.powerShellAdditionalExePaths#` is not found. +---@field suppressAdditionalExeNotFoundWarning boolean +---@field trace _.lspconfig.settings.powershell_es.Trace +-- **Deprecated:** Uses the 32-bit language service on 64-bit Windows. This setting has no effect on 32-bit Windows or on the PowerShell extension debugger, which has its own architecture configuration. +---@field useX86Host boolean + +---@class lspconfig.settings.powershell_es +---@field powershell _.lspconfig.settings.powershell_es.Powershell + +---@class _.lspconfig.settings.psalm.Trace +-- Traces the communication between VSCode and the Psalm language server. -- -- ```lua --- default = true +-- default = "off" -- ``` ----@field fillCallArguments boolean ----@field imports _.lspconfig.settings.luau_lsp.Imports --- Whether to show non-function properties when performing a method call with a colon (e.g., `foo:bar`) ----@field showPropertiesOnMethodCall boolean --- Suggest automatic imports in completion items ----@field suggestImports boolean +---@field server "off" | "messages" | "verbose" ----@class _.lspconfig.settings.luau_lsp.Diagnostics --- Recompute diagnostics for dependents when a file changes. If `#luau-lsp.diagnostics.workspace#` is enabled, this is ignored +---@class _.lspconfig.settings.psalm.Psalm +-- A list of file extensions to request Psalm to analyze. By default, this only includes 'php' (Modifying requires VSCode reload) -- -- ```lua --- default = true +-- default = { { +-- language = "php", +-- scheme = "file" +-- }, { +-- language = "php", +-- scheme = "untitled" +-- } } -- ``` ----@field includeDependents boolean --- Use strict DataModel types in diagnostics. When on, this is equivalent to the more expressive autocompletion types. When this is off, `game`/`script`/`workspace` (and their members) are all typed as `any`, and helps to prevent false positives. [Read More](https://github.com/JohnnyMorganz/luau-lsp/issues/83#issuecomment-1192865024) ----@field strictDatamodelTypes boolean --- Compute diagnostics for the whole workspace ----@field workspace boolean - ----@class _.lspconfig.settings.luau_lsp.Fflags --- Enable all (boolean) Luau FFlags by default. These flags can later be overriden by `#luau-lsp.fflags.override#` and `#luau-lsp.fflags.sync#` ----@field enableByDefault boolean --- Override FFlags passed to Luau +---@field analyzedFileExtensions any[] +-- A list of files to checkup for psalm configuration (relative to the workspace directory) -- -- ```lua --- default = {} +-- default = { "psalm.xml", "psalm.xml.dist" } -- ``` ----@field override table --- Sync currently enabled FFlags with Roblox's published FFlags. --- This currently only syncs FFlags which begin with 'Luau' +---@field configPaths string[] +-- If this is set to true, this VSCode extension will use TCP instead of the default STDIO to communicate with the Psalm language server. (Modifying requires VSCode reload) +---@field connectToServerWithTcp boolean +-- Enable to disable autocomplete on methods and properties (Modifying requires VSCode reload) +---@field disableAutoComplete boolean +-- Enable this to print messages to the debug console when developing or debugging this VS Code extension. (Modifying requires VSCode reload) +---@field enableDebugLog boolean +-- Enable this to use PHP-provided ini defaults for memory and error display. (Modifying requires restart) +---@field enableUseIniDefaults boolean +-- Enable --verbose mode on the Psalm Language Server (Modifying requires VSCode reload) +---@field enableVerbose boolean +-- This will hide the Psalm status from the status bar when it is started and running. This is useful to clear up a cluttered status bar. -- -- ```lua -- default = true -- ``` ----@field sync boolean - ----@class _.lspconfig.settings.luau_lsp.Hover --- Enable hover +---@field hideStatusMessageWhenRunning boolean +-- Traces the communication between VSCode and the Psalm language server. -- -- ```lua --- default = true +-- default = "INFO" -- ``` ----@field enabled boolean --- Show string length when hovering over a string literal +---@field logLevel "NONE" | "ERROR" | "WARN" | "INFO" | "DEBUG" | "TRACE" +-- The number of times the Language Server is allowed to crash and restart before it will no longer try to restart (Modifying requires VSCode reload) -- -- ```lua --- default = true +-- default = 5 -- ``` ----@field includeStringLength boolean --- Show function definitions on multiple lines ----@field multilineFunctionDefinitions boolean --- Show table kinds ----@field showTableKinds boolean --- Use strict DataModel types in hover display. When on, this is equivalent to autocompletion types. When off, this is equivalent to diagnostic types +---@field maxRestartCount number +-- Optional (Advanced), default is '-dxdebug.remote_autostart=0 -dxdebug.remote_enable=0 -dxdebug_profiler_enable=0'. Additional PHP executable CLI arguments to use. (Modifying requires VSCode reload) -- -- ```lua --- default = true +-- default = { "-dxdebug.remote_autostart=0", "-dxdebug.remote_enable=0", "-dxdebug_profiler_enable=0" } -- ``` ----@field strictDatamodelTypes boolean +---@field phpExecutableArgs string[] +-- Optional, defaults to searching for "php". The path to a PHP 7.0+ executable to use to execute the Psalm server. The PHP 7.0+ installation should preferably include and enable the PHP module `pcntl`. (Modifying requires VSCode reload) +---@field phpExecutablePath string +-- Optional (Advanced). If provided, this overrides the Psalm script to use, e.g. vendor/bin/psalm. (Modifying requires VSCode reload) +---@field psalmClientScriptPath string +-- Optional (Advanced). Additional arguments to the Psalm language server. (Modifying requires VSCode reload) +-- +-- ```lua +-- default = {} +-- ``` +---@field psalmScriptArgs string[] +-- Optional (Advanced). If provided, this overrides the Psalm script to use, e.g. vendor/bin/psalm-language-server. (Modifying requires VSCode reload) +---@field psalmScriptPath string +-- Optional (Advanced). If provided, this overrides the Psalm version detection (Modifying requires VSCode reload) +---@field psalmVersion string +---@field trace _.lspconfig.settings.psalm.Trace +-- Enable this to enable unused variable and parameter detection +---@field unusedVariableDetection boolean ----@class _.lspconfig.settings.luau_lsp.Index --- Whether all files in a workspace should be indexed into memory. If disabled, only limited support is available for features such as 'Find All References' and 'Rename' +---@class lspconfig.settings.psalm +---@field psalm _.lspconfig.settings.psalm.Psalm + +---@class _.lspconfig.settings.puppet.FoldingRange +-- Enable/disable syntax aware code folding provider -- -- ```lua -- default = true -- ``` ----@field enabled boolean --- The maximum amount of files that can be indexed. If more files are indexed, more memory is needed +---@field enable boolean +-- Show or hide the last line in code folding regions +---@field showLastLine boolean + +---@class _.lspconfig.settings.puppet.FormatOnType +-- Enable/disable the Puppet document on-type formatter, for example hashrocket alignment +---@field enable boolean +-- Sets the maximum file size (in Bytes) that document on-type formatting will occur. Setting this to zero (0) will disable the file size check. Note that large file sizes can cause performance issues. -- -- ```lua --- default = 10000 +-- default = 4096 -- ``` ----@field maxFiles number +---@field maxFileSize integer ----@class _.lspconfig.settings.luau_lsp.InlayHints --- Show inlay hints for function return types ----@field functionReturnTypes boolean --- Whether type annotation inlay hints can be made insertable by clicking +---@class _.lspconfig.settings.puppet.Hover +-- Enable or disable showing Puppet Module version information in the metadata.json file -- -- ```lua -- default = true -- ``` ----@field makeInsertable boolean --- Show inlay hints for function parameter names +---@field showMetadataInfo boolean + +---@class _.lspconfig.settings.puppet.Puppet +-- The Puppet configuration directory. See https://puppet.com/docs/puppet/latest/dirs_confdir.html for more information -- -- ```lua --- default = "none" +-- default = "" -- ``` ----@field parameterNames "none" | "literals" | "all" --- Show inlay hints for parameter types ----@field parameterTypes boolean --- The maximum length a type hint should be before being truncated +---@field confdir string +-- The Puppet environment to use. See https://puppet.com/docs/puppet/latest/config_print.html#environments for more information -- -- ```lua --- default = 50 +-- default = "" -- ``` ----@field typeHintMaxLength number --- Show inlay hints for variable types ----@field variableTypes boolean - ----@class _.lspconfig.settings.luau_lsp.Platform --- Platform-specific support features +---@field environment string +-- Additional module paths to use when starting the Editor Services. On Windows this is delimited with a semicolon, and on all other platforms, with a colon. For example C:\Path1;C:\Path2 -- -- ```lua --- default = "roblox" +-- default = "" -- ``` ----@field type "standard" | "roblox" - ----@class _.lspconfig.settings.luau_lsp.Plugin --- Use Roblox Studio Plugin to provide DataModel information ----@field enabled boolean --- The maximum request body size accepted from the plugin, in a string representation parse-able by the [bytes](https://www.npmjs.com/package/bytes) library +---@field modulePath string +-- The Puppet cache directory. See https://puppet.com/docs/puppet/latest/dirs_vardir.html for more information -- -- ```lua --- default = "3mb" +-- default = "" -- ``` ----@field maximumRequestBodySize string --- Port number to connect to the Studio Plugin +---@field vardir string +-- The version of Puppet to use. For example '5.4.0'. This is generally only applicable when using the PDK installation type. If Puppet Editor Services is unable to use this version, it will default to the latest available version of Puppet. -- -- ```lua --- default = 3667 +-- default = "" -- ``` ----@field port number +---@field version string ----@class _.lspconfig.settings.luau_lsp.Require --- A mapping of custom require string prefixes to directory paths. The aliases should include trailing slashes +---@class _.lspconfig.settings.puppet.Tcp +-- The IP address or hostname of the remote Puppet Editor Service to connect to, for example 'computer.domain' or '192.168.0.1'. Only applicable when the editorService.protocol is set to tcp +---@field address string +-- The TCP Port of the remote Puppet Editor Service to connect to. Only applicable when the editorService.protocol is set to tcp +---@field port integer + +---@class _.lspconfig.settings.puppet.EditorService +-- The absolute filepath where the Puppet Editor Service will output the debugging log. By default no logfile is generated -- -- ```lua --- default = {} +-- default = "" -- ``` ----@field directoryAliases table --- A mapping of custom require string aliases to file paths +---@field debugFilePath string +-- Enable/disable advanced Puppet Language Features +-- +-- ```lua +-- default = true +-- ``` +---@field enable boolean +-- An array of strings of experimental features to enable in the Puppet Editor Service -- -- ```lua -- default = {} -- ``` ----@field fileAliases table --- How string requires should be interpreted +---@field featureFlags any[] +---@field foldingRange _.lspconfig.settings.puppet.FoldingRange +---@field formatOnType _.lspconfig.settings.puppet.FormatOnType +---@field hover _.lspconfig.settings.puppet.Hover +-- Set the logging verbosity level for the Puppet Editor Service, with Debug producing the most output and Error producing the least -- -- ```lua --- default = "relativeToWorkspaceRoot" +-- default = "normal" -- ``` ----@field mode "relativeToWorkspaceRoot" | "relativeToFile" - ----@class _.lspconfig.settings.luau_lsp.SignatureHelp --- Enable signature help +---@field loglevel "debug" | "error" | "normal" | "warning" | "verbose" +-- The protocol used to communicate with the Puppet Editor Service. By default the local STDIO protocol is used. -- -- ```lua --- default = true +-- default = "stdio" -- ``` ----@field enabled boolean - ----@class _.lspconfig.settings.luau_lsp.Sourcemap --- Automatically run the `rojo sourcemap` command to regenerate sourcemaps on changes +---@field protocol "stdio" | "tcp" +---@field puppet _.lspconfig.settings.puppet.Puppet +---@field tcp _.lspconfig.settings.puppet.Tcp +-- The timeout to connect to the Puppet Editor Service -- -- ```lua --- default = true +-- default = 10 -- ``` ----@field autogenerate boolean --- Whether Rojo sourcemap parsing is enabled +---@field timeout integer + +---@class _.lspconfig.settings.puppet.Format +-- Enable/disable the Puppet document formatter -- -- ```lua -- default = true -- ``` ----@field enabled boolean --- Include non-script instances in the generated sourcemap +---@field enable boolean + +---@class _.lspconfig.settings.puppet.Notification +-- The type of notification used when a node graph is being generated. Default value of messagebox -- -- ```lua --- default = true +-- default = "messagebox" -- ``` ----@field includeNonScripts boolean --- Path to the Rojo executable. If not provided, attempts to run `rojo` in the workspace directory, so it must be available on the PATH ----@field rojoPath string --- The name of the Rojo project file to generate a sourcemap for. --- Only applies if `#luau-lsp.sourcemap.autogenerate#` is enabled +---@field nodeGraph "messagebox" | "statusbar" | "none" +-- The type of notification used when a running Puppet Resouce. Default value of messagebox -- -- ```lua --- default = "default.project.json" +-- default = "messagebox" -- ``` ----@field rojoProjectFile string +---@field puppetResource "messagebox" | "statusbar" | "none" ----@class _.lspconfig.settings.luau_lsp.Types --- A list of paths to definition files to load in to the type checker. Note that definition file syntax is currently unstable and may change at any time +---@class _.lspconfig.settings.puppet.Pdk +-- Enable/disable checking if installed PDK version is latest -- -- ```lua --- default = {} +-- default = true -- ``` ----@field definitionFiles string[] --- A list of paths to documentation files which provide documentation support to the definition files provided +---@field checkVersion boolean + +---@class _.lspconfig.settings.puppet.PdkNewModule +-- Enable/disable the PDK New Module icon in the Editor Title Bar -- -- ```lua --- default = {} +-- default = true -- ``` ----@field documentationFiles string[] --- Load in and automatically update Roblox type definitions for the type checker +---@field enable boolean + +---@class _.lspconfig.settings.puppet.TitleBar +---@field pdkNewModule _.lspconfig.settings.puppet.PdkNewModule + +---@class _.lspconfig.settings.puppet.Validate +-- Enable/disable using dependency resolution for Puppetfiles -- -- ```lua -- default = true -- ``` ----@field roblox boolean --- Security Level to use in the Roblox API definitions +---@field resolvePuppetfiles boolean + +---@class _.lspconfig.settings.puppet.Puppet +---@field editorService _.lspconfig.settings.puppet.EditorService +---@field format _.lspconfig.settings.puppet.Format +-- The fully qualified path to the Puppet install directory. This can be a PDK or Puppet Agent installation. For example: 'C:\Program Files\Puppet Labs\Puppet' or '/opt/puppetlabs/puppet'. If this is not set the extension will attempt to detect the installation directory. Do **not** use when `#puppet.installType#` is set to `auto` +---@field installDirectory string +-- The type of Puppet installation. Either the Puppet Development Kit (pdk) or the Puppet Agent (agent). Choose `auto` to have the extension detect which to use automatically based on default install locations -- -- ```lua --- default = "PluginSecurity" +-- default = "auto" -- ``` ----@field robloxSecurityLevel "None" | "LocalUserSecurity" | "PluginSecurity" | "RobloxScriptSecurity" +---@field installType "auto" | "pdk" | "agent" +---@field notification _.lspconfig.settings.puppet.Notification +---@field pdk _.lspconfig.settings.puppet.Pdk +---@field titleBar _.lspconfig.settings.puppet.TitleBar +---@field validate _.lspconfig.settings.puppet.Validate ----@class _.lspconfig.settings.luau_lsp.Luau-lsp --- Automatically insert an `end` when opening a block ----@field autocompleteEnd boolean ----@field bytecode _.lspconfig.settings.luau_lsp.Bytecode ----@field completion _.lspconfig.settings.luau_lsp.Completion ----@field diagnostics _.lspconfig.settings.luau_lsp.Diagnostics ----@field fflags _.lspconfig.settings.luau_lsp.Fflags ----@field hover _.lspconfig.settings.luau_lsp.Hover --- Diagnostics will not be reported for any file matching these globs unless the file is currently open +---@class lspconfig.settings.puppet +---@field puppet _.lspconfig.settings.puppet.Puppet + +---@class _.lspconfig.settings.purescriptls.Trace +-- Traces the communication between VSCode and the PureScript language service. -- -- ```lua --- default = { "**/_Index/**" } +-- default = "off" -- ``` ----@field ignoreGlobs string[] ----@field index _.lspconfig.settings.luau_lsp.Index ----@field inlayHints _.lspconfig.settings.luau_lsp.InlayHints ----@field platform _.lspconfig.settings.luau_lsp.Platform ----@field plugin _.lspconfig.settings.luau_lsp.Plugin ----@field require _.lspconfig.settings.luau_lsp.Require ----@field signatureHelp _.lspconfig.settings.luau_lsp.SignatureHelp ----@field sourcemap _.lspconfig.settings.luau_lsp.Sourcemap ----@field types _.lspconfig.settings.luau_lsp.Types - ----@class lspconfig.settings.luau_lsp ----@field luau _.lspconfig.settings.luau_lsp.Luau ----@field luau-lsp _.lspconfig.settings.luau_lsp.Luau-lsp - ----@class lspconfig.settings.omnisharp +---@field server "off" | "messages" | "verbose" ----@class _.lspconfig.settings.perlls.Perl --- directory for caching of parsed symbols, if the directory does not exists, it will be created, defaults to ${workspace}/.vscode/perl-lang. This should be one unqiue directory per project and an absolute path. ----@field cacheDir string --- arguments for containerCmd. Varies depending on containerCmd. ----@field containerArgs any[] --- If set Perl::LanguageServer can run inside a container. Options are: 'docker', 'docker-compose', 'podman', 'kubectl' ----@field containerCmd string --- To start a new container, set to 'run', to execute inside an existing container set to 'exec'. Note: kubectl only supports 'exec' +---@class _.lspconfig.settings.purescriptls.Purescript +-- Whether to add the local npm bin directory to the PATH for purs IDE server and build command. +---@field addNpmPath boolean +-- Whether to add psc-package sources to the globs passed to the IDE server for source locations (specifically the output of `psc-package sources`, if this is a psc-package project). Update due to adding packages/changing package set requires psc-ide server restart. +---@field addPscPackageSources boolean +-- Whether to add spago sources to the globs passed to the IDE server for source locations (specifically the output of `spago sources`, if this is a spago project). Update due to adding packages/changing package set requires psc-ide server restart. -- -- ```lua --- default = "exec" +-- default = true -- ``` ----@field containerMode string --- Image to start or container to exec inside or pod to use ----@field containerName string --- port to use for connection between vscode and debug adapter inside Perl::LanguageServer. On a multi user system every user must use a different port. +---@field addSpagoSources boolean +-- Whether to automatically start/connect to purs IDE server when editing a PureScript file (includes connecting to an existing running instance). If this is disabled, various features like autocomplete, tooltips, and other type info will not work until start command is run manually. -- -- ```lua --- default = 13603 +-- default = true -- ``` ----@field debugAdapterPort integer --- if debugAdapterPort is in use try ports from debugAdapterPort to debugAdapterPort + debugAdapterPortRange. Default 100. +---@field autoStartPscIde boolean +-- Whether to automatically add imported identifiers when accepting autocomplete result. -- -- ```lua --- default = 100 +-- default = true -- ``` ----@field debugAdapterPortRange integer --- if true, the LanguageServer will not cache the result of parsing source files on disk, so it can be used within readonly directories ----@field disableCache boolean --- per default enviroment from vscode will be passed to debuggee, syntax check and perltidy. If set to true, no enviroment variables will be passed. ----@field disablePassEnv boolean --- enable/disable this extension +---@field autocompleteAddImport boolean +-- Whether to always autocomplete from all built modules, or just those imported in the file. Suggestions from all modules always available by explicitly triggering autocomplete. -- -- ```lua -- default = true -- ``` ----@field enable boolean --- object with environment settings for command that starts the LanguageServer, e.g. can be used to set KUBECONFIG. ----@field env table --- array for filtering perl file, defaults to *.pm|*.pl ----@field fileFilter any[] --- directories to ignore, defaults to .vscode, .git, .svn ----@field ignoreDirs any[] --- If set, log output is written to the given logfile, instead of displaying it in the vscode output pane. Log output is always appended so you are responsible for rotating the file. ----@field logFile string --- Log level 0-2 +---@field autocompleteAllModules boolean +-- Whether to group completions in autocomplete results. Requires compiler 0.11.6 -- -- ```lua --- default = 0 +-- default = true -- ``` ----@field logLevel integer --- mapping of local to remote paths ----@field pathMap any[] --- defaults to perl ----@field perlCmd string --- array with paths to add to perl library path. This setting is used by the syntax checker and for the debuggee and also for the LanguageServer itself. perl.perlInc should be absolute paths. ----@field perlInc any[] --- if true, show also local variables in symbol view ----@field showLocalVars boolean --- ip address of remote system ----@field sshAddr string --- optional arguments for ssh ----@field sshArgs any[] --- defaults to ssh on unix and plink on windows ----@field sshCmd string --- optional, port for ssh to remote system ----@field sshPort string --- user for ssh login ----@field sshUser string --- path of the workspace root on remote system ----@field sshWorkspaceRoot string --- Use -T for syntax check. ----@field useTaintForSyntaxCheck boolean - ----@class lspconfig.settings.perlls ----@field perl _.lspconfig.settings.perlls.Perl - ----@class _.lspconfig.settings.perlnavigator.Trace --- Traces the communication between VS Code and the language server. +---@field autocompleteGrouped boolean +-- Maximum number of results to fetch for an autocompletion request. May improve performance on large projects. +---@field autocompleteLimit integer +-- Build command to use with arguments. Not passed to shell. eg `spago build --purs-args --json-errors` -- -- ```lua --- default = "messages" +-- default = "spago build --purs-args --json-errors" -- ``` ----@field server "off" | "messages" | "verbose" - ----@class _.lspconfig.settings.perlnavigator.Perlnavigator --- Enable warnings using -Mwarnings command switch +---@field buildCommand string +-- **EXPERIMENTAL** Enable purs IDE server fast rebuild of opened files. This includes both newly opened tabs and those present at startup. +---@field buildOpenedFiles boolean +-- The warning codes to censor, both for fast rebuild and a full build. Unrelated to any psa setup. e.g.: ["ShadowedName","MissingTypeDeclaration"] -- -- ```lua --- default = true +-- default = {} -- ``` ----@field enableWarnings boolean --- Boolean to indicate if $project/lib should be added to the path by default +---@field censorWarnings string[] +-- List of codegen targets to pass to the compiler for rebuild. e.g. js, corefn. If not specified (rather than empty array) this will not be passed and the compiler will default to js. Requires 0.12.1+ +---@field codegenTargets string[] +-- Enable declaration codelens to add types to declarations -- -- ```lua -- default = true -- ``` ----@field includeLib boolean --- Array of paths added to @INC. You can use $workspaceFolder as a placeholder. +---@field declarationTypeCodeLens boolean +-- **EXPERIMENTAL** Enable diagnostics on file open, as per diagnostics on type +---@field diagnosticsOnOpen boolean +-- **EXPERIMENTAL** Enable rebuilding modules for diagnostics automatically on typing. This may provide quicker feedback on errors, but could interfere with other functionality. +---@field diagnosticsOnType boolean +-- **EXPERIMENTAL** -- -- ```lua --- default = {} +-- default = 100 -- ``` ----@field includePaths any[] --- Log to stdout from the navigator. Viewable in the Perl Navigator LSP log +---@field diagnosticsOnTypeDebounce integer +-- Enable declaration codelenses for export management -- -- ```lua -- default = true -- ``` ----@field logging boolean --- Enable running perl -c on your code +---@field exportsCodeLens boolean +-- Enable purs IDE server fast rebuild (rebuilding single files on saving them) -- -- ```lua -- default = true -- ``` ----@field perlCompileEnabled boolean --- Pass environment variables to the perl executable. Skipped if undefined. +---@field fastRebuild boolean +-- Extension for foreign files -- -- ```lua --- default = {} +-- default = "js" -- ``` ----@field perlEnv table --- Add environment variables to current environment, or totally replace (perlEnv related). +---@field foreignExt string +-- Tool to use to for formatting. Must be installed and on PATH (or npm installed with addNpmPath set) -- -- ```lua --- default = true +-- default = "purs-tidy" -- ``` ----@field perlEnvAdd boolean --- Pass miscellaneous command line arguments to pass to the perl executable +---@field formatter "none" | "purty" | "purs-tidy" | "pose" +-- Whether to perform a full build on save with the configured build command (rather than IDE server fast rebuild). This is not generally recommended because it is slow, but it does mean that dependent modules are rebuilt as necessary. +---@field fullBuildOnSave boolean +-- Whether to show progress for full build on save (if enabled) -- -- ```lua --- default = {} +-- default = true -- ``` ----@field perlParams any[] --- Full path to the perl executable (no aliases, .bat files or ~/) +---@field fullBuildOnSaveProgress boolean +-- Module to prefer to insert when adding imports which have been re-exported. In order of preference, most preferred first. -- -- ```lua --- default = "perl" +-- default = { "Prelude" } -- ``` ----@field perlPath string --- Enable perl critic. +---@field importsPreferredModules string[] +-- Override purs ide output directory (output/ if not specified). This should match up to your build command -- -- ```lua --- default = true +-- default = "output/" -- ``` ----@field perlcriticEnabled boolean --- Regex pattern with policies to exclude for perl critic (normally in profile) ----@field perlcriticExclude string --- Regex pattern with policies to include for perl critic (normally in profile) ----@field perlcriticInclude string --- Path to perl critic profile. Otherwise perlcritic itself will default to ~/.perlcriticrc. (no aliases, .bat files or ~/) +---@field outputDirectory string +-- Path to installed packages. Will be used to control globs passed to IDE server for source locations. Change requires IDE server restart. -- -- ```lua -- default = "" -- ``` ----@field perlcriticProfile string --- Override severity level for perl critic (normally in profile) ----@field perlcriticSeverity number --- Override theme for perl critic (normally in profile) ----@field perlcriticTheme string --- Enable perlimports as a linter. ----@field perlimportsLintEnabled boolean --- Path to perlimports.toml (no aliases, .bat files or ~/) +---@field packagePath string +-- Module to consider as your default prelude, if an auto-complete suggestion comes from this module it will be imported unqualified. -- -- ```lua --- default = "" +-- default = "Prelude" -- ``` ----@field perlimportsProfile string --- Enable perlimports as a tidier. ----@field perlimportsTidyEnabled boolean --- Enable perl tidy. +---@field preludeModule string +-- Port to use for purs IDE server (whether an existing server or to start a new one). By default a random port is chosen (or an existing port in .psc-ide-port if present), if this is specified no attempt will be made to select an alternative port on failure. +---@field pscIdePort integer +-- Log level for purs IDE server -- -- ```lua --- default = true +-- default = "" -- ``` ----@field perltidyEnabled boolean --- Path to perl tidy profile (no aliases, .bat files or ~/) +---@field pscIdelogLevel string +-- Location of purs executable (resolved wrt PATH) -- -- ```lua --- default = "" +-- default = "purs" -- ``` ----@field perltidyProfile string --- Editor Diagnostic severity level for Critic severity 1 +---@field pursExe string +-- Path to application source root. Will be used to control globs passed to IDE server for source locations. Change requires IDE server restart. -- -- ```lua --- default = "hint" +-- default = "src" -- ``` ----@field severity1 "error" | "warning" | "info" | "hint" | "none" --- Editor Diagnostic severity level for Critic severity 2 +---@field sourcePath string +---@field trace _.lspconfig.settings.purescriptls.Trace + +---@class lspconfig.settings.purescriptls +---@field purescript _.lspconfig.settings.purescriptls.Purescript + +---@class _.lspconfig.settings.pylsp.Autopep8 +-- Enable or disable the plugin (disabling required to use `yapf`). -- -- ```lua --- default = "hint" +-- default = true -- ``` ----@field severity2 "error" | "warning" | "info" | "hint" | "none" --- Editor Diagnostic severity level for Critic severity 3 +---@field enabled boolean + +---@class _.lspconfig.settings.pylsp.Flake8 +-- Path to the config file that will be the authoritative config source. +---@field config string +-- Enable or disable the plugin. +---@field enabled boolean +-- List of files or directories to exclude. -- -- ```lua --- default = "hint" +-- default = {} -- ``` ----@field severity3 "error" | "warning" | "info" | "hint" | "none" --- Editor Diagnostic severity level for Critic severity 4 +---@field exclude string[] +-- Path to the flake8 executable. -- -- ```lua --- default = "info" +-- default = "flake8" -- ``` ----@field severity4 "error" | "warning" | "info" | "hint" | "none" --- Editor Diagnostic severity level for Critic severity 5 +---@field executable string +-- List of errors and warnings to append to ignore list. -- -- ```lua --- default = "warning" +-- default = {} -- ``` ----@field severity5 "error" | "warning" | "info" | "hint" | "none" ----@field trace _.lspconfig.settings.perlnavigator.Trace - ----@class lspconfig.settings.perlnavigator ----@field perlnavigator _.lspconfig.settings.perlnavigator.Perlnavigator - ----@class _.lspconfig.settings.perlpls.Perlcritic --- Enable perlcritic ----@field enabled boolean --- Path to .perlcriticrc ----@field perlcriticrc string - ----@class _.lspconfig.settings.perlpls.Syntax --- Enable syntax checking ----@field enabled boolean --- Path to the perl binary to use for syntax checking ----@field perl string - ----@class _.lspconfig.settings.perlpls.Perl --- Current working directory to use ----@field cwd string --- Paths to add to @INC. ----@field inc any[] ----@field perlcritic _.lspconfig.settings.perlpls.Perlcritic --- Path to .perltidyrc ----@field perltidyrc string --- Path to the pls executable script ----@field pls string --- Arguments to pass to the pls command ----@field plsargs any[] ----@field syntax _.lspconfig.settings.perlpls.Syntax - ----@class _.lspconfig.settings.perlpls.Perlcritic --- Enable perlcritic +---@field extendIgnore string[] +-- Only check for filenames matching the patterns in this list. +---@field filename string +-- Hang closing bracket instead of matching indentation of opening bracket's line. +---@field hangClosing boolean +-- List of errors and warnings to ignore (or skip). -- -- ```lua --- default = true +-- default = {} -- ``` ----@field enabled boolean --- Path to .perlcriticrc +---@field ignore string[] +-- Set indentation spaces. +---@field indentSize integer +-- Maximum allowed complexity threshold. +---@field maxComplexity integer +-- Maximum allowed line length for the entirety of this run. +---@field maxLineLength integer +-- A pairing of filenames and violation codes that defines which violations to ignore in a particular file, for example: `["file_path.py:W305,W304"]`). -- -- ```lua --- default = "~/.perlcriticrc" +-- default = {} -- ``` ----@field perlcriticrc string +---@field perFileIgnores string[] +-- List of errors and warnings to enable. +---@field select string[] ----@class _.lspconfig.settings.perlpls.Perltidy --- Path to .perltidyrc +---@class _.lspconfig.settings.pylsp.Jedi +-- List of module names for jedi.settings.auto_import_modules. -- -- ```lua --- default = "~/.perltidyrc" +-- default = { "numpy" } -- ``` ----@field perltidyrc string - ----@class _.lspconfig.settings.perlpls.Podchecker --- Enable podchecker (requires Pod::Checker to be installed) +---@field auto_import_modules string[] +-- Define environment variables for jedi.Script and Jedi.names. +---@field env_vars table +-- Define environment for jedi.Script and Jedi.names. +---@field environment string +-- Define extra paths for jedi.Script. -- -- ```lua --- default = true +-- default = {} -- ``` ----@field enabled boolean +---@field extra_paths string[] ----@class _.lspconfig.settings.perlpls.Syntax --- Additional arguments to pass when syntax checking. This is useful if there is a BEGIN block in your code that changes behavior depending on the contents of @ARGV. +---@class _.lspconfig.settings.pylsp.Jedi.Completion +-- Modules for which labels and snippets should be cached. -- -- ```lua --- default = {} +-- default = { "pandas", "numpy", "tensorflow", "matplotlib" } -- ``` ----@field args any[] --- Enable syntax checking +---@field cache_for string[] +-- Resolve documentation and detail eagerly. +---@field eager boolean +-- Enable or disable the plugin. -- -- ```lua -- default = true -- ``` ---@field enabled boolean --- Path to the perl binary to use for syntax checking +-- Enable fuzzy when requesting autocomplete. +---@field fuzzy boolean +-- Adds class objects as a separate completion item. +---@field include_class_objects boolean +-- Adds function objects as a separate completion item. +---@field include_function_objects boolean +-- Auto-completes methods and classes with tabstops for each parameter. -- -- ```lua --- default = "" +-- default = true -- ``` ----@field perl string - ----@class _.lspconfig.settings.perlpls.Pls --- Arguments to pass to the pls command +---@field include_params boolean +-- How many labels and snippets (at most) should be resolved? -- -- ```lua --- default = {} +-- default = 25 -- ``` ----@field args any[] --- Path to the pls executable script +---@field resolve_at_most integer + +---@class _.lspconfig.settings.pylsp.Jedi.Definition +-- Enable or disable the plugin. -- -- ```lua --- default = "pls" +-- default = true -- ``` ----@field cmd string --- Current working directory to use +---@field enabled boolean +-- Follow builtin and extension definitions to stubs. -- -- ```lua --- default = "." +-- default = true -- ``` ----@field cwd string --- Paths to add to @INC. +---@field follow_builtin_definitions boolean +-- If follow_imports is True will decide if it follow builtin imports. -- -- ```lua --- default = {} +-- default = true -- ``` ----@field inc any[] ----@field perlcritic _.lspconfig.settings.perlpls.Perlcritic ----@field perltidy _.lspconfig.settings.perlpls.Perltidy ----@field podchecker _.lspconfig.settings.perlpls.Podchecker ----@field syntax _.lspconfig.settings.perlpls.Syntax - ----@class lspconfig.settings.perlpls ----@field perl _.lspconfig.settings.perlpls.Perl ----@field pls _.lspconfig.settings.perlpls.Pls - ----@class _.lspconfig.settings.powershell_es.BugReporting --- **Deprecated:** Specifies the URL of the GitHub project in which to generate bug reports. +---@field follow_builtin_imports boolean +-- The goto call will follow imports. -- -- ```lua --- default = "https://github.com/PowerShell/vscode-powershell" +-- default = true -- ``` ----@field project string +---@field follow_imports boolean ----@class _.lspconfig.settings.powershell_es.Buttons --- Show buttons in the editor's title bar for moving the terminals pane (with the PowerShell Extension Terminal) around. ----@field showPanelMovementButtons boolean --- Show the `Run` and `Run Selection` buttons in the editor's title bar. +---@class _.lspconfig.settings.pylsp.Jedi.Hover +-- Enable or disable the plugin. -- -- ```lua -- default = true -- ``` ----@field showRunButtons boolean +---@field enabled boolean ----@class _.lspconfig.settings.powershell_es.CodeFolding --- Enables syntax based code folding. When disabled, the default indentation based code folding is used. +---@class _.lspconfig.settings.pylsp.Jedi.References +-- Enable or disable the plugin. -- -- ```lua -- default = true -- ``` ----@field enable boolean --- Shows the last line of a folded section similar to the default VS Code folding style. When disabled, the entire folded region is hidden. +---@field enabled boolean + +---@class _.lspconfig.settings.pylsp.Jedi.Signature.Help +-- Enable or disable the plugin. -- -- ```lua -- default = true -- ``` ----@field showLastLine boolean +---@field enabled boolean ----@class _.lspconfig.settings.powershell_es.CodeFormatting --- Adds a space before and after the pipeline operator (`|`) if it is missing. +---@class _.lspconfig.settings.pylsp.Jedi.Symbols +-- If True lists the names of all scopes instead of only the module namespace. -- -- ```lua -- default = true -- ``` ----@field addWhitespaceAroundPipe boolean --- Align assignment statements in a hashtable or a DSC Configuration. +---@field all_scopes boolean +-- Enable or disable the plugin. -- -- ```lua -- default = true -- ``` ----@field alignPropertyValuePairs boolean --- Replaces aliases with their aliased name. ----@field autoCorrectAliases boolean --- Removes redundant semicolon(s) at the end of a line where a line terminator is sufficient. ----@field avoidSemicolonsAsLineTerminators boolean --- Does not reformat one-line code blocks, such as: `if (...) {...} else {...}`. +---@field enabled boolean +-- If True includes symbols imported from other libraries. -- -- ```lua -- default = true -- ``` ----@field ignoreOneLineBlock boolean --- Adds a newline (line break) after a closing brace. +---@field include_import_symbols boolean + +---@class _.lspconfig.settings.pylsp.Mccabe +-- Enable or disable the plugin. -- -- ```lua -- default = true -- ``` ----@field newLineAfterCloseBrace boolean --- Adds a newline (line break) after an open brace. +---@field enabled boolean +-- The minimum threshold that triggers warnings about cyclomatic complexity. -- -- ```lua --- default = true +-- default = 15 -- ``` ----@field newLineAfterOpenBrace boolean --- Places open brace on the same line as its associated statement. +---@field threshold integer + +---@class _.lspconfig.settings.pylsp.Preload +-- Enable or disable the plugin. -- -- ```lua -- default = true -- ``` ----@field openBraceOnSameLine boolean --- Whether to increase indentation after a pipeline for multi-line statements. See [PSScriptAnalyzer](https://github.com/PowerShell/PSScriptAnalyzer/blob/a94d9f5666bba9f569cdf9c1bc99556934f2b8f4/docs/Rules/UseConsistentIndentation.md#pipelineindentation-string-default-value-is-increaseindentationforfirstpipeline) for examples. It is suggested to use `IncreaseIndentationForFirstPipeline` instead of the default `NoIndentation`. **This default may change in the future,** please see the [Request For Comment](https://github.com/PowerShell/vscode-powershell/issues/4296). +---@field enabled boolean +-- List of modules to import on startup -- -- ```lua --- default = "NoIndentation" +-- default = {} -- ``` ----@field pipelineIndentationStyle "IncreaseIndentationForFirstPipeline" | "IncreaseIndentationAfterEveryPipeline" | "NoIndentation" | "None" --- Sets the code formatting options to follow the given indent style in a way that is compatible with PowerShell syntax. Any setting other than `Custom` will configure (and override) the settings: --- --- * `#powershell.codeFormatting.openBraceOnSameLine#` --- --- * `#powershell.codeFormatting.newLineAfterOpenBrace#` --- --- * `#powershell.codeFormatting.newLineAfterCloseBrace#` --- --- For more information about the brace styles, please see [PoshCode's discussion](https://github.com/PoshCode/PowerShellPracticeAndStyle/issues/81). +---@field modules string[] + +---@class _.lspconfig.settings.pylsp.Pycodestyle +-- Enable or disable the plugin. -- -- ```lua --- default = "Custom" +-- default = true -- ``` ----@field preset "Custom" | "Allman" | "OTBS" | "Stroustrup" --- Trims extraneous whitespace (more than one character) before and after the pipeline operator (`|`). ----@field trimWhitespaceAroundPipe boolean --- Use single quotes if a string is not interpolated and its value does not contain a single quote. ----@field useConstantStrings boolean --- Use correct casing for cmdlets. ----@field useCorrectCasing boolean --- Adds a space after a separator (`,` and `;`). +---@field enabled boolean +-- Exclude files or directories which match these patterns. -- -- ```lua --- default = true +-- default = {} -- ``` ----@field whitespaceAfterSeparator boolean --- Adds spaces before and after an operator (`=`, `+`, `-`, etc.). +---@field exclude string[] +-- When parsing directories, only check filenames matching these patterns. -- -- ```lua --- default = true +-- default = {} -- ``` ----@field whitespaceAroundOperator boolean --- **Deprecated:** Please use the `#powershell.codeFormatting.addWhitespaceAroundPipe#` setting instead. If you've used this setting before, we have moved it for you automatically. +---@field filename string[] +-- Hang closing bracket instead of matching indentation of opening bracket's line. +---@field hangClosing boolean +-- Ignore errors and warnings -- -- ```lua --- default = true +-- default = {} -- ``` ----@field whitespaceAroundPipe boolean --- Adds a space between a keyword and its associated script-block expression. +---@field ignore string[] +-- Set indentation spaces. +---@field indentSize integer +-- Set maximum allowed line length. +---@field maxLineLength integer +-- Select errors and warnings +---@field select string[] + +---@class _.lspconfig.settings.pylsp.Pydocstyle +-- Ignore errors and warnings in addition to the specified convention. -- -- ```lua --- default = true +-- default = {} -- ``` ----@field whitespaceBeforeOpenBrace boolean --- Adds a space between a keyword (`if`, `elseif`, `while`, `switch`, etc.) and its associated conditional expression. +---@field addIgnore string[] +-- Select errors and warnings in addition to the specified convention. -- -- ```lua --- default = true +-- default = {} -- ``` ----@field whitespaceBeforeOpenParen boolean --- Removes redundant whitespace between parameters. ----@field whitespaceBetweenParameters boolean --- Adds a space after an opening brace (`{`) and before a closing brace (`}`). +---@field addSelect string[] +-- Choose the basic list of checked errors by specifying an existing convention. +---@field convention "pep257" | "numpy" | "google" +-- Enable or disable the plugin. +---@field enabled boolean +-- Ignore errors and warnings -- -- ```lua --- default = true +-- default = {} -- ``` ----@field whitespaceInsideBrace boolean - ----@class _.lspconfig.settings.powershell_es.Debugging --- Creates a temporary PowerShell Extension Terminal for each debugging session. This is useful for debugging PowerShell classes and binary modules. ----@field createTemporaryIntegratedConsole boolean - ----@class _.lspconfig.settings.powershell_es.Developer --- Specifies an alternative path to the folder containing modules that are bundled with the PowerShell extension, that is: PowerShell Editor Services, PSScriptAnalyzer and PSReadLine. **This setting is only meant for extension developers and requires the extension to be run in development mode!** +---@field ignore string[] +-- Check only files that exactly match the given regular expression; default is to match files that don't start with 'test_' but end with '.py'. -- -- ```lua --- default = "../../PowerShellEditorServices/module" +-- default = "(?!test_).*\\.py" -- ``` ----@field bundledModulesPath string --- Sets the log verbosity for both the extension and its LSP server, PowerShell Editor Services. **Please set to `Diagnostic` when recording logs for a bug report!** +---@field match string +-- Search only dirs that exactly match the given regular expression; default is to match dirs which do not begin with a dot. -- -- ```lua --- default = "Normal" +-- default = "[^\\.].*" -- ``` ----@field editorServicesLogLevel "Diagnostic" | "Verbose" | "Normal" | "Warning" | "Error" | "None" --- Launches the LSP server with the `/waitForDebugger` flag to force it to wait for a .NET debugger to attach before proceeding, and emit its PID until then. **This setting is only meant for extension developers and requires the extension to be run in development mode!** ----@field editorServicesWaitForDebugger boolean --- An array of strings that enable experimental features in the PowerShell extension. **No flags are currently available!** +---@field matchDir string +-- Select errors and warnings +---@field select string[] + +---@class _.lspconfig.settings.pylsp.Pyflakes +-- Enable or disable the plugin. -- -- ```lua --- default = {} +-- default = true -- ``` ----@field featureFlags string[] --- On Windows we launch the PowerShell executable with `-ExecutionPolicy Bypass` so that the LSP server (PowerShell Editor Services module) will launch without issue. Some anti-virus programs disallow this command-line argument and this flag can be used to remove it. **Using this setting may require trusting the script manually in order for it to launch!** +---@field enabled boolean + +---@class _.lspconfig.settings.pylsp.Pylint +-- Arguments to pass to pylint. -- -- ```lua --- default = true +-- default = {} -- ``` ----@field setExecutionPolicy boolean --- Specifies how many seconds the extension will wait for the LSP server, PowerShell Editor Services, to connect. The default is four minutes; try increasing this value if your computer is particularly slow (often caused by overactive anti-malware programs). +---@field args string[] +-- Enable or disable the plugin. +---@field enabled boolean +-- Executable to run pylint with. Enabling this will run pylint on unsaved files via stdin. Can slow down workflow. Only works with python3. +---@field executable string + +---@class _.lspconfig.settings.pylsp.Code.Actions +-- Enable or disable autoimport code actions (e.g. for quick fixes). -- -- ```lua --- default = 240 +-- default = true -- ``` ----@field waitForSessionFileTimeoutSeconds number +---@field enabled boolean ----@class _.lspconfig.settings.powershell_es.IntegratedConsole --- Switches focus to the console when a script selection is run or a script file is debugged. +---@class _.lspconfig.settings.pylsp.Completions +-- Enable or disable autoimport completions. -- -- ```lua -- default = true -- ``` ----@field focusConsoleOnExecute boolean --- Use the VS Code API to clear the terminal since that's the only reliable way to clear the scrollback buffer. Turn this on if you're used to `Clear-Host` clearing scroll history. **This setting is not recommended and likely to be deprecated!** ----@field forceClearScrollbackBuffer boolean --- Shows the Extension Terminal when the PowerShell extension is initialized. When disabled, the pane is not opened on startup, but the Extension Terminal is still created in order to power the extension's features. +---@field enabled boolean + +---@class _.lspconfig.settings.pylsp.Rope.Autoimport +---@field code_actions _.lspconfig.settings.pylsp.Code.Actions +---@field completions _.lspconfig.settings.pylsp.Completions +-- Enable or disable autoimport. If false, neither completions nor code actions are enabled. If true, the respective features can be enabled or disabled individually. +---@field enabled boolean +-- Make the autoimport database memory only. Drastically increases startup time. +---@field memory boolean + +---@class _.lspconfig.settings.pylsp.Rope.Completion +-- Resolve documentation and detail eagerly. +---@field eager boolean +-- Enable or disable the plugin. +---@field enabled boolean + +---@class _.lspconfig.settings.pylsp.Yapf +-- Enable or disable the plugin. -- -- ```lua -- default = true -- ``` ----@field showOnStartup boolean --- Starts the Extension Terminal in the background. **If this is enabled, to access the terminal you must run the [Show Extension Terminal command](command:PowerShell.ShowSessionConsole), and once shown it cannot be put back into the background.** This option completely hides the Extension Terminal from the terminals view. You are probably looking for the `#powershell.integratedConsole.showOnStartup#` option instead. ----@field startInBackground boolean --- Sets the startup location for Extension Terminal. +---@field enabled boolean + +---@class _.lspconfig.settings.pylsp.Plugins +---@field autopep8 _.lspconfig.settings.pylsp.Autopep8 +---@field flake8 _.lspconfig.settings.pylsp.Flake8 +---@field jedi _.lspconfig.settings.pylsp.Jedi +---@field jedi_completion _.lspconfig.settings.pylsp.Jedi.Completion +---@field jedi_definition _.lspconfig.settings.pylsp.Jedi.Definition +---@field jedi_hover _.lspconfig.settings.pylsp.Jedi.Hover +---@field jedi_references _.lspconfig.settings.pylsp.Jedi.References +---@field jedi_signature_help _.lspconfig.settings.pylsp.Jedi.Signature.Help +---@field jedi_symbols _.lspconfig.settings.pylsp.Jedi.Symbols +---@field mccabe _.lspconfig.settings.pylsp.Mccabe +---@field preload _.lspconfig.settings.pylsp.Preload +---@field pycodestyle _.lspconfig.settings.pylsp.Pycodestyle +---@field pydocstyle _.lspconfig.settings.pylsp.Pydocstyle +---@field pyflakes _.lspconfig.settings.pylsp.Pyflakes +---@field pylint _.lspconfig.settings.pylsp.Pylint +---@field rope_autoimport _.lspconfig.settings.pylsp.Rope.Autoimport +---@field rope_completion _.lspconfig.settings.pylsp.Rope.Completion +---@field yapf _.lspconfig.settings.pylsp.Yapf + +---@class _.lspconfig.settings.pylsp.Rope +-- Builtin and c-extension modules that are allowed to be imported and inspected by rope. +---@field extensionModules string +-- The name of the folder in which rope stores project configurations and data. Pass `null` for not using such a folder at all. +---@field ropeFolder string[] + +---@class _.lspconfig.settings.pylsp.Pylsp +-- List of configuration sources to use. -- -- ```lua --- default = "Panel" +-- default = { "pycodestyle" } -- ``` ----@field startLocation "Editor" | "Panel" --- Do not show the startup banner in the PowerShell Extension Terminal. ----@field suppressStartupBanner boolean --- This will disable the use of PSReadLine in the PowerShell Extension Terminal and use a legacy implementation. **This setting is not recommended and likely to be deprecated!** ----@field useLegacyReadLine boolean +---@field configurationSources string[] +---@field plugins _.lspconfig.settings.pylsp.Plugins +---@field rope _.lspconfig.settings.pylsp.Rope ----@class _.lspconfig.settings.powershell_es.Pester --- This setting controls the appearance of the `Run Tests` and `Debug Tests` CodeLenses that appears above Pester tests. +---@class lspconfig.settings.pylsp +---@field pylsp _.lspconfig.settings.pylsp.Pylsp + +---@class _.lspconfig.settings.pyright.Pyright +-- Disables type completion, definitions, and references. +---@field disableLanguageServices boolean +-- Disables the “Organize Imports” command. +---@field disableOrganizeImports boolean +-- Disable hint diagnostics with special hints for grayed-out or strike-through text. +---@field disableTaggedHints boolean + +-- Allows a user to override the severity levels for individual diagnostics. Use the rule name as a key and one of "error", "warning", "information", "none", `true` (alias for "error") or `false` (alias for "none") as value. The default value shown for each diagnostic is the default when "python.analysis.typeCheckingMode" is set to "standard". See [here](https://github.com/microsoft/pyright/blob/main/docs/configuration.md#diagnostic-rule-defaults) for defaults for each type checking mode ("off", "basic", "standard", and "strict"). +---@class _.lspconfig.settings.pyright.DiagnosticSeverityOverrides +-- Diagnostics for an attempt to instantiate an abstract or protocol class or use an abstract method. -- -- ```lua --- default = true +-- default = "error" -- ``` ----@field codeLens boolean --- Defines the verbosity of output to be used when debugging a test or a block. For Pester 5 and newer the default value `Diagnostic` will print additional information about discovery, skipped and filtered tests, mocking and more. +---@field reportAbstractUsage "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for a type incompatibility for an argument to a call. -- -- ```lua --- default = "Diagnostic" +-- default = "error" -- ``` ----@field debugOutputVerbosity "None" | "Minimal" | "Normal" | "Detailed" | "Diagnostic" --- Defines the verbosity of output to be used. For Pester 5 and newer the default value `FromPreference` will use the `Output` settings from the `$PesterPreference` defined in the caller's context, and will default to `Normal` if there is none. For Pester 4 the `FromPreference` and `Normal` options map to `All`, and `Minimal` option maps to `Fails`. +---@field reportArgumentType "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for 'assert' statement that will provably always assert. This can be indicative of a programming error. -- -- ```lua --- default = "FromPreference" +-- default = "warning" -- ``` ----@field outputVerbosity "FromPreference" | "None" | "Minimal" | "Normal" | "Detailed" | "Diagnostic" --- Use a CodeLens that is compatible with Pester 4. Disabling this will show `Run Tests` on all `It`, `Describe` and `Context` blocks, and will correctly work only with Pester 5 and newer. +---@field reportAssertAlwaysTrue "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for a type incompatibility detected by a typing.assert_type call. -- -- ```lua --- default = true +-- default = "error" -- ``` ----@field useLegacyCodeLens boolean - ----@class _.lspconfig.settings.powershell_es.ScriptAnalysis --- Enables real-time script analysis using [PSScriptAnalyzer](https://github.com/PowerShell/PSScriptAnalyzer) that populates the [Problems view](command:workbench.panel.markers.view.focus). +---@field reportAssertTypeFailure "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for type incompatibilities for assignments. -- -- ```lua --- default = true +-- default = "error" -- ``` ----@field enable boolean --- Specifies the path to a [PSScriptAnalyzer](https://github.com/PowerShell/PSScriptAnalyzer) settings file. **This setting may not work as expected currently!** +---@field reportAssignmentType "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for issues involving attribute accesses. -- -- ```lua --- default = "PSScriptAnalyzerSettings.psd1" +-- default = "error" -- ``` ----@field settingsPath string - ----@class _.lspconfig.settings.powershell_es.SideBar --- Specifies an array of modules to exclude from Command Explorer listing. +---@field reportAttributeAccessIssue "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for function calls within a default value initialization expression. Such calls can mask expensive operations that are performed at module initialization time. -- -- ```lua --- default = {} +-- default = "none" -- ``` ----@field CommandExplorerExcludeFilter string[] --- Specifies the visibility of the Command Explorer in the side bar. ----@field CommandExplorerVisibility boolean - ----@class _.lspconfig.settings.powershell_es.StartAsLoginShell --- Starts the PowerShell extension's underlying PowerShell process as a login shell, if applicable. ----@field linux boolean --- Starts the PowerShell extension's underlying PowerShell process as a login shell, if applicable. +---@field reportCallInDefaultInitializer "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for issues involving call expressions and arguments. -- -- ```lua --- default = true +-- default = "error" -- ``` ----@field osx boolean - ----@class _.lspconfig.settings.powershell_es.Trace --- Traces the communication between VS Code and the PowerShell Editor Services language server. **This setting is only meant for extension developers!** +---@field reportCallIssue "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for attempts to redefine variables whose names are all-caps with underscores and numerals. -- -- ```lua --- default = "off" +-- default = "none" -- ``` ----@field server "off" | "messages" | "verbose" - ----@class _.lspconfig.settings.powershell_es.Powershell --- Specifies to search for references only within open documents instead of all workspace files. An alternative to `#powershell.enableReferencesCodeLens#` that allows large workspaces to support some references without the performance impact. ----@field analyzeOpenDocumentsOnly boolean ----@field bugReporting _.lspconfig.settings.powershell_es.BugReporting ----@field buttons _.lspconfig.settings.powershell_es.Buttons ----@field codeFolding _.lspconfig.settings.powershell_es.CodeFolding ----@field codeFormatting _.lspconfig.settings.powershell_es.CodeFormatting --- A path where the Extension Terminal will be launched. Both the PowerShell process's and the shell's location will be set to this directory. Does not support variables, but does support the use of '~' and paths relative to a single workspace. **For multi-root workspaces, use the name of the folder you wish to have as the cwd.** +---@field reportConstantRedefinition "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for use of deprecated classes or functions. -- -- ```lua --- default = "" +-- default = "none" -- ``` ----@field cwd string ----@field debugging _.lspconfig.settings.powershell_es.Debugging ----@field developer _.lspconfig.settings.powershell_es.Developer --- Specifies whether the extension loads [PowerShell profiles](https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_profiles). Note that the extension's "Current Host" profile is `Microsoft.VSCode_profile.ps1`, which will be loaded instead of the default "Current Host" profile of `Microsoft.PowerShell_profile.ps1`. Use the "All Hosts" profile `profile.ps1` for common configuration. +---@field reportDeprecated "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for an imported symbol or module that is imported more than once. -- -- ```lua --- default = true +-- default = "none" -- ``` ----@field enableProfileLoading boolean --- Specifies if Code Lenses are displayed above function definitions, used to show the number of times the function is referenced in the workspace and navigate to those references. Large workspaces may want to disable this setting if performance is compromised. See also `#powershell.analyzeOpenDocumentsOnly#`. +---@field reportDuplicateImport "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for member accesses on functions. -- -- ```lua --- default = true +-- default = "error" -- ``` ----@field enableReferencesCodeLens boolean --- Specifies the [comment based help](https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_comment_based_help) completion style triggered by typing ` ##`. +---@field reportFunctionMemberAccess "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for general type inconsistencies, unsupported operations, argument/parameter mismatches, etc. Covers all of the basic type-checking rules not covered by other rules. Does not include syntax errors. -- -- ```lua --- default = "BlockComment" +-- default = "error" -- ``` ----@field helpCompletion "Disabled" | "BlockComment" | "LineComment" ----@field integratedConsole _.lspconfig.settings.powershell_es.IntegratedConsole ----@field pester _.lspconfig.settings.powershell_es.Pester --- Specifies a list of Item / Value pairs where the **Item** is a user-chosen name and the **Value** is an absolute path to a PowerShell executable. The name appears in the [Session Menu Command](command:PowerShell.ShowSessionMenu) and is used to reference this executable in the `#powershell.powerShellDefaultVersion#` setting. +---@field reportGeneralTypeIssues "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for overridden methods that do not include an `@override` decorator. -- -- ```lua --- default = {} +-- default = "none" -- ``` ----@field powerShellAdditionalExePaths table --- Specifies the default PowerShell version started by the extension. The name must match what is displayed in the [Session Menu command](command:PowerShell.ShowSessionMenu), for example, `Windows PowerShell (x86)`. You can specify additional PowerShell executables with the `#powershell.powerShellAdditionalExePaths#` setting. +---@field reportImplicitOverride "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for two or more string literals that follow each other, indicating an implicit concatenation. This is considered a bad practice and often masks bugs such as missing commas. -- -- ```lua --- default = "" +-- default = "none" -- ``` ----@field powerShellDefaultVersion string --- **Deprecated:** Specifies the path to the PowerShell executable. +---@field reportImplicitStringConcatenation "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for cyclical import chains. These are not errors in Python, but they do slow down type analysis and often hint at architectural layering issues. Generally, they should be avoided. -- -- ```lua --- default = "" +-- default = "none" -- ``` ----@field powerShellExePath string --- **Deprecated:** Specifies whether you should be prompted to update your version of `PackageManagement` if it's under 1.4.6. ----@field promptToUpdatePackageManagement boolean --- Specifies whether you may be prompted to update your version of PowerShell. +---@field reportImportCycles "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for methods that override a method of the same name in a base class in an incompatible manner (wrong number of parameters, incompatible parameter types, or incompatible return type). -- -- ```lua --- default = true +-- default = "error" -- ``` ----@field promptToUpdatePowerShell boolean ----@field scriptAnalysis _.lspconfig.settings.powershell_es.ScriptAnalysis ----@field sideBar _.lspconfig.settings.powershell_es.SideBar ----@field startAsLoginShell _.lspconfig.settings.powershell_es.StartAsLoginShell --- Starts the PowerShell extension automatically when a PowerShell file is opened. If `false`, to start the extension use the [Restart Session command](command:PowerShell.RestartSession). **IntelliSense, code navigation, the Extension Terminal, code formatting, and other features are not enabled until the extension starts.** +---@field reportIncompatibleMethodOverride "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for overrides in subclasses that redefine a variable in an incompatible way. -- -- ```lua --- default = true +-- default = "error" -- ``` ----@field startAutomatically boolean --- Suppresses the warning message when any of `#powershell.powerShellAdditionalExePaths#` is not found. ----@field suppressAdditionalExeNotFoundWarning boolean ----@field trace _.lspconfig.settings.powershell_es.Trace --- **Deprecated:** Uses the 32-bit language service on 64-bit Windows. This setting has no effect on 32-bit Windows or on the PowerShell extension debugger, which has its own architecture configuration. ----@field useX86Host boolean - ----@class lspconfig.settings.powershell_es ----@field powershell _.lspconfig.settings.powershell_es.Powershell - ----@class _.lspconfig.settings.psalm.Trace --- Traces the communication between VSCode and the Psalm language server. +---@field reportIncompatibleVariableOverride "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for the use of a module-level “__getattr__” function, indicating that the stub is incomplete. -- -- ```lua --- default = "off" +-- default = "none" -- ``` ----@field server "off" | "messages" | "verbose" - ----@class _.lspconfig.settings.psalm.Psalm --- A list of file extensions to request Psalm to analyze. By default, this only includes 'php' (Modifying requires VSCode reload) +---@field reportIncompleteStub "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for __init__ and __new__ methods whose signatures are inconsistent. -- -- ```lua --- default = { { --- language = "php", --- scheme = "file" --- }, { --- language = "php", --- scheme = "untitled" --- } } +-- default = "none" -- ``` ----@field analyzedFileExtensions any[] --- A list of files to checkup for psalm configuration (relative to the workspace directory) +---@field reportInconsistentConstructor "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for inconsistencies between function overload signatures and implementation. -- -- ```lua --- default = { "psalm.xml", "psalm.xml.dist" } +-- default = "error" -- ``` ----@field configPaths string[] --- If this is set to true, this VSCode extension will use TCP instead of the default STDIO to communicate with the Psalm language server. (Modifying requires VSCode reload) ----@field connectToServerWithTcp boolean --- Enable to disable autocomplete on methods and properties (Modifying requires VSCode reload) ----@field disableAutoComplete boolean --- Enable this to print messages to the debug console when developing or debugging this VS Code extension. (Modifying requires VSCode reload) ----@field enableDebugLog boolean --- Enable this to use PHP-provided ini defaults for memory and error display. (Modifying requires restart) ----@field enableUseIniDefaults boolean --- Enable --verbose mode on the Psalm Language Server (Modifying requires VSCode reload) ----@field enableVerbose boolean --- This will hide the Psalm status from the status bar when it is started and running. This is useful to clear up a cluttered status bar. +---@field reportInconsistentOverload "none" | "information" | "warning" | "error" | true | false +-- Diagnostics related to index operations and expressions. -- -- ```lua --- default = true +-- default = "error" -- ``` ----@field hideStatusMessageWhenRunning boolean --- Traces the communication between VSCode and the Psalm language server. +---@field reportIndexIssue "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for invalid escape sequences used within string literals. The Python specification indicates that such sequences will generate a syntax error in future versions. -- -- ```lua --- default = "INFO" +-- default = "warning" -- ``` ----@field logLevel "NONE" | "ERROR" | "WARN" | "INFO" | "DEBUG" | "TRACE" --- The number of times the Language Server is allowed to crash and restart before it will no longer try to restart (Modifying requires VSCode reload) +---@field reportInvalidStringEscapeSequence "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for type stub statements that do not conform to PEP 484. -- -- ```lua --- default = 5 +-- default = "none" -- ``` ----@field maxRestartCount number --- Optional (Advanced), default is '-dxdebug.remote_autostart=0 -dxdebug.remote_enable=0 -dxdebug_profiler_enable=0'. Additional PHP executable CLI arguments to use. (Modifying requires VSCode reload) +---@field reportInvalidStubStatement "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for invalid type argument usage. -- -- ```lua --- default = { "-dxdebug.remote_autostart=0", "-dxdebug.remote_enable=0", "-dxdebug_profiler_enable=0" } +-- default = "error" -- ``` ----@field phpExecutableArgs string[] --- Optional, defaults to searching for "php". The path to a PHP 7.0+ executable to use to execute the Psalm server. The PHP 7.0+ installation should preferably include and enable the PHP module `pcntl`. (Modifying requires VSCode reload) ----@field phpExecutablePath string --- Optional (Advanced). If provided, this overrides the Psalm script to use, e.g. vendor/bin/psalm. (Modifying requires VSCode reload) ----@field psalmClientScriptPath string --- Optional (Advanced). Additional arguments to the Psalm language server. (Modifying requires VSCode reload) +---@field reportInvalidTypeArguments "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for type expression that uses an invalid form. -- -- ```lua --- default = {} +-- default = "error" -- ``` ----@field psalmScriptArgs string[] --- Optional (Advanced). If provided, this overrides the Psalm script to use, e.g. vendor/bin/psalm-language-server. (Modifying requires VSCode reload) ----@field psalmScriptPath string --- Optional (Advanced). If provided, this overrides the Psalm version detection (Modifying requires VSCode reload) ----@field psalmVersion string ----@field trace _.lspconfig.settings.psalm.Trace --- Enable this to enable unused variable and parameter detection ----@field unusedVariableDetection boolean - ----@class lspconfig.settings.psalm ----@field psalm _.lspconfig.settings.psalm.Psalm - ----@class _.lspconfig.settings.puppet.FoldingRange --- Enable/disable syntax aware code folding provider +---@field reportInvalidTypeForm "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for improper use of type variables in a function signature. -- -- ```lua --- default = true +-- default = "warning" -- ``` ----@field enable boolean --- Show or hide the last line in code folding regions ----@field showLastLine boolean - ----@class _.lspconfig.settings.puppet.FormatOnType --- Enable/disable the Puppet document on-type formatter, for example hashrocket alignment ----@field enable boolean --- Sets the maximum file size (in Bytes) that document on-type formatting will occur. Setting this to zero (0) will disable the file size check. Note that large file sizes can cause performance issues. +---@field reportInvalidTypeVarUse "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for 'match' statements that do not exhaustively match all possible values. -- -- ```lua --- default = 4096 +-- default = "none" -- ``` ----@field maxFileSize integer - ----@class _.lspconfig.settings.puppet.Hover --- Enable or disable showing Puppet Module version information in the metadata.json file +---@field reportMatchNotExhaustive "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for imports that have no corresponding imported python file or type stub file. -- -- ```lua --- default = true +-- default = "error" -- ``` ----@field showMetadataInfo boolean - ----@class _.lspconfig.settings.puppet.Puppet --- The Puppet configuration directory. See https://puppet.com/docs/puppet/latest/dirs_confdir.html for more information +---@field reportMissingImports "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for imports that have no corresponding source file. This happens when a type stub is found, but the module source file was not found, indicating that the code may fail at runtime when using this execution environment. Type checking will be done using the type stub. -- -- ```lua --- default = "" +-- default = "warning" -- ``` ----@field confdir string --- The Puppet environment to use. See https://puppet.com/docs/puppet/latest/config_print.html#environments for more information +---@field reportMissingModuleSource "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for parameters that are missing a type annotation. -- -- ```lua --- default = "" +-- default = "none" -- ``` ----@field environment string --- Additional module paths to use when starting the Editor Services. On Windows this is delimited with a semicolon, and on all other platforms, with a colon. For example C:\Path1;C:\Path2 +---@field reportMissingParameterType "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for missing call to parent class for inherited `__init__` methods. -- -- ```lua --- default = "" +-- default = "none" -- ``` ----@field modulePath string --- The Puppet cache directory. See https://puppet.com/docs/puppet/latest/dirs_vardir.html for more information +---@field reportMissingSuperCall "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for generic class reference with missing type arguments. -- -- ```lua --- default = "" +-- default = "none" -- ``` ----@field vardir string --- The version of Puppet to use. For example '5.4.0'. This is generally only applicable when using the PDK installation type. If Puppet Editor Services is unable to use this version, it will default to the latest available version of Puppet. +---@field reportMissingTypeArgument "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for imports that have no corresponding type stub file (either a typeshed file or a custom type stub). The type checker requires type stubs to do its best job at analysis. -- -- ```lua --- default = "" +-- default = "none" -- ``` ----@field version string - ----@class _.lspconfig.settings.puppet.Tcp --- The IP address or hostname of the remote Puppet Editor Service to connect to, for example 'computer.domain' or '192.168.0.1'. Only applicable when the editorService.protocol is set to tcp ----@field address string --- The TCP Port of the remote Puppet Editor Service to connect to. Only applicable when the editorService.protocol is set to tcp ----@field port integer - ----@class _.lspconfig.settings.puppet.EditorService --- The absolute filepath where the Puppet Editor Service will output the debugging log. By default no logfile is generated +---@field reportMissingTypeStubs "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for an overloaded function or method with a missing implementation. -- -- ```lua --- default = "" +-- default = "error" -- ``` ----@field debugFilePath string --- Enable/disable advanced Puppet Language Features +---@field reportNoOverloadImplementation "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for related to unary or binary operators. -- -- ```lua --- default = true +-- default = "error" -- ``` ----@field enable boolean --- An array of strings of experimental features to enable in the Puppet Editor Service +---@field reportOperatorIssue "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for an attempt to call a variable with an Optional type. -- -- ```lua --- default = {} +-- default = "error" -- ``` ----@field featureFlags any[] ----@field foldingRange _.lspconfig.settings.puppet.FoldingRange ----@field formatOnType _.lspconfig.settings.puppet.FormatOnType ----@field hover _.lspconfig.settings.puppet.Hover --- Set the logging verbosity level for the Puppet Editor Service, with Debug producing the most output and Error producing the least +---@field reportOptionalCall "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for an attempt to use an Optional type as a context manager (as a parameter to a with statement). -- -- ```lua --- default = "normal" +-- default = "error" -- ``` ----@field loglevel "debug" | "error" | "normal" | "warning" | "verbose" --- The protocol used to communicate with the Puppet Editor Service. By default the local STDIO protocol is used. +---@field reportOptionalContextManager "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for an attempt to use an Optional type as an iterable value (e.g. within a for statement). -- -- ```lua --- default = "stdio" +-- default = "error" -- ``` ----@field protocol "stdio" | "tcp" ----@field puppet _.lspconfig.settings.puppet.Puppet ----@field tcp _.lspconfig.settings.puppet.Tcp --- The timeout to connect to the Puppet Editor Service +---@field reportOptionalIterable "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for an attempt to access a member of a variable with an Optional type. -- -- ```lua --- default = 10 +-- default = "error" -- ``` ----@field timeout integer - ----@class _.lspconfig.settings.puppet.Format --- Enable/disable the Puppet document formatter +---@field reportOptionalMemberAccess "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for an attempt to use an Optional type as an operand to a binary or unary operator (like '+', '==', 'or', 'not'). -- -- ```lua --- default = true +-- default = "error" -- ``` ----@field enable boolean - ----@class _.lspconfig.settings.puppet.Notification --- The type of notification used when a node graph is being generated. Default value of messagebox +---@field reportOptionalOperand "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for an attempt to subscript (index) a variable with an Optional type. -- -- ```lua --- default = "messagebox" +-- default = "error" -- ``` ----@field nodeGraph "messagebox" | "statusbar" | "none" --- The type of notification used when a running Puppet Resouce. Default value of messagebox +---@field reportOptionalSubscript "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for function overloads that overlap in signature and obscure each other or have incompatible return types. -- -- ```lua --- default = "messagebox" +-- default = "error" -- ``` ----@field puppetResource "messagebox" | "statusbar" | "none" - ----@class _.lspconfig.settings.puppet.Pdk --- Enable/disable checking if installed PDK version is latest +---@field reportOverlappingOverload "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for the use of variables that may be unbound on some code paths. -- -- ```lua --- default = true +-- default = "error" -- ``` ----@field checkVersion boolean - ----@class _.lspconfig.settings.puppet.PdkNewModule --- Enable/disable the PDK New Module icon in the Editor Title Bar +---@field reportPossiblyUnboundVariable "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for incorrect usage of symbol imported from a "py.typed" module that is not re-exported from that module. -- -- ```lua --- default = true +-- default = "error" -- ``` ----@field enable boolean - ----@class _.lspconfig.settings.puppet.TitleBar ----@field pdkNewModule _.lspconfig.settings.puppet.PdkNewModule - ----@class _.lspconfig.settings.puppet.Validate --- Enable/disable using dependency resolution for Puppetfiles +---@field reportPrivateImportUsage "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for incorrect usage of private or protected variables or functions. Protected class members begin with a single underscore _ and can be accessed only by subclasses. Private class members begin with a double underscore but do not end in a double underscore and can be accessed only within the declaring class. Variables and functions declared outside of a class are considered private if their names start with either a single or double underscore, and they cannot be accessed outside of the declaring module. -- -- ```lua --- default = true +-- default = "none" -- ``` ----@field resolvePuppetfiles boolean - ----@class _.lspconfig.settings.puppet.Puppet ----@field editorService _.lspconfig.settings.puppet.EditorService ----@field format _.lspconfig.settings.puppet.Format --- The fully qualified path to the Puppet install directory. This can be a PDK or Puppet Agent installation. For example: 'C:\Program Files\Puppet Labs\Puppet' or '/opt/puppetlabs/puppet'. If this is not set the extension will attempt to detect the installation directory. Do **not** use when `#puppet.installType#` is set to `auto` ----@field installDirectory string --- The type of Puppet installation. Either the Puppet Development Kit (pdk) or the Puppet Agent (agent). Choose `auto` to have the extension detect which to use automatically based on default install locations +---@field reportPrivateUsage "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for property whose setter and getter have mismatched types. -- -- ```lua --- default = "auto" +-- default = "none" -- ``` ----@field installType "auto" | "pdk" | "agent" ----@field notification _.lspconfig.settings.puppet.Notification ----@field pdk _.lspconfig.settings.puppet.Pdk ----@field titleBar _.lspconfig.settings.puppet.TitleBar ----@field validate _.lspconfig.settings.puppet.Validate - ----@class lspconfig.settings.puppet ----@field puppet _.lspconfig.settings.puppet.Puppet - ----@class _.lspconfig.settings.purescriptls.Trace --- Traces the communication between VSCode and the PureScript language service. +---@field reportPropertyTypeMismatch "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for an attempt to declare the type of a symbol multiple times. -- -- ```lua --- default = "off" +-- default = "error" -- ``` ----@field server "off" | "messages" | "verbose" - ----@class _.lspconfig.settings.purescriptls.Purescript --- Whether to add the local npm bin directory to the PATH for purs IDE server and build command. ----@field addNpmPath boolean --- Whether to add psc-package sources to the globs passed to the IDE server for source locations (specifically the output of `psc-package sources`, if this is a psc-package project). Update due to adding packages/changing package set requires psc-ide server restart. ----@field addPscPackageSources boolean --- Whether to add spago sources to the globs passed to the IDE server for source locations (specifically the output of `spago sources`, if this is a spago project). Update due to adding packages/changing package set requires psc-ide server restart. +---@field reportRedeclaration "none" | "information" | "warning" | "error" | true | false +-- Diagnostics related to function return type compatibility. -- -- ```lua --- default = true +-- default = "error" -- ``` ----@field addSpagoSources boolean --- Whether to automatically start/connect to purs IDE server when editing a PureScript file (includes connecting to an existing running instance). If this is disabled, various features like autocomplete, tooltips, and other type info will not work until start command is run manually. +---@field reportReturnType "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for a missing or misnamed “self” parameter in instance methods and “cls” parameter in class methods. Instance methods in metaclasses (classes that derive from “type”) are allowed to use “cls” for instance methods. -- -- ```lua --- default = true +-- default = "warning" -- ``` ----@field autoStartPscIde boolean --- Whether to automatically add imported identifiers when accepting autocomplete result. +---@field reportSelfClsParameterName "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for files that are overriding a module in the stdlib. -- -- ```lua --- default = true +-- default = "none" -- ``` ----@field autocompleteAddImport boolean --- Whether to always autocomplete from all built modules, or just those imported in the file. Suggestions from all modules always available by explicitly triggering autocomplete. +---@field reportShadowedImports "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for usage of deprecated type comments. -- -- ```lua --- default = true +-- default = "none" -- ``` ----@field autocompleteAllModules boolean --- Whether to group completions in autocomplete results. Requires compiler 0.11.6 +---@field reportTypeCommentUsage "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for an attempt to access a non-required key within a TypedDict without a check for its presence. -- -- ```lua --- default = true +-- default = "error" -- ``` ----@field autocompleteGrouped boolean --- Maximum number of results to fetch for an autocompletion request. May improve performance on large projects. ----@field autocompleteLimit integer --- Build command to use with arguments. Not passed to shell. eg `spago build --purs-args --json-errors` +---@field reportTypedDictNotRequiredAccess "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for the use of unbound variables. -- -- ```lua --- default = "spago build --purs-args --json-errors" +-- default = "error" -- ``` ----@field buildCommand string --- **EXPERIMENTAL** Enable purs IDE server fast rebuild of opened files. This includes both newly opened tabs and those present at startup. ----@field buildOpenedFiles boolean --- The warning codes to censor, both for fast rebuild and a full build. Unrelated to any psa setup. e.g.: ["ShadowedName","MissingTypeDeclaration"] +---@field reportUnboundVariable "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for undefined variables. -- -- ```lua --- default = {} +-- default = "error" -- ``` ----@field censorWarnings string[] --- List of codegen targets to pass to the compiler for rebuild. e.g. js, corefn. If not specified (rather than empty array) this will not be passed and the compiler will default to js. Requires 0.12.1+ ----@field codegenTargets string[] --- Enable declaration codelens to add types to declarations +---@field reportUndefinedVariable "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for the use of an unhashable object in a container that requires hashability. -- -- ```lua --- default = true +-- default = "error" -- ``` ----@field declarationTypeCodeLens boolean --- **EXPERIMENTAL** Enable diagnostics on file open, as per diagnostics on type ----@field diagnosticsOnOpen boolean --- **EXPERIMENTAL** Enable rebuilding modules for diagnostics automatically on typing. This may provide quicker feedback on errors, but could interfere with other functionality. ----@field diagnosticsOnType boolean --- **EXPERIMENTAL** +---@field reportUnhashable "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for instance variables that are not declared or initialized within class body or `__init__` method. -- -- ```lua --- default = 100 +-- default = "none" -- ``` ----@field diagnosticsOnTypeDebounce integer --- Enable declaration codelenses for export management +---@field reportUninitializedInstanceVariable "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for call arguments for functions or methods that have an unknown type. -- -- ```lua --- default = true +-- default = "none" -- ``` ----@field exportsCodeLens boolean --- Enable purs IDE server fast rebuild (rebuilding single files on saving them) +---@field reportUnknownArgumentType "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for input or return parameters for lambdas that have an unknown type. -- -- ```lua --- default = true +-- default = "none" -- ``` ----@field fastRebuild boolean --- Extension for foreign files +---@field reportUnknownLambdaType "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for class or instance variables that have an unknown type. -- -- ```lua --- default = "js" +-- default = "none" -- ``` ----@field foreignExt string --- Tool to use to for formatting. Must be installed and on PATH (or npm installed with addNpmPath set) +---@field reportUnknownMemberType "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for input or return parameters for functions or methods that have an unknown type. -- -- ```lua --- default = "purs-tidy" +-- default = "none" -- ``` ----@field formatter "none" | "purty" | "purs-tidy" | "pose" --- Whether to perform a full build on save with the configured build command (rather than IDE server fast rebuild). This is not generally recommended because it is slow, but it does mean that dependent modules are rebuilt as necessary. ----@field fullBuildOnSave boolean --- Whether to show progress for full build on save (if enabled) +---@field reportUnknownParameterType "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for variables that have an unknown type.. -- -- ```lua --- default = true +-- default = "none" -- ``` ----@field fullBuildOnSaveProgress boolean --- Module to prefer to insert when adding imports which have been re-exported. In order of preference, most preferred first. +---@field reportUnknownVariableType "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for 'cast' calls that are statically determined to be unnecessary. Such calls are sometimes indicative of a programming error. -- -- ```lua --- default = { "Prelude" } +-- default = "none" -- ``` ----@field importsPreferredModules string[] --- Override purs ide output directory (output/ if not specified). This should match up to your build command +---@field reportUnnecessaryCast "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for '==' and '!=' comparisons that are statically determined to be unnecessary. Such calls are sometimes indicative of a programming error. -- -- ```lua --- default = "output/" +-- default = "none" -- ``` ----@field outputDirectory string --- Path to installed packages. Will be used to control globs passed to IDE server for source locations. Change requires IDE server restart. +---@field reportUnnecessaryComparison "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for 'in' operation that is statically determined to be unnecessary. Such operations are sometimes indicative of a programming error. -- -- ```lua --- default = "" +-- default = "none" -- ``` ----@field packagePath string --- Module to consider as your default prelude, if an auto-complete suggestion comes from this module it will be imported unqualified. +---@field reportUnnecessaryContains "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for 'isinstance' or 'issubclass' calls where the result is statically determined to be always true. Such calls are often indicative of a programming error. -- -- ```lua --- default = "Prelude" +-- default = "none" -- ``` ----@field preludeModule string --- Port to use for purs IDE server (whether an existing server or to start a new one). By default a random port is chosen (or an existing port in .psc-ide-port if present), if this is specified no attempt will be made to select an alternative port on failure. ----@field pscIdePort integer --- Log level for purs IDE server +---@field reportUnnecessaryIsInstance "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for '# type: ignore' comments that have no effect. -- -- ```lua --- default = "" +-- default = "none" -- ``` ----@field pscIdelogLevel string --- Location of purs executable (resolved wrt PATH) +---@field reportUnnecessaryTypeIgnoreComment "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for unsupported operations performed on __all__. -- -- ```lua --- default = "purs" +-- default = "warning" -- ``` ----@field pursExe string --- Path to application source root. Will be used to control globs passed to IDE server for source locations. Change requires IDE server restart. +---@field reportUnsupportedDunderAll "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for base classes whose type cannot be determined statically. These obscure the class type, defeating many type analysis features. -- -- ```lua --- default = "src" +-- default = "none" -- ``` ----@field sourcePath string ----@field trace _.lspconfig.settings.purescriptls.Trace - ----@class lspconfig.settings.purescriptls ----@field purescript _.lspconfig.settings.purescriptls.Purescript - ----@class _.lspconfig.settings.pylsp.Autopep8 --- Enable or disable the plugin (disabling required to use `yapf`). +---@field reportUntypedBaseClass "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for class decorators that have no type annotations. These obscure the class type, defeating many type analysis features. -- -- ```lua --- default = true +-- default = "none" -- ``` ----@field enabled boolean - ----@class _.lspconfig.settings.pylsp.Flake8 --- Path to the config file that will be the authoritative config source. ----@field config string --- Enable or disable the plugin. ----@field enabled boolean --- List of files or directories to exclude. +---@field reportUntypedClassDecorator "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for function decorators that have no type annotations. These obscure the function type, defeating many type analysis features. -- -- ```lua --- default = {} +-- default = "none" -- ``` ----@field exclude string[] --- Path to the flake8 executable. +---@field reportUntypedFunctionDecorator "none" | "information" | "warning" | "error" | true | false +-- Diagnostics when “namedtuple” is used rather than “NamedTuple”. The former contains no type information, whereas the latter does. -- -- ```lua --- default = "flake8" +-- default = "none" -- ``` ----@field executable string --- List of errors and warnings to append to ignore list. +---@field reportUntypedNamedTuple "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for call expressions whose results are not consumed and are not None. -- -- ```lua --- default = {} +-- default = "none" -- ``` ----@field extendIgnore string[] --- Only check for filenames matching the patterns in this list. ----@field filename string --- Hang closing bracket instead of matching indentation of opening bracket's line. ----@field hangClosing boolean --- List of errors and warnings to ignore (or skip). +---@field reportUnusedCallResult "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for a class with a private name (starting with an underscore) that is not accessed. -- -- ```lua --- default = {} +-- default = "none" -- ``` ----@field ignore string[] --- Set indentation spaces. ----@field indentSize integer --- Maximum allowed complexity threshold. ----@field maxComplexity integer --- Maximum allowed line length for the entirety of this run. ----@field maxLineLength integer --- A pairing of filenames and violation codes that defines which violations to ignore in a particular file, for example: `["file_path.py:W305,W304"]`). +---@field reportUnusedClass "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for call expressions that return a Coroutine and whose results are not consumed. -- -- ```lua --- default = {} +-- default = "error" -- ``` ----@field perFileIgnores string[] --- List of errors and warnings to enable. ----@field select string[] - ----@class _.lspconfig.settings.pylsp.Jedi --- List of module names for jedi.settings.auto_import_modules. +---@field reportUnusedCoroutine "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for unreachable except clause. -- -- ```lua --- default = { "numpy" } +-- default = "error" -- ``` ----@field auto_import_modules string[] --- Define environment variables for jedi.Script and Jedi.names. ----@field env_vars table --- Define environment for jedi.Script and Jedi.names. ----@field environment string --- Define extra paths for jedi.Script. +---@field reportUnusedExcept "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for simple expressions whose value is not used in any way. -- -- ```lua --- default = {} +-- default = "warning" -- ``` ----@field extra_paths string[] - ----@class _.lspconfig.settings.pylsp.Jedi.Completion --- Modules for which labels and snippets should be cached. +---@field reportUnusedExpression "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for a function or method with a private name (starting with an underscore) that is not accessed. -- -- ```lua --- default = { "pandas", "numpy", "tensorflow", "matplotlib" } +-- default = "none" -- ``` ----@field cache_for string[] --- Resolve documentation and detail eagerly. ----@field eager boolean --- Enable or disable the plugin. +---@field reportUnusedFunction "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for an imported symbol that is not referenced within that file. -- -- ```lua --- default = true +-- default = "none" -- ``` ----@field enabled boolean --- Enable fuzzy when requesting autocomplete. ----@field fuzzy boolean --- Adds class objects as a separate completion item. ----@field include_class_objects boolean --- Adds function objects as a separate completion item. ----@field include_function_objects boolean --- Auto-completes methods and classes with tabstops for each parameter. +---@field reportUnusedImport "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for a variable that is not accessed. -- -- ```lua --- default = true +-- default = "none" -- ``` ----@field include_params boolean --- How many labels and snippets (at most) should be resolved? +---@field reportUnusedVariable "none" | "information" | "warning" | "error" | true | false +-- Diagnostics for an wildcard import from an external library. -- -- ```lua --- default = 25 +-- default = "warning" -- ``` ----@field resolve_at_most integer +---@field reportWildcardImportFromLibrary "none" | "information" | "warning" | "error" | true | false ----@class _.lspconfig.settings.pylsp.Jedi.Definition --- Enable or disable the plugin. +---@class _.lspconfig.settings.pyright.Analysis +-- Offer auto-import completions. -- -- ```lua -- default = true -- ``` ----@field enabled boolean --- Follow builtin and extension definitions to stubs. +---@field autoImportCompletions boolean +-- Automatically add common search paths like 'src'? -- -- ```lua -- default = true -- ``` ----@field follow_builtin_definitions boolean --- If follow_imports is True will decide if it follow builtin imports. --- +---@field autoSearchPaths boolean -- ```lua --- default = true +-- default = "openFilesOnly" -- ``` ----@field follow_builtin_imports boolean --- The goto call will follow imports. +---@field diagnosticMode "openFilesOnly" | "workspace" +-- Allows a user to override the severity levels for individual diagnostics. Use the rule name as a key and one of "error", "warning", "information", "none", `true` (alias for "error") or `false` (alias for "none") as value. The default value shown for each diagnostic is the default when "python.analysis.typeCheckingMode" is set to "standard". See [here](https://github.com/microsoft/pyright/blob/main/docs/configuration.md#diagnostic-rule-defaults) for defaults for each type checking mode ("off", "basic", "standard", and "strict"). +---@field diagnosticSeverityOverrides _.lspconfig.settings.pyright.DiagnosticSeverityOverrides +-- Paths of directories or files that should not be included. These override the include directories, allowing specific subdirectories to be excluded. Note that files in the exclude paths may still be included in the analysis if they are referenced (imported) by source files that are not excluded. Paths may contain wildcard characters ** (a directory or multiple levels of directories), * (a sequence of zero or more characters), or ? (a single character). If no exclude paths are specified, pyright automatically excludes the following: `**/node_modules`, `**/__pycache__`, `.git` and any virtual environment directories. -- -- ```lua --- default = true +-- default = {} -- ``` ----@field follow_imports boolean - ----@class _.lspconfig.settings.pylsp.Jedi.Hover --- Enable or disable the plugin. +---@field exclude string[] +-- Additional import search resolution paths -- -- ```lua --- default = true +-- default = {} -- ``` ----@field enabled boolean - ----@class _.lspconfig.settings.pylsp.Jedi.References --- Enable or disable the plugin. +---@field extraPaths string[] +-- Paths of directories or files whose diagnostic output (errors and warnings) should be suppressed even if they are an included file or within the transitive closure of an included file. Paths may contain wildcard characters ** (a directory or multiple levels of directories), * (a sequence of zero or more characters), or ? (a single character). If no value is provided, the value of python.linting.ignorePatterns (if set) will be used. -- -- ```lua --- default = true +-- default = {} -- ``` ----@field enabled boolean - ----@class _.lspconfig.settings.pylsp.Jedi.Signature.Help --- Enable or disable the plugin. +---@field ignore string[] +-- Paths of directories or files that should be included. If no paths are specified, pyright defaults to the workspace root directory. Paths may contain wildcard characters ** (a directory or multiple levels of directories), * (a sequence of zero or more characters), or ? (a single character). -- -- ```lua --- default = true +-- default = {} -- ``` ----@field enabled boolean - ----@class _.lspconfig.settings.pylsp.Jedi.Symbols --- If True lists the names of all scopes instead of only the module namespace. +---@field include string[] +-- Specifies the level of logging for the Output panel -- -- ```lua --- default = true +-- default = "Information" -- ``` ----@field all_scopes boolean --- Enable or disable the plugin. +---@field logLevel "Error" | "Warning" | "Information" | "Trace" +-- Path to directory containing custom type stub files. -- -- ```lua --- default = true +-- default = "typings" -- ``` ----@field enabled boolean --- If True includes symbols imported from other libraries. +---@field stubPath string +-- Defines the default rule set for type checking. -- -- ```lua --- default = true +-- default = "standard" -- ``` ----@field include_import_symbols boolean - ----@class _.lspconfig.settings.pylsp.Mccabe --- Enable or disable the plugin. +---@field typeCheckingMode "off" | "basic" | "standard" | "strict" +-- Paths to look for typeshed modules. -- -- ```lua --- default = true +-- default = {} -- ``` ----@field enabled boolean --- The minimum threshold that triggers warnings about cyclomatic complexity. +---@field typeshedPaths string[] +-- Use library implementations to extract type information when type stub is not present. -- -- ```lua --- default = 15 +-- default = true -- ``` ----@field threshold integer +---@field useLibraryCodeForTypes boolean ----@class _.lspconfig.settings.pylsp.Preload --- Enable or disable the plugin. +---@class _.lspconfig.settings.pyright.Python +---@field analysis _.lspconfig.settings.pyright.Analysis +-- Path to Python, you can use a custom version of Python. -- -- ```lua --- default = true +-- default = "python" -- ``` ----@field enabled boolean --- List of modules to import on startup +---@field pythonPath string +-- Path to folder with a list of Virtual Environments. -- -- ```lua --- default = {} +-- default = "" -- ``` ----@field modules string[] +---@field venvPath string ----@class _.lspconfig.settings.pylsp.Pycodestyle --- Enable or disable the plugin. --- --- ```lua --- default = true --- ``` ----@field enabled boolean --- Exclude files or directories which match these patterns. +---@class lspconfig.settings.pyright +---@field pyright _.lspconfig.settings.pyright.Pyright +---@field python _.lspconfig.settings.pyright.Python + +---@class _.lspconfig.settings.r_language_server.Lsp +-- The command line arguments to use when launching R Language Server -- -- ```lua -- default = {} -- ``` ----@field exclude string[] --- When parsing directories, only check filenames matching these patterns. +---@field args any[] +-- Debug R Language Server +---@field debug boolean +-- Enable Diagnostics -- -- ```lua --- default = {} +-- default = true -- ``` ----@field filename string[] --- Hang closing bracket instead of matching indentation of opening bracket's line. ----@field hangClosing boolean --- Ignore errors and warnings +---@field diagnostics boolean +-- Override default LANG environment variable -- -- ```lua --- default = {} +-- default = "" -- ``` ----@field ignore string[] --- Set indentation spaces. ----@field indentSize integer --- Set maximum allowed line length. ----@field maxLineLength integer --- Select errors and warnings ----@field select string[] - ----@class _.lspconfig.settings.pylsp.Pydocstyle --- Ignore errors and warnings in addition to the specified convention. +---@field lang string +-- Path to R binary for launching Language Server -- -- ```lua --- default = {} +-- default = "" -- ``` ----@field addIgnore string[] --- Select errors and warnings in addition to the specified convention. +---@field path string +-- Use STDIO connection instead of TCP. (Unix/macOS users only) +---@field use_stdio boolean + +---@class _.lspconfig.settings.r_language_server.Rpath +-- Path to an R executable for Linux. Must be "vanilla" R, not radian etc.! -- -- ```lua --- default = {} +-- default = "" -- ``` ----@field addSelect string[] --- Choose the basic list of checked errors by specifying an existing convention. ----@field convention "pep257" | "numpy" | "google" --- Enable or disable the plugin. ----@field enabled boolean --- Ignore errors and warnings +---@field linux string +-- Path to an R executable for macOS. Must be "vanilla" R, not radian etc.! -- -- ```lua --- default = {} +-- default = "" -- ``` ----@field ignore string[] --- Check only files that exactly match the given regular expression; default is to match files that don't start with 'test_' but end with '.py'. +---@field mac string +-- Path to an R executable for Windows. Must be "vanilla" R, not radian etc.! -- -- ```lua --- default = "(?!test_).*\\.py" +-- default = "" -- ``` ----@field match string --- Search only dirs that exactly match the given regular expression; default is to match dirs which do not begin with a dot. +---@field windows string + +---@class _.lspconfig.settings.r_language_server.R +---@field lsp _.lspconfig.settings.r_language_server.Lsp +---@field rpath _.lspconfig.settings.r_language_server.Rpath + +---@class lspconfig.settings.r_language_server +---@field r _.lspconfig.settings.r_language_server.R + +---@class _.lspconfig.settings.rescriptls.ProjectConfig +-- (beta/experimental) Enable project config caching. Can speed up latency dramatically. +---@field enabled boolean + +---@class _.lspconfig.settings.rescriptls.Cache +---@field projectConfig _.lspconfig.settings.rescriptls.ProjectConfig + +---@class _.lspconfig.settings.rescriptls.IncrementalTypechecking +-- (beta/experimental) Enable incremental type checking across files, so that unsaved file A gets access to unsaved file B. +---@field acrossFiles boolean +-- (debug) Enable debug logging (ends up in the extension output). +---@field debugLogging boolean +-- (beta/experimental) Enable incremental type checking. +---@field enabled boolean + +---@class _.lspconfig.settings.rescriptls.InlayHints +-- Enable (experimental) inlay hints. +---@field enable boolean +-- Maximum length of character for inlay hints. Set to null to have an unlimited length. Inlay hints that exceed the maximum length will not be shown. -- -- ```lua --- default = "[^\\.].*" +-- default = 25 -- ``` ----@field matchDir string --- Select errors and warnings ----@field select string[] +---@field maxLength integer ----@class _.lspconfig.settings.pylsp.Pyflakes --- Enable or disable the plugin. +---@class _.lspconfig.settings.rescriptls.SignatureHelp +-- Enable signature help for function calls. -- -- ```lua -- default = true -- ``` ---@field enabled boolean - ----@class _.lspconfig.settings.pylsp.Pylint --- Arguments to pass to pylint. +-- Enable signature help for variant constructor payloads. -- -- ```lua --- default = {} +-- default = true -- ``` ----@field args string[] --- Enable or disable the plugin. ----@field enabled boolean --- Executable to run pylint with. Enabling this will run pylint on unsaved files via stdin. Can slow down workflow. Only works with python3. ----@field executable string +---@field forConstructorPayloads boolean ----@class _.lspconfig.settings.pylsp.Code.Actions --- Enable or disable autoimport code actions (e.g. for quick fixes). +---@class _.lspconfig.settings.rescriptls.Settings +-- Whether you want to allow the extension to format your code using its built in formatter when it cannot find a ReScript compiler version in your current project to use for formatting. +---@field allowBuiltInFormatter boolean +-- Whether you want the extension to prompt for autostarting a ReScript build if a project is opened with no build running. -- -- ```lua -- default = true -- ``` ----@field enabled boolean +---@field askToStartBuild boolean +-- Path to the directory where cross-platform ReScript binaries are. You can use it if you haven't or don't want to use the installed ReScript from node_modules in your project. +---@field binaryPath string +---@field cache _.lspconfig.settings.rescriptls.Cache +-- Enable (experimental) code lens for function definitions. +---@field codeLens boolean +---@field incrementalTypechecking _.lspconfig.settings.rescriptls.IncrementalTypechecking +---@field inlayHints _.lspconfig.settings.rescriptls.InlayHints +-- Path to the directory where platform-specific ReScript binaries are. You can use it if you haven't or don't want to use the installed ReScript from node_modules in your project. +---@field platformPath string +---@field signatureHelp _.lspconfig.settings.rescriptls.SignatureHelp ----@class _.lspconfig.settings.pylsp.Completions --- Enable or disable autoimport completions. +---@class _.lspconfig.settings.rescriptls.Rescript +---@field settings _.lspconfig.settings.rescriptls.Settings + +---@class lspconfig.settings.rescriptls +---@field rescript _.lspconfig.settings.rescriptls.Rescript + +---@class _.lspconfig.settings.rls.Rust +-- Enable all Cargo features. +---@field all_features boolean +-- Checks the project as if you were running cargo check --all-targets (I.e., check all targets and integration tests too). -- -- ```lua -- default = true -- ``` ----@field enabled boolean - ----@class _.lspconfig.settings.pylsp.Rope.Autoimport ----@field code_actions _.lspconfig.settings.pylsp.Code.Actions ----@field completions _.lspconfig.settings.pylsp.Completions --- Enable or disable autoimport. If false, neither completions nor code actions are enabled. If true, the respective features can be enabled or disabled individually. ----@field enabled boolean --- Make the autoimport database memory only. Drastically increases startup time. ----@field memory boolean - ----@class _.lspconfig.settings.pylsp.Rope.Completion --- Resolve documentation and detail eagerly. ----@field eager boolean --- Enable or disable the plugin. ----@field enabled boolean - ----@class _.lspconfig.settings.pylsp.Yapf --- Enable or disable the plugin. +---@field all_targets boolean +-- Specify to run analysis as if running `cargo check --bin `. Use `null` to auto-detect. (unstable) +---@field build_bin string +-- EXPERIMENTAL (requires `unstable_features`) +-- If set, executes a given program responsible for rebuilding save-analysis to be loaded by the RLS. The program given should output a list of resulting .json files on stdout. +-- Implies `rust.build_on_save`: true. +---@field build_command string +-- Specify to run analysis as if running `cargo check --lib`. Use `null` to auto-detect. (unstable) +---@field build_lib boolean +-- Only index the project when a file is saved and not on change. +---@field build_on_save boolean +-- Build cfg(test) code. (unstable) +---@field cfg_test boolean +-- Clear the RUST_LOG environment variable before running rustc or cargo. -- -- ```lua -- default = true -- ``` ----@field enabled boolean - ----@class _.lspconfig.settings.pylsp.Plugins ----@field autopep8 _.lspconfig.settings.pylsp.Autopep8 ----@field flake8 _.lspconfig.settings.pylsp.Flake8 ----@field jedi _.lspconfig.settings.pylsp.Jedi ----@field jedi_completion _.lspconfig.settings.pylsp.Jedi.Completion ----@field jedi_definition _.lspconfig.settings.pylsp.Jedi.Definition ----@field jedi_hover _.lspconfig.settings.pylsp.Jedi.Hover ----@field jedi_references _.lspconfig.settings.pylsp.Jedi.References ----@field jedi_signature_help _.lspconfig.settings.pylsp.Jedi.Signature.Help ----@field jedi_symbols _.lspconfig.settings.pylsp.Jedi.Symbols ----@field mccabe _.lspconfig.settings.pylsp.Mccabe ----@field preload _.lspconfig.settings.pylsp.Preload ----@field pycodestyle _.lspconfig.settings.pylsp.Pycodestyle ----@field pydocstyle _.lspconfig.settings.pylsp.Pydocstyle ----@field pyflakes _.lspconfig.settings.pylsp.Pyflakes ----@field pylint _.lspconfig.settings.pylsp.Pylint ----@field rope_autoimport _.lspconfig.settings.pylsp.Rope.Autoimport ----@field rope_completion _.lspconfig.settings.pylsp.Rope.Completion ----@field yapf _.lspconfig.settings.pylsp.Yapf - ----@class _.lspconfig.settings.pylsp.Rope --- Builtin and c-extension modules that are allowed to be imported and inspected by rope. ----@field extensionModules string --- The name of the folder in which rope stores project configurations and data. Pass `null` for not using such a folder at all. ----@field ropeFolder string[] - ----@class _.lspconfig.settings.pylsp.Pylsp --- List of configuration sources to use. +---@field clear_env_rust_log boolean +-- Controls eagerness of clippy diagnostics when available. Valid values are (case-insensitive): +-- - "off": Disable clippy lints. +-- - "on": Display the same diagnostics as command-line clippy invoked with no arguments (`clippy::all` unless overridden). +-- - "opt-in": Only display the lints explicitly enabled in the code. Start by adding `#![warn(clippy::all)]` to the root of each crate you want linted. +-- You need to install clippy via rustup if you haven't already. -- -- ```lua --- default = { "pycodestyle" } +-- default = "opt-in" -- ``` ----@field configurationSources string[] ----@field plugins _.lspconfig.settings.pylsp.Plugins ----@field rope _.lspconfig.settings.pylsp.Rope - ----@class lspconfig.settings.pylsp ----@field pylsp _.lspconfig.settings.pylsp.Pylsp - ----@class _.lspconfig.settings.pyright.Pyright --- Disables type completion, definitions, and references. ----@field disableLanguageServices boolean --- Disables the “Organize Imports” command. ----@field disableOrganizeImports boolean --- Disable hint diagnostics with special hints for grayed-out or strike-through text. ----@field disableTaggedHints boolean - --- Allows a user to override the severity levels for individual diagnostics. Use the rule name as a key and one of "error", "warning", "information", "none", `true` (alias for "error") or `false` (alias for "none") as value. The default value shown for each diagnostic is the default when "python.analysis.typeCheckingMode" is set to "standard". See [here](https://github.com/microsoft/pyright/blob/main/docs/configuration.md#diagnostic-rule-defaults) for defaults for each type checking mode ("off", "basic", "standard", and "strict"). ----@class _.lspconfig.settings.pyright.DiagnosticSeverityOverrides --- Diagnostics for an attempt to instantiate an abstract or protocol class or use an abstract method. +---@field clippy_preference "on" | "opt-in" | "off" +-- Overrides the default list of packages for which analysis is skipped. +-- Available since RLS 1.38 +-- +-- ```lua +-- default = { "cocoa", "gleam", "glium", "idna", "libc", "openssl", "rustc_serialize", "serde", "serde_json", "typenum", "unicode_normalization", "unicode_segmentation", "winapi" } +-- ``` +---@field crate_blacklist any[] +-- A list of Cargo features to enable. +-- +-- ```lua +-- default = {} +-- ``` +---@field features any[] +-- Instructs cargo to enable full documentation extraction during save-analysis while building the crate. +---@field full_docs boolean +-- Whether to surpress the deprecation notification on start up. +---@field ignore_deprecation_warning boolean +-- Number of Cargo jobs to be run in parallel. +---@field jobs number +-- Do not enable default Cargo features. +---@field no_default_features boolean +-- Enables code completion using racer. +-- +-- ```lua +-- default = true +-- ``` +---@field racer_completion boolean +-- Settings passed down to rust-analyzer server -- -- ```lua --- default = "error" +-- default = {} -- ``` ----@field reportAbstractUsage "none" | "information" | "warning" | "error" | true | false --- Diagnostics for a type incompatibility for an argument to a call. +---@field rust-analyzer table +-- Flags added to RUSTFLAGS. +---@field rustflags string +-- When specified, RLS will use the Rustfmt pointed at the path instead of the bundled one +---@field rustfmt_path string +-- Show additional context in hover tooltips when available. This is often the type local variable declaration. -- -- ```lua --- default = "error" +-- default = true -- ``` ----@field reportArgumentType "none" | "information" | "warning" | "error" | true | false --- Diagnostics for 'assert' statement that will provably always assert. This can be indicative of a programming error. +---@field show_hover_context boolean +-- Show warnings. -- -- ```lua --- default = "warning" +-- default = true -- ``` ----@field reportAssertAlwaysTrue "none" | "information" | "warning" | "error" | true | false --- Diagnostics for a type incompatibility detected by a typing.assert_type call. +---@field show_warnings boolean +-- --sysroot +---@field sysroot string +-- --target +---@field target string +-- When specified, it places the generated analysis files at the specified target directory. By default it is placed target/rls directory. +---@field target_dir string +-- Enable unstable features. +---@field unstable_features boolean +-- Time in milliseconds between receiving a change notification and starting build. +---@field wait_to_build number + +---@class _.lspconfig.settings.rls.Trace +-- Traces the communication between VS Code and the Rust language server. -- -- ```lua --- default = "error" +-- default = "off" -- ``` ----@field reportAssertTypeFailure "none" | "information" | "warning" | "error" | true | false --- Diagnostics for type incompatibilities for assignments. +---@field server "off" | "messages" | "verbose" + +---@class _.lspconfig.settings.rls.Rust-client +-- Start RLS automatically when opening a file or project. -- -- ```lua --- default = "error" +-- default = true -- ``` ----@field reportAssignmentType "none" | "information" | "warning" | "error" | true | false --- Diagnostics for issues involving attribute accesses. +---@field autoStartRls boolean +-- Rust channel to invoke rustup with. Ignored if rustup is disabled. By default, uses the same channel as your currently open project. -- -- ```lua --- default = "error" +-- default = "default" -- ``` ----@field reportAttributeAccessIssue "none" | "information" | "warning" | "error" | true | false --- Diagnostics for function calls within a default value initialization expression. Such calls can mask expensive operations that are performed at module initialization time. +---@field channel string|"default" | "stable" | "beta" | "nightly" +-- Disable usage of rustup and use rustc/rls/rust-analyzer from PATH. +---@field disableRustup boolean +-- Allow multiple projects in the same folder, along with removing the constraint that the cargo.toml must be located at the root. (Experimental: might not work for certain setups) +---@field enableMultiProjectSetup boolean +-- The underlying LSP server used to provide IDE support for Rust projects. -- -- ```lua --- default = "none" +-- default = "rls" -- ``` ----@field reportCallInDefaultInitializer "none" | "information" | "warning" | "error" | true | false --- Diagnostics for issues involving call expressions and arguments. +---@field engine "rls" | "rust-analyzer" +-- When set to true, RLS stderr is logged to a file at workspace root level. Requires reloading extension after change. +---@field logToFile boolean +-- Specifies message severity on which the output channel will be revealed. Requires reloading extension after change. -- -- ```lua --- default = "error" +-- default = "never" -- ``` ----@field reportCallIssue "none" | "information" | "warning" | "error" | true | false --- Diagnostics for attempts to redefine variables whose names are all-caps with underscores and numerals. +---@field revealOutputChannelOn "info" | "warn" | "error" | "never" +-- Override RLS path. Only required for RLS developers. If you set this and use rustup, you should also set `rust-client.channel` to ensure your RLS sees the right libraries. If you don't use rustup, make sure to set `rust-client.disableRustup`. +---@field rlsPath string +-- Path to rustup executable. Ignored if rustup is disabled. -- -- ```lua --- default = "none" +-- default = "rustup" -- ``` ----@field reportConstantRedefinition "none" | "information" | "warning" | "error" | true | false --- Diagnostics for use of deprecated classes or functions. +---@field rustupPath string +---@field trace _.lspconfig.settings.rls.Trace +-- Update the Rust toolchain and its required components whenever the extension starts up. +---@field updateOnStartup boolean + +---@class lspconfig.settings.rls +---@field rust _.lspconfig.settings.rls.Rust +---@field rust-client _.lspconfig.settings.rls.Rust-client + +---@class _.lspconfig.settings.rome.Rome +-- The rome lsp server executable. If the path is relative, the workspace folder will be used as base path +---@field lspBin string +-- Enable/Disable Rome handling renames in the workspace. (Experimental) +---@field rename boolean +-- Require a Rome configuration file to enable syntax errors, formatting and linting. Requires Rome 12 or newer. -- -- ```lua --- default = "none" +-- default = true -- ``` ----@field reportDeprecated "none" | "information" | "warning" | "error" | true | false --- Diagnostics for an imported symbol or module that is imported more than once. +---@field requireConfiguration boolean + +---@class _.lspconfig.settings.rome.Trace +-- Traces the communication between VS Code and the language server. -- -- ```lua --- default = "none" +-- default = "off" -- ``` ----@field reportDuplicateImport "none" | "information" | "warning" | "error" | true | false --- Diagnostics for member accesses on functions. +---@field server "off" | "messages" | "verbose" + +---@class _.lspconfig.settings.rome.Rome.Lsp +---@field trace _.lspconfig.settings.rome.Trace + +---@class lspconfig.settings.rome +---@field rome _.lspconfig.settings.rome.Rome +---@field rome_lsp _.lspconfig.settings.rome.Rome.Lsp + +---@class _.lspconfig.settings.rust_analyzer.TermSearch +-- Term search fuel in "units of work" for assists (Defaults to 400). -- -- ```lua --- default = "error" +-- default = 400 -- ``` ----@field reportFunctionMemberAccess "none" | "information" | "warning" | "error" | true | false --- Diagnostics for general type inconsistencies, unsupported operations, argument/parameter mismatches, etc. Covers all of the basic type-checking rules not covered by other rules. Does not include syntax errors. +---@field fuel integer + +---@class _.lspconfig.settings.rust_analyzer.Assist +-- Whether to insert #[must_use] when generating `as_` methods +-- for enum variants. +---@field emitMustUse boolean +-- Placeholder expression to use for missing expressions in assists. -- -- ```lua --- default = "error" +-- default = "todo" -- ``` ----@field reportGeneralTypeIssues "none" | "information" | "warning" | "error" | true | false --- Diagnostics for overridden methods that do not include an `@override` decorator. +---@field expressionFillDefault "todo" | "default" +---@field termSearch _.lspconfig.settings.rust_analyzer.TermSearch + +---@class _.lspconfig.settings.rust_analyzer.CachePriming +-- Warm up caches on project load. -- -- ```lua --- default = "none" +-- default = true -- ``` ----@field reportImplicitOverride "none" | "information" | "warning" | "error" | true | false --- Diagnostics for two or more string literals that follow each other, indicating an implicit concatenation. This is considered a bad practice and often masks bugs such as missing commas. +---@field enable boolean +-- How many worker threads to handle priming caches. The default `0` means to pick automatically. -- -- ```lua --- default = "none" +-- default = "physical" -- ``` ----@field reportImplicitStringConcatenation "none" | "information" | "warning" | "error" | true | false --- Diagnostics for cyclical import chains. These are not errors in Python, but they do slow down type analysis and often hint at architectural layering issues. Generally, they should be avoided. +---@field numThreads number|"physical" | "logical" + +---@class _.lspconfig.settings.rust_analyzer.BuildScripts +-- Run build scripts (`build.rs`) for more precise code analysis. -- -- ```lua --- default = "none" +-- default = true -- ``` ----@field reportImportCycles "none" | "information" | "warning" | "error" | true | false --- Diagnostics for methods that override a method of the same name in a base class in an incompatible manner (wrong number of parameters, incompatible parameter types, or incompatible return type). +---@field enable boolean +-- Specifies the working directory for running build scripts. +-- - "workspace": run build scripts for a workspace in the workspace's root directory. +-- This is incompatible with `#rust-analyzer.cargo.buildScripts.invocationStrategy#` set to `once`. +-- - "root": run build scripts in the project's root directory. +-- This config only has an effect when `#rust-analyzer.cargo.buildScripts.overrideCommand#` +-- is set. -- -- ```lua --- default = "error" +-- default = "workspace" -- ``` ----@field reportIncompatibleMethodOverride "none" | "information" | "warning" | "error" | true | false --- Diagnostics for overrides in subclasses that redefine a variable in an incompatible way. +---@field invocationLocation "workspace" | "root" +-- Specifies the invocation strategy to use when running the build scripts command. +-- If `per_workspace` is set, the command will be executed for each workspace. +-- If `once` is set, the command will be executed once. +-- This config only has an effect when `#rust-analyzer.cargo.buildScripts.overrideCommand#` +-- is set. -- -- ```lua --- default = "error" +-- default = "per_workspace" -- ``` ----@field reportIncompatibleVariableOverride "none" | "information" | "warning" | "error" | true | false --- Diagnostics for the use of a module-level “__getattr__” function, indicating that the stub is incomplete. +---@field invocationStrategy "per_workspace" | "once" +-- Override the command rust-analyzer uses to run build scripts and +-- build procedural macros. The command is required to output json +-- and should therefore include `--message-format=json` or a similar +-- option. +-- +-- If there are multiple linked projects/workspaces, this command is invoked for +-- each of them, with the working directory being the workspace root +-- (i.e., the folder containing the `Cargo.toml`). This can be overwritten +-- by changing `#rust-analyzer.cargo.buildScripts.invocationStrategy#` and +-- `#rust-analyzer.cargo.buildScripts.invocationLocation#`. +-- +-- By default, a cargo invocation will be constructed for the configured +-- targets and features, with the following base command line: +-- +-- ```bash +-- cargo check --quiet --workspace --message-format=json --all-targets +-- ``` +-- . +---@field overrideCommand string[] +-- Rerun proc-macros building/build-scripts running when proc-macro +-- or build-script sources change and are saved. -- -- ```lua --- default = "none" +-- default = true -- ``` ----@field reportIncompleteStub "none" | "information" | "warning" | "error" | true | false --- Diagnostics for __init__ and __new__ methods whose signatures are inconsistent. +---@field rebuildOnSave boolean +-- Use `RUSTC_WRAPPER=rust-analyzer` when running build scripts to +-- avoid checking unnecessary things. -- -- ```lua --- default = "none" +-- default = true -- ``` ----@field reportInconsistentConstructor "none" | "information" | "warning" | "error" | true | false --- Diagnostics for inconsistencies between function overload signatures and implementation. +---@field useRustcWrapper boolean + +---@class _.lspconfig.settings.rust_analyzer.Cargo +-- Pass `--all-targets` to cargo invocation. -- -- ```lua --- default = "error" +-- default = true -- ``` ----@field reportInconsistentOverload "none" | "information" | "warning" | "error" | true | false --- Diagnostics related to index operations and expressions. +---@field allTargets boolean +-- Automatically refresh project info via `cargo metadata` on +-- `Cargo.toml` or `.cargo/config.toml` changes. -- -- ```lua --- default = "error" +-- default = true -- ``` ----@field reportIndexIssue "none" | "information" | "warning" | "error" | true | false --- Diagnostics for invalid escape sequences used within string literals. The Python specification indicates that such sequences will generate a syntax error in future versions. +---@field autoreload boolean +---@field buildScripts _.lspconfig.settings.rust_analyzer.BuildScripts +-- List of cfg options to enable with the given values. -- -- ```lua --- default = "warning" +-- default = {} -- ``` ----@field reportInvalidStringEscapeSequence "none" | "information" | "warning" | "error" | true | false --- Diagnostics for type stub statements that do not conform to PEP 484. +---@field cfgs table +-- Extra arguments that are passed to every cargo invocation. -- -- ```lua --- default = "none" +-- default = {} -- ``` ----@field reportInvalidStubStatement "none" | "information" | "warning" | "error" | true | false --- Diagnostics for invalid type argument usage. +---@field extraArgs string[] +-- Extra environment variables that will be set when running cargo, rustc +-- or other commands within the workspace. Useful for setting RUSTFLAGS. -- -- ```lua --- default = "error" +-- default = {} -- ``` ----@field reportInvalidTypeArguments "none" | "information" | "warning" | "error" | true | false --- Diagnostics for type expression that uses an invalid form. +---@field extraEnv table +-- List of features to activate. +-- +-- Set this to `"all"` to pass `--all-features` to cargo. -- -- ```lua --- default = "error" +-- default = {} -- ``` ----@field reportInvalidTypeForm "none" | "information" | "warning" | "error" | true | false --- Diagnostics for improper use of type variables in a function signature. +---@field features "all"|string[] +-- Whether to pass `--no-default-features` to cargo. +---@field noDefaultFeatures boolean +-- Relative path to the sysroot, or "discover" to try to automatically find it via +-- "rustc --print sysroot". +-- +-- Unsetting this disables sysroot loading. +-- +-- This option does not take effect until rust-analyzer is restarted. -- -- ```lua --- default = "warning" +-- default = "discover" -- ``` ----@field reportInvalidTypeVarUse "none" | "information" | "warning" | "error" | true | false --- Diagnostics for 'match' statements that do not exhaustively match all possible values. +---@field sysroot string +-- Whether to run cargo metadata on the sysroot library allowing rust-analyzer to analyze +-- third-party dependencies of the standard libraries. +-- +-- This will cause `cargo` to create a lockfile in your sysroot directory. rust-analyzer +-- will attempt to clean up afterwards, but nevertheless requires the location to be +-- writable to. +---@field sysrootQueryMetadata boolean +-- Relative path to the sysroot library sources. If left unset, this will default to +-- `{cargo.sysroot}/lib/rustlib/src/rust/library`. +-- +-- This option does not take effect until rust-analyzer is restarted. +---@field sysrootSrc string +-- Compilation target override (target triple). +---@field target string +-- Optional path to a rust-analyzer specific target directory. +-- This prevents rust-analyzer's `cargo check` and initial build-script and proc-macro +-- building from locking the `Cargo.lock` at the expense of duplicating build artifacts. +-- +-- Set to `true` to use a subdirectory of the existing target directory or +-- set to a path relative to the workspace to use that path. +---@field targetDir any|boolean|string + +---@class _.lspconfig.settings.rust_analyzer.Check +-- Check all targets and tests (`--all-targets`). Defaults to +-- `#rust-analyzer.cargo.allTargets#`. +---@field allTargets boolean +-- Cargo command to use for `cargo check`. -- -- ```lua --- default = "none" +-- default = "check" -- ``` ----@field reportMatchNotExhaustive "none" | "information" | "warning" | "error" | true | false --- Diagnostics for imports that have no corresponding imported python file or type stub file. +---@field command string +-- Extra arguments for `cargo check`. -- -- ```lua --- default = "error" +-- default = {} -- ``` ----@field reportMissingImports "none" | "information" | "warning" | "error" | true | false --- Diagnostics for imports that have no corresponding source file. This happens when a type stub is found, but the module source file was not found, indicating that the code may fail at runtime when using this execution environment. Type checking will be done using the type stub. +---@field extraArgs string[] +-- Extra environment variables that will be set when running `cargo check`. +-- Extends `#rust-analyzer.cargo.extraEnv#`. -- -- ```lua --- default = "warning" +-- default = {} -- ``` ----@field reportMissingModuleSource "none" | "information" | "warning" | "error" | true | false --- Diagnostics for parameters that are missing a type annotation. +---@field extraEnv table +-- List of features to activate. Defaults to +-- `#rust-analyzer.cargo.features#`. +-- +-- Set to `"all"` to pass `--all-features` to Cargo. +---@field features "all"|string[]|any +-- List of `cargo check` (or other command specified in `check.command`) diagnostics to ignore. +-- +-- For example for `cargo check`: `dead_code`, `unused_imports`, `unused_variables`,... -- -- ```lua --- default = "none" +-- default = {} -- ``` ----@field reportMissingParameterType "none" | "information" | "warning" | "error" | true | false --- Diagnostics for missing call to parent class for inherited `__init__` methods. +---@field ignore string[] +-- Specifies the working directory for running checks. +-- - "workspace": run checks for workspaces in the corresponding workspaces' root directories. +-- This falls back to "root" if `#rust-analyzer.check.invocationStrategy#` is set to `once`. +-- - "root": run checks in the project's root directory. +-- This config only has an effect when `#rust-analyzer.check.overrideCommand#` +-- is set. -- -- ```lua --- default = "none" +-- default = "workspace" -- ``` ----@field reportMissingSuperCall "none" | "information" | "warning" | "error" | true | false --- Diagnostics for generic class reference with missing type arguments. +---@field invocationLocation "workspace" | "root" +-- Specifies the invocation strategy to use when running the check command. +-- If `per_workspace` is set, the command will be executed for each workspace. +-- If `once` is set, the command will be executed once. +-- This config only has an effect when `#rust-analyzer.check.overrideCommand#` +-- is set. -- -- ```lua --- default = "none" +-- default = "per_workspace" -- ``` ----@field reportMissingTypeArgument "none" | "information" | "warning" | "error" | true | false --- Diagnostics for imports that have no corresponding type stub file (either a typeshed file or a custom type stub). The type checker requires type stubs to do its best job at analysis. +---@field invocationStrategy "per_workspace" | "once" +-- Whether to pass `--no-default-features` to Cargo. Defaults to +-- `#rust-analyzer.cargo.noDefaultFeatures#`. +---@field noDefaultFeatures boolean +-- Override the command rust-analyzer uses instead of `cargo check` for +-- diagnostics on save. The command is required to output json and +-- should therefore include `--message-format=json` or a similar option +-- (if your client supports the `colorDiagnosticOutput` experimental +-- capability, you can use `--message-format=json-diagnostic-rendered-ansi`). +-- +-- If you're changing this because you're using some tool wrapping +-- Cargo, you might also want to change +-- `#rust-analyzer.cargo.buildScripts.overrideCommand#`. +-- +-- If there are multiple linked projects/workspaces, this command is invoked for +-- each of them, with the working directory being the workspace root +-- (i.e., the folder containing the `Cargo.toml`). This can be overwritten +-- by changing `#rust-analyzer.check.invocationStrategy#` and +-- `#rust-analyzer.check.invocationLocation#`. +-- +-- If `$saved_file` is part of the command, rust-analyzer will pass +-- the absolute path of the saved file to the provided command. This is +-- intended to be used with non-Cargo build systems. +-- Note that `$saved_file` is experimental and may be removed in the future. +-- +-- An example command would be: +-- +-- ```bash +-- cargo check --workspace --message-format=json --all-targets +-- ``` +-- . +---@field overrideCommand string[] +-- Check for specific targets. Defaults to `#rust-analyzer.cargo.target#` if empty. +-- +-- Can be a single target, e.g. `"x86_64-unknown-linux-gnu"` or a list of targets, e.g. +-- `["aarch64-apple-darwin", "x86_64-apple-darwin"]`. +-- +-- Aliased as `"checkOnSave.targets"`. +---@field targets any|string|string[] +-- Whether `--workspace` should be passed to `cargo check`. +-- If false, `-p ` will be passed instead. -- -- ```lua --- default = "none" +-- default = true -- ``` ----@field reportMissingTypeStubs "none" | "information" | "warning" | "error" | true | false --- Diagnostics for an overloaded function or method with a missing implementation. +---@field workspace boolean + +---@class _.lspconfig.settings.rust_analyzer.Autoimport +-- Toggles the additional completions that automatically add imports when completed. +-- Note that your client must specify the `additionalTextEdits` LSP client capability to truly have this feature enabled. -- -- ```lua --- default = "error" +-- default = true -- ``` ----@field reportNoOverloadImplementation "none" | "information" | "warning" | "error" | true | false --- Diagnostics for related to unary or binary operators. +---@field enable boolean + +---@class _.lspconfig.settings.rust_analyzer.Autoself +-- Toggles the additional completions that automatically show method calls and field accesses +-- with `self` prefixed to them when inside a method. -- -- ```lua --- default = "error" +-- default = true -- ``` ----@field reportOperatorIssue "none" | "information" | "warning" | "error" | true | false --- Diagnostics for an attempt to call a variable with an Optional type. +---@field enable boolean + +---@class _.lspconfig.settings.rust_analyzer.Callable +-- Whether to add parenthesis and argument snippets when completing function. -- -- ```lua --- default = "error" +-- default = "fill_arguments" -- ``` ----@field reportOptionalCall "none" | "information" | "warning" | "error" | true | false --- Diagnostics for an attempt to use an Optional type as a context manager (as a parameter to a with statement). +---@field snippets "fill_arguments" | "add_parentheses" | "none" + +---@class _.lspconfig.settings.rust_analyzer.FullFunctionSignatures +-- Whether to show full function/method signatures in completion docs. +---@field enable boolean + +---@class _.lspconfig.settings.rust_analyzer.Postfix +-- Whether to show postfix snippets like `dbg`, `if`, `not`, etc. -- -- ```lua --- default = "error" +-- default = true -- ``` ----@field reportOptionalContextManager "none" | "information" | "warning" | "error" | true | false --- Diagnostics for an attempt to use an Optional type as an iterable value (e.g. within a for statement). +---@field enable boolean + +---@class _.lspconfig.settings.rust_analyzer.PrivateEditable +-- Enables completions of private items and fields that are defined in the current workspace even if they are not visible at the current position. +---@field enable boolean + +---@class _.lspconfig.settings.rust_analyzer.Snippets +-- Custom completion snippets. -- -- ```lua --- default = "error" +-- default = { +-- ["Arc::new"] = { +-- body = "Arc::new(${receiver})", +-- description = "Put the expression into an `Arc`", +-- postfix = "arc", +-- requires = "std::sync::Arc", +-- scope = "expr" +-- }, +-- ["Box::pin"] = { +-- body = "Box::pin(${receiver})", +-- description = "Put the expression into a pinned `Box`", +-- postfix = "pinbox", +-- requires = "std::boxed::Box", +-- scope = "expr" +-- }, +-- Err = { +-- body = "Err(${receiver})", +-- description = "Wrap the expression in a `Result::Err`", +-- postfix = "err", +-- scope = "expr" +-- }, +-- Ok = { +-- body = "Ok(${receiver})", +-- description = "Wrap the expression in a `Result::Ok`", +-- postfix = "ok", +-- scope = "expr" +-- }, +-- ["Rc::new"] = { +-- body = "Rc::new(${receiver})", +-- description = "Put the expression into an `Rc`", +-- postfix = "rc", +-- requires = "std::rc::Rc", +-- scope = "expr" +-- }, +-- Some = { +-- body = "Some(${receiver})", +-- description = "Wrap the expression in an `Option::Some`", +-- postfix = "some", +-- scope = "expr" +-- } +-- } -- ``` ----@field reportOptionalIterable "none" | "information" | "warning" | "error" | true | false --- Diagnostics for an attempt to access a member of a variable with an Optional type. +---@field custom table + +---@class _.lspconfig.settings.rust_analyzer.TermSearch +-- Whether to enable term search based snippets like `Some(foo.bar().baz())`. +---@field enable boolean +-- Term search fuel in "units of work" for autocompletion (Defaults to 200). -- -- ```lua --- default = "error" +-- default = 200 -- ``` ----@field reportOptionalMemberAccess "none" | "information" | "warning" | "error" | true | false --- Diagnostics for an attempt to use an Optional type as an operand to a binary or unary operator (like '+', '==', 'or', 'not'). +---@field fuel integer + +---@class _.lspconfig.settings.rust_analyzer.Completion +---@field autoimport _.lspconfig.settings.rust_analyzer.Autoimport +---@field autoself _.lspconfig.settings.rust_analyzer.Autoself +---@field callable _.lspconfig.settings.rust_analyzer.Callable +---@field fullFunctionSignatures _.lspconfig.settings.rust_analyzer.FullFunctionSignatures +-- Maximum number of completions to return. If `None`, the limit is infinite. +---@field limit integer +---@field postfix _.lspconfig.settings.rust_analyzer.Postfix +---@field privateEditable _.lspconfig.settings.rust_analyzer.PrivateEditable +---@field snippets _.lspconfig.settings.rust_analyzer.Snippets +---@field termSearch _.lspconfig.settings.rust_analyzer.TermSearch + +---@class _.lspconfig.settings.rust_analyzer.Debug +-- Preferred debug engine. -- -- ```lua --- default = "error" +-- default = "auto" -- ``` ----@field reportOptionalOperand "none" | "information" | "warning" | "error" | true | false --- Diagnostics for an attempt to subscript (index) a variable with an Optional type. +---@field engine "auto" | "vadimcn.vscode-lldb" | "ms-vscode.cpptools" +-- Optional settings passed to the debug engine. Example: `{ "lldb": { "terminal":"external"} }` -- -- ```lua --- default = "error" +-- default = {} -- ``` ----@field reportOptionalSubscript "none" | "information" | "warning" | "error" | true | false --- Diagnostics for function overloads that overlap in signature and obscure each other or have incompatible return types. +---@field engineSettings table +-- Whether to open up the `Debug Panel` on debugging start. +---@field openDebugPane boolean +-- Optional source file mappings passed to the debug engine. -- -- ```lua --- default = "error" +-- default = { +-- ["/rustc/"] = "${env:USERPROFILE}/.rustup/toolchains//lib/rustlib/src/rust" +-- } -- ``` ----@field reportOverlappingOverload "none" | "information" | "warning" | "error" | true | false --- Diagnostics for the use of variables that may be unbound on some code paths. +---@field sourceFileMap table|string + +---@class _.lspconfig.settings.rust_analyzer.Experimental +-- Whether to show experimental rust-analyzer diagnostics that might +-- have more false positives than usual. +---@field enable boolean + +---@class _.lspconfig.settings.rust_analyzer.StyleLints +-- Whether to run additional style lints. +---@field enable boolean + +---@class _.lspconfig.settings.rust_analyzer.Diagnostics +-- List of rust-analyzer diagnostics to disable. -- -- ```lua --- default = "error" +-- default = {} -- ``` ----@field reportPossiblyUnboundVariable "none" | "information" | "warning" | "error" | true | false --- Diagnostics for incorrect usage of symbol imported from a "py.typed" module that is not re-exported from that module. +---@field disabled string[] +-- Whether to show native rust-analyzer diagnostics. -- -- ```lua --- default = "error" +-- default = true -- ``` ----@field reportPrivateImportUsage "none" | "information" | "warning" | "error" | true | false --- Diagnostics for incorrect usage of private or protected variables or functions. Protected class members begin with a single underscore _ and can be accessed only by subclasses. Private class members begin with a double underscore but do not end in a double underscore and can be accessed only within the declaring class. Variables and functions declared outside of a class are considered private if their names start with either a single or double underscore, and they cannot be accessed outside of the declaring module. +---@field enable boolean +---@field experimental _.lspconfig.settings.rust_analyzer.Experimental +-- Whether to show the main part of the rendered rustc output of a diagnostic message. +---@field previewRustcOutput boolean +-- Map of prefixes to be substituted when parsing diagnostic file paths. +-- This should be the reverse mapping of what is passed to `rustc` as `--remap-path-prefix`. -- -- ```lua --- default = "none" +-- default = {} -- ``` ----@field reportPrivateUsage "none" | "information" | "warning" | "error" | true | false --- Diagnostics for property whose setter and getter have mismatched types. +---@field remapPrefix table +---@field styleLints _.lspconfig.settings.rust_analyzer.StyleLints +-- Whether to show diagnostics using the original rustc error code. If this is false, all rustc diagnostics will have the code 'rustc(Click for full compiler diagnostics)' +---@field useRustcErrorCode boolean +-- List of warnings that should be displayed with hint severity. -- --- ```lua --- default = "none" --- ``` ----@field reportPropertyTypeMismatch "none" | "information" | "warning" | "error" | true | false --- Diagnostics for an attempt to declare the type of a symbol multiple times. +-- The warnings will be indicated by faded text or three dots in code +-- and will not show up in the `Problems Panel`. -- -- ```lua --- default = "error" +-- default = {} -- ``` ----@field reportRedeclaration "none" | "information" | "warning" | "error" | true | false --- Diagnostics related to function return type compatibility. +---@field warningsAsHint string[] +-- List of warnings that should be displayed with info severity. +-- +-- The warnings will be indicated by a blue squiggly underline in code +-- and a blue icon in the `Problems Panel`. -- -- ```lua --- default = "error" +-- default = {} -- ``` ----@field reportReturnType "none" | "information" | "warning" | "error" | true | false --- Diagnostics for a missing or misnamed “self” parameter in instance methods and “cls” parameter in class methods. Instance methods in metaclasses (classes that derive from “type”) are allowed to use “cls” for instance methods. +---@field warningsAsInfo string[] + +---@class _.lspconfig.settings.rust_analyzer.Files +-- These directories will be ignored by rust-analyzer. They are +-- relative to the workspace root, and globs are not supported. You may +-- also need to add the folders to Code's `files.watcherExclude`. -- -- ```lua --- default = "warning" +-- default = {} -- ``` ----@field reportSelfClsParameterName "none" | "information" | "warning" | "error" | true | false --- Diagnostics for files that are overriding a module in the stdlib. +---@field excludeDirs string[] +-- Controls file watching implementation. -- -- ```lua --- default = "none" +-- default = "client" -- ``` ----@field reportShadowedImports "none" | "information" | "warning" | "error" | true | false --- Diagnostics for usage of deprecated type comments. +---@field watcher "client" | "server" + +---@class _.lspconfig.settings.rust_analyzer.BreakPoints +-- Enables highlighting of related references while the cursor is on `break`, `loop`, `while`, or `for` keywords. -- -- ```lua --- default = "none" +-- default = true -- ``` ----@field reportTypeCommentUsage "none" | "information" | "warning" | "error" | true | false --- Diagnostics for an attempt to access a non-required key within a TypedDict without a check for its presence. +---@field enable boolean + +---@class _.lspconfig.settings.rust_analyzer.ClosureCaptures +-- Enables highlighting of all captures of a closure while the cursor is on the `|` or move keyword of a closure. -- -- ```lua --- default = "error" +-- default = true -- ``` ----@field reportTypedDictNotRequiredAccess "none" | "information" | "warning" | "error" | true | false --- Diagnostics for the use of unbound variables. +---@field enable boolean + +---@class _.lspconfig.settings.rust_analyzer.ExitPoints +-- Enables highlighting of all exit points while the cursor is on any `return`, `?`, `fn`, or return type arrow (`->`). -- -- ```lua --- default = "error" +-- default = true -- ``` ----@field reportUnboundVariable "none" | "information" | "warning" | "error" | true | false --- Diagnostics for undefined variables. +---@field enable boolean + +---@class _.lspconfig.settings.rust_analyzer.References +-- Enables highlighting of related references while the cursor is on any identifier. -- -- ```lua --- default = "error" +-- default = true -- ``` ----@field reportUndefinedVariable "none" | "information" | "warning" | "error" | true | false --- Diagnostics for the use of an unhashable object in a container that requires hashability. +---@field enable boolean + +---@class _.lspconfig.settings.rust_analyzer.YieldPoints +-- Enables highlighting of all break points for a loop or block context while the cursor is on any `async` or `await` keywords. -- -- ```lua --- default = "error" +-- default = true -- ``` ----@field reportUnhashable "none" | "information" | "warning" | "error" | true | false --- Diagnostics for instance variables that are not declared or initialized within class body or `__init__` method. +---@field enable boolean + +---@class _.lspconfig.settings.rust_analyzer.HighlightRelated +---@field breakPoints _.lspconfig.settings.rust_analyzer.BreakPoints +---@field closureCaptures _.lspconfig.settings.rust_analyzer.ClosureCaptures +---@field exitPoints _.lspconfig.settings.rust_analyzer.ExitPoints +---@field references _.lspconfig.settings.rust_analyzer.References +---@field yieldPoints _.lspconfig.settings.rust_analyzer.YieldPoints + +---@class _.lspconfig.settings.rust_analyzer.Debug +-- Whether to show `Debug` action. Only applies when +-- `#rust-analyzer.hover.actions.enable#` is set. -- -- ```lua --- default = "none" +-- default = true -- ``` ----@field reportUninitializedInstanceVariable "none" | "information" | "warning" | "error" | true | false --- Diagnostics for call arguments for functions or methods that have an unknown type. +---@field enable boolean + +---@class _.lspconfig.settings.rust_analyzer.GotoTypeDef +-- Whether to show `Go to Type Definition` action. Only applies when +-- `#rust-analyzer.hover.actions.enable#` is set. -- -- ```lua --- default = "none" +-- default = true -- ``` ----@field reportUnknownArgumentType "none" | "information" | "warning" | "error" | true | false --- Diagnostics for input or return parameters for lambdas that have an unknown type. +---@field enable boolean + +---@class _.lspconfig.settings.rust_analyzer.Implementations +-- Whether to show `Implementations` action. Only applies when +-- `#rust-analyzer.hover.actions.enable#` is set. -- -- ```lua --- default = "none" +-- default = true -- ``` ----@field reportUnknownLambdaType "none" | "information" | "warning" | "error" | true | false --- Diagnostics for class or instance variables that have an unknown type. +---@field enable boolean + +---@class _.lspconfig.settings.rust_analyzer.References +-- Whether to show `References` action. Only applies when +-- `#rust-analyzer.hover.actions.enable#` is set. +---@field enable boolean + +---@class _.lspconfig.settings.rust_analyzer.Run +-- Whether to show `Run` action. Only applies when +-- `#rust-analyzer.hover.actions.enable#` is set. -- -- ```lua --- default = "none" +-- default = true -- ``` ----@field reportUnknownMemberType "none" | "information" | "warning" | "error" | true | false --- Diagnostics for input or return parameters for functions or methods that have an unknown type. +---@field enable boolean + +---@class _.lspconfig.settings.rust_analyzer.Actions +---@field debug _.lspconfig.settings.rust_analyzer.Debug +-- Whether to show HoverActions in Rust files. -- -- ```lua --- default = "none" +-- default = true -- ``` ----@field reportUnknownParameterType "none" | "information" | "warning" | "error" | true | false --- Diagnostics for variables that have an unknown type.. +---@field enable boolean +---@field gotoTypeDef _.lspconfig.settings.rust_analyzer.GotoTypeDef +---@field implementations _.lspconfig.settings.rust_analyzer.Implementations +---@field references _.lspconfig.settings.rust_analyzer.References +---@field run _.lspconfig.settings.rust_analyzer.Run + +---@class _.lspconfig.settings.rust_analyzer.Keywords +-- Whether to show keyword hover popups. Only applies when +-- `#rust-analyzer.hover.documentation.enable#` is set. -- -- ```lua --- default = "none" +-- default = true -- ``` ----@field reportUnknownVariableType "none" | "information" | "warning" | "error" | true | false --- Diagnostics for 'cast' calls that are statically determined to be unnecessary. Such calls are sometimes indicative of a programming error. +---@field enable boolean + +---@class _.lspconfig.settings.rust_analyzer.Documentation +-- Whether to show documentation on hover. -- -- ```lua --- default = "none" +-- default = true -- ``` ----@field reportUnnecessaryCast "none" | "information" | "warning" | "error" | true | false --- Diagnostics for '==' and '!=' comparisons that are statically determined to be unnecessary. Such calls are sometimes indicative of a programming error. +---@field enable boolean +---@field keywords _.lspconfig.settings.rust_analyzer.Keywords + +---@class _.lspconfig.settings.rust_analyzer.Links +-- Use markdown syntax for links on hover. -- -- ```lua --- default = "none" +-- default = true -- ``` ----@field reportUnnecessaryComparison "none" | "information" | "warning" | "error" | true | false --- Diagnostics for 'in' operation that is statically determined to be unnecessary. Such operations are sometimes indicative of a programming error. +---@field enable boolean + +---@class _.lspconfig.settings.rust_analyzer.MemoryLayout +-- How to render the align information in a memory layout hover. -- -- ```lua --- default = "none" +-- default = "hexadecimal" -- ``` ----@field reportUnnecessaryContains "none" | "information" | "warning" | "error" | true | false --- Diagnostics for 'isinstance' or 'issubclass' calls where the result is statically determined to be always true. Such calls are often indicative of a programming error. +---@field alignment any|"both" | "decimal" | "hexadecimal" +-- Whether to show memory layout data on hover. -- -- ```lua --- default = "none" +-- default = true -- ``` ----@field reportUnnecessaryIsInstance "none" | "information" | "warning" | "error" | true | false --- Diagnostics for '# type: ignore' comments that have no effect. +---@field enable boolean +-- How to render the niche information in a memory layout hover. +---@field niches boolean +-- How to render the offset information in a memory layout hover. -- -- ```lua --- default = "none" +-- default = "hexadecimal" -- ``` ----@field reportUnnecessaryTypeIgnoreComment "none" | "information" | "warning" | "error" | true | false --- Diagnostics for unsupported operations performed on __all__. +---@field offset any|"both" | "decimal" | "hexadecimal" +-- How to render the size information in a memory layout hover. -- -- ```lua --- default = "warning" +-- default = "both" -- ``` ----@field reportUnsupportedDunderAll "none" | "information" | "warning" | "error" | true | false --- Diagnostics for base classes whose type cannot be determined statically. These obscure the class type, defeating many type analysis features. +---@field size any|"both" | "decimal" | "hexadecimal" + +---@class _.lspconfig.settings.rust_analyzer.Show +-- How many variants of an enum to display when hovering on. Show none if empty. -- -- ```lua --- default = "none" +-- default = 5 -- ``` ----@field reportUntypedBaseClass "none" | "information" | "warning" | "error" | true | false --- Diagnostics for class decorators that have no type annotations. These obscure the class type, defeating many type analysis features. +---@field enumVariants integer +-- How many fields of a struct, variant or union to display when hovering on. Show none if empty. -- -- ```lua --- default = "none" +-- default = 5 -- ``` ----@field reportUntypedClassDecorator "none" | "information" | "warning" | "error" | true | false --- Diagnostics for function decorators that have no type annotations. These obscure the function type, defeating many type analysis features. +---@field fields integer +-- How many associated items of a trait to display when hovering a trait. +---@field traitAssocItems integer + +---@class _.lspconfig.settings.rust_analyzer.Hover +---@field actions _.lspconfig.settings.rust_analyzer.Actions +---@field documentation _.lspconfig.settings.rust_analyzer.Documentation +---@field links _.lspconfig.settings.rust_analyzer.Links +---@field memoryLayout _.lspconfig.settings.rust_analyzer.MemoryLayout +---@field show _.lspconfig.settings.rust_analyzer.Show + +---@class _.lspconfig.settings.rust_analyzer.Granularity +-- Whether to enforce the import granularity setting for all files. If set to false rust-analyzer will try to keep import styles consistent per file. +---@field enforce boolean +-- How imports should be grouped into use statements. -- -- ```lua --- default = "none" +-- default = "crate" -- ``` ----@field reportUntypedFunctionDecorator "none" | "information" | "warning" | "error" | true | false --- Diagnostics when “namedtuple” is used rather than “NamedTuple”. The former contains no type information, whereas the latter does. +---@field group "preserve" | "crate" | "module" | "item" | "one" + +---@class _.lspconfig.settings.rust_analyzer.Group +-- Group inserted imports by the [following order](https://rust-analyzer.github.io/manual.html#auto-import). Groups are separated by newlines. -- -- ```lua --- default = "none" +-- default = true -- ``` ----@field reportUntypedNamedTuple "none" | "information" | "warning" | "error" | true | false --- Diagnostics for call expressions whose results are not consumed and are not None. +---@field enable boolean + +---@class _.lspconfig.settings.rust_analyzer.Merge +-- Whether to allow import insertion to merge new imports into single path glob imports like `use std::fmt::*;`. -- -- ```lua --- default = "none" +-- default = true -- ``` ----@field reportUnusedCallResult "none" | "information" | "warning" | "error" | true | false --- Diagnostics for a class with a private name (starting with an underscore) that is not accessed. +---@field glob boolean + +---@class _.lspconfig.settings.rust_analyzer.Imports +---@field granularity _.lspconfig.settings.rust_analyzer.Granularity +---@field group _.lspconfig.settings.rust_analyzer.Group +---@field merge _.lspconfig.settings.rust_analyzer.Merge +-- Prefer to unconditionally use imports of the core and alloc crate, over the std crate. +---@field preferNoStd boolean +-- Whether to prefer import paths containing a `prelude` module. +---@field preferPrelude boolean +-- The path structure for newly inserted paths to use. -- -- ```lua --- default = "none" +-- default = "plain" -- ``` ----@field reportUnusedClass "none" | "information" | "warning" | "error" | true | false --- Diagnostics for call expressions that return a Coroutine and whose results are not consumed. +---@field prefix "plain" | "self" | "crate" + +---@class _.lspconfig.settings.rust_analyzer.BindingModeHints +-- Whether to show inlay type hints for binding modes. +---@field enable boolean + +---@class _.lspconfig.settings.rust_analyzer.ChainingHints +-- Whether to show inlay type hints for method chains. -- -- ```lua --- default = "error" +-- default = true -- ``` ----@field reportUnusedCoroutine "none" | "information" | "warning" | "error" | true | false --- Diagnostics for unreachable except clause. +---@field enable boolean + +---@class _.lspconfig.settings.rust_analyzer.ClosingBraceHints +-- Whether to show inlay hints after a closing `}` to indicate what item it belongs to. -- -- ```lua --- default = "error" +-- default = true -- ``` ----@field reportUnusedExcept "none" | "information" | "warning" | "error" | true | false --- Diagnostics for simple expressions whose value is not used in any way. +---@field enable boolean +-- Minimum number of lines required before the `}` until the hint is shown (set to 0 or 1 +-- to always show them). -- -- ```lua --- default = "warning" +-- default = 25 -- ``` ----@field reportUnusedExpression "none" | "information" | "warning" | "error" | true | false --- Diagnostics for a function or method with a private name (starting with an underscore) that is not accessed. +---@field minLines integer + +---@class _.lspconfig.settings.rust_analyzer.ClosureCaptureHints +-- Whether to show inlay hints for closure captures. +---@field enable boolean + +---@class _.lspconfig.settings.rust_analyzer.ClosureReturnTypeHints +-- Whether to show inlay type hints for return types of closures. -- -- ```lua --- default = "none" +-- default = "never" -- ``` ----@field reportUnusedFunction "none" | "information" | "warning" | "error" | true | false --- Diagnostics for an imported symbol that is not referenced within that file. +---@field enable "always" | "never" | "with_block" + +---@class _.lspconfig.settings.rust_analyzer.DiscriminantHints +-- Whether to show enum variant discriminant hints. -- -- ```lua --- default = "none" +-- default = "never" -- ``` ----@field reportUnusedImport "none" | "information" | "warning" | "error" | true | false --- Diagnostics for a variable that is not accessed. +---@field enable "always" | "never" | "fieldless" + +---@class _.lspconfig.settings.rust_analyzer.ExpressionAdjustmentHints +-- Whether to show inlay hints for type adjustments. -- -- ```lua --- default = "none" +-- default = "never" -- ``` ----@field reportUnusedVariable "none" | "information" | "warning" | "error" | true | false --- Diagnostics for an wildcard import from an external library. +---@field enable "always" | "never" | "reborrow" +-- Whether to hide inlay hints for type adjustments outside of `unsafe` blocks. +---@field hideOutsideUnsafe boolean +-- Whether to show inlay hints as postfix ops (`.*` instead of `*`, etc). -- -- ```lua --- default = "warning" +-- default = "prefix" -- ``` ----@field reportWildcardImportFromLibrary "none" | "information" | "warning" | "error" | true | false +---@field mode "prefix" | "postfix" | "prefer_prefix" | "prefer_postfix" ----@class _.lspconfig.settings.pyright.Analysis --- Offer auto-import completions. +---@class _.lspconfig.settings.rust_analyzer.ImplicitDrops +-- Whether to show implicit drop hints. +---@field enable boolean + +---@class _.lspconfig.settings.rust_analyzer.LifetimeElisionHints +-- Whether to show inlay type hints for elided lifetimes in function signatures. -- -- ```lua --- default = true +-- default = "never" -- ``` ----@field autoImportCompletions boolean --- Automatically add common search paths like 'src'? +---@field enable "always" | "never" | "skip_trivial" +-- Whether to prefer using parameter names as the name for elided lifetime hints if possible. +---@field useParameterNames boolean + +---@class _.lspconfig.settings.rust_analyzer.ParameterHints +-- Whether to show function parameter name inlay hints at the call +-- site. -- -- ```lua -- default = true -- ``` ----@field autoSearchPaths boolean --- ```lua --- default = "openFilesOnly" --- ``` ----@field diagnosticMode "openFilesOnly" | "workspace" --- Allows a user to override the severity levels for individual diagnostics. Use the rule name as a key and one of "error", "warning", "information", "none", `true` (alias for "error") or `false` (alias for "none") as value. The default value shown for each diagnostic is the default when "python.analysis.typeCheckingMode" is set to "standard". See [here](https://github.com/microsoft/pyright/blob/main/docs/configuration.md#diagnostic-rule-defaults) for defaults for each type checking mode ("off", "basic", "standard", and "strict"). ----@field diagnosticSeverityOverrides _.lspconfig.settings.pyright.DiagnosticSeverityOverrides --- Paths of directories or files that should not be included. These override the include directories, allowing specific subdirectories to be excluded. Note that files in the exclude paths may still be included in the analysis if they are referenced (imported) by source files that are not excluded. Paths may contain wildcard characters ** (a directory or multiple levels of directories), * (a sequence of zero or more characters), or ? (a single character). If no exclude paths are specified, pyright automatically excludes the following: `**/node_modules`, `**/__pycache__`, `.git` and any virtual environment directories. +---@field enable boolean + +---@class _.lspconfig.settings.rust_analyzer.RangeExclusiveHints +-- Whether to show exclusive range inlay hints. +---@field enable boolean + +---@class _.lspconfig.settings.rust_analyzer.ReborrowHints +-- Whether to show inlay hints for compiler inserted reborrows. +-- This setting is deprecated in favor of #rust-analyzer.inlayHints.expressionAdjustmentHints.enable#. -- -- ```lua --- default = {} +-- default = "never" -- ``` ----@field exclude string[] --- Additional import search resolution paths +---@field enable "always" | "never" | "mutable" + +---@class _.lspconfig.settings.rust_analyzer.TypeHints +-- Whether to show inlay type hints for variables. -- -- ```lua --- default = {} +-- default = true -- ``` ----@field extraPaths string[] --- Paths of directories or files whose diagnostic output (errors and warnings) should be suppressed even if they are an included file or within the transitive closure of an included file. Paths may contain wildcard characters ** (a directory or multiple levels of directories), * (a sequence of zero or more characters), or ? (a single character). If no value is provided, the value of python.linting.ignorePatterns (if set) will be used. +---@field enable boolean +-- Whether to hide inlay type hints for `let` statements that initialize to a closure. +-- Only applies to closures with blocks, same as `#rust-analyzer.inlayHints.closureReturnTypeHints.enable#`. +---@field hideClosureInitialization boolean +-- Whether to hide inlay type hints for constructors. +---@field hideNamedConstructor boolean + +---@class _.lspconfig.settings.rust_analyzer.InlayHints +---@field bindingModeHints _.lspconfig.settings.rust_analyzer.BindingModeHints +---@field chainingHints _.lspconfig.settings.rust_analyzer.ChainingHints +---@field closingBraceHints _.lspconfig.settings.rust_analyzer.ClosingBraceHints +---@field closureCaptureHints _.lspconfig.settings.rust_analyzer.ClosureCaptureHints +---@field closureReturnTypeHints _.lspconfig.settings.rust_analyzer.ClosureReturnTypeHints +-- Closure notation in type and chaining inlay hints. -- -- ```lua --- default = {} +-- default = "impl_fn" -- ``` ----@field ignore string[] --- Paths of directories or files that should be included. If no paths are specified, pyright defaults to the workspace root directory. Paths may contain wildcard characters ** (a directory or multiple levels of directories), * (a sequence of zero or more characters), or ? (a single character). +---@field closureStyle "impl_fn" | "rust_analyzer" | "with_id" | "hide" +---@field discriminantHints _.lspconfig.settings.rust_analyzer.DiscriminantHints +---@field expressionAdjustmentHints _.lspconfig.settings.rust_analyzer.ExpressionAdjustmentHints +---@field implicitDrops _.lspconfig.settings.rust_analyzer.ImplicitDrops +---@field lifetimeElisionHints _.lspconfig.settings.rust_analyzer.LifetimeElisionHints +-- Maximum length for inlay hints. Set to null to have an unlimited length. -- -- ```lua --- default = {} +-- default = 25 -- ``` ----@field include string[] --- Specifies the level of logging for the Output panel +---@field maxLength integer +---@field parameterHints _.lspconfig.settings.rust_analyzer.ParameterHints +---@field rangeExclusiveHints _.lspconfig.settings.rust_analyzer.RangeExclusiveHints +---@field reborrowHints _.lspconfig.settings.rust_analyzer.ReborrowHints +-- Whether to render leading colons for type hints, and trailing colons for parameter hints. -- -- ```lua --- default = "Information" +-- default = true -- ``` ----@field logLevel "Error" | "Warning" | "Information" | "Trace" --- Path to directory containing custom type stub files. +---@field renderColons boolean +---@field typeHints _.lspconfig.settings.rust_analyzer.TypeHints + +---@class _.lspconfig.settings.rust_analyzer.Interpret +-- Enables the experimental support for interpreting tests. +---@field tests boolean + +---@class _.lspconfig.settings.rust_analyzer.JoinLines +-- Join lines merges consecutive declaration and initialization of an assignment. -- -- ```lua --- default = "typings" +-- default = true -- ``` ----@field stubPath string --- Defines the default rule set for type checking. +---@field joinAssignments boolean +-- Join lines inserts else between consecutive ifs. -- -- ```lua --- default = "standard" +-- default = true -- ``` ----@field typeCheckingMode "off" | "basic" | "standard" | "strict" --- Paths to look for typeshed modules. +---@field joinElseIf boolean +-- Join lines removes trailing commas. -- -- ```lua --- default = {} +-- default = true -- ``` ----@field typeshedPaths string[] --- Use library implementations to extract type information when type stub is not present. +---@field removeTrailingComma boolean +-- Join lines unwraps trivial blocks. -- -- ```lua -- default = true -- ``` ----@field useLibraryCodeForTypes boolean +---@field unwrapTrivialBlock boolean ----@class _.lspconfig.settings.pyright.Python ----@field analysis _.lspconfig.settings.pyright.Analysis --- Path to Python, you can use a custom version of Python. +---@class _.lspconfig.settings.rust_analyzer.Debug +-- Whether to show `Debug` lens. Only applies when +-- `#rust-analyzer.lens.enable#` is set. -- -- ```lua --- default = "python" +-- default = true -- ``` ----@field pythonPath string --- Path to folder with a list of Virtual Environments. +---@field enable boolean + +---@class _.lspconfig.settings.rust_analyzer.Implementations +-- Whether to show `Implementations` lens. Only applies when +-- `#rust-analyzer.lens.enable#` is set. -- -- ```lua --- default = "" +-- default = true -- ``` ----@field venvPath string +---@field enable boolean ----@class lspconfig.settings.pyright ----@field pyright _.lspconfig.settings.pyright.Pyright ----@field python _.lspconfig.settings.pyright.Python +---@class _.lspconfig.settings.rust_analyzer.Adt +-- Whether to show `References` lens for Struct, Enum, and Union. +-- Only applies when `#rust-analyzer.lens.enable#` is set. +---@field enable boolean ----@class _.lspconfig.settings.r_language_server.Lsp --- The command line arguments to use when launching R Language Server +---@class _.lspconfig.settings.rust_analyzer.EnumVariant +-- Whether to show `References` lens for Enum Variants. +-- Only applies when `#rust-analyzer.lens.enable#` is set. +---@field enable boolean + +---@class _.lspconfig.settings.rust_analyzer.Method +-- Whether to show `Method References` lens. Only applies when +-- `#rust-analyzer.lens.enable#` is set. +---@field enable boolean + +---@class _.lspconfig.settings.rust_analyzer.Trait +-- Whether to show `References` lens for Trait. +-- Only applies when `#rust-analyzer.lens.enable#` is set. +---@field enable boolean + +---@class _.lspconfig.settings.rust_analyzer.References +---@field adt _.lspconfig.settings.rust_analyzer.Adt +---@field enumVariant _.lspconfig.settings.rust_analyzer.EnumVariant +---@field method _.lspconfig.settings.rust_analyzer.Method +---@field trait _.lspconfig.settings.rust_analyzer.Trait + +---@class _.lspconfig.settings.rust_analyzer.Run +-- Whether to show `Run` lens. Only applies when +-- `#rust-analyzer.lens.enable#` is set. -- -- ```lua --- default = {} +-- default = true -- ``` ----@field args any[] --- Debug R Language Server ----@field debug boolean --- Enable Diagnostics +---@field enable boolean + +---@class _.lspconfig.settings.rust_analyzer.Lens +---@field debug _.lspconfig.settings.rust_analyzer.Debug +-- Whether to show CodeLens in Rust files. -- -- ```lua -- default = true -- ``` ----@field diagnostics boolean --- Override default LANG environment variable +---@field enable boolean +-- Internal config: use custom client-side commands even when the +-- client doesn't set the corresponding capability. -- -- ```lua --- default = "" +-- default = true -- ``` ----@field lang string --- Path to R binary for launching Language Server +---@field forceCustomCommands boolean +---@field implementations _.lspconfig.settings.rust_analyzer.Implementations +-- Where to render annotations. -- -- ```lua --- default = "" +-- default = "above_name" -- ``` ----@field path string --- Use STDIO connection instead of TCP. (Unix/macOS users only) ----@field use_stdio boolean +---@field location "above_name" | "above_whole_item" +---@field references _.lspconfig.settings.rust_analyzer.References +---@field run _.lspconfig.settings.rust_analyzer.Run ----@class _.lspconfig.settings.r_language_server.Rpath --- Path to an R executable for Linux. Must be "vanilla" R, not radian etc.! +---@class _.lspconfig.settings.rust_analyzer.Query +-- Sets the LRU capacity of the specified queries. -- -- ```lua --- default = "" +-- default = {} -- ``` ----@field linux string --- Path to an R executable for macOS. Must be "vanilla" R, not radian etc.! +---@field capacities table + +---@class _.lspconfig.settings.rust_analyzer.Lru +-- Number of syntax trees rust-analyzer keeps in memory. Defaults to 128. +---@field capacity integer +---@field query _.lspconfig.settings.rust_analyzer.Query + +---@class _.lspconfig.settings.rust_analyzer.Notifications +-- Whether to show `can't find Cargo.toml` error message. -- -- ```lua --- default = "" +-- default = true -- ``` ----@field mac string --- Path to an R executable for Windows. Must be "vanilla" R, not radian etc.! +---@field cargoTomlNotFound boolean +-- Whether to send an UnindexedProject notification to the client. +---@field unindexedProject boolean + +---@class _.lspconfig.settings.rust_analyzer.Attributes +-- Expand attribute macros. Requires `#rust-analyzer.procMacro.enable#` to be set. -- -- ```lua --- default = "" +-- default = true -- ``` ----@field windows string - ----@class _.lspconfig.settings.r_language_server.R ----@field lsp _.lspconfig.settings.r_language_server.Lsp ----@field rpath _.lspconfig.settings.r_language_server.Rpath - ----@class lspconfig.settings.r_language_server ----@field r _.lspconfig.settings.r_language_server.R - ----@class _.lspconfig.settings.rescriptls.ProjectConfig --- (beta/experimental) Enable project config caching. Can speed up latency dramatically. ----@field enabled boolean - ----@class _.lspconfig.settings.rescriptls.Cache ----@field projectConfig _.lspconfig.settings.rescriptls.ProjectConfig - ----@class _.lspconfig.settings.rescriptls.IncrementalTypechecking --- (beta/experimental) Enable incremental type checking across files, so that unsaved file A gets access to unsaved file B. ----@field acrossFiles boolean --- (debug) Enable debug logging (ends up in the extension output). ----@field debugLogging boolean --- (beta/experimental) Enable incremental type checking. ----@field enabled boolean +---@field enable boolean ----@class _.lspconfig.settings.rescriptls.InlayHints --- Enable (experimental) inlay hints. +---@class _.lspconfig.settings.rust_analyzer.ProcMacro +---@field attributes _.lspconfig.settings.rust_analyzer.Attributes +-- Enable support for procedural macros, implies `#rust-analyzer.cargo.buildScripts.enable#`. +-- +-- ```lua +-- default = true +-- ``` ---@field enable boolean --- Maximum length of character for inlay hints. Set to null to have an unlimited length. Inlay hints that exceed the maximum length will not be shown. +-- These proc-macros will be ignored when trying to expand them. +-- +-- This config takes a map of crate names with the exported proc-macro names to ignore as values. -- -- ```lua --- default = 25 +-- default = {} -- ``` ----@field maxLength integer +---@field ignored table +-- Internal config, path to proc-macro server executable. +---@field server string ----@class _.lspconfig.settings.rescriptls.SignatureHelp --- Enable signature help for function calls. +---@class _.lspconfig.settings.rust_analyzer.References +-- Exclude imports from find-all-references. +---@field excludeImports boolean +-- Exclude tests from find-all-references. +---@field excludeTests boolean + +---@class _.lspconfig.settings.rust_analyzer.Runnables +-- Command to be executed instead of 'cargo' for runnables. +---@field command string +-- Additional arguments to be passed to cargo for runnables such as +-- tests or binaries. For example, it may be `--release`. -- -- ```lua --- default = true +-- default = {} -- ``` ----@field enabled boolean --- Enable signature help for variant constructor payloads. +---@field extraArgs string[] +-- Environment variables passed to the runnable launched using `Test` or `Debug` lens or `rust-analyzer.run` command. +---@field extraEnv any|object[]|table +-- Additional arguments to be passed through Cargo to launched tests, benchmarks, or +-- doc-tests. +-- +-- Unless the launched target uses a +-- [custom test harness](https://doc.rust-lang.org/cargo/reference/cargo-targets.html#the-harness-field), +-- they will end up being interpreted as options to +-- [`rustc`’s built-in test harness (“libtest”)](https://doc.rust-lang.org/rustc/tests/index.html#cli-arguments). -- -- ```lua --- default = true +-- default = { "--show-output" } -- ``` ----@field forConstructorPayloads boolean - ----@class _.lspconfig.settings.rescriptls.Settings --- Whether you want to allow the extension to format your code using its built in formatter when it cannot find a ReScript compiler version in your current project to use for formatting. ----@field allowBuiltInFormatter boolean --- Whether you want the extension to prompt for autostarting a ReScript build if a project is opened with no build running. +---@field extraTestBinaryArgs string[] +-- Problem matchers to use for `rust-analyzer.run` command, eg `["$rustc", "$rust-panic"]`. -- -- ```lua --- default = true +-- default = { "$rustc" } -- ``` ----@field askToStartBuild boolean --- Path to the directory where cross-platform ReScript binaries are. You can use it if you haven't or don't want to use the installed ReScript from node_modules in your project. ----@field binaryPath string ----@field cache _.lspconfig.settings.rescriptls.Cache --- Enable (experimental) code lens for function definitions. ----@field codeLens boolean ----@field incrementalTypechecking _.lspconfig.settings.rescriptls.IncrementalTypechecking ----@field inlayHints _.lspconfig.settings.rescriptls.InlayHints --- Path to the directory where platform-specific ReScript binaries are. You can use it if you haven't or don't want to use the installed ReScript from node_modules in your project. ----@field platformPath string ----@field signatureHelp _.lspconfig.settings.rescriptls.SignatureHelp +---@field problemMatcher string[] ----@class _.lspconfig.settings.rescriptls.Rescript ----@field settings _.lspconfig.settings.rescriptls.Settings +---@class _.lspconfig.settings.rust_analyzer.Rustc +-- Path to the Cargo.toml of the rust compiler workspace, for usage in rustc_private +-- projects, or "discover" to try to automatically find it if the `rustc-dev` component +-- is installed. +-- +-- Any project which uses rust-analyzer with the rustcPrivate +-- crates must set `[package.metadata.rust-analyzer] rustc_private=true` to use it. +-- +-- This option does not take effect until rust-analyzer is restarted. +---@field source string ----@class lspconfig.settings.rescriptls ----@field rescript _.lspconfig.settings.rescriptls.Rescript +---@class _.lspconfig.settings.rust_analyzer.RangeFormatting +-- Enables the use of rustfmt's unstable range formatting command for the +-- `textDocument/rangeFormatting` request. The rustfmt option is unstable and only +-- available on a nightly build. +---@field enable boolean ----@class _.lspconfig.settings.rls.Rust --- Enable all Cargo features. ----@field all_features boolean --- Checks the project as if you were running cargo check --all-targets (I.e., check all targets and integration tests too). +---@class _.lspconfig.settings.rust_analyzer.Rustfmt +-- Additional arguments to `rustfmt`. -- -- ```lua --- default = true +-- default = {} -- ``` ----@field all_targets boolean --- Specify to run analysis as if running `cargo check --bin `. Use `null` to auto-detect. (unstable) ----@field build_bin string --- EXPERIMENTAL (requires `unstable_features`) --- If set, executes a given program responsible for rebuilding save-analysis to be loaded by the RLS. The program given should output a list of resulting .json files on stdout. --- Implies `rust.build_on_save`: true. ----@field build_command string --- Specify to run analysis as if running `cargo check --lib`. Use `null` to auto-detect. (unstable) ----@field build_lib boolean --- Only index the project when a file is saved and not on change. ----@field build_on_save boolean --- Build cfg(test) code. (unstable) ----@field cfg_test boolean --- Clear the RUST_LOG environment variable before running rustc or cargo. +---@field extraArgs string[] +-- Advanced option, fully override the command rust-analyzer uses for +-- formatting. This should be the equivalent of `rustfmt` here, and +-- not that of `cargo fmt`. The file contents will be passed on the +-- standard input and the formatted result will be read from the +-- standard output. +---@field overrideCommand string[] +---@field rangeFormatting _.lspconfig.settings.rust_analyzer.RangeFormatting + +---@class _.lspconfig.settings.rust_analyzer.Inject +-- Inject additional highlighting into doc comments. +-- +-- When enabled, rust-analyzer will highlight rust source in doc comments as well as intra +-- doc links. -- -- ```lua -- default = true -- ``` ----@field clear_env_rust_log boolean --- Controls eagerness of clippy diagnostics when available. Valid values are (case-insensitive): --- - "off": Disable clippy lints. --- - "on": Display the same diagnostics as command-line clippy invoked with no arguments (`clippy::all` unless overridden). --- - "opt-in": Only display the lints explicitly enabled in the code. Start by adding `#![warn(clippy::all)]` to the root of each crate you want linted. --- You need to install clippy via rustup if you haven't already. +---@field enable boolean + +---@class _.lspconfig.settings.rust_analyzer.Comment +---@field inject _.lspconfig.settings.rust_analyzer.Inject + +---@class _.lspconfig.settings.rust_analyzer.Doc +---@field comment _.lspconfig.settings.rust_analyzer.Comment + +---@class _.lspconfig.settings.rust_analyzer.Specialization +-- Use specialized semantic tokens for operators. -- --- ```lua --- default = "opt-in" --- ``` ----@field clippy_preference "on" | "opt-in" | "off" --- Overrides the default list of packages for which analysis is skipped. --- Available since RLS 1.38 +-- When enabled, rust-analyzer will emit special token types for operator tokens instead +-- of the generic `operator` token type. +---@field enable boolean + +---@class _.lspconfig.settings.rust_analyzer.Operator +-- Use semantic tokens for operators. +-- +-- When disabled, rust-analyzer will emit semantic tokens only for operator tokens when +-- they are tagged with modifiers. -- -- ```lua --- default = { "cocoa", "gleam", "glium", "idna", "libc", "openssl", "rustc_serialize", "serde", "serde_json", "typenum", "unicode_normalization", "unicode_segmentation", "winapi" } +-- default = true -- ``` ----@field crate_blacklist any[] --- A list of Cargo features to enable. +---@field enable boolean +---@field specialization _.lspconfig.settings.rust_analyzer.Specialization + +---@class _.lspconfig.settings.rust_analyzer.Macro +-- When enabled, rust-analyzer will emit a punctuation semantic token for the `!` of macro +-- calls. +---@field bang boolean + +---@class _.lspconfig.settings.rust_analyzer.Separate +---@field macro _.lspconfig.settings.rust_analyzer.Macro + +---@class _.lspconfig.settings.rust_analyzer.Specialization +-- Use specialized semantic tokens for punctuation. +-- +-- When enabled, rust-analyzer will emit special token types for punctuation tokens instead +-- of the generic `punctuation` token type. +---@field enable boolean + +---@class _.lspconfig.settings.rust_analyzer.Punctuation +-- Use semantic tokens for punctuation. +-- +-- When disabled, rust-analyzer will emit semantic tokens only for punctuation tokens when +-- they are tagged with modifiers or have a special role. +---@field enable boolean +---@field separate _.lspconfig.settings.rust_analyzer.Separate +---@field specialization _.lspconfig.settings.rust_analyzer.Specialization + +---@class _.lspconfig.settings.rust_analyzer.Strings +-- Use semantic tokens for strings. +-- +-- In some editors (e.g. vscode) semantic tokens override other highlighting grammars. +-- By disabling semantic tokens for strings, other grammars can be used to highlight +-- their contents. -- -- ```lua --- default = {} +-- default = true -- ``` ----@field features any[] --- Instructs cargo to enable full documentation extraction during save-analysis while building the crate. ----@field full_docs boolean --- Whether to surpress the deprecation notification on start up. ----@field ignore_deprecation_warning boolean --- Number of Cargo jobs to be run in parallel. ----@field jobs number --- Do not enable default Cargo features. ----@field no_default_features boolean --- Enables code completion using racer. +---@field enable boolean + +---@class _.lspconfig.settings.rust_analyzer.SemanticHighlighting +---@field doc _.lspconfig.settings.rust_analyzer.Doc +-- Whether the server is allowed to emit non-standard tokens and modifiers. -- -- ```lua -- default = true -- ``` ----@field racer_completion boolean --- Settings passed down to rust-analyzer server +---@field nonStandardTokens boolean +---@field operator _.lspconfig.settings.rust_analyzer.Operator +---@field punctuation _.lspconfig.settings.rust_analyzer.Punctuation +---@field strings _.lspconfig.settings.rust_analyzer.Strings + +---@class _.lspconfig.settings.rust_analyzer.Server +-- Extra environment variables that will be passed to the rust-analyzer executable. Useful for passing e.g. `RA_LOG` for debugging. +---@field extraEnv table +-- Path to rust-analyzer executable (points to bundled binary by default). +---@field path string + +---@class _.lspconfig.settings.rust_analyzer.Documentation +-- Show documentation. -- -- ```lua --- default = {} +-- default = true -- ``` ----@field rust-analyzer table --- Flags added to RUSTFLAGS. ----@field rustflags string --- When specified, RLS will use the Rustfmt pointed at the path instead of the bundled one ----@field rustfmt_path string --- Show additional context in hover tooltips when available. This is often the type local variable declaration. +---@field enable boolean + +---@class _.lspconfig.settings.rust_analyzer.SignatureInfo +-- Show full signature of the callable. Only shows parameters if disabled. -- -- ```lua --- default = true +-- default = "full" -- ``` ----@field show_hover_context boolean --- Show warnings. +---@field detail "full" | "parameters" +---@field documentation _.lspconfig.settings.rust_analyzer.Documentation + +---@class _.lspconfig.settings.rust_analyzer.StatusBar +-- Action to run when clicking the extension status bar item. -- -- ```lua --- default = true +-- default = "openLogs" -- ``` ----@field show_warnings boolean --- --sysroot ----@field sysroot string --- --target ----@field target string --- When specified, it places the generated analysis files at the specified target directory. By default it is placed target/rls directory. ----@field target_dir string --- Enable unstable features. ----@field unstable_features boolean --- Time in milliseconds between receiving a change notification and starting build. ----@field wait_to_build number +---@field clickAction "stopServer" | "openLogs" ----@class _.lspconfig.settings.rls.Trace --- Traces the communication between VS Code and the Rust language server. +---@class _.lspconfig.settings.rust_analyzer.Trace +-- Enable logging of VS Code extensions itself. +---@field extension boolean +-- Trace requests to the rust-analyzer (this is usually overly verbose and not recommended for regular users). -- -- ```lua -- default = "off" -- ``` ---@field server "off" | "messages" | "verbose" ----@class _.lspconfig.settings.rls.Rust-client --- Start RLS automatically when opening a file or project. +---@class _.lspconfig.settings.rust_analyzer.AutoClosingAngleBrackets +-- Whether to insert closing angle brackets when typing an opening angle bracket of a generic argument list. +---@field enable boolean + +---@class _.lspconfig.settings.rust_analyzer.Typing +---@field autoClosingAngleBrackets _.lspconfig.settings.rust_analyzer.AutoClosingAngleBrackets +-- Whether to prefix newlines after comments with the corresponding comment prefix. -- -- ```lua -- default = true -- ``` ----@field autoStartRls boolean --- Rust channel to invoke rustup with. Ignored if rustup is disabled. By default, uses the same channel as your currently open project. +---@field continueCommentsOnNewline boolean + +---@class _.lspconfig.settings.rust_analyzer.Search +-- Workspace symbol search kind. -- -- ```lua --- default = "default" +-- default = "only_types" -- ``` ----@field channel string|"default" | "stable" | "beta" | "nightly" --- Disable usage of rustup and use rustc/rls/rust-analyzer from PATH. ----@field disableRustup boolean --- Allow multiple projects in the same folder, along with removing the constraint that the cargo.toml must be located at the root. (Experimental: might not work for certain setups) ----@field enableMultiProjectSetup boolean --- The underlying LSP server used to provide IDE support for Rust projects. +---@field kind "only_types" | "all_symbols" +-- Limits the number of items returned from a workspace symbol search (Defaults to 128). +-- Some clients like vs-code issue new searches on result filtering and don't require all results to be returned in the initial search. +-- Other clients requires all results upfront and might require a higher limit. -- -- ```lua --- default = "rls" +-- default = 128 -- ``` ----@field engine "rls" | "rust-analyzer" --- When set to true, RLS stderr is logged to a file at workspace root level. Requires reloading extension after change. ----@field logToFile boolean --- Specifies message severity on which the output channel will be revealed. Requires reloading extension after change. +---@field limit integer +-- Workspace symbol search scope. -- -- ```lua --- default = "never" +-- default = "workspace" -- ``` ----@field revealOutputChannelOn "info" | "warn" | "error" | "never" --- Override RLS path. Only required for RLS developers. If you set this and use rustup, you should also set `rust-client.channel` to ensure your RLS sees the right libraries. If you don't use rustup, make sure to set `rust-client.disableRustup`. ----@field rlsPath string --- Path to rustup executable. Ignored if rustup is disabled. +---@field scope "workspace" | "workspace_and_dependencies" + +---@class _.lspconfig.settings.rust_analyzer.Symbol +---@field search _.lspconfig.settings.rust_analyzer.Search + +---@class _.lspconfig.settings.rust_analyzer.Workspace +---@field symbol _.lspconfig.settings.rust_analyzer.Symbol + +---@class _.lspconfig.settings.rust_analyzer.Rust-analyzer +---@field assist _.lspconfig.settings.rust_analyzer.Assist +---@field cachePriming _.lspconfig.settings.rust_analyzer.CachePriming +---@field cargo _.lspconfig.settings.rust_analyzer.Cargo +-- Custom cargo runner extension ID. +---@field cargoRunner string +---@field check _.lspconfig.settings.rust_analyzer.Check +-- Run the check command for diagnostics on save. -- -- ```lua --- default = "rustup" +-- default = true -- ``` ----@field rustupPath string ----@field trace _.lspconfig.settings.rls.Trace --- Update the Rust toolchain and its required components whenever the extension starts up. ----@field updateOnStartup boolean - ----@class lspconfig.settings.rls ----@field rust _.lspconfig.settings.rls.Rust ----@field rust-client _.lspconfig.settings.rls.Rust-client - ----@class _.lspconfig.settings.rome.Rome --- The rome lsp server executable. If the path is relative, the workspace folder will be used as base path ----@field lspBin string --- Enable/Disable Rome handling renames in the workspace. (Experimental) ----@field rename boolean --- Require a Rome configuration file to enable syntax errors, formatting and linting. Requires Rome 12 or newer. +---@field checkOnSave boolean +---@field completion _.lspconfig.settings.rust_analyzer.Completion +---@field debug _.lspconfig.settings.rust_analyzer.Debug +---@field diagnostics _.lspconfig.settings.rust_analyzer.Diagnostics +-- Sets the extension responsible for determining which extension the rust-analyzer extension uses to generate `rust-project.json` files. This should should only be used +-- if a build system like Buck or Bazel is also in use. +---@field discoverProjectRunner string +---@field files _.lspconfig.settings.rust_analyzer.Files +---@field highlightRelated _.lspconfig.settings.rust_analyzer.HighlightRelated +---@field hover _.lspconfig.settings.rust_analyzer.Hover +---@field imports _.lspconfig.settings.rust_analyzer.Imports +---@field inlayHints _.lspconfig.settings.rust_analyzer.InlayHints +---@field interpret _.lspconfig.settings.rust_analyzer.Interpret +---@field joinLines _.lspconfig.settings.rust_analyzer.JoinLines +---@field lens _.lspconfig.settings.rust_analyzer.Lens +-- Disable project auto-discovery in favor of explicitly specified set +-- of projects. +-- +-- Elements must be paths pointing to `Cargo.toml`, +-- `rust-project.json`, `.rs` files (which will be treated as standalone files) or JSON +-- objects in `rust-project.json` format. +-- +-- ```lua +-- default = {} +-- ``` +---@field linkedProjects any[] +---@field lru _.lspconfig.settings.rust_analyzer.Lru +---@field notifications _.lspconfig.settings.rust_analyzer.Notifications +-- How many worker threads in the main loop. The default `null` means to pick automatically. +---@field numThreads any|number|"physical" | "logical" +---@field procMacro _.lspconfig.settings.rust_analyzer.ProcMacro +---@field references _.lspconfig.settings.rust_analyzer.References +-- Whether to restart the server automatically when certain settings that require a restart are changed. +---@field restartServerOnConfigChange boolean +---@field runnables _.lspconfig.settings.rust_analyzer.Runnables +---@field rustc _.lspconfig.settings.rust_analyzer.Rustc +---@field rustfmt _.lspconfig.settings.rust_analyzer.Rustfmt +---@field semanticHighlighting _.lspconfig.settings.rust_analyzer.SemanticHighlighting +---@field server _.lspconfig.settings.rust_analyzer.Server +-- Whether to show the dependencies view. -- -- ```lua -- default = true -- ``` ----@field requireConfiguration boolean - ----@class _.lspconfig.settings.rome.Trace --- Traces the communication between VS Code and the language server. +---@field showDependenciesExplorer boolean +-- Whether to show error notifications for failing requests. -- -- ```lua --- default = "off" +-- default = true -- ``` ----@field server "off" | "messages" | "verbose" - ----@class _.lspconfig.settings.rome.Rome.Lsp ----@field trace _.lspconfig.settings.rome.Trace +---@field showRequestFailedErrorNotification boolean +-- Whether to show a notification for unlinked files asking the user to add the corresponding Cargo.toml to the linked projects setting. +-- +-- ```lua +-- default = true +-- ``` +---@field showUnlinkedFileNotification boolean +---@field signatureInfo _.lspconfig.settings.rust_analyzer.SignatureInfo +---@field statusBar _.lspconfig.settings.rust_analyzer.StatusBar +-- Whether to show the test explorer. +---@field testExplorer boolean +---@field trace _.lspconfig.settings.rust_analyzer.Trace +---@field typing _.lspconfig.settings.rust_analyzer.Typing +---@field workspace _.lspconfig.settings.rust_analyzer.Workspace ----@class lspconfig.settings.rome ----@field rome _.lspconfig.settings.rome.Rome ----@field rome_lsp _.lspconfig.settings.rome.Rome.Lsp +---@class lspconfig.settings.rust_analyzer +---@field rust-analyzer _.lspconfig.settings.rust_analyzer.Rust-analyzer -- The host and port to use for external transports. (Ignored for stdio and socket transports.) -- @@ -9018,140 +13297,325 @@ -- Enables / disables the solidity formatter prettier (default) or forge (note it needs to be installed) -- -- ```lua --- default = "prettier" +-- default = "prettier" +-- ``` +---@field formatter "none" | "prettier" | "forge" +-- Enables linting using either solium (ethlint) or solhint. Possible options 'solhint' and 'solium', the default is solhint +-- +-- ```lua +-- default = "solhint" +-- ``` +---@field linter "" | "solhint" | "solium" +-- Enables mono repo support in the current workspace, a project folder will be signaled if a file is found on the current folder or above including: remappings.txt, truffle-config.js, brownie-config.yaml, foundry.toml, hardhat.config.js, hardhat.config.ts, dappfile +-- +-- ```lua +-- default = true +-- ``` +---@field monoRepoSupport boolean +-- The node modules package to find the solcjs compiler +-- +-- ```lua +-- default = "solc" +-- ``` +---@field nodemodulespackage string +-- Default directory where the Package Dependency store its contracts, i.e: 'src', 'contracts', or just a blank string '', this is used to avoid typing imports with subfolder paths +-- +-- ```lua +-- default = { "src", "contracts", "" } +-- ``` +---@field packageDefaultDependenciesContractsDirectory string|string[] +-- Default directory for Packages Dependencies, i.e: 'node_modules', 'lib'. This is used to avoid typing imports with that path prefix, multiple dependency paths can be set as an array: ['node_modules', 'lib'] +-- +-- ```lua +-- default = { "node_modules", "lib" } +-- ``` +---@field packageDefaultDependenciesDirectory string|string[] +-- Remappings to resolve contracts to local files / directories, i.e: ["@openzeppelin/=lib/openzeppelin-contracts","ds-test/=lib/ds-test/src/"] +-- +-- ```lua +-- default = {} +-- ``` +---@field remappings any[] +-- Unix Remappings to resolve contracts to local Unix files / directories (Note this overrides the generic remapping settings if the OS is Unix based), i.e: ["@openzeppelin/=/opt/lib/openzeppelin-contracts","ds-test/=/opt/lib/ds-test/src/"] +-- +-- ```lua +-- default = {} +-- ``` +---@field remappingsUnix any[] +-- Windows Remappings to resolve contracts to local Windows files / directories (Note this overrides the generic remapping settings if the OS is Windows) , i.e: ["@openzeppelin/=C:/lib/openzeppelin-contracts","ds-test/=C:/lib/ds-test/src/"] +-- +-- ```lua +-- default = {} +-- ``` +---@field remappingsWindows any[] +-- Solhint linting validation rules +---@field solhintRules table +-- Solium linting validation rules +-- +-- ```lua +-- default = { +-- ["imports-on-top"] = 0, +-- indentation = { "off", 4 }, +-- quotes = { "off", "double" }, +-- ["variable-declarations"] = 0 +-- } +-- ``` +---@field soliumRules table +-- Delay to trigger the validation of the changes of the current document (compilation, solium) +-- +-- ```lua +-- default = 1500 +-- ``` +---@field validationDelay number + +---@class lspconfig.settings.solidity_ls +---@field solidity _.lspconfig.settings.solidity_ls.Solidity + +---@class _.lspconfig.settings.sorbet.Sorbet +-- List of workspace file patterns that contribute to Sorbet's configuration. Changes to any of those files should trigger a restart of any actively running Sorbet language server. +-- +-- ```lua +-- default = { "**/sorbet/config", "**/Gemfile", "**/Gemfile.lock" } +-- ``` +---@field configFilePatterns string[] +-- Enable Sorbet Ruby IDE features +---@field enabled boolean +-- Shows warning for untyped values. +-- +-- ```lua +-- default = "nowhere" +-- ``` +---@field highlightUntyped "nowhere" | "everywhere-but-tests" | "everywhere" +-- Standard Ruby LSP configurations. If you commit your VSCode settings to source control, you probably want to commit *this* setting, not `sorbet.userLspConfigs`. +-- +-- ```lua +-- default = { { +-- command = { "bundle", "exec", "srb", "typecheck", "--lsp" }, +-- cwd = "${workspaceFolder}", +-- description = "Stable Sorbet Ruby IDE features", +-- id = "stable", +-- name = "Sorbet" +-- }, { +-- command = { "bundle", "exec", "srb", "typecheck", "--lsp", "--enable-all-beta-lsp-features" }, +-- cwd = "${workspaceFolder}", +-- description = "Beta Sorbet Ruby IDE features", +-- id = "beta", +-- name = "Sorbet (Beta)" +-- }, { +-- command = { "bundle", "exec", "srb", "typecheck", "--lsp", "--enable-all-experimental-lsp-features" }, +-- cwd = "${workspaceFolder}", +-- description = "Experimental Sorbet Ruby IDE features (warning: crashy, for developers only)", +-- id = "experimental", +-- name = "Sorbet (Experimental)" +-- } } +-- ``` +---@field lspConfigs object[] +-- Show the extension output window on errors. +---@field revealOutputOnError boolean +-- The default configuration to use from `sorbet.userLspConfigs` or `sorbet.lspConfigs`. If unset, defaults to the first item in `sorbet.userLspConfigs` or `sorbet.lspConfigs`. +---@field selectedLspConfigId string +-- Displays an auto-complete nudge in `typed: false` files. +-- +-- ```lua +-- default = true +-- ``` +---@field typedFalseCompletionNudges boolean +-- Custom user LSP configurations that supplement `sorbet.lspConfigs` (and override configurations with the same id). If you commit your VSCode settings to source control, you probably want to commit `sorbet.lspConfigs`, not this value. +-- +-- ```lua +-- default = {} +-- ``` +---@field userLspConfigs object[] + +---@class lspconfig.settings.sorbet +---@field sorbet _.lspconfig.settings.sorbet.Sorbet + +---@class _.lspconfig.settings.sourcekit.InlayHints +-- Render inlay type annotations in the editor. Inlay hints require Swift 5.6. +-- +-- ```lua +-- default = true +-- ``` +---@field enabled boolean + +---@class _.lspconfig.settings.sourcekit.Trace +-- Traces the communication between VS Code and the SourceKit-LSP language server. +-- +-- ```lua +-- default = "off" +-- ``` +---@field server "off" | "messages" | "verbose" + +---@class _.lspconfig.settings.sourcekit.Sourcekit-lsp +-- Disable the running of SourceKit-LSP. +---@field disable boolean +---@field inlayHints _.lspconfig.settings.sourcekit.InlayHints +-- Arguments to pass to SourceKit-LSP. Argument keys and values should be provided as separate entries in the array e.g. ['--log-level', 'debug'] +-- +-- ```lua +-- default = {} +-- ``` +---@field serverArguments string[] +-- The path of the `sourcekit-lsp` executable. The default is to look in the path where `swift` is found. +---@field serverPath string +-- Add LSP functionality for C/C++ files. By default this is set to disable when the C/C++ extension is active. +-- +-- ```lua +-- default = "cpptools-inactive" +-- ``` +---@field support-c-cpp "enable" | "disable" | "cpptools-inactive" +---@field trace _.lspconfig.settings.sourcekit.Trace + +---@class _.lspconfig.settings.sourcekit.Debugger +-- Path to lldb debug adapter. +-- +-- ```lua +-- default = "" +-- ``` +---@field path string +-- Use lldb debug adapter packaged with Swift toolchain as your debug adapter. This is currently only available on Windows platforms or macOS Swift 6 +---@field useDebugAdapterFromToolchain boolean + +---@class _.lspconfig.settings.sourcekit.Trace +-- Traces the communication between VS Code and the SourceKit-LSP language server. +-- +-- ```lua +-- default = "off" +-- ``` +---@field server "off" | "messages" | "verbose" + +---@class _.lspconfig.settings.sourcekit.Sourcekit-lsp +-- Disable the running of SourceKit-LSP. +---@field disable boolean +-- Arguments to pass to SourceKit-LSP. Argument keys and values should be provided as separate entries in the array e.g. ['--log-level', 'debug'] +-- +-- ```lua +-- default = {} +-- ``` +---@field serverArguments string[] +-- The path of the `sourcekit-lsp` executable. The default is to look in the path where `swift` is found. +---@field serverPath string +-- List of languages supported by SourceKit-LSP. This is used to determine whether SourceKit-LSP should provide language features for a particular file type. +-- +-- ```lua +-- default = { "swift", "objective-c", "objective-cpp", "c", "cpp" } +-- ``` +---@field supported-languages string[] +---@field trace _.lspconfig.settings.sourcekit.Trace + +---@class _.lspconfig.settings.sourcekit.Swift +-- The path of the SDK to compile against (`--sdk` parameter). The default SDK is determined by the environment on macOS and Windows. +-- +-- ```lua +-- default = "" -- ``` ----@field formatter "none" | "prettier" | "forge" --- Enables linting using either solium (ethlint) or solhint. Possible options 'solhint' and 'solium', the default is solhint +---@field SDK string +-- Action after a Build task generates errors. -- -- ```lua --- default = "solhint" +-- default = "Focus Terminal" -- ``` ----@field linter "" | "solhint" | "solium" --- Enables mono repo support in the current workspace, a project folder will be signaled if a file is found on the current folder or above including: remappings.txt, truffle-config.js, brownie-config.yaml, foundry.toml, hardhat.config.js, hardhat.config.ts, dappfile +---@field actionAfterBuildError "Focus Problems" | "Focus Terminal" | "Do Nothing" +-- When loading a `Package.swift`, auto-generate `launch.json` configurations for running any executables. -- -- ```lua -- default = true -- ``` ----@field monoRepoSupport boolean --- The node modules package to find the solcjs compiler +---@field autoGenerateLaunchConfigurations boolean +-- **Experimental**: Run `swift build` in the background whenever a file is saved. +---@field backgroundCompilation boolean +-- Arguments to pass to `swift build`. Keys and values should be provided as separate entries. If you have created a copy of the build task in `tasks.json` then these build arguments will not be propogated to that task. -- -- ```lua --- default = "solc" +-- default = {} -- ``` ----@field nodemodulespackage string --- Default directory where the Package Dependency store its contracts, i.e: 'src', 'contracts', or just a blank string '', this is used to avoid typing imports with subfolder paths +---@field buildArguments string[] +-- Path to the build directory passed to all swift package manager commands. -- -- ```lua --- default = { "src", "contracts", "" } +-- default = "" -- ``` ----@field packageDefaultDependenciesContractsDirectory string|string[] --- Default directory for Packages Dependencies, i.e: 'node_modules', 'lib'. This is used to avoid typing imports with that path prefix, multiple dependency paths can be set as an array: ['node_modules', 'lib'] +---@field buildPath string +---@field debugger _.lspconfig.settings.sourcekit.Debugger +-- Output additional diagnostics to the Swift Output View. +---@field diagnostics boolean +-- Controls how diagnostics from the various providers are merged into the `swift` diagnostics collection. -- -- ```lua --- default = { "node_modules", "lib" } +-- default = "keepSourceKit" -- ``` ----@field packageDefaultDependenciesDirectory string|string[] --- Remappings to resolve contracts to local files / directories, i.e: ["@openzeppelin/=lib/openzeppelin-contracts","ds-test/=lib/ds-test/src/"] +---@field diagnosticsCollection "onlySwiftc" | "onlySourceKit" | "keepSwiftc" | "keepSourceKit" | "keepAll" +-- Controls which -diagnostic-style option to pass to `swiftc` when running `swift` tasks. -- -- ```lua --- default = {} +-- default = "llvm" -- ``` ----@field remappings any[] --- Unix Remappings to resolve contracts to local Unix files / directories (Note this overrides the generic remapping settings if the OS is Unix based), i.e: ["@openzeppelin/=/opt/lib/openzeppelin-contracts","ds-test/=/opt/lib/ds-test/src/"] +---@field diagnosticsStyle "default" | "llvm" | "swift" +-- Disable automatic running of `swift package resolve`. This will also disable searching for command plugins and the initial test discovery process as both of these can kick of a resolve. +---@field disableAutoResolve boolean +-- Disables automated Build Tasks, Package Dependency view, Launch configuration generation and TestExplorer. +---@field disableSwiftPackageManagerIntegration boolean +-- A list of paths to exclude from the Package Dependencies view. -- -- ```lua --- default = {} +-- default = { ".git", ".github" } -- ``` ----@field remappingsUnix any[] --- Windows Remappings to resolve contracts to local Windows files / directories (Note this overrides the generic remapping settings if the OS is Windows) , i.e: ["@openzeppelin/=C:/lib/openzeppelin-contracts","ds-test/=C:/lib/ds-test/src/"] +---@field excludePathsFromPackageDependencies string[] +-- Controls whether to open a swift project automatically after creating it. -- -- ```lua --- default = {} +-- default = "prompt" -- ``` ----@field remappingsWindows any[] --- Solhint linting validation rules ----@field solhintRules table --- Solium linting validation rules +---@field openAfterCreateNewProject "always" | "alwaysNewWindow" | "whenNoFolderOpen" | "prompt" +-- The path of the folder containing the Swift executables. The default is to look in the PATH environment variable. -- -- ```lua --- default = { --- ["imports-on-top"] = 0, --- indentation = { "off", 4 }, --- quotes = { "off", "double" }, --- ["variable-declarations"] = 0 --- } +-- default = "" -- ``` ----@field soliumRules table --- Delay to trigger the validation of the changes of the current document (compilation, solium) +---@field path string +-- The path of the folder containing the Swift runtime libraries. -- -- ```lua --- default = 1500 +-- default = "" -- ``` ----@field validationDelay number - ----@class lspconfig.settings.solidity_ls ----@field solidity _.lspconfig.settings.solidity_ls.Solidity - ----@class _.lspconfig.settings.sorbet.Sorbet --- List of workspace file patterns that contribute to Sorbet's configuration. Changes to any of those files should trigger a restart of any actively running Sorbet language server. +---@field runtimePath string +-- Runtime sanitizer instrumentation. -- -- ```lua --- default = { "**/sorbet/config", "**/Gemfile", "**/Gemfile.lock" } +-- default = "off" -- ``` ----@field configFilePatterns string[] --- Enable Sorbet Ruby IDE features ----@field enabled boolean --- Shows warning for untyped values. +---@field sanitizer "off" | "thread" | "address" +-- Search sub-folders of workspace folder for Swift Packages at start up. +---@field searchSubfoldersForPackages boolean +-- Controls where to show the Swift build progress when running a `swift` build task. -- -- ```lua --- default = "nowhere" +-- default = "swiftStatus" -- ``` ----@field highlightUntyped "nowhere" | "everywhere-but-tests" | "everywhere" --- Standard Ruby LSP configurations. If you commit your VSCode settings to source control, you probably want to commit *this* setting, not `sorbet.userLspConfigs`. +---@field showBuildStatus "never" | "swiftStatus" | "progress" | "notification" +-- Controls whether or not the create new swift project button appears in the welcome page. -- -- ```lua --- default = { { --- command = { "bundle", "exec", "srb", "typecheck", "--lsp" }, --- cwd = "${workspaceFolder}", --- description = "Stable Sorbet Ruby IDE features", --- id = "stable", --- name = "Sorbet" --- }, { --- command = { "bundle", "exec", "srb", "typecheck", "--lsp", "--enable-all-beta-lsp-features" }, --- cwd = "${workspaceFolder}", --- description = "Beta Sorbet Ruby IDE features", --- id = "beta", --- name = "Sorbet (Beta)" --- }, { --- command = { "bundle", "exec", "srb", "typecheck", "--lsp", "--enable-all-experimental-lsp-features" }, --- cwd = "${workspaceFolder}", --- description = "Experimental Sorbet Ruby IDE features (warning: crashy, for developers only)", --- id = "experimental", --- name = "Sorbet (Experimental)" --- } } +-- default = true -- ``` ----@field lspConfigs object[] --- Show the extension output window on errors. ----@field revealOutputOnError boolean --- The default configuration to use from `sorbet.userLspConfigs` or `sorbet.lspConfigs`. If unset, defaults to the first item in `sorbet.userLspConfigs` or `sorbet.lspConfigs`. ----@field selectedLspConfigId string --- Displays an auto-complete nudge in `typed: false` files. +---@field showCreateSwiftProjectInWelcomePage boolean +---@field sourcekit-lsp _.lspconfig.settings.sourcekit.Sourcekit-lsp +-- Additional environment variables to pass to swift operations. -- -- ```lua --- default = true +-- default = {} -- ``` ----@field typedFalseCompletionNudges boolean --- Custom user LSP configurations that supplement `sorbet.lspConfigs` (and override configurations with the same id). If you commit your VSCode settings to source control, you probably want to commit `sorbet.lspConfigs`, not this value. +---@field swiftEnvironmentVariables table +-- Environment variables to set when running tests. To set environment variables when debugging an application you should edit the relevant `launch.json` configuration -- -- ```lua -- default = {} -- ``` ----@field userLspConfigs object[] - ----@class lspconfig.settings.sorbet ----@field sorbet _.lspconfig.settings.sorbet.Sorbet +---@field testEnvironmentVariables table ---@class lspconfig.settings.sourcekit +---@field sourcekit-lsp _.lspconfig.settings.sourcekit.Sourcekit-lsp +---@field swift _.lspconfig.settings.sourcekit.Swift ---@class _.lspconfig.settings.spectral.Trace -- Traces the communication between VS Code and the language server. @@ -9635,7 +14099,110 @@ ---@class lspconfig.settings.svelte ---@field svelte _.lspconfig.settings.svelte.Svelte +---@class _.lspconfig.settings.svlangserver.Trace +-- Traces the communication between VS Code and the SystemVerilog language server. +-- +-- ```lua +-- default = "off" +-- ``` +---@field server "off" | "messages" | "verbose" + +---@class _.lspconfig.settings.svlangserver.Systemverilog +-- Use ANTLR parser to verify text documents when edited. +---@field antlrVerification boolean +-- Compile all files when opened. +---@field compileOnOpen boolean +-- Compile SystemVerilog/Verilog files when saved. +---@field compileOnSave boolean +-- Select the compiler type from the drop down list. +-- +-- ```lua +-- default = "Verilator" +-- ``` +---@field compilerType "Verilator" | "VCS" | "Verible" +-- Disable automatic indexing when opening a folder or workspace. +---@field disableIndexing boolean +-- The level of detail the parser should use when looking for symbols: +-- - 'full': detect blocks, ports, parameters, classes, methods, typedefs, defines, labels, instantiations, assertions, and references +-- - 'full_no_references': detect blocks, ports, parameters, classes, methods, typedefs, defines, labels, instantiations, and assertions +-- - 'declarations': detect blocks, ports, parameters, classes, methods, typedefs, and defines +-- - 'fast': detect only common blocks (module, class, interface, package, program) without hierarchy +-- +-- ```lua +-- default = "full" +-- ``` +---@field documentSymbolsPrecision "full" | "full_no_references" | "declaration" | "fast" +-- Enable incremental indexation as you open files. +-- +-- ```lua +-- default = true +-- ``` +---@field enableIncrementalIndexing boolean +-- Files excluded from compiling (glob pattern). +-- +-- ```lua +-- default = "" +-- ``` +---@field excludeCompiling string +-- Files excluded from indexing (glob pattern). +-- +-- ```lua +-- default = "" +-- ``` +---@field excludeIndexing string +-- Force indexing to use fast regular expression parsing. +---@field forceFastIndexing boolean +-- Launch command for running the formatter. +-- +-- ```lua +-- default = "verible-verilog-format" +-- ``` +---@field formatCommand string +-- Files included for indexing (glob pattern). Examples: +-- - Include files within the workspace's rtl folder ('*' at front of pattern denotes that path is relative to workspace root): **/rtl/**/*.{sv,v,svh,vh} +-- - Add all files with a '.svp' extension: **/*.svp +-- - Add files only when in a specific workspace: /abs/path/to/workspace/rtl/**/*.{sv,v,svh,vh} +-- +-- ```lua +-- default = { "**/*.{sv,v,svh,vh}" } +-- ``` +---@field includeIndexing any[] +-- Launch command for running VCS as the compiler. +-- +-- ```lua +-- default = "vcs" +-- ``` +---@field launchConfigurationVCS string +-- Launch command for running Verible as the compiler. +-- +-- ```lua +-- default = "verible-verilog-lint" +-- ``` +---@field launchConfigurationVerible string +-- Launch command for running Verilator as the compiler. +-- +-- ```lua +-- default = "verilator --sv --lint-only --language 1800-2012 --Wall" +-- ``` +---@field launchConfigurationVerilator string +-- When indexing a file, if the line count is larger than this number, fast indexing will be used to improve symbol lookup performance. +-- +-- ```lua +-- default = 2000 +-- ``` +---@field maxLineCountIndexing integer +-- The number of files the extension should attempt to process in parallel. Processing consist of opening found files and perform matching to find symbols. +-- +-- ```lua +-- default = 10 +-- ``` +---@field parallelProcessing integer +---@field trace _.lspconfig.settings.svlangserver.Trace +-- Run ANTLR verification on all files when opened. +---@field verifyOnOpen boolean + ---@class lspconfig.settings.svlangserver +---@field systemverilog _.lspconfig.settings.svlangserver.Systemverilog ---@class _.lspconfig.settings.tailwindcss.Experimental ---@field classRegex any[] @@ -9773,7 +14340,83 @@ ---@field tailwindCSS _.lspconfig.settings.tailwindcss.TailwindCSS ---@field tailwindcss-intellisense _.lspconfig.settings.tailwindcss.Tailwindcss-intellisense +---@class _.lspconfig.settings.terraformls.Codelens +-- Display reference counts above top level blocks and attributes. +---@field referenceCount boolean + +---@class _.lspconfig.settings.terraformls.ExperimentalFeatures +-- Enable autocompletion for required fields when completing Terraform blocks. Combine with `#editor.suggest.preview#` and the editor will provide inline snippet suggestions for blocks of code +---@field prefillRequiredFields boolean +-- Enable validating the currently open file on save +---@field validateOnSave boolean + +---@class _.lspconfig.settings.terraformls.Indexing +-- Per-workspace list of directory names for the language server to ignore when indexing files +-- +-- ```lua +-- default = {} +-- ``` +---@field ignoreDirectoryNames string[] +-- Per-workspace list of paths for the language server to ignore when indexing files +-- +-- ```lua +-- default = {} +-- ``` +---@field ignorePaths string[] + +---@class _.lspconfig.settings.terraformls.Tcp +-- Language server TCP port to connect to. This is not compatible with `#terraform.languageServer.path#`. This is used when you want the extension to connect via TCP to an already running language server process. +---@field port number + +---@class _.lspconfig.settings.terraformls.Terraform +-- Path to a file (`TF_LOG_PATH`) for Terraform executions to be logged used by the the Terraform Language Server. Support for variables (e.g. timestamp, pid, ppid) via Go template syntax `{{varName}}` +---@field logFilePath string +-- Path to the Terraform binary used by the Terraform Language Server +---@field path string +-- Overrides Terraform execution timeout (e.g. 30s) used by the Terraform Language Server +---@field timeout string + +---@class _.lspconfig.settings.terraformls.LanguageServer +-- Arguments to pass to language server binary +-- +-- ```lua +-- default = { "serve" } +-- ``` +---@field args string[] +-- Enable Terraform Language Server +-- +-- ```lua +-- default = true +-- ``` +---@field enable boolean +-- Enable warning when opening a single Terraform file instead of a Terraform folder. Enabling this will prevent the message being sent +---@field ignoreSingleFileWarning boolean +---@field indexing _.lspconfig.settings.terraformls.Indexing +-- Path to the Terraform Language Server binary (optional) +-- +-- ```lua +-- default = "" +-- ``` +---@field path string +---@field tcp _.lspconfig.settings.terraformls.Tcp +---@field terraform _.lspconfig.settings.terraformls.Terraform + +---@class _.lspconfig.settings.terraformls.Validation +-- Enable enhanced validation of Terraform files and modules +-- +-- ```lua +-- default = true +-- ``` +---@field enableEnhancedValidation boolean + +---@class _.lspconfig.settings.terraformls.Terraform +---@field codelens _.lspconfig.settings.terraformls.Codelens +---@field experimentalFeatures _.lspconfig.settings.terraformls.ExperimentalFeatures +---@field languageServer _.lspconfig.settings.terraformls.LanguageServer +---@field validation _.lspconfig.settings.terraformls.Validation + ---@class lspconfig.settings.terraformls +---@field terraform _.lspconfig.settings.terraformls.Terraform ---@class _.lspconfig.settings.tsserver.Experimental -- Automatically update imports when pasting code. Requires TypeScript 5.6+. @@ -10669,6 +15312,155 @@ ---@field js/ts _.lspconfig.settings.tsserver.Js/ts ---@field typescript _.lspconfig.settings.tsserver.Typescript +---@class _.lspconfig.settings.volar.AutoInsert +-- Auto add space between double curly brackets: {{|}} -> {{ | }} +-- +-- ```lua +-- default = true +-- ``` +---@field bracketSpacing boolean +-- Auto-complete Ref value with `.value`. +---@field dotValue boolean + +---@class _.lspconfig.settings.volar.CodeActions +-- Ask for new component name when extract component. +-- +-- ```lua +-- default = true +-- ``` +---@field askNewComponentName boolean +-- Enabled code actions. +-- +-- ```lua +-- default = true +-- ``` +---@field enabled boolean + +---@class _.lspconfig.settings.volar.CodeLens +-- Enabled code lens. +-- +-- ```lua +-- default = true +-- ``` +---@field enabled boolean + +---@class _.lspconfig.settings.volar.Casing +-- Preferred attr name case. +-- +-- ```lua +-- default = "autoKebab" +-- ``` +---@field props "autoKebab" | "autoCamel" | "kebab" | "camel" +-- Preferred tag name case. +-- +-- ```lua +-- default = "autoPascal" +-- ``` +---@field tags "autoKebab" | "autoPascal" | "kebab" | "pascal" + +---@class _.lspconfig.settings.volar.Complete +---@field casing _.lspconfig.settings.volar.Casing + +---@class _.lspconfig.settings.volar.Doctor +-- Show known problems in status bar. +-- +-- ```lua +-- default = true +-- ``` +---@field status boolean + +---@class _.lspconfig.settings.volar.Script +---@field initialIndent boolean + +---@class _.lspconfig.settings.volar.Style +---@field initialIndent boolean + +---@class _.lspconfig.settings.volar.Template +-- ```lua +-- default = true +-- ``` +---@field initialIndent boolean + +---@class _.lspconfig.settings.volar.Format +---@field script _.lspconfig.settings.volar.Script +---@field style _.lspconfig.settings.volar.Style +---@field template _.lspconfig.settings.volar.Template +-- ```lua +-- default = "auto" +-- ``` +---@field wrapAttributes "auto" | "force" | "force-aligned" | "force-expand-multiline" | "aligned-multiple" | "preserve" | "preserve-aligned" + +---@class _.lspconfig.settings.volar.InlayHints +-- Show inlay hints for event argument in inline handlers. +---@field inlineHandlerLeading boolean +-- Show inlay hints for missing required props. +---@field missingProps boolean +-- Show inlay hints for component options wrapper for type support. +---@field optionsWrapper boolean +-- Show inlay hints for v-bind shorthand. +---@field vBindShorthand boolean + +---@class _.lspconfig.settings.volar.Server +-- Vue language server only handles CSS and HTML language support, and tsserver takes over TS language support via TS plugin. +-- +-- ```lua +-- default = "auto" +-- ``` +---@field hybridMode "auto" | "typeScriptPluginOnly" | true | false +-- ```lua +-- default = { "vue" } +-- ``` +---@field includeLanguages string[] +-- Set --max-old-space-size option on server process. If you have problem on frequently "Request textDocument/** failed." error, try setting higher memory(MB) on it. +---@field maxOldSpaceSize number + +---@class _.lspconfig.settings.volar.Layout +-- ```lua +-- default = { "script", "scriptSetup", "styles" } +-- ``` +---@field left string[] +-- ```lua +-- default = { "template", "customBlocks" } +-- ``` +---@field right string[] + +---@class _.lspconfig.settings.volar.SplitEditors +-- Show split editor icon in title area of editor. +---@field icon boolean +---@field layout _.lspconfig.settings.volar.Layout + +---@class _.lspconfig.settings.volar.Trace +-- Traces the communication between VS Code and the language server. +-- +-- ```lua +-- default = "off" +-- ``` +---@field server "off" | "messages" | "verbose" + +---@class _.lspconfig.settings.volar.UpdateImportsOnFileMove +-- Enabled update imports on file move. +-- +-- ```lua +-- default = true +-- ``` +---@field enabled boolean + +---@class _.lspconfig.settings.volar.Vue +---@field autoInsert _.lspconfig.settings.volar.AutoInsert +---@field codeActions _.lspconfig.settings.volar.CodeActions +---@field codeLens _.lspconfig.settings.volar.CodeLens +---@field complete _.lspconfig.settings.volar.Complete +---@field doctor _.lspconfig.settings.volar.Doctor +---@field format _.lspconfig.settings.volar.Format +---@field inlayHints _.lspconfig.settings.volar.InlayHints +---@field server _.lspconfig.settings.volar.Server +---@field splitEditors _.lspconfig.settings.volar.SplitEditors +---@field trace _.lspconfig.settings.volar.Trace +---@field updateImportsOnFileMove _.lspconfig.settings.volar.UpdateImportsOnFileMove + +---@class lspconfig.settings.volar +---@field vue _.lspconfig.settings.volar.Vue + ---@class _.lspconfig.settings.vtsls.Format -- Enable/disable default JavaScript formatter. --