diff options
| author | kj_sh604 | 2026-06-08 12:53:10 -0400 |
|---|---|---|
| committer | kj_sh604 | 2026-06-08 12:53:10 -0400 |
| commit | 7561a5eeaf779204e823e85ec62ff8f263814474 (patch) | |
| tree | 9b1c7d11e254e682bed416da090b2717cfbce962 /.config | |
| parent | 583a3a83372f48fd529ae5e37ecf0c839dcb25b5 (diff) | |
refactor: sync vscode and neovim features and keymaps
Diffstat (limited to '.config')
| -rw-r--r-- | .config/Code/User/keybindings.json | 12 | ||||
| -rw-r--r-- | .config/nvim/init.lua | 9 |
2 files changed, 19 insertions, 2 deletions
diff --git a/.config/Code/User/keybindings.json b/.config/Code/User/keybindings.json index 96b31c1..020478d 100644 --- a/.config/Code/User/keybindings.json +++ b/.config/Code/User/keybindings.json @@ -268,11 +268,13 @@ }, { "key": "alt+j", - "command": "workbench.action.nextEditor" + "command": "workbench.action.nextEditorInGroup", + "when": "vim.active && vim.mode == 'Normal'" }, { "key": "alt+k", - "command": "workbench.action.previousEditor" + "command": "workbench.action.previousEditorInGroup", + "when": "vim.active && vim.mode == 'Normal'" }, // lsp (mirrors some of my neovim lsp keymaps) { @@ -351,5 +353,11 @@ "key": "alt+shift+enter", "command": "editor.action.inlineSuggest.commit", "when": "editorTextFocus && vim.active && vim.mode == 'Insert'" + }, + // copilot inline chat (mirrors my neovim opencode keymaps) + { + "key": "\\ o", + "command": "inlineChat.start", + "when": "vim.active && vim.mode =~ /^(Normal|Visual|VisualLine|VisualBlock)$/ && editorFocus && inlineChatHasEditsAgent && inlineChatPossible && !config.inlineChat.askInChat && !editorReadonly && !editorSimpleInput || vim.active && vim.mode =~ /^(Normal|Visual|VisualLine|VisualBlock)$/ && editorFocus && inlineChatHasEditsAgent && inlineChatPossible && !editorReadonly && !editorSimpleInput && !inlineChatFileBelongsToChat || vim.active && vim.mode =~ /^(Normal|Visual|VisualLine|VisualBlock)$/ && editorFocus && inlineChatHasEditsAgent && inlineChatPossible && !config.inlineChat.askInChat && !editorReadonly && !editorSimpleInput && !inlineChatFileBelongsToChat || vim.active && vim.mode =~ /^(Normal|Visual|VisualLine|VisualBlock)$/ && editorFocus && inlineChatHasNotebookAgent && inlineChatPossible && !config.inlineChat.askInChat && !editorReadonly && !editorSimpleInput && activeEditor == 'workbench.editor.notebook' || vim.active && vim.mode =~ /^(Normal|Visual|VisualLine|VisualBlock)$/ && editorFocus && inlineChatHasNotebookAgent && inlineChatPossible && !editorReadonly && !editorSimpleInput && !inlineChatFileBelongsToChat && activeEditor == 'workbench.editor.notebook' || vim.active && vim.mode =~ /^(Normal|Visual|VisualLine|VisualBlock)$/ && editorFocus && inlineChatHasNotebookInline && inlineChatPossible && !config.inlineChat.askInChat && !editorReadonly && !editorSimpleInput && activeEditor == 'workbench.editor.notebook' || vim.active && vim.mode =~ /^(Normal|Visual|VisualLine|VisualBlock)$/ && editorFocus && inlineChatHasNotebookInline && inlineChatPossible && !editorReadonly && !editorSimpleInput && !inlineChatFileBelongsToChat && activeEditor == 'workbench.editor.notebook' || vim.active && vim.mode =~ /^(Normal|Visual|VisualLine|VisualBlock)$/ && editorFocus && inlineChatHasEditsAgent && inlineChatHasNotebookAgent && inlineChatPossible && !config.inlineChat.askInChat && !editorReadonly && !editorSimpleInput && activeEditor == 'workbench.editor.notebook' || vim.active && vim.mode =~ /^(Normal|Visual|VisualLine|VisualBlock)$/ && editorFocus && inlineChatHasEditsAgent && inlineChatHasNotebookAgent && inlineChatPossible && !editorReadonly && !editorSimpleInput && !inlineChatFileBelongsToChat && activeEditor == 'workbench.editor.notebook' || vim.active && vim.mode =~ /^(Normal|Visual|VisualLine|VisualBlock)$/ && editorFocus && inlineChatHasEditsAgent && inlineChatHasNotebookInline && inlineChatPossible && !config.inlineChat.askInChat && !editorReadonly && !editorSimpleInput && activeEditor == 'workbench.editor.notebook' || vim.active && vim.mode =~ /^(Normal|Visual|VisualLine|VisualBlock)$/ && editorFocus && inlineChatHasEditsAgent && inlineChatHasNotebookInline && inlineChatPossible && !editorReadonly && !editorSimpleInput && !inlineChatFileBelongsToChat && activeEditor == 'workbench.editor.notebook'" } ] diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index 1afb090..8c76303 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -21,6 +21,7 @@ vim.cmd [[ Plug 'williamboman/mason.nvim' Plug 'ThePrimeagen/vim-be-good' Plug 'WhoIsSethDaniel/mason-tool-installer.nvim' + Plug 'nickjvandyke/opencode.nvim' call plug#end() ]] @@ -448,3 +449,11 @@ if vim.fn.filereadable(_mkey) == 1 and vim.fn.filereadable(_ukey) == 1 then }) end end + +-- opencode integration +local ok_oc, opencode = pcall(require, "opencode") +if ok_oc then + keymap({ "n", "x" }, "<leader>oa", function() opencode.ask("@this: ") end, { desc = "opencode: ask" }) + keymap({ "n", "x" }, "<leader>os", function() opencode.select() end, { desc = "opencode: select" }) + keymap({ "n", "x" }, "<leader>o", function() return opencode.operator("@this ") end, { desc = "opencode: operator", expr = true }) +end |
