From 8244073c8098d7dfa170ecc7248bbfb450459fde Mon Sep 17 00:00:00 2001 From: mehbark Date: Tue, 31 Oct 2023 18:55:26 -0400 Subject: [PATCH] vscode settings.json --- home.nix | 1 + vscode-settings.nix | 382 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 383 insertions(+) create mode 100644 vscode-settings.nix diff --git a/home.nix b/home.nix index 3cfb523..07a7942 100644 --- a/home.nix +++ b/home.nix @@ -87,6 +87,7 @@ in enableUpdateCheck = false; # i prefer to let vscode manage stuff mutableExtensionsDir = true; + userSettings = builtins.fromJSON (import ./vscode-settings.nix) }; programs.neovim = { diff --git a/vscode-settings.nix b/vscode-settings.nix new file mode 100644 index 0000000..991b834 --- /dev/null +++ b/vscode-settings.nix @@ -0,0 +1,382 @@ +''' +{ + "workbench.editor.enablePreviewFromQuickOpen": false, + "rust-analyzer.checkOnSave.command": "clippy", + "workbench.editor.enablePreview": false, + "[rust]": { + "editor.semanticHighlighting.enabled": true, + "editor.defaultFormatter": "rust-lang.rust-analyzer" + }, + "[latex]": { + "editor.defaultFormatter": "nickfode.latex-formatter" + }, + "[python]": { + "editor.formatOnType": true + }, + "[makefile]": { + "editor.insertSpaces": false + }, + "[c]": { + "editor.insertSpaces": false, + "editor.tabSize": 8, + "editor.useTabStops": true, + "editor.formatOnSave": false + }, + "editor.renderWhitespace": "selection", + "[java]": { + "editor.suggest.snippetsPreventQuickSuggestions": false + }, + "editor.formatOnSave": true, + "editor.acceptSuggestionOnCommitCharacter": false, + "git.autofetch": true, + "files.eol": "\n", + "vim.handleKeys": { + "": false + }, + "vim.leader": ";", + "vim.normalModeKeyBindings": [ + { + "before": ["j"], + "after": ["g", "j"] + }, + { + "before": ["k"], + "after": ["g", "k"] + }, + { + "before": ["0"], + "after": ["^"] + }, + { + "before": ["t", "j"], + "commands": ["workbench.action.nextEditor"] + }, + { + "before": ["t", "k"], + "commands": ["workbench.action.previousEditor"] + }, + { + "before": ["t", "w"], + "commands": ["workbench.action.closeActiveEditor"] + }, + { + "before": ["f", "f"], + "commands": ["workbench.action.quickOpen"] + }, + { + "before": ["f", "e"], + "commands": ["workbench.action.showAllEditorsByMostRecentlyUsed"] + }, + { + "before": ["f", "s"], + "commands": ["workbench.action.gotoSymbol"] + }, + { + "before": ["", "z"], + "commands": ["workbench.action.toggleZenMode"] + }, + { + "before": ["", "w"], + "commands": [":w"] + }, + { + "before": ["", "q"], + "commands": [":q"] + }, + { + "before": ["", "d"], + "commands": ["editor.action.showHover"] + }, + { + "before": ["", "f"], + "commands": ["editor.action.quickFix"] + }, + { + "before": ["", "t"], + "commands": ["editor.action.peekTypeDefinition"] + }, + { + "before": ["", "g"], + "commands": ["editor.action.revealDefinition"] + }, + { + "before": ["", "c"], + "commands": ["rust-analyzer.run"] + }, + { + "before": ["", "r", "n"], + "commands": ["editor.action.rename"] + }, + { + "before": [""], + "commands": ["editor.action.marker.nextInFiles"] + }, + { + "before": [""], + "commands": ["editor.action.marker.prevInFiles"] + }, + { + "before": ["", "p", "c"], + "commands": ["picat.run.document"] + }, + // clojure + { + "before": ["", "s", "h"], + "commands": ["paredit.slurpSexpBackward"] + }, + { + "before": ["", "s", "l"], + "commands": ["paredit.slurpSexpForward"] + }, + { + "before": ["", "s", "w", "p"], + "commands": ["paredit.wrapAroundParens"] + }, + { + "before": ["", "s", "w", "b"], + "commands": ["paredit.wrapAroundSquare"] + }, + { + "before": ["", "s", "w", "c"], + "commands": ["paredit.wrapAroundCurly"] + }, + { + "before": ["", "s", "w", "p"], + "commands": ["paredit.wrapAroundParens"] + }, + { + "before": ["", "b", "h"], + "commands": ["paredit.barfSexpBackward"] + }, + { + "before": ["", "b", "l"], + "commands": ["paredit.barfSexpForward"] + }, + { + "before": ["", "s", "t"], + "commands": ["paredit.transpose"] + }, + { + "before": ["", "s", "t"], + "commands": ["paredit.transpose"] + }, + { + "before": ["", "s", "e"], + "commands": ["calva.evaluateCurrentTopLevelForm"] + }, + { + "before": ["", "s", "s"], + "commands": ["calva.evaluateSelection"] + }, + { + "before": ["", "s", "f"], + "commands": ["calva.sendCurrentFormToOutputWindow"] + }, + { + "before": ["", "s", "o"], + "commands": ["calva.showOutputWindow"] + }, + // idris + { + "before": ["", "i", "l"], + "commands": ["idris.make-lemma"] + }, + { + "before": ["", "i", "f", "h"], + "commands": ["idris.proof-search"] + }, + { + "before": ["", "i", "c", "s"], + "commands": ["idris.case-split"] + }, + { + "before": ["", "i", "t", "c"], + "commands": ["idris.typecheck"] + }, + { + "before": ["", "i", "m"], + "commands": ["idris.add-clause"] + } + ], + "vim.useSystemClipboard": true, + "vim.easymotion": true, + "vim.highlightedyank.enable": true, + "vim.smartRelativeLine": true, + "[jsonc]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "editor.fontFamily": "JetBrainsMono Nerd Font", + // "editor.fontFamily": "IntelOne Mono", + // "editor.fontFamily": "CMU Serif", + // "editor.fontFamily": "JuliaMono", + "editor.fontLigatures": true, + "git.confirmSync": false, + "terminal.integrated.scrollback": 100000, + "go.useLanguageServer": true, + "[javascript]": { + "editor.defaultFormatter": null, + "editor.formatOnSave": true + }, + "terminal.integrated.commandsToSkipShell": ["-workbench.action.quickOpen"], + "[typescript]": { + "editor.formatOnSave": true, + "editor.defaultFormatter": "denoland.vscode-deno" + }, + "[json]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "editor.rulers": [80, 100], + "git.enableSmartCommit": true, + "typescript.updateImportsOnFileMove.enabled": "always", + "[typescriptreact]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[html]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "terminal.integrated.tabs.enabled": true, + "terminal.integrated.defaultProfile.linux": "fish", + //"workbench.preferredDarkColorTheme": "GitHub Dark", + //"workbench.preferredLightColorTheme": "GitHub Light", + "editor.tabSize": 4, + "editor.cursorStyle": "line", + "editor.lineNumbers": "on", + "editor.wordSeparators": "/\\()\"':,.;<>~!@#$%^&*|+=[]{}`?-", + "editor.wordWrap": "off", + "window.restoreWindows": "none", + "editor.quickSuggestions": { + "other": "on", + "comments": "off", + "strings": "on" + }, + "window.autoDetectColorScheme": true, + "files.watcherExclude": { + "**/.git/objects/**": true, + "**/.git/subtree-cache/**": true, + "**/node_modules/*/**": true, + "**/.hg/store/**": true, + "/target/**": true + }, + "editor.inlineSuggest.enabled": true, + "github.copilot.enable": { + "*": true, + "yaml": true, + "plaintext": false, + "markdown": false + }, + "editor.bracketPairColorization.enabled": true, + "security.workspace.trust.untrustedFiles": "open", + "editor.inlayHints.enabled": "offUnlessPressed", + "rust-analyzer.lens.run": false, + "rust-analyzer.lens.debug": false, + "rust-analyzer.lens.implementations": false, + "editor.cursorSmoothCaretAnimation": "on", + "editor.cursorBlinking": "solid", + "workbench.iconTheme": "gruvbox-material-icon-theme", + "window.titleBarStyle": "custom", + "workbench.layoutControl.enabled": true, + "workbench.layoutControl.type": "both", + "files.insertFinalNewline": true, + "editor.insertSpaces": true, + "oneDarkPro.italic": false, + "latex-workshop.view.pdf.viewer": "tab", + "[handlebars]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "editor.fontSize": 16, + "settingsSync.ignoredExtensions": [], + "syntax.highlightLanguages": [ + "c", + "cpp", + "python", + "typescript", + "typescriptreact", + "javascript", + "go", + "rust", + "php", + "ruby", + "shellscript", + "ocaml", + "lua" + ], + "editor.suggest.localityBonus": true, + // "rust-analyzer.inlayHints.chainingHints.enable": false, + // "rust-analyzer.inlayHints.parameterHints.enable": false, + // "rust-analyzer.inlayHints.typeHints.enable": false, + "[css]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[markdown]": { + "editor.defaultFormatter": "esbenp.prettier-vscode", + "editor.formatOnSave": false + }, + "prettier.arrowParens": "avoid", + "prettier.tabWidth": 4, + "rust-analyzer.lens.enable": false, + "workbench.startupEditor": "none", + "workbench.editorAssociations": { + "*.jpg": "imagePreview.previewEditor" + }, + "gruvboxMaterial.italicComments": false, + "rust-analyzer.inlayHints.maxLength": null, + "rust-analyzer.debug.openDebugPane": true, + "rust-analyzer.inlayHints.closureReturnTypeHints.enable": "always", + "rust-analyzer.inlayHints.lifetimeElisionHints.enable": "always", + "rust-analyzer.inlayHints.lifetimeElisionHints.useParameterNames": true, + "rust-analyzer.inlayHints.reborrowHints.enable": "always", + "rust-analyzer.checkOnSave.extraArgs": ["--", "-W", "clippy::pedantic"], + "editor.unicodeHighlight.invisibleCharacters": false, + "remote.extensionKind": { + "pub.name": ["ui"] + }, + "docker.commands.attach": "$${config:docker.dockerPath} exec -it $${containerId} $${shellCommand}", + "C_Cpp.clang_format_fallbackStyle": "WebKit", + "editor.stickyScroll.enabled": true, + "workbench.colorTheme": "One Dark Pro Darker", + "files.associations": { + "*.h": "c", + "*.pl": "prolog" + }, + "editor.minimap.showSlider": "always", + "haskell.formattingProvider": "stylish-haskell", + "editor.minimap.enabled": false, + "[haskell]": { + "editor.defaultFormatter": "haskell.haskell" + }, + "calva.highlight.matchedBracketStyle": {}, + "calva.paredit.defaultKeyMap": "original", + "editor.autoIndent": "advanced", + "calva.prettyPrintingOptions": { + "printEngine": "pprint", + "enabled": true, + "width": 120, + "maxLength": 50 + }, + "[javascriptreact]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "errorLens.excludeBySource": ["eslint(eqeqeq)", "ts(2551)"], + "terminal.integrated.fontSize": 15, + "dafny.verificationTimeLimit": 3600, + "dafny.verificationVirtualCores": 0, + "editor.defaultFormatter": "denoland.vscode-deno", + "haskell.manageHLS": "GHCup", + "haskell.ghcupExecutablePath": "/home/mbk/.ghcup/bin/ghcup", + "haskell.plugin.tactics.config.auto_gas": 8, + "markdown.editor.pasteUrlAsFormattedLink.enabled": "smart", + "ocaml.server.extendedHover": true, + "idris.warnPartial": true, + "idris.numbersOfContinuousTypechecking": 50, + "zig.zigPath": "", + "debug.internalConsoleOptions": "neverOpen", + "zig.zls.enabled": true, + "zig.zls.path": "/home/mbk/.config/Code/User/globalStorage/ziglang.vscode-zig/zls_install/zls", + "ruby.codeCompletion": "rcodetools", + "ruby.intellisense": "rubyLocate", + "ruby.format": "prettier", + "window.commandCenter": false, + "editor.suggest.showStatusBar": true, + "twind.debug": true +} +'''