{
// -- Editor behaviour --
"editor.formatOnSave": true,
"explorer.confirmDelete": false,
"explorer.confirmDragAndDrop": false,
"liveServer.settings.donotVerifyTags": true,
"security.workspace.trust.untrustedFiles": "open",
"workbench.editor.empty.hint": "hidden",
"terminal.integrated.initialHint": false,
"workbench.startupEditor": "none",
// -- File associations --
"files.associations": {
"*.asm": "gas",
".ignore": "ignore"
},
"files.watcherExclude": {
"**/.trunk/*out": true
},
"workbench.editorAssociations": {
"{hexdiff}:/**/*.*": "hexEditor.hexedit",
"*.rom": "hexEditor.hexedit",
"*.bin": "hexEditor.hexedit"
},
// -- Formatters --
// Biome toolchain
"[javascript]": {
"editor.defaultFormatter": "biomejs.biome"
},
"[json]": {
"editor.defaultFormatter": "biomejs.biome"
},
"[jsonc]": {
"editor.defaultFormatter": "biomejs.biome"
},
"[typescript]": {
"editor.defaultFormatter": "biomejs.biome"
},
// Other
"[markdown]": {
"editor.defaultFormatter": "DavidAnson.vscode-markdownlint"
},
"[python]": {
"editor.defaultFormatter": "charliermarsh.ruff"
},
// -- Language servers --
// Rust
"rust-analyzer.cargo.extraArgs": [
"--all-features",
"--profile",
"rust-analyzer",
"--target-dir",
"/tmp/rust-analyzer"
],
"rust-analyzer.check.command": "clippy",
"rust-analyzer.diagnostics.experimental.enable": true,
"rust-analyzer.imports.granularity.group": "module",
"rust-analyzer.inlayHints.bindingModeHints.enable": true,
"rust-analyzer.inlayHints.closureCaptureHints.enable": true,
"rust-analyzer.inlayHints.closureReturnTypeHints.enable": "always",
"rust-analyzer.inlayHints.closureStyle": "rust_analyzer",
"rust-analyzer.inlayHints.discriminantHints.enable": "always",
// "rust-analyzer.inlayHints.expressionAdjustmentHints.enable": "always",
"rust-analyzer.inlayHints.genericParameterHints.lifetime.enable": true,
"rust-analyzer.inlayHints.genericParameterHints.type.enable": true,
// "rust-analyzer.inlayHints.implicitDrops.enable": true,
"rust-analyzer.inlayHints.implicitSizedBoundHints.enable": true,
"rust-analyzer.inlayHints.lifetimeElisionHints.enable": "always",
"rust-analyzer.inlayHints.lifetimeElisionHints.useParameterNames": true,
"rust-analyzer.inlayHints.parameterHints.missingArguments.enable": true,
"rust-analyzer.inlayHints.rangeExclusiveHints.enable": true,
"rust-analyzer.interpret.tests": true,
"rust-analyzer.lens.references.adt.enable": true,
"rust-analyzer.lens.references.enumVariant.enable": true,
"rust-analyzer.lens.references.method.enable": true,
"rust-analyzer.lens.references.trait.enable": true,
"rust-analyzer.showUnlinkedFileNotification": false,
// Python
"python.languageServer": "None",
"ty.path": ["/etc/profiles/per-user/finchie/bin/ty"],
// Nix
"nix.enableLanguageServer": true,
"nix.serverPath": "/etc/profiles/per-user/finchie/bin/nil",
// Markdown
"markdownlint.config": {
"no-inline-html": false
},
// -- Spellcheck --
"harper.path": "/etc/profiles/per-user/finchie/bin/harper-ls",
// -- Debugging --
"launch": {
"version": "0.2.0",
"configurations": [
{
"type": "midas-rr",
"request": "attach",
"name": "Launch replay debug session",
"cwd": "${workspaceFolder}",
// "stopOnEntry": true,
"trace": "Off",
"setupCommands": ["set print object on", "set auto-load safe-path /"]
}
]
},
// -- Version Control --
"git.openRepositoryInParentFolders": "always",
"gitlens.launchpad.indicator.enabled": false,
"pijul.ignoreMissingInstallation": true,
// -- Diff --
"semanticdiff.closeOriginalTab": true,
"semanticdiff.defaultDiffViewer": true,
// -- Disable AI --
// https://leonidboykov.com/how-to-disable-all-ai-stuff-in-visual-studio-code/
"chat.agent.enabled": false,
"chat.commandCenter.enabled": false,
"inlineChat.accessibleDiffView": "off"
}