Skip to content

Add support for schema overrides#4

Open
rchl wants to merge 3 commits intomainfrom
feat/overrides
Open

Add support for schema overrides#4
rchl wants to merge 3 commits intomainfrom
feat/overrides

Conversation

@rchl
Copy link
Copy Markdown
Member

@rchl rchl commented Apr 26, 2026

By default this workflow will look for sublime-package.overrides.json that can look like this:

{
    "add": {
        "rust-analyzer.terminusAutoClose": {
          "default": false,
          "description": "Whether or not to automatically close terminus panel/tab upon completion.",
          "type": "boolean"
        },
        "rust-analyzer.terminusUsePanel": {
          "default": false,
          "description": "Whether or not to spawn a panel at the bottom, or a new tab.",
          "type": "boolean"
        }
    },
    "remove": [
        "rust-analyzer.debug.buildBeforeRestart",
        "rust-analyzer.debug.engine",
        "rust-analyzer.debug.engineSettings",
        "rust-analyzer.debug.openDebugPane",
        "rust-analyzer.debug.sourceFileMap",
        "rust-analyzer.initializeStopped",
        "rust-analyzer.restartServerOnConfigChange",
        "rust-analyzer.runnables.askBeforeUpdateTest",
        "rust-analyzer.runnables.problemMatcher",
        "rust-analyzer.server.extraEnv",
        "rust-analyzer.server.path",
        "rust-analyzer.showDependenciesExplorer",
        "rust-analyzer.showRequestFailedErrorNotification",
        "rust-analyzer.showSyntaxTree",
        "rust-analyzer.showUnlinkedFileNotification",
        "rust-analyzer.statusBar.clickAction",
        "rust-analyzer.testExplorer",
        "rust-analyzer.trace.extension",
        "rust-analyzer.trace.server"
    ],
    "transform": [
        "walk(if type == \"object\" then with_entries(if .key == \"description\" then .key = \"markdownDescription\" else . end) else . end)",
        "walk(if type == \"object\" then with_entries(if .key == \"enumDescriptions\" then .key = \"markdownEnumDescriptions\" else . end) else . end)"
    ]
}

It will also print the full settings schema and sublime-settings settings to make it easier to replace everything in one go instead of merging manually.

Next step I guess is to automate it so that the changes are merged to relevant files by the bot.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant