From b25625bd3ad47170197a3bfce958da55eee47394 Mon Sep 17 00:00:00 2001 From: ya7010 <47286750+ya7010@users.noreply.github.com> Date: Tue, 4 Aug 2026 18:38:50 +0900 Subject: [PATCH] update: tombi schema. (#6160) Co-authored-by: ya7010 --- src/schemas/json/tombi.json | 812 ++++++++++++++++++++++++++---------- 1 file changed, 588 insertions(+), 224 deletions(-) diff --git a/src/schemas/json/tombi.json b/src/schemas/json/tombi.json index cd3dad3589e..1191af8b75b 100644 --- a/src/schemas/json/tombi.json +++ b/src/schemas/json/tombi.json @@ -120,7 +120,7 @@ "description": "The file match pattern to include in formatting and linting.\nSupports glob pattern.", "type": ["array", "null"], "items": { - "type": "string" + "$ref": "#/definitions/GlobPattern" }, "minItems": 1, "default": ["**/*.toml"] @@ -130,14 +130,32 @@ "description": "The file match pattern to exclude from formatting and linting.\nSupports glob pattern.", "type": ["array", "null"], "items": { - "type": "string" - }, - "minItems": 1 + "$ref": "#/definitions/GlobPattern" + } + }, + "respect-ignore-files": { + "title": "Respect repository ignore files", + "description": "Whether to respect `.ignore`, `.gitignore`, and `.git/info/exclude` while discovering files.", + "default": true, + "allOf": [ + { + "$ref": "#/definitions/BoolDefaultTrue" + } + ] } }, "additionalProperties": false, "x-tombi-table-keys-order": "schema" }, + "GlobPattern": { + "description": "Glob pattern used by config include/exclude lists.", + "type": "string", + "minLength": 1 + }, + "BoolDefaultTrue": { + "type": "boolean", + "default": true + }, "FormatOptions": { "title": "Formatter options", "type": "object", @@ -199,6 +217,19 @@ ], "default": "T" }, + "group-blank-lines-limit": { + "title": "The blank lines limit between groups.", + "description": "Consecutive groups remain separate for sorting purposes,\nand existing blank lines between them are preserved up to this limit.\n\n```toml\n# BEFORE\nkey1 = \"value1\"\nkey2 = \"value2\"\n\nkey3 = \"value3\"\n\n\nkey4 = \"value4\"\n\n# AFTER (`group-blank-lines-limit = 1`)\nkey1 = \"value1\"\nkey2 = \"value2\"\n\nkey3 = \"value3\"\n\nkey4 = \"value4\"\n```", + "anyOf": [ + { + "$ref": "#/definitions/BlankLinesLimit" + }, + { + "type": "null" + } + ], + "default": 1 + }, "indent-style": { "title": "The style of indentation", "description": "Whether to use spaces or tabs for indentation.\n\n- `space`: Use spaces for indentation.\n- `tab`: Use tabs for indentation.", @@ -269,6 +300,19 @@ "type": ["boolean", "null"], "default": false }, + "key-quote-style": { + "title": "The preferred quote character for keys", + "description": "Choose which quote style the formatter prefers for quoted keys.\nIf unspecified, `string-quote-style` is used.", + "anyOf": [ + { + "$ref": "#/definitions/StringQuoteStyle" + }, + { + "type": "null" + } + ], + "default": null + }, "string-quote-style": { "title": "The preferred quote character for strings", "description": "Choose which quote style the formatter prefers for basic strings.", @@ -327,6 +371,19 @@ ], "default": 80 }, + "table-blank-lines": { + "title": "The number of blank lines between tables.", + "description": "This applies when the formatter inserts spacing between table or array-of-table blocks.\n\n```toml\n# BEFORE\n[aaa]\nkey1 = \"value1\"\n[bbb]\nkey2 = \"value2\"\n\n# AFTER (`table-blank-lines = 2`)\n[aaa]\nkey1 = \"value1\"\n\n\n[bbb]\nkey2 = \"value2\"\n```\n\nTight parent/child table adjacency is controlled separately, so this does not apply\nwhen a child table follows a parent table that has no key-value pairs.\n\n```toml\n# BEFORE\n[aaa]\n\n[aaa.bbb]\n\n# AFTER\n[aaa]\n[aaa.bbb]\n```", + "anyOf": [ + { + "$ref": "#/definitions/BlankLines" + }, + { + "type": "null" + } + ], + "default": 1 + }, "trailing-comment-space-width": { "title": "The number of spaces before the trailing comment.", "description": "```toml\nkey = \"value\" # trailing comment\n# ^^ <- this\n```", @@ -376,6 +433,12 @@ } ] }, + "BlankLinesLimit": { + "type": "integer", + "format": "uint8", + "minimum": 1, + "maximum": 255 + }, "IndentStyle": { "type": "string", "enum": ["space", "tab"] @@ -443,6 +506,12 @@ "minimum": 1, "maximum": 255 }, + "BlankLines": { + "type": "integer", + "format": "uint8", + "minimum": 0, + "maximum": 255 + }, "TrailingCommentSpaceWidth": { "type": "integer", "format": "uint8", @@ -604,6 +673,17 @@ } ] }, + "references": { + "title": "References Feature options", + "anyOf": [ + { + "$ref": "#/definitions/LspReferences" + }, + { + "type": "null" + } + ] + }, "goto-type-definition": { "title": "Goto Type Definition Feature options", "anyOf": [ @@ -659,10 +739,6 @@ }, "additionalProperties": false }, - "BoolDefaultTrue": { - "type": "boolean", - "default": true - }, "LspCompletion": { "type": "object", "properties": { @@ -753,6 +829,24 @@ }, "additionalProperties": false }, + "LspReferences": { + "type": "object", + "properties": { + "enabled": { + "title": "Enable references feature", + "description": "Whether to enable references.", + "anyOf": [ + { + "$ref": "#/definitions/BoolDefaultTrue" + }, + { + "type": "null" + } + ] + } + }, + "additionalProperties": false + }, "LspHover": { "type": "object", "properties": { @@ -850,8 +944,12 @@ "additionalProperties": false }, "SchemaCatalogPath": { - "description": "Generic value that can be either single or multiple", - "type": "string" + "description": "Schema catalog path or URL", + "type": "string", + "examples": [ + "tombi://www.schemastore.org/api/json/catalog.json", + "https://www.schemastore.org/api/json/catalog.json" + ] }, "SchemaItem": { "title": "Schema item", @@ -881,17 +979,32 @@ }, "path": { "title": "The schema path", - "type": "string" + "type": "string", + "examples": [ + "https://www.schemastore.org/cargo.json", + "https://www.schemastore.org/pyproject.json", + "tombi://www.schemastore.org/cargo.json", + "tombi://www.schemastore.org/pyproject.json", + "tombi://www.schemastore.org/tombi.json" + ] }, "include": { "title": "The file match pattern of the schema", "description": "The file match pattern to include the target to apply the schema.\nSupports glob pattern.", "type": "array", "items": { - "type": "string" + "$ref": "#/definitions/GlobPattern" }, "minItems": 1 }, + "exclude": { + "title": "The file match pattern to exclude the schema", + "description": "The file match pattern to exclude the target from applying the schema.\nSupports glob pattern.", + "type": ["array", "null"], + "items": { + "$ref": "#/definitions/GlobPattern" + } + }, "format": { "title": "Schema-specific format options", "anyOf": [ @@ -1093,7 +1206,7 @@ }, "PatternAccessor": { "title": "Accessor pattern", - "description": "To apply it to the Root Table, use `\"\"`.\n\nArray indices are matched as wildcards. That means `[*]` and numeric\nindices such as `[0]` are treated the same and will match any array\nelement, so `items[0].name` behaves like `items[*].name`.\n\n**Example**:\n - `\"\"`\n - `\"tool.*\"`\n - `\"items[*].name\"`", + "description": "To apply it to the Root Table, use `\"\"`.\n\nUse `[*]` to match any array element, or a numeric index such as `[1]`\nto match a specific tuple position.\n\n**Example**:\n - `\"\"`\n - `\"tool.*\"`\n - `\"items[*].name\"`\n - `\"items[1].name\"`", "type": "string", "minLength": 0 }, @@ -1233,10 +1346,18 @@ "description": "The file match pattern to include the target to apply the sub schema.\nSupports glob pattern.", "type": "array", "items": { - "type": "string" + "$ref": "#/definitions/GlobPattern" }, "minItems": 1 }, + "exclude": { + "title": "The file match pattern to exclude the sub schema", + "description": "The file match pattern to exclude the target from applying the sub schema.\nSupports glob pattern.", + "type": ["array", "null"], + "items": { + "$ref": "#/definitions/GlobPattern" + } + }, "format": { "title": "Schema-specific format options", "anyOf": [ @@ -1319,7 +1440,7 @@ "description": "The file match pattern to include in formatting and linting.\nSupports glob pattern.", "type": "array", "items": { - "type": "string" + "$ref": "#/definitions/GlobPattern" }, "minItems": 1 }, @@ -1328,9 +1449,8 @@ "description": "The file match pattern to exclude from formatting and linting.\nSupports glob pattern.", "type": ["array", "null"], "items": { - "type": "string" - }, - "minItems": 1 + "$ref": "#/definitions/GlobPattern" + } } }, "additionalProperties": false, @@ -1497,33 +1617,33 @@ "CargoLspFeatureTree": { "type": "object", "properties": { - "completion": { - "title": "Completion feature options", + "code-action": { + "title": "Code action feature options", "anyOf": [ { - "$ref": "#/definitions/CargoCompletionFeatures" + "$ref": "#/definitions/CargoCodeActionFeatures" }, { "type": "null" } ] }, - "inlay-hint": { - "title": "Inlay hint feature options", + "completion": { + "title": "Completion feature options", "anyOf": [ { - "$ref": "#/definitions/CargoInlayHintFeatures" + "$ref": "#/definitions/CargoCompletionFeatures" }, { "type": "null" } ] }, - "goto-definition": { - "title": "Goto definition feature options", + "document-link": { + "title": "Document link feature options", "anyOf": [ { - "$ref": "#/definitions/CargoNavigationFeatures" + "$ref": "#/definitions/CargoDocumentLinkFeatures" }, { "type": "null" @@ -1534,18 +1654,18 @@ "title": "Goto declaration feature options", "anyOf": [ { - "$ref": "#/definitions/CargoNavigationFeatures" + "$ref": "#/definitions/CargoGotoDeclarationFeatures" }, { "type": "null" } ] }, - "document-link": { - "title": "Document link feature options", + "goto-definition": { + "title": "Goto definition feature options", "anyOf": [ { - "$ref": "#/definitions/CargoDocumentLinkFeatures" + "$ref": "#/definitions/CargoGotoDefinitionFeatures" }, { "type": "null" @@ -1563,11 +1683,22 @@ } ] }, - "code-action": { - "title": "Code action feature options", + "inlay-hint": { + "title": "Inlay hint feature options", "anyOf": [ { - "$ref": "#/definitions/CargoCodeActionFeatures" + "$ref": "#/definitions/CargoInlayHintFeatures" + }, + { + "type": "null" + } + ] + }, + "references": { + "title": "References feature options", + "anyOf": [ + { + "$ref": "#/definitions/CargoReferencesFeatures" }, { "type": "null" @@ -1578,22 +1709,22 @@ "additionalProperties": false, "x-tombi-table-keys-order": "ascending" }, - "CargoCompletionFeatures": { + "CargoCodeActionFeatures": { "anyOf": [ { "$ref": "#/definitions/EnabledOnly" }, { - "$ref": "#/definitions/CargoCompletionFeatureTree" + "$ref": "#/definitions/CargoCodeActionFeatureTree" } ] }, - "CargoCompletionFeatureTree": { + "CargoCodeActionFeatureTree": { "type": "object", "properties": { - "dependency-version": { - "title": "Dependency version completion feature", - "description": "Whether completion suggests dependency versions.", + "inherit-from-workspace": { + "title": "Inherit-from-workspace code action feature", + "description": "Whether code actions can replace a value with `workspace = true`.", "anyOf": [ { "$ref": "#/definitions/ToggleFeatureDefaultTrue" @@ -1603,9 +1734,9 @@ } ] }, - "dependency-feature": { - "title": "Dependency feature completion feature", - "description": "Whether completion suggests dependency features.", + "inherit-dependency-from-workspace": { + "title": "Inherit-dependency-from-workspace code action feature", + "description": "Whether code actions can inherit dependency settings from the workspace.", "anyOf": [ { "$ref": "#/definitions/ToggleFeatureDefaultTrue" @@ -1615,9 +1746,9 @@ } ] }, - "path": { - "title": "Path completion feature", - "description": "Whether completion suggests filesystem paths.", + "convert-dependency-to-table-format": { + "title": "Convert-dependency-to-table-format code action feature", + "description": "Whether code actions can rewrite inline dependencies to table format.", "anyOf": [ { "$ref": "#/definitions/ToggleFeatureDefaultTrue" @@ -1626,46 +1757,10 @@ "type": "null" } ] - } - }, - "additionalProperties": false, - "x-tombi-table-keys-order": "ascending" - }, - "ToggleFeatureDefaultTrue": { - "type": "object", - "properties": { - "enabled": { - "title": "Enable feature", - "description": "Whether this nested feature is enabled.", - "anyOf": [ - { - "$ref": "#/definitions/BoolDefaultTrue" - }, - { - "type": "null" - } - ] - } - }, - "additionalProperties": false - }, - "CargoInlayHintFeatures": { - "anyOf": [ - { - "$ref": "#/definitions/EnabledOnly" }, - { - "$ref": "#/definitions/CargoInlayHintFeatureTree" - } - ], - "x-tombi-table-keys-order": "ascending" - }, - "CargoInlayHintFeatureTree": { - "type": "object", - "properties": { - "dependency-version": { - "title": "Dependency version inlay hint feature", - "description": "Whether inlay hints show dependency versions.", + "add-to-workspace-and-inherit-dependency": { + "title": "Add-to-workspace-and-inherit-dependency code action feature", + "description": "Whether code actions can add a dependency to the workspace and inherit it.", "anyOf": [ { "$ref": "#/definitions/ToggleFeatureDefaultTrue" @@ -1675,9 +1770,9 @@ } ] }, - "default-features": { - "title": "Default features inlay hint feature", - "description": "Whether inlay hints show `default-features` values.", + "update-dependency-to-latest-version": { + "title": "Update-dependency-to-latest-version code action feature", + "description": "Whether code actions can rewrite dependency versions to the latest published version.", "anyOf": [ { "$ref": "#/definitions/ToggleFeatureDefaultTrue" @@ -1686,13 +1781,20 @@ "type": "null" } ] - }, - "workspace-value": { - "title": "Workspace value inlay hint feature", - "description": "Whether inlay hints show values inherited from the Cargo workspace.", + } + }, + "additionalProperties": false, + "x-tombi-table-keys-order": "ascending" + }, + "ToggleFeatureDefaultTrue": { + "type": "object", + "properties": { + "enabled": { + "title": "Enable feature", + "description": "Whether this nested feature is enabled.", "anyOf": [ { - "$ref": "#/definitions/ToggleFeatureDefaultTrue" + "$ref": "#/definitions/BoolDefaultTrue" }, { "type": "null" @@ -1700,25 +1802,24 @@ ] } }, - "additionalProperties": false, - "x-tombi-table-keys-order": "ascending" + "additionalProperties": false }, - "CargoNavigationFeatures": { + "CargoCompletionFeatures": { "anyOf": [ { "$ref": "#/definitions/EnabledOnly" }, { - "$ref": "#/definitions/CargoNavigationFeatureTree" + "$ref": "#/definitions/CargoCompletionFeatureTree" } ] }, - "CargoNavigationFeatureTree": { + "CargoCompletionFeatureTree": { "type": "object", "properties": { - "dependency": { - "title": "Dependency navigation feature", - "description": "Whether navigation resolves dependency definitions and declarations.", + "dependency-version": { + "title": "Dependency version completion feature", + "description": "Whether completion suggests dependency versions.", "anyOf": [ { "$ref": "#/definitions/ToggleFeatureDefaultTrue" @@ -1728,9 +1829,9 @@ } ] }, - "member": { - "title": "Member navigation feature", - "description": "Whether navigation resolves workspace member targets.", + "dependency-feature": { + "title": "Dependency feature completion feature", + "description": "Whether completion suggests dependency features.", "anyOf": [ { "$ref": "#/definitions/ToggleFeatureDefaultTrue" @@ -1741,8 +1842,8 @@ ] }, "path": { - "title": "Path navigation feature", - "description": "Whether navigation resolves filesystem paths.", + "title": "Path completion feature", + "description": "Whether completion suggests filesystem paths.", "anyOf": [ { "$ref": "#/definitions/ToggleFeatureDefaultTrue" @@ -1770,8 +1871,8 @@ "type": "object", "properties": { "cargo-toml": { - "title": "Cargo.toml document link feature", - "description": "Whether document links are created for `Cargo.toml` references.", + "title": "Deprecated Cargo.toml document link feature", + "description": "Deprecated. This setting is accepted for backward compatibility and will be removed in a future release.", "anyOf": [ { "$ref": "#/definitions/ToggleFeatureDefaultFalse" @@ -1779,7 +1880,8 @@ { "type": "null" } - ] + ], + "deprecated": true }, "crates-io": { "title": "crates.io document link feature", @@ -1794,8 +1896,8 @@ ] }, "git": { - "title": "Git document link feature", - "description": "Whether document links are created for Git references.", + "title": "Deprecated Git document link feature", + "description": "Deprecated. This setting is accepted for backward compatibility and will be removed in a future release.", "anyOf": [ { "$ref": "#/definitions/ToggleFeatureDefaultFalse" @@ -1803,11 +1905,12 @@ { "type": "null" } - ] + ], + "deprecated": true }, "path": { - "title": "Path document link feature", - "description": "Whether document links are created for filesystem paths.", + "title": "Deprecated path document link feature", + "description": "Deprecated. This setting is accepted for backward compatibility and will be removed in a future release.", "anyOf": [ { "$ref": "#/definitions/ToggleFeatureDefaultFalse" @@ -1815,11 +1918,12 @@ { "type": "null" } - ] + ], + "deprecated": true }, "workspace": { - "title": "Workspace document link feature", - "description": "Whether document links are created for `workspace = true` references.", + "title": "Deprecated workspace document link feature", + "description": "Deprecated. This setting is accepted for backward compatibility and will be removed in a future release.", "anyOf": [ { "$ref": "#/definitions/ToggleFeatureDefaultFalse" @@ -1827,7 +1931,8 @@ { "type": "null" } - ] + ], + "deprecated": true } }, "additionalProperties": false, @@ -1855,23 +1960,22 @@ "type": "boolean", "default": false }, - "CargoHoverFeatures": { + "CargoGotoDeclarationFeatures": { "anyOf": [ { "$ref": "#/definitions/EnabledOnly" }, { - "$ref": "#/definitions/CargoHoverFeatureTree" + "$ref": "#/definitions/CargoGotoDeclarationFeatureTree" } - ], - "x-tombi-table-keys-order": "ascending" + ] }, - "CargoHoverFeatureTree": { + "CargoGotoDeclarationFeatureTree": { "type": "object", "properties": { - "dependency-detail": { - "title": "Dependency detail hover feature", - "description": "Whether hover shows detailed dependency metadata.", + "dependency": { + "title": "Dependency declaration navigation feature", + "description": "Whether declaration navigation resolves dependency declarations.", "anyOf": [ { "$ref": "#/definitions/ToggleFeatureDefaultTrue" @@ -1880,27 +1984,53 @@ "type": "null" } ] + }, + "member": { + "title": "Deprecated member declaration navigation feature", + "description": "Deprecated. This setting is accepted for backward compatibility but ignored.", + "anyOf": [ + { + "$ref": "#/definitions/ToggleFeatureDefaultTrue" + }, + { + "type": "null" + } + ], + "deprecated": true + }, + "path": { + "title": "Deprecated path declaration navigation feature", + "description": "Deprecated. This setting is accepted for backward compatibility but ignored.", + "anyOf": [ + { + "$ref": "#/definitions/ToggleFeatureDefaultTrue" + }, + { + "type": "null" + } + ], + "deprecated": true } }, "additionalProperties": false, "x-tombi-table-keys-order": "ascending" }, - "CargoCodeActionFeatures": { + "CargoGotoDefinitionFeatures": { "anyOf": [ { "$ref": "#/definitions/EnabledOnly" }, { - "$ref": "#/definitions/CargoCodeActionFeatureTree" + "$ref": "#/definitions/CargoGotoDefinitionFeatureTree" } ] }, - "CargoCodeActionFeatureTree": { + "CargoGotoDefinitionFeatureTree": { "type": "object", "properties": { - "inherit-from-workspace": { - "title": "Inherit-from-workspace code action feature", - "description": "Whether code actions can replace a value with `workspace = true`.", + "dependency": { + "title": "Dependency definition navigation feature", + "description": "Whether definition navigation resolves dependency targets.", "anyOf": [ { "$ref": "#/definitions/ToggleFeatureDefaultTrue" @@ -1910,9 +2040,9 @@ } ] }, - "inherit-dependency-from-workspace": { - "title": "Inherit-dependency-from-workspace code action feature", - "description": "Whether code actions can inherit dependency settings from the workspace.", + "member": { + "title": "Member definition navigation feature", + "description": "Whether definition navigation resolves workspace member targets.", "anyOf": [ { "$ref": "#/definitions/ToggleFeatureDefaultTrue" @@ -1922,9 +2052,9 @@ } ] }, - "convert-dependency-to-table-format": { - "title": "Convert-dependency-to-table-format code action feature", - "description": "Whether code actions can rewrite inline dependencies to table format.", + "path": { + "title": "Path definition navigation feature", + "description": "Whether definition navigation resolves filesystem paths.", "anyOf": [ { "$ref": "#/definitions/ToggleFeatureDefaultTrue" @@ -1933,10 +2063,135 @@ "type": "null" } ] + } + }, + "additionalProperties": false, + "x-tombi-table-keys-order": "ascending" + }, + "CargoHoverFeatures": { + "anyOf": [ + { + "$ref": "#/definitions/EnabledOnly" }, - "add-to-workspace-and-inherit-dependency": { - "title": "Add-to-workspace-and-inherit-dependency code action feature", - "description": "Whether code actions can add a dependency to the workspace and inherit it.", + { + "$ref": "#/definitions/CargoHoverFeatureTree" + } + ], + "x-tombi-table-keys-order": "ascending" + }, + "CargoHoverFeatureTree": { + "type": "object", + "properties": { + "dependency-detail": { + "title": "Dependency detail hover feature", + "description": "Whether hover shows detailed dependency metadata.", + "anyOf": [ + { + "$ref": "#/definitions/ToggleFeatureDefaultTrue" + }, + { + "type": "null" + } + ] + }, + "default-features": { + "title": "Default features hover feature", + "description": "Whether hover shows default Cargo dependency features.", + "anyOf": [ + { + "$ref": "#/definitions/ToggleFeatureDefaultTrue" + }, + { + "type": "null" + } + ] + }, + "feature-dependencies": { + "title": "Feature dependencies hover feature", + "description": "Whether hover shows dependencies of the selected Cargo feature.", + "anyOf": [ + { + "$ref": "#/definitions/ToggleFeatureDefaultTrue" + }, + { + "type": "null" + } + ] + } + }, + "additionalProperties": false, + "x-tombi-table-keys-order": "ascending" + }, + "CargoInlayHintFeatures": { + "anyOf": [ + { + "$ref": "#/definitions/EnabledOnly" + }, + { + "$ref": "#/definitions/CargoInlayHintFeatureTree" + } + ], + "x-tombi-table-keys-order": "ascending" + }, + "CargoInlayHintFeatureTree": { + "type": "object", + "properties": { + "dependency-version": { + "title": "Dependency version inlay hint feature", + "description": "Whether inlay hints show dependency versions.", + "anyOf": [ + { + "$ref": "#/definitions/ToggleFeatureDefaultTrue" + }, + { + "type": "null" + } + ] + }, + "default-features": { + "title": "Default features inlay hint feature", + "description": "Whether inlay hints show `default-features` values.", + "anyOf": [ + { + "$ref": "#/definitions/ToggleFeatureDefaultTrue" + }, + { + "type": "null" + } + ] + }, + "workspace-value": { + "title": "Workspace value inlay hint feature", + "description": "Whether inlay hints show values inherited from the Cargo workspace.", + "anyOf": [ + { + "$ref": "#/definitions/ToggleFeatureDefaultTrue" + }, + { + "type": "null" + } + ] + } + }, + "additionalProperties": false, + "x-tombi-table-keys-order": "ascending" + }, + "CargoReferencesFeatures": { + "anyOf": [ + { + "$ref": "#/definitions/EnabledOnly" + }, + { + "$ref": "#/definitions/CargoReferencesFeatureTree" + } + ] + }, + "CargoReferencesFeatureTree": { + "type": "object", + "properties": { + "dependency": { + "title": "Dependency references feature", + "description": "Whether references list dependency-related usages.", "anyOf": [ { "$ref": "#/definitions/ToggleFeatureDefaultTrue" @@ -1991,36 +2246,36 @@ "PyprojectLspFeatureTree": { "type": "object", "properties": { - "completion": { - "title": "Completion feature options", - "description": "Configure pyproject completion features.", + "code-action": { + "title": "Code action feature options", + "description": "Configure pyproject code action features.", "anyOf": [ { - "$ref": "#/definitions/PyprojectCompletionFeatures" + "$ref": "#/definitions/PyprojectCodeActionFeatures" }, { "type": "null" } ] }, - "inlay-hint": { - "title": "Inlay hint feature options", - "description": "Configure pyproject inlay hint features.", + "completion": { + "title": "Completion feature options", + "description": "Configure pyproject completion features.", "anyOf": [ { - "$ref": "#/definitions/PyprojectInlayHintFeatures" + "$ref": "#/definitions/PyprojectCompletionFeatures" }, { "type": "null" } ] }, - "goto-definition": { - "title": "Goto definition feature options", - "description": "Configure pyproject go-to-definition features.", + "document-link": { + "title": "Document link feature options", + "description": "Configure pyproject document link features.", "anyOf": [ { - "$ref": "#/definitions/PyprojectNavigationFeatures" + "$ref": "#/definitions/PyprojectDocumentLinkFeatures" }, { "type": "null" @@ -2032,19 +2287,19 @@ "description": "Configure pyproject go-to-declaration features.", "anyOf": [ { - "$ref": "#/definitions/PyprojectNavigationFeatures" + "$ref": "#/definitions/PyprojectGotoDeclarationFeatures" }, { "type": "null" } ] }, - "document-link": { - "title": "Document link feature options", - "description": "Configure pyproject document link features.", + "goto-definition": { + "title": "Goto definition feature options", + "description": "Configure pyproject go-to-definition features.", "anyOf": [ { - "$ref": "#/definitions/PyprojectDocumentLinkFeatures" + "$ref": "#/definitions/PyprojectGotoDefinitionFeatures" }, { "type": "null" @@ -2063,12 +2318,77 @@ } ] }, - "code-action": { - "title": "Code action feature options", - "description": "Configure pyproject code action features.", + "inlay-hint": { + "title": "Inlay hint feature options", + "description": "Configure pyproject inlay hint features.", "anyOf": [ { - "$ref": "#/definitions/PyprojectCodeActionFeatures" + "$ref": "#/definitions/PyprojectInlayHintFeatures" + }, + { + "type": "null" + } + ] + }, + "references": { + "title": "References feature options", + "description": "Configure pyproject references features.", + "anyOf": [ + { + "$ref": "#/definitions/PyprojectReferencesFeatures" + }, + { + "type": "null" + } + ] + } + }, + "additionalProperties": false, + "x-tombi-table-keys-order": "ascending" + }, + "PyprojectCodeActionFeatures": { + "anyOf": [ + { + "$ref": "#/definitions/EnabledOnly" + }, + { + "$ref": "#/definitions/PyprojectCodeActionFeatureTree" + } + ] + }, + "PyprojectCodeActionFeatureTree": { + "type": "object", + "properties": { + "use-workspace-dependency": { + "title": "Use-workspace-dependency code action feature", + "description": "Whether code actions can reuse a dependency declared in the workspace.", + "anyOf": [ + { + "$ref": "#/definitions/ToggleFeatureDefaultTrue" + }, + { + "type": "null" + } + ] + }, + "add-to-workspace-and-use-workspace-dependency": { + "title": "Add-to-workspace-and-use-workspace-dependency code action feature", + "description": "Whether code actions can add a dependency to the workspace and reuse it.", + "anyOf": [ + { + "$ref": "#/definitions/ToggleFeatureDefaultTrue" + }, + { + "type": "null" + } + ] + }, + "update-dependency-to-latest-version": { + "title": "Update-dependency-to-latest-version code action feature", + "description": "Whether code actions can rewrite dependency versions to the latest published version.", + "anyOf": [ + { + "$ref": "#/definitions/ToggleFeatureDefaultTrue" }, { "type": "null" @@ -2108,23 +2428,35 @@ "additionalProperties": false, "x-tombi-table-keys-order": "ascending" }, - "PyprojectInlayHintFeatures": { + "PyprojectDocumentLinkFeatures": { "anyOf": [ { "$ref": "#/definitions/EnabledOnly" }, { - "$ref": "#/definitions/PyprojectInlayHintFeatureTree" + "$ref": "#/definitions/PyprojectDocumentLinkFeatureTree" } - ], - "x-tombi-table-keys-order": "ascending" + ] }, - "PyprojectInlayHintFeatureTree": { + "PyprojectDocumentLinkFeatureTree": { "type": "object", "properties": { - "dependency-version": { - "title": "Dependency version inlay hint feature", - "description": "Whether inlay hints show resolved dependency versions.", + "pyproject-toml": { + "title": "Deprecated pyproject.toml document link feature", + "description": "Deprecated. This setting is accepted for backward compatibility and will be removed in a future release.", + "anyOf": [ + { + "$ref": "#/definitions/ToggleFeatureDefaultFalse" + }, + { + "type": "null" + } + ], + "deprecated": true + }, + "pypi-org": { + "title": "PyPI document link feature", + "description": "Whether document links are created for `pypi.org` package references.", "anyOf": [ { "$ref": "#/definitions/ToggleFeatureDefaultTrue" @@ -2138,22 +2470,22 @@ "additionalProperties": false, "x-tombi-table-keys-order": "ascending" }, - "PyprojectNavigationFeatures": { + "PyprojectGotoDeclarationFeatures": { "anyOf": [ { "$ref": "#/definitions/EnabledOnly" }, { - "$ref": "#/definitions/PyprojectNavigationFeatureTree" + "$ref": "#/definitions/PyprojectGotoDeclarationFeatureTree" } ] }, - "PyprojectNavigationFeatureTree": { + "PyprojectGotoDeclarationFeatureTree": { "type": "object", "properties": { "dependency": { - "title": "Dependency navigation feature", - "description": "Whether navigation resolves dependency definitions and declarations.", + "title": "Dependency declaration navigation feature", + "description": "Whether declaration navigation resolves dependency declarations.", "anyOf": [ { "$ref": "#/definitions/ToggleFeatureDefaultTrue" @@ -2164,8 +2496,8 @@ ] }, "member": { - "title": "Member navigation feature", - "description": "Whether navigation resolves workspace member targets.", + "title": "Member declaration navigation feature", + "description": "Whether declaration navigation resolves workspace member declarations.", "anyOf": [ { "$ref": "#/definitions/ToggleFeatureDefaultTrue" @@ -2176,8 +2508,8 @@ ] }, "path": { - "title": "Path navigation feature", - "description": "Whether navigation resolves filesystem paths.", + "title": "Deprecated path declaration navigation feature", + "description": "Deprecated. This setting is accepted for backward compatibility but ignored.", "anyOf": [ { "$ref": "#/definitions/ToggleFeatureDefaultTrue" @@ -2185,40 +2517,53 @@ { "type": "null" } - ] + ], + "deprecated": true } }, "additionalProperties": false, "x-tombi-table-keys-order": "ascending" }, - "PyprojectDocumentLinkFeatures": { + "PyprojectGotoDefinitionFeatures": { "anyOf": [ { "$ref": "#/definitions/EnabledOnly" }, { - "$ref": "#/definitions/PyprojectDocumentLinkFeatureTree" + "$ref": "#/definitions/PyprojectGotoDefinitionFeatureTree" } ] }, - "PyprojectDocumentLinkFeatureTree": { + "PyprojectGotoDefinitionFeatureTree": { "type": "object", "properties": { - "pyproject-toml": { - "title": "pyproject.toml document link feature", - "description": "Whether document links are created for `pyproject.toml` references.", + "dependency": { + "title": "Dependency definition navigation feature", + "description": "Whether definition navigation resolves dependency targets.", "anyOf": [ { - "$ref": "#/definitions/ToggleFeatureDefaultFalse" + "$ref": "#/definitions/ToggleFeatureDefaultTrue" }, { "type": "null" } ] }, - "pypi-org": { - "title": "PyPI document link feature", - "description": "Whether document links are created for `pypi.org` package references.", + "member": { + "title": "Member definition navigation feature", + "description": "Whether definition navigation resolves workspace member targets.", + "anyOf": [ + { + "$ref": "#/definitions/ToggleFeatureDefaultTrue" + }, + { + "type": "null" + } + ] + }, + "path": { + "title": "Path definition navigation feature", + "description": "Whether definition navigation resolves filesystem paths.", "anyOf": [ { "$ref": "#/definitions/ToggleFeatureDefaultTrue" @@ -2262,22 +2607,23 @@ "additionalProperties": false, "x-tombi-table-keys-order": "ascending" }, - "PyprojectCodeActionFeatures": { + "PyprojectInlayHintFeatures": { "anyOf": [ { "$ref": "#/definitions/EnabledOnly" }, { - "$ref": "#/definitions/PyprojectCodeActionFeatureTree" + "$ref": "#/definitions/PyprojectInlayHintFeatureTree" } - ] + ], + "x-tombi-table-keys-order": "ascending" }, - "PyprojectCodeActionFeatureTree": { + "PyprojectInlayHintFeatureTree": { "type": "object", "properties": { - "use-workspace-dependency": { - "title": "Use-workspace-dependency code action feature", - "description": "Whether code actions can reuse a dependency declared in the workspace.", + "dependency-version": { + "title": "Dependency version inlay hint feature", + "description": "Whether inlay hints show resolved dependency versions.", "anyOf": [ { "$ref": "#/definitions/ToggleFeatureDefaultTrue" @@ -2286,10 +2632,27 @@ "type": "null" } ] + } + }, + "additionalProperties": false, + "x-tombi-table-keys-order": "ascending" + }, + "PyprojectReferencesFeatures": { + "anyOf": [ + { + "$ref": "#/definitions/EnabledOnly" }, - "add-to-workspace-and-use-workspace-dependency": { - "title": "Add-to-workspace-and-use-workspace-dependency code action feature", - "description": "Whether code actions can add a dependency to the workspace and reuse it.", + { + "$ref": "#/definitions/PyprojectReferencesFeatureTree" + } + ] + }, + "PyprojectReferencesFeatureTree": { + "type": "object", + "properties": { + "dependency": { + "title": "Dependency references feature", + "description": "Whether references list dependency-related usages.", "anyOf": [ { "$ref": "#/definitions/ToggleFeatureDefaultTrue" @@ -2357,24 +2720,24 @@ } ] }, - "goto-definition": { - "title": "Goto definition feature options", - "description": "Configure Tombi go-to-definition features.", + "document-link": { + "title": "Document link feature options", + "description": "Configure Tombi document link features.", "anyOf": [ { - "$ref": "#/definitions/TombiGotoDefinitionFeatures" + "$ref": "#/definitions/TombiDocumentLinkFeatures" }, { "type": "null" } ] }, - "document-link": { - "title": "Document link feature options", - "description": "Configure Tombi document link features.", + "goto-definition": { + "title": "Goto definition feature options", + "description": "Configure Tombi go-to-definition features.", "anyOf": [ { - "$ref": "#/definitions/TombiDocumentLinkFeatures" + "$ref": "#/definitions/TombiGotoDefinitionFeatures" }, { "type": "null" @@ -2427,55 +2790,56 @@ "additionalProperties": false, "x-tombi-table-keys-order": "ascending" }, - "TombiGotoDefinitionFeatures": { + "TombiDocumentLinkFeatures": { "anyOf": [ { "$ref": "#/definitions/EnabledOnly" }, { - "$ref": "#/definitions/TombiGotoDefinitionFeatureTree" + "$ref": "#/definitions/TombiDocumentLinkFeatureTree" } - ], - "x-tombi-table-keys-order": "ascending" + ] }, - "TombiGotoDefinitionFeatureTree": { + "TombiDocumentLinkFeatureTree": { "type": "object", "properties": { "path": { - "title": "Path goto-definition feature", - "description": "Whether go-to-definition resolves filesystem paths.", + "title": "Deprecated path document link feature", + "description": "Deprecated. This setting is accepted for backward compatibility and will be removed in a future release.", "anyOf": [ { - "$ref": "#/definitions/ToggleFeatureDefaultTrue" + "$ref": "#/definitions/ToggleFeatureDefaultFalse" }, { "type": "null" } - ] + ], + "deprecated": true } }, "additionalProperties": false, "x-tombi-table-keys-order": "ascending" }, - "TombiDocumentLinkFeatures": { + "TombiGotoDefinitionFeatures": { "anyOf": [ { "$ref": "#/definitions/EnabledOnly" }, { - "$ref": "#/definitions/TombiDocumentLinkFeatureTree" + "$ref": "#/definitions/TombiGotoDefinitionFeatureTree" } - ] + ], + "x-tombi-table-keys-order": "ascending" }, - "TombiDocumentLinkFeatureTree": { + "TombiGotoDefinitionFeatureTree": { "type": "object", "properties": { "path": { - "title": "Path document link feature", - "description": "Whether document links are created for filesystem paths.", + "title": "Path goto-definition feature", + "description": "Whether go-to-definition resolves filesystem paths.", "anyOf": [ { - "$ref": "#/definitions/ToggleFeatureDefaultFalse" + "$ref": "#/definitions/ToggleFeatureDefaultTrue" }, { "type": "null"