From 1cf7ac7feea9378f779ddd58f6ce8bcf4008880e Mon Sep 17 00:00:00 2001 From: Sravan Balaji Date: Thu, 23 Nov 2023 11:20:24 -0500 Subject: [PATCH] VS Code Settings & Submodule Updates - Add VS Code settings and keybindings configuration - Replace VictorMono with FiraCode font in Doom Emacs - Update dwm-flexipatch with upstream changes - Update dwm-flexipatch window tagging rules - README.org heading re-organization - Update dracula-gtk and dracula-qbittorrent submodules --- .config/Code/User/keybindings.json | 92 ++++++ .config/Code/User/settings.json | 270 ++++++++++++++++ .config/doom-emacs-config | 2 +- .config/dwm-flexipatch | 2 +- .themes/dracula-gtk | 2 +- .themes/dracula-qbittorrent | 2 +- README.org | 486 ++++++++++++++++++++++++++++- 7 files changed, 840 insertions(+), 16 deletions(-) create mode 100644 .config/Code/User/keybindings.json create mode 100644 .config/Code/User/settings.json diff --git a/.config/Code/User/keybindings.json b/.config/Code/User/keybindings.json new file mode 100644 index 0000000..e64ede6 --- /dev/null +++ b/.config/Code/User/keybindings.json @@ -0,0 +1,92 @@ +[ + { + // restore indenting functionality in normal mode + "key": "tab", + "command": "tab", + "when": "editorTextFocus && !editorTabMovesFocus" + }, + { + // restore indenting functionality in normal mode + "key": "shift+tab", + "command": "outdent", + "when": "editorTextFocus && !editorTabMovesFocus" + }, + { + // switch to left window + "key": "ctrl+h", + "command": "workbench.action.focusLeftGroup", + "when": "editorTextFocus && vim.active && vim.mode != 'Insert'" + }, + { + // switch to right window + "key": "ctrl+l", + "command": "workbench.action.focusRightGroup", + "when": "editorTextFocus && vim.active && vim.mode != 'Insert'" + }, + { + // switch to above window + "key": "ctrl+k", + "command": "workbench.action.focusAboveGroup", + "when": "editorTextFocus && vim.active && vim.mode != 'Insert'" + }, + { + // switch to below window + "key": "ctrl+j", + "command": "workbench.action.focusBelowGroup", + "when": "editorTextFocus && vim.active && vim.mode != 'Insert'" + }, + { + // toggle sidebar when in sidebar + "key": "\\ t", + "command": "workbench.action.toggleSidebarVisibility", + "when": "!editorTextFocus" + }, + { + // collapse list in sidebar + "key": "ctrl+h", + "command": "list.collapse", + "when": "listFocus && !inputFocus" + }, + { + // expand list in sidebar + "key": "ctrl+l", + "command": "list.expand", + "when": "listFocus && !inputFocus" + }, + { + // move up list + "key": "ctrl+k", + "command": "list.focusUp", + "when": "listFocus && !inputFocus" + }, + { + // move down list + "key": "ctrl+j", + "command": "list.focusDown", + "when": "listFocus && !inputFocus" + }, + { + // next item in suggestion widget + "key": "ctrl+j", + "command": "selectNextSuggestion", + "when": "suggestWidgetVisible" + }, + { + // previous item in suggestion widget + "key": "ctrl+k", + "command": "selectPrevSuggestion", + "when": "suggestWidgetVisible" + }, + { + // next item in quick open + "key": "ctrl+j", + "command": "workbench.action.quickOpenSelectNext", + "when": "inQuickOpen" + }, + { + // previous item in quick open + "key": "ctrl+k", + "command": "workbench.action.quickOpenSelectPrevious", + "when": "inQuickOpen" + } +] diff --git a/.config/Code/User/settings.json b/.config/Code/User/settings.json new file mode 100644 index 0000000..6f48e12 --- /dev/null +++ b/.config/Code/User/settings.json @@ -0,0 +1,270 @@ +{ + + "workbench.colorTheme": "Dracula Pro", + "workbench.iconTheme": "vscode-icons", + "workbench.productIconTheme": "fluent-icons", + "workbench.editorAssociations": { + "*.ipynb": "jupyter.notebook.ipynb" + }, + "workbench.sideBar.location": "left", + "workbench.panel.defaultLocation": "bottom", + "workbench.editor.highlightModifiedTabs": true, + "workbench.settings.enableNaturalLanguageSearch": false, + + "editor.fontFamily": "'FiraCode Nerd Font'", + "editor.fontSize": 14, + "editor.fontLigatures": true, + "editor.formatOnSave": true, + "editor.formatOnSaveMode": "modifications", + "editor.formatOnPaste": true, + "editor.linkedEditing": true, + "editor.lineNumbers": "on", + "editor.cursorBlinking": "phase", + "editor.cursorSmoothCaretAnimation": "on", + "editor.quickSuggestionsDelay": 0, + "editor.quickSuggestions": { + "other": true, + "comments": true, + "strings": true + }, + "editor.suggestSelection": "first", + "editor.rulers": [ + 110 + ], + "editor.wordWrap": "on", + "editor.minimap.enabled": false, + "editor.smoothScrolling": true, + "editor.tabSize": 4, + "editor.insertSpaces": true, + "editor.renderWhitespace": "all", + "editor.bracketPairColorization.enabled": true, + "editor.guides.bracketPairs": "active", + "editor.tokenColorCustomizations": { + "textMateRules": [ + { + "scope": [ + //following will be in italic (=FlottFlott) + "comment", + "entity.name.type.class", //class names + "keyword", //import, export, return… + "constant", //String, Number, Boolean…, this, super + "storage.modifier", //static keyword + "storage.type.class.js", //class keyword + ], + "settings": { + "fontStyle": "italic" + } + }, + { + "scope": [ + //following will be excluded from italics (VSCode has some defaults for italics) + "invalid", + "keyword.operator", + "constant.numeric.css", + "keyword.other.unit.px.css", + "constant.numeric.decimal.js", + "constant.numeric.json" + ], + "settings": { + "fontStyle": "" + } + } + ] + }, + + "explorer.autoReveal": false, + "explorer.confirmDelete": false, + "explorer.confirmDragAndDrop": false, + + "files.trimTrailingWhitespace": true, + "files.insertFinalNewline": true, + "files.trimFinalNewlines": true, + "files.associations": { + "*.rasi": "css" + }, + + "vim.insertModeKeyBindings": [ + { + // easier insert mode exit + "before": ["j", "k"], + "after": [""] + }, + ], + "vim.normalModeKeyBindings": [ + { + // go to definition + "before": ["g", "D"], + "commands": ["editor.action.revealDefintionsAside"], + }, + ], + "vim.normalModeKeyBindingsNonRecursive": [ + { + // open sidebar + "before": ["", "t"], + "commands": ["workbench.action.toggleSidebarVisibility"], + }, + { + // show current file in explorer + "before": ["", "f"], + "commands": ["revealInExplorer"], + }, + { + // toggle comment on current line + "before": ["", "c"], + "commands": [ + "editor.action.commentLine", + "extension.vim_escape" + ], + }, + { + // rename symbol + "before": ["", "r", "e"], + "commands": ["editor.action.rename"], + }, + { + // show all symbols + "before": ["", "o", "g"], + "commands": ["workbench.action.showAllSymbols"], + }, + { + // show editors in active group + "before": ["", "o", "o"], + "commands": ["workbench.action.showEditorsInActiveGroup"], + }, + { + // quick open a file + "before": ["", "o", "p"], + "commands": ["workbench.action.quickOpen"], + }, + ], + "vim.visualModeKeyBindings": [ + { + "before": ["", "c"], + "commands": ["editor.action.commentLine"], + "when": "editorTextFocus && !editorReadonly" + } + ], + "vim.hlsearch": true, + "vim.leader": "\\", + "vim.easymotion": true, + "vim.surround": true, + "vim.useSystemClipboard": true, + + "terminal.integrated.cursorStyle": "line", + "terminal.integrated.cursorBlinking": true, + "terminal.integrated.fontFamily": "'FiraCode Nerd Font'", + + "[javascript]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[html]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[latex]": { + "editor.defaultFormatter": "James-Yu.latex-workshop" + }, + "[cpp]": { + "editor.defaultFormatter": "ms-vscode.cpptools" + }, + "python.linting.pylintEnabled": true, + "python.linting.enabled": true, + "python.languageServer": "Pylance", + + "todo-tree.tree.showScanModeButton": false, + "todo-tree.general.tags": [ + "BUG", + "HACK", + "FIXME", + "TODO", + "XXX", + "DONE", + "[ ]", + "[x]" + ], + + "prettier.endOfLine": "auto", + "prettier.proseWrap": "always", + "prettier.tabWidth": 4, + "prettier.useTabs": true, + + "liveServer.settings.donotVerifyTags": true, + "liveServer.settings.donotShowInfoMsg": true, + + "latex-workshop.view.pdf.viewer": "tab", + + "jupyter.sendSelectionToInteractiveWindow": false, + "jupyter.alwaysTrustNotebooks": true, + + "git.autofetch": true, + + "cmake.configureOnOpen": false, + + "diffEditor.ignoreTrimWhitespace": false, + + "projectManager.git.baseFolders": [ + "/home/sravan/Projects", + "/home/sravan/.config" + ], + + "vsicons.dontShowNewVersionMessage": true, + + "telemetry.enableTelemetry": false, + "telemetry.enableCrashReporter": false, + "todo-tree.regex.regex": "(//|#|