A Neovim plugin that integrates with OpenCode server for AI-powered code completion using Treesitter for context.
- Press
<C-l>to trigger completion at the cursor position. - Uses Treesitter to extract contextual code (e.g., current function or block).
- Sends a prompt to OpenCode server for completion.
- Displays "Vibe coding..." as ghost text while waiting.
- Inserts the completed code directly.
- Neovim 0.7+
- nvim-treesitter
- plenary.nvim
- OpenCode server running on
http://localhost:4096(runopencode serve)
Using lazy.nvim:
return {
"jaswdr/opencode-completion.nvim",
dependencies = { "nvim-lua/plenary.nvim", "nvim-treesitter/nvim-treesitter" },
config = function()
require("opencode-completion").setup()
end,
}
- Start OpenCode server:
opencode serve --port=4096 - Open a file in Neovim.
- Place cursor where you want completion.
- Press
<C-l>or run:OpenCodeComplete.
The plugin will show "Vibe coding..." and replace it with the completion.
:OpenCodeComplete: Manually trigger completion (same as<C-l>).:OpenCodeSession: Show the current session ID (for debugging session persistence).
Currently minimal config. Extend setup(opts) for custom server URL, etc.
- Ensure Treesitter parsers are installed for your language (e.g.,
:TSInstall lua). - Check OpenCode server is running and accessible.
- If no completion, check Neovim notifications for errors.