// Place your key bindings in this file to override the defaults
[
    // #region mac minor change for cross-platform compatiblity
    {
        "key": "cmd+r",
        "command": "workbench.action.openRecent"
    },
    {
        "key": "ctrl+r",
        "command": "-workbench.action.openRecent"
    },
    {
        "key": "cmd+k cmd+o",
        "command": "workbench.action.files.openFileFolder",
        "when": "isMacNative && openFolderWorkspaceSupport"
    },
    // #endregion
    // #region quickOpen (Telescope)
    {
        "key": "cmd+p",
        "command": "workbench.action.quickOpen"
    },
    {
        "key": "cmd+p",
        "command": "workbench.action.quickOpenNavigatePrevious",
        "when": "inQuickOpen"
    },
    {
        "key": "cmd+n",
        "command": "workbench.action.quickOpenNavigateNext",
        "when": "inQuickOpen"
    },
    {
        "key": "cmd+[",
        "command": "workbench.action.closeQuickOpen",
        "when": "inQuickOpen"
    },
    {
        "key": "ctrl+[",
        "command": "workbench.action.closeQuickOpen",
        "when": "inQuickOpen"
    },
    { // Emacs-like
        "key": "ctrl+g",
        "command": "workbench.action.closeQuickOpen",
        "when": "inQuickOpen"
    },
    { // Emacs-like: M-x to show command palette
        "key": "alt+x",
        "command": "workbench.action.showCommands"
    },
    // #endregion
    // #region Extension: Code Runner
    {
        "key": "ctrl+alt+n",
        "command": "-code-runner.run"
    },
    // #endregion
    // #region Nvim-Tree like File Explorer
    // n, e : move cursor up/down
    // h    : move cursor to parent folder
    // i    : open file or folder
    {
        "key": "e",
        "command": "list.focusUp",
        "when": "notebookEditorFocused && !inputFocus && !notebookOutputInputFocused"
    },
    {
        "key": "k",
        "command": "-list.focusUp",
        "when": "notebookEditorFocused && !inputFocus && !notebookOutputInputFocused"
    },
    {
        "key": "e",
        "command": "list.focusUp",
        "when": "listFocus && !inputFocus"
    },
    {
        "key": "k",
        "command": "-list.focusUp",
        "when": "listFocus && !inputFocus"
    },
    {
        "key": "f",
        "command": "filesExplorer.findInWorkspace",
        "when": "filesExplorerFocus && foldersViewVisible && !explorerResourceIsRoot && !explorerResourceReadonly && !inputFocus"
    },
    {
        "key": "n",
        "command": "list.focusDown",
        "when": "listFocus && !inputFocus"
    },
    {
        "key": "j",
        "command": "-list.focusDown",
        "when": "listFocus && !inputFocus"
    },
    {
        "key": "i",
        "command": "list.select",
        "when": "listFocus && !inputFocus"
    },
    {
        "key": "l",
        "command": "-list.select",
        "when": "listFocus && !inputFocus"
    },
    { // z: Close all folders
        "key": "z",
        "command": "workbench.files.action.collapseExplorerFolders",
        "when": "filesExplorerFocus && foldersViewVisible && !explorerResourceIsRoot && !explorerResourceReadonly && !inputFocus"
    },
    { // <leader>e: Close left sidebar if is in file explorer
        "key": "space e",
        "command": "workbench.action.toggleSidebarVisibility",
        "when": "sideBarFocus && !inputFocus && !searchViewletVisible && filesExplorerFocus"
    },
    { // <leader>e: Focus on file explorer if is on sidebar and not in file explorer
        "key": "space e",
        "command": "workbench.files.action.focusFilesExplorer",
        "when": "sideBarFocus && !inputFocus && !searchViewletVisible && !filesExplorerFocus"
    },
    { // <leader>g: Focus on file explorer if is on sidebar and not in file explorer
        "key": "space g",
        "command": "workbench.scm.focus",
        "when": "sideBarFocus && !inputFocus && !searchViewletVisible && !scmViewletVisible"
    },
    { // a: add
        "key": "a",
        "command": "explorer.newFile",
        "when": "filesExplorerFocus && foldersViewVisible && !explorerResourceIsRoot && !explorerResourceReadonly && !inputFocus"
    },
    { // p: paste
        "key": "p",
        "command": "filesExplorer.paste",
        "when": "filesExplorerFocus && foldersViewVisible && !explorerResourceIsRoot && !explorerResourceReadonly && !inputFocus"
    },
    { // x: cut
        "key": "x",
        "command": "filesExplorer.cut",
        "when": "filesExplorerFocus && foldersViewVisible && !explorerResourceIsRoot && !explorerResourceReadonly && !inputFocus"
    },
    { // d: delete
        "key": "d",
        "command": "deleteFile",
        "when": "filesExplorerFocus && foldersViewVisible && !explorerResourceIsRoot && !explorerResourceReadonly && !inputFocus"
    },
    { // r: rename
        "key": "r",
        "command": "renameFile",
        "when": "filesExplorerFocus && foldersViewVisible && !explorerResourceIsRoot && !explorerResourceReadonly && !inputFocus"
    },
    { // s: open in vertical split / to side
        "key": "s",
        "command": "explorer.openToSide",
        "when": "filesExplorerFocus && foldersViewVisible && !explorerResourceIsRoot && !explorerResourceReadonly && !inputFocus"
    },
    { // A: add folder
        "key": "shift+a",
        "command": "explorer.newFolder",
        "when": "filesExplorerFocus && foldersViewVisible && !explorerResourceIsRoot && !explorerResourceReadonly && !inputFocus"
    },
    { // C: Copy path
        "key": "shift+c",
        "command": "copyFilePath",
        "when": "filesExplorerFocus && foldersViewVisible && !explorerResourceIsRoot && !explorerResourceReadonly && !inputFocus"
    },
    { // E: Open in File Explorer
        "key": "shift+e",
        "command": "revealFileInOS",
        "when": "filesExplorerFocus && foldersViewVisible && !explorerResourceIsRoot && !explorerResourceReadonly && !inputFocus"
    },
    { // E: Open in File Explorer (WSL)
        "key": "shift+e",
        "command": "remote-wsl.revealInExplorer",
        "when": "filesExplorerFocus && foldersViewVisible && !explorerResourceIsRoot && !explorerResourceReadonly && !inputFocus && remoteName == 'wsl'"
    },
    { // O: Open with System App
        "key": "shift+o",
        "command": "openInExternalApp.open",
        "when": "filesExplorerFocus && foldersViewVisible && !explorerResourceIsRoot && !explorerResourceReadonly && !inputFocus"
    },
    { // Y: Copy Relative Path
        "key": "shift+y",
        "command": "copyRelativeFilePath",
        "when": "filesExplorerFocus && foldersViewVisible && !explorerResourceIsRoot && !explorerResourceReadonly && !inputFocus"
    },
    { // R: Copy Relative Path
        "key": "shift+r",
        "command": "workbench.files.action.refreshFilesExplorer",
        "when": "filesExplorerFocus && foldersViewVisible && !explorerResourceIsRoot && !explorerResourceReadonly && !inputFocus"
    },
    { // T: Open in terminal
        "key": "shift+t",
        "command": "openInIntegratedTerminal",
        "when": "filesExplorerFocus && foldersViewVisible && !explorerResourceIsRoot && !explorerResourceReadonly && !inputFocus"
    },
    // #endregion
    // #region Vim-like Hover Browsing
    {
        "key": "h",
        "command": "editor.action.scrollLeftHover",
        "when": "editorHoverFocused"
    },
    {
        "key": "n",
        "command": "editor.action.scrollDownHover",
        "when": "editorHoverFocused"
    },
    {
        "key": "e",
        "command": "editor.action.scrollUpHover",
        "when": "editorHoverFocused"
    },
    {
        "key": "i",
        "command": "editor.action.scrollRightHover",
        "when": "editorHoverFocused"
    },
    // #endregion
    // #region Comment and semicolons
    {
        "key": "cmd+;",
        "command": "extension.insertSemicolon",
        "when": "editorTextFocus"
    },
    {
        "key": "cmd+/",
        "command": "-extension.insertSemicolon",
        "when": "editorTextFocus"
    },
    // #endregion
    // #region Vim-like Jupyter Navigation
    {
        "key": "n",
        "command": "notebook.focusNextEditor",
        "when": "editorTextFocus && inputFocus && notebookEditorFocused && vim.mode == 'Normal' && notebookEditorCursorAtBoundary != 'none' && notebookEditorCursorAtBoundary != 'top'"
    },
    {
        "key": "j",
        "command": "-notebook.focusNextEditor",
        "when": "editorTextFocus && inputFocus && notebookEditorFocused && vim.mode == 'Normal' && notebookEditorCursorAtBoundary != 'none' && notebookEditorCursorAtBoundary != 'top'"
    },
    {
        "key": "e",
        "command": "notebook.focusPreviousEditor",
        "when": "editorTextFocus && inputFocus && notebookEditorFocused && vim.mode == 'Normal' && notebookEditorCursorAtBoundary != 'bottom' && notebookEditorCursorAtBoundary != 'none'"
    },
    {
        "key": "k",
        "command": "-notebook.focusPreviousEditor",
        "when": "editorTextFocus && inputFocus && notebookEditorFocused && vim.mode == 'Normal' && notebookEditorCursorAtBoundary != 'bottom' && notebookEditorCursorAtBoundary != 'none'"
    },
    // #endregion
    // #region Editor: Completions
    {
        "key": "ctrl+n",
        "command": "workbench.action.files.newUntitledFile",
        "when": "!suggestWidgetVisible && !inQuickOpen"
    },
    {
        "key": "ctrl+n",
        "command": "-workbench.action.files.newUntitledFile"
    },
    {
        "key": "ctrl+n",
        "command": "selectNextSuggestion",
        "when": "suggestWidgetMultipleSuggestions && suggestWidgetVisible && textInputFocus || suggestWidgetVisible && textInputFocus && !suggestWidgetHasFocusedSuggestion"
    },
    {
        "key": "ctrl+p",
        "command": "selectPrevSuggestion",
        "when": "suggestWidgetMultipleSuggestions && suggestWidgetVisible && textInputFocus || suggestWidgetVisible && textInputFocus && !suggestWidgetHasFocusedSuggestion"
    },
    {
        "key": "ctrl+f",
        "command": "acceptSelectedSuggestion",
        "when": "suggestWidgetVisible && textInputFocus && !inlineSuggestionVisible"
    },
    {
        "key": "alt+f",
        "command": "editor.action.inlineSuggest.commit",
        "when": "inlineSuggestionVisible && textInputFocus"
    },
    {
        "key": "ctrl+f",
        "command": "editor.action.inlineSuggest.acceptNextWord",
        "when": "inlineSuggestionVisible && textInputFocus"
    },
    {
        "key": "ctrl+b",
        "command": "hideSuggestWidget",
        "when": "suggestWidgetVisible && textInputFocus"
    },
    {
        "key": "ctrl+b",
        "command": "editor.action.inlineSuggest.hide",
        "when": "inlineSuggestionVisible && textInputFocus"
    },
    // #endregion
    // #region Terminal: tmux-like terminal control
    {
        "key": "cmd+0",
        "command": "workbench.action.focusLastEditorGroup",
        "when": "terminalFocus"
    },
    { // prefix + x : kill terminal
        "key": "ctrl+a x",
        "command": "workbench.action.terminal.kill",
        "when": "terminalFocus"
    },
    { // prefix + c : create new terminal
        "key": "ctrl+a c",
        "command": "workbench.action.terminal.new",
        "when": "terminalFocus"
    },
    { // prefix + | : split terminal vertically
        "key": "ctrl+a shift+\\",
        "command": "workbench.action.terminal.split",
        "when": "terminalFocus"
    },
    { // prefix + \ : split terminal vertically
        "key": "ctrl+a \\",
        "command": "workbench.action.terminal.split",
        "when": "terminalFocus"
    },
    { // prefix + / : search
        "key": "ctrl+a /",
        "command": "workbench.action.terminal.focusFind",
        "when": "terminalFocus"
    },
    { // prefix + t : toggle terminal
        "key": "ctrl+a t",
        "command": "workbench.action.terminal.toggleTerminal",
        "when": "terminalFocus"
    },
    { // prefix + ^a: show information
        "key": "ctrl+a ctrl+a",
        "command": "workbench.action.terminal.focusHover",
        "when": "terminalFocus && terminalHasBeenCreated || terminalFocus && terminalIsOpen || terminalFocus && terminalProcessSupported || terminalHasBeenCreated && terminalTabsFocus || terminalIsOpen && terminalTabsFocus || terminalProcessSupported && terminalTabsFocus"
    },
    {
        "key": "ctrl+k ctrl+i",
        "command": "-workbench.action.terminal.focusHover",
        "when": "terminalFocus && terminalHasBeenCreated || terminalFocus && terminalIsOpen || terminalFocus && terminalProcessSupported || terminalHasBeenCreated && terminalTabsFocus || terminalIsOpen && terminalTabsFocus || terminalProcessSupported && terminalTabsFocus"
    },
    { // prefix + 1 : focus terminal 1
        "key": "ctrl+a 1",
        "command": "workbench.action.terminal.focusAtIndex1",
        "when": "terminalFocus && terminalHasBeenCreated || terminalFocus && terminalIsOpen || terminalFocus && terminalProcessSupported || terminalHasBeenCreated && terminalTabsFocus || terminalIsOpen && terminalTabsFocus || terminalProcessSupported && terminalTabsFocus"
    },
    { // prefix + 2 : focus terminal 2
        "key": "ctrl+a 2",
        "command": "workbench.action.terminal.focusAtIndex2",
        "when": "terminalFocus && terminalHasBeenCreated || terminalFocus && terminalIsOpen || terminalFocus && terminalProcessSupported || terminalHasBeenCreated && terminalTabsFocus || terminalIsOpen && terminalTabsFocus || terminalProcessSupported && terminalTabsFocus"
    },
    { // prefix + 3 : focus terminal 3
        "key": "ctrl+a 3",
        "command": "workbench.action.terminal.focusAtIndex3",
        "when": "terminalFocus && terminalHasBeenCreated || terminalFocus && terminalIsOpen || terminalFocus && terminalProcessSupported || terminalHasBeenCreated && terminalTabsFocus || terminalIsOpen && terminalTabsFocus || terminalProcessSupported && terminalTabsFocus"
    },
    { // prefix + g : Go to recent directory
        "key": "ctrl+a g",
        "command": "workbench.action.terminal.goToRecentDirectory",
        "when": "terminalFocus && terminalHasBeenCreated || terminalFocus && terminalProcessSupported"
    },
    {
        "key": "ctrl+g",
        "command": "-workbench.action.terminal.goToRecentDirectory",
        "when": "terminalFocus && terminalHasBeenCreated || terminalFocus && terminalProcessSupported"
    },
    { // prefix + d : detach terminal
        "key": "ctrl+a d",
        "command": "workbench.action.terminal.detachSession",
        "when": "terminalFocus && terminalHasBeenCreated || terminalFocus && terminalProcessSupported"
    },
    { // prefix + a : attach to session
        "key": "ctrl+a a",
        "command": "workbench.action.terminal.attachToSession",
        "when": "terminalFocus"
    },
    {
        "key": "ctrl+a h",
        "command": "workbench.action.terminal.focusPreviousPane",
        "when": "terminalFocus && terminalHasBeenCreated || terminalFocus && terminalProcessSupported"
    },
    {
        "key": "ctrl+a i",
        "command": "workbench.action.terminal.focusNextPane",
        "when": "terminalFocus && terminalHasBeenCreated || terminalFocus && terminalProcessSupported"
    },
    {
        "key": "ctrl+a shift+H",
        "command": "workbench.action.terminal.resizePaneLeft",
        "when": "terminalFocus && terminalHasBeenCreated || terminalFocus && terminalProcessSupported"
    },
    {
        "key": "ctrl+a shift+N",
        "command": "workbench.action.terminal.resizePaneDown",
        "when": "terminalFocus && terminalHasBeenCreated || terminalFocus && terminalProcessSupported"
    },
    {
        "key": "ctrl+a shift+E",
        "command": "workbench.action.terminal.resizePaneUp",
        "when": "terminalFocus && terminalHasBeenCreated || terminalFocus && terminalProcessSupported"
    },
    {
        "key": "ctrl+a shift+I",
        "command": "workbench.action.terminal.resizePaneRight",
        "when": "terminalFocus && terminalHasBeenCreated || terminalFocus && terminalProcessSupported"
    },
    {
        "key": "cmd+`",
        "command": "workbench.action.terminal.toggleTerminal",
        "when": "terminal.active"
    },
    {
        "key": "ctrl+`",
        "command": "-workbench.action.terminal.toggleTerminal",
        "when": "terminal.active"
    },
    // {
    // 	"key": "space",
    // 	"command": "vspacecode.space",
    // 	"when": "activeEditorGroupEmpty && focusedView == '' && !whichkeyActive && !inputFocus"
    // },
    // {
    // 	"key": "space",
    // 	"command": "vspacecode.space",
    // 	"when": "sideBarFocus && !inputFocus && !whichkeyActive"
    // },
    {
        "key": "tab",
        "command": "extension.vim_tab",
        "when": "editorTextFocus && vim.active && !inDebugRepl && vim.mode != 'Insert' && editorLangId != 'magit'"
    },
    {
        "key": "tab",
        "command": "-extension.vim_tab",
        "when": "editorTextFocus && vim.active && !inDebugRepl && vim.mode != 'Insert'"
    },
    {
        "key": "x",
        "command": "magit.discard-at-point",
        "when": "editorTextFocus && editorLangId == 'magit' && vim.mode =~ /^(?!SearchInProgressMode|CommandlineInProgress).*$/"
    },
    {
        "key": "k",
        "command": "-magit.discard-at-point"
    },
    {
        "key": "-",
        "command": "magit.reverse-at-point",
        "when": "editorTextFocus && editorLangId == 'magit' && vim.mode =~ /^(?!SearchInProgressMode|CommandlineInProgress).*$/"
    },
    {
        "key": "v",
        "command": "-magit.reverse-at-point"
    },
    {
        "key": "shift+-",
        "command": "magit.reverting",
        "when": "editorTextFocus && editorLangId == 'magit' && vim.mode =~ /^(?!SearchInProgressMode|CommandlineInProgress).*$/"
    },
    {
        "key": "shift+v",
        "command": "-magit.reverting"
    },
    {
        "key": "shift+o",
        "command": "magit.resetting",
        "when": "editorTextFocus && editorLangId == 'magit' && vim.mode =~ /^(?!SearchInProgressMode|CommandlineInProgress).*$/"
    },
    {
        "key": "shift+x",
        "command": "-magit.resetting"
    },
    {
        "key": "x",
        "command": "-magit.reset-mixed"
    },
    {
        "key": "ctrl+u x",
        "command": "-magit.reset-hard"
    },
    {
        "key": "y",
        "command": "-magit.show-refs"
    },
    {
        "key": "y",
        "command": "vspacecode.showMagitRefMenu",
        "when": "editorTextFocus && editorLangId == 'magit' && vim.mode == 'Normal'"
    },
    {
        "key": "g",
        "command": "-magit.refresh",
        "when": "editorTextFocus && editorLangId == 'magit' && vim.mode =~ /^(?!SearchInProgressMode|CommandlineInProgress).*$/"
    },
    {
        "key": "g",
        "command": "vspacecode.showMagitRefreshMenu",
        "when": "editorTextFocus && editorLangId == 'magit' && vim.mode =~ /^(?!SearchInProgressMode|CommandlineInProgress).*$/"
    },
    {
        "key": "ctrl+j",
        "command": "workbench.action.quickOpenSelectNext",
        "when": "inQuickOpen"
    },
    {
        "key": "ctrl+k",
        "command": "workbench.action.quickOpenSelectPrevious",
        "when": "inQuickOpen"
    },
    {
        "key": "ctrl+j",
        "command": "selectNextSuggestion",
        "when": "suggestWidgetMultipleSuggestions && suggestWidgetVisible && textInputFocus"
    },
    {
        "key": "ctrl+k",
        "command": "selectPrevSuggestion",
        "when": "suggestWidgetMultipleSuggestions && suggestWidgetVisible && textInputFocus"
    },
    {
        "key": "ctrl+l",
        "command": "acceptSelectedSuggestion",
        "when": "suggestWidgetMultipleSuggestions && suggestWidgetVisible && textInputFocus"
    },
    {
        "key": "ctrl+j",
        "command": "showNextParameterHint",
        "when": "editorFocus && parameterHintsMultipleSignatures && parameterHintsVisible"
    },
    {
        "key": "ctrl+k",
        "command": "showPrevParameterHint",
        "when": "editorFocus && parameterHintsMultipleSignatures && parameterHintsVisible"
    },
    {
        "key": "ctrl+j",
        "command": "selectNextCodeAction",
        "when": "codeActionMenuVisible"
    },
    {
        "key": "ctrl+k",
        "command": "selectPrevCodeAction",
        "when": "codeActionMenuVisible"
    },
    {
        "key": "ctrl+l",
        "command": "acceptSelectedCodeAction",
        "when": "codeActionMenuVisible"
    },
    {
        "key": "ctrl+h",
        "command": "file-browser.stepOut",
        "when": "inFileBrowser"
    },
    {
        "key": "ctrl+l",
        "command": "file-browser.stepIn",
        "when": "inFileBrowser"
    },
    {
        "key": "space",
        "command": "vspacecode.space",
        "when": "activeEditorGroupEmpty && focusedView == '' && !whichkeyActive && !inputFocus"
    },
    {
        "key": "space",
        "command": "vspacecode.space",
        "when": "sideBarFocus && !inputFocus && !whichkeyActive"
    },
    // #endregion
    // #region Editor: multicursor
    {
        "key": "alt+e",
        "command": "editor.action.insertCursorAbove",
        "when": "editorTextFocus"
    },
    {
        "key": "ctrl+alt+up",
        "command": "-editor.action.insertCursorAbove",
        "when": "editorTextFocus"
    },
    {
        "key": "alt+n",
        "command": "editor.action.insertCursorBelow",
        "when": "editorTextFocus"
    },
    {
        "key": "ctrl+alt+down",
        "command": "-editor.action.insertCursorBelow",
        "when": "editorTextFocus"
    },
    // #endregion
    // #region Emacs like Cursor Movements
    { // macOS original C-a will move to BoL, VSCode cursorHome will move to BoL & first non-whitespace character
        "key": "ctrl+a",
        "command": "cursorHome",
        "when": "textInputFocus"
    },
    // no C-A and C-k C-a to select all, use S-a instead
    {
        "key": "ctrl+e",
        "command": "cursorEnd",
        "when": "textInputFocus"
    },
    {
        "key": "alt+b",
        "command": "cursorWordStartLeft",
        "when": "textInputFocus"
    },
    {
        "key": "alt+f",
        "command": "cursorWordStartRight",
        "when": "textInputFocus && !inlineEditIsVisible && !suggestWidgetVisible && !inlineSuggestionVisible"
    },
    // #endregion
    // #region Ctrl+W Remaps (Vim-like)
    {
        "key": "ctrl+w h",
        "command": "workbench.action.navigateLeft"
    },
    {
        "key": "ctrl+w ctrl+h",
        "command": "workbench.action.toggleSidebarVisibility"
    },
    {
        "key": "ctrl+w i",
        "command": "workbench.action.navigateRight"
    },
    {
        "key": "ctrl+w ctrl+i",
        "command": "workbench.action.toggleAuxiliaryBar"
    },
    {
        "key": "ctrl+w n",
        "command": "workbench.action.navigateDown"
    },
    {
        "key": "ctrl+w ctrl+n",
        "command": "workbench.action.togglePanel"
    },
    {
        "key": "ctrl+w e",
        "command": "workbench.action.navigateUp"
    },
    { // original ^w
        "key": "ctrl+w ctrl+w",
        "command": "workbench.action.closeActiveEditor",
        "when": "editorFocus || inSettingsEditor || inKeybindings || inWelcome"
    },
    { // :only
        "key": "ctrl+w o",
        "command": "runCommands",
        "args": {
            "commands": [
                "workbench.action.joinAllGroups",
                "workbench.action.maximizeEditorHideSidebar"
            ]
        }
    },
    {
        "key": "ctrl+w ctrl+w",
        "command": "workbench.action.closeGroup",
        "when": "activeEditorGroupEmpty && multipleEditorGroups"
    },
    {
        "key": "ctrl+w",
        "command": "-workbench.action.closeGroup",
        "when": "activeEditorGroupEmpty && multipleEditorGroups"
    },
    // #endregion
    // #region Extension: VSpaceCode
    {
        "key": "alt+q",
        "command": "vspacecode.space"
    },
    // #endregion
    // #region Sidebar: Search View
    { // Focus on search list, therefore can use n/e to move up/down
        "key": "escape",
        "command": "search.action.focusSearchList",
        "when": "searchViewletFocus && inputBoxFocus"
    },
    { // Focus on main input box
        "key": "l",
        "command": "workbench.action.replaceInFiles",
        "when": "searchViewletFocus && !inputBoxFocus"
    },
    {
        "key": "r",
        "command": "toggleSearchRegex",
        "when": "searchViewletFocus && !inputBoxFocus"
    },
    {
        "key": "w",
        "command": "toggleSearchWholeWord",
        "when": "searchViewletFocus && !inputBoxFocus"
    },
    {
        "key": "c",
        "command": "toggleSearchCaseSensitive",
        "when": "searchViewletFocus && !inputBoxFocus"
    },
    {
        "key": "p",
        "command": "toggleSearchPreserveCase",
        "when": "searchViewletFocus && !inputBoxFocus"
    },
    {
        "key": "i",
        "command": "search.action.focusFilesToInclude",
        "when": "searchViewletFocus && !inputBoxFocus"
    },
    {
        "key": "shift+e",
        "command": "search.action.focusFilesToExclude",
        "when": "searchViewletFocus && !inputBoxFocus"
    },
    // #endregion
    // #region Miscs and todos
    // #endregion
]