aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.config/Code/User/keybindings.json12
-rw-r--r--.config/nvim/init.lua9
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