From 2e628b7c4da022f8ff1087313dc7ef5b7bc601ce Mon Sep 17 00:00:00 2001 From: John Bowdre Date: Thu, 27 Jul 2023 14:03:04 -0500 Subject: [PATCH] add more vscode configs --- nix/lib/vscode.nix | 76 ++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 74 insertions(+), 2 deletions(-) diff --git a/nix/lib/vscode.nix b/nix/lib/vscode.nix index b0667f9..a1decc9 100644 --- a/nix/lib/vscode.nix +++ b/nix/lib/vscode.nix @@ -24,24 +24,96 @@ vscodevim.vim yzhang.markdown-all-in-one ]; + keybindings = [ + { + key = "backspace"; + command = "-markdown.extension.onBackspaceKey"; + when = "editorTextFocus && !editorHasMultipleSelections && !editorReadonly && !markdown.extension.editor.cursor.inFencedCodeBlock && !markdown.extension.editor.cursor.inMathEnv && !suggestWidgetVisible && vim.mode != 'CommandlineInProgress' && vim.mode != 'EasyMotionInputMode' && vim.mode != 'EasyMotionMode' && vim.mode != 'Normal' && vim.mode != 'Replace' && vim.mode != 'SearchInProgressMode' && vim.mode != 'SurroundInputMode' && vim.mode != 'Visual' && vim.mode != 'VisualBlock' && vim.mode != 'VisualLine' && editorLangId =~ /^markdown$|^rmd$|^quarto$/"; + } + { + key = "ctrl+shift+alt+down"; + command = "-markdown.extension.onCopyLineDown"; + when = "editorTextFocus && !editorReadonly && !suggestWidgetVisible && editorLangId =~ /^markdown$|^rmd$|^quarto$/"; + } + { + key = "ctrl+shift+alt+up"; + command = "-markdown.extension.onCopyLineUp"; + when = "editorTextFocus && !editorReadonly && !suggestWidgetVisible && editorLangId =~ /^markdown$|^rmd$|^quarto$/"; + } + { + key = "ctrl+enter"; + command = "-markdown.extension.onCtrlEnterKey"; + when = "editorTextFocus && !editorHasMultipleSelections && !editorReadonly && !markdown.extension.editor.cursor.inFencedCodeBlock && !markdown.extension.editor.cursor.inMathEnv && !suggestWidgetVisible && editorLangId =~ /^markdown$|^rmd$|^quarto$/"; + } + { + key = "enter"; + command = "-markdown.extension.onEnterKey"; + when = "editorTextFocus && !editorHasMultipleSelections && !editorReadonly && !markdown.extension.editor.cursor.inFencedCodeBlock && !markdown.extension.editor.cursor.inMathEnv && !suggestWidgetVisible && vim.mode != 'CommandlineInProgress' && vim.mode != 'EasyMotionInputMode' && vim.mode != 'EasyMotionMode' && vim.mode != 'Normal' && vim.mode != 'Replace' && vim.mode != 'SearchInProgressMode' && vim.mode != 'SurroundInputMode' && vim.mode != 'Visual' && vim.mode != 'VisualBlock' && vim.mode != 'VisualLine' && editorLangId =~ /^markdown$|^rmd$|^quarto$/"; + } + { + key = "ctrl+]"; + command = "-markdown.extension.onIndentLines"; + when = "editorTextFocus && !suggestWidgetVisible && editorLangId =~ /^markdown$|^rmd$|^quarto$/"; + } + { + key = "alt+down"; + command = "-markdown.extension.onMoveLineDown"; + when = "editorTextFocus && !editorReadonly && !suggestWidgetVisible && editorLangId =~ /^markdown$|^rmd$|^quarto$/"; + } + { + key = "alt+up"; + command = "-markdown.extension.onMoveLineUp"; + when = "editorTextFocus && !editorReadonly && !suggestWidgetVisible && editorLangId =~ /^markdown$|^rmd$|^quarto$/"; + } + { + key = "ctrl+["; + command = "-markdown.extension.onOutdentLines"; + when = "editorTextFocus && !suggestWidgetVisible && editorLangId =~ /^markdown$|^rmd$|^quarto$/"; + } + { + key = "shift+enter"; + command = "-markdown.extension.onShiftEnterKey"; + when = "editorTextFocus && !editorHasMultipleSelections && !editorReadonly && !markdown.extension.editor.cursor.inFencedCodeBlock && !markdown.extension.editor.cursor.inMathEnv && !suggestWidgetVisible && editorLangId =~ /^markdown$|^rmd$|^quarto$/"; + } + { + key = "shift+tab"; + command = "-markdown.extension.onShiftTabKey"; + when = "editorTextFocus && markdown.extension.editor.cursor.inList && !editorHasMultipleSelections && !editorReadonly && !editorTabMovesFocus && !hasOtherSuggestions && !hasSnippetCompletions && !inSnippetMode && !markdown.extension.editor.cursor.inFencedCodeBlock && !markdown.extension.editor.cursor.inMathEnv && !suggestWidgetVisible && editorLangId =~ /^markdown$|^rmd$|^quarto$/"; + } + { + key = "tab"; + command = "-markdown.extension.onTabKey"; + when = "editorTextFocus && markdown.extension.editor.cursor.inList && !editorHasMultipleSelections && !editorReadonly && !editorTabMovesFocus && !hasOtherSuggestions && !hasSnippetCompletions && !inSnippetMode && !inlineSuggestionVisible && !markdown.extension.editor.cursor.inFencedCodeBlock && !markdown.extension.editor.cursor.inMathEnv && !suggestWidgetVisible && editorLangId =~ /^markdown$|^rmd$|^quarto$/"; + } + ]; userSettings = { "diffEditor.ignoreTrimWhitespace" = false; "editor.acceptSuggestionOnCommitCharacter" = false; "editor.acceptSuggestionOnEnter" = "off"; + "editor.detectIndentation" = false; + "editor.inlineSuggest.enabled" = true; "editor.lineNumbers" = "relative"; "editor.renderControlCharacters" = true; - "editor.renderWhitespace" = "boundary"; + "editor.renderWhitespace" = "all"; "editor.tabCompletion" = "off"; "editor.tabSize" = 2; "explorer.confirmDragAndDrop" = false; "files.hotExit" = "onExitAndWindowClose"; + "files.trimTrailingWhitespace" = true; "git.confirmSync" = false; "git.ignoreLegacyWarning" = true; + "github.copilot.enable" = { + "*" = true; + "plaintext" = true; + "markdown" = true; + "scminput" = false; + "yaml" = true; + }; "powershell.codeFormatting.useCorrectCasing" = true; "security.workspace.trust.untrustedFiles" = "open"; "vim.statusBarColorControl" = true; "vim.useCtrlKeys" = false; - "window.restoreWindows" = "all"; + "window.restoreWindows" = "none"; "workbench.startupEditor" = "none"; "workbench.colorCustomizations" = { "statusBar.background" = "#005f5f";