1

Modules/Neovim: Configure opencode-nvim

This commit is contained in:
2026-06-13 17:53:45 +02:00
parent 493c452b46
commit 7a2be8965f
2 changed files with 70 additions and 62 deletions

View File

@ -1461,21 +1461,23 @@ in {
}; };
}; };
# opencode = { opencode = {
# name = "opencode"; name = "opencode";
# pkg = pkgs.vimPlugins.opencode-nvim; pkg = pkgs.vimPlugins.opencode-nvim;
# lazy = false; lazy = false;
# config = '' config = ''
# function() function()
# ---@type opencode.Opts vim.g.opencode_opts = {
# vim.g.opencode_opts = { server = {
# -- Your configuration, if any; goto definition on the type or field for details url = "http://localhost:12345",
# } start = false,
# },
# vim.o.autoread = true -- Required for `vim.g.opencode_opts.events.reload` }
# end
# ''; vim.o.autoread = true -- Required for `vim.g.opencode_opts.events.reload`
# }; end
'';
};
# obsidian = rec { # obsidian = rec {
# name = "obsidian"; # name = "obsidian";
@ -2307,7 +2309,7 @@ in {
noice # Modern UI overhaul, e.g. floating cmdline noice # Modern UI overhaul, e.g. floating cmdline
# obsidian # Integration with Obsidian.md # obsidian # Integration with Obsidian.md
# opencode # TODO: Doesn't work, can't find "opencode --port" process opencode # TODO: Doesn't work, can't find "opencode --port" process
# overseer # Run tasks from within neovim (e.g. cargo) # TODO: # overseer # Run tasks from within neovim (e.g. cargo) # TODO:
persisted # Session management persisted # Session management

View File

@ -415,51 +415,57 @@ _: let
} }
]; ];
# leader-opencode = [ leader-opencode = [
# { {
# mode = "n"; mode = ["n" "v"];
# key = "<leader>o"; key = "<leader>o";
# action = "+opencode"; action = "+opencode";
# } }
# { {
# mode = ["n" "v"]; mode = ["n" "v"];
# key = "<leader>oa"; key = "<leader>oo";
# action.__raw = ''function() require("opencode").ask("@this: ") end''; action.__raw = ''function() require("opencode").ask("@this: ") end'';
# options.desc = "Ask"; options.desc = "Ask about @this";
# } }
# { {
# mode = ["n" "v"]; mode = ["n" "v"];
# key = "<leader>os"; key = "<leader>od";
# action.__raw = ''function() require("opencode").select() end''; action.__raw = ''function() require("opencode").prompt("Explain @diagnostics") end'';
# options.desc = "Select"; options.desc = "Explain @diagnostics";
# } }
# { {
# mode = "n"; mode = ["n" "v"];
# key = "<leader>ol"; key = "<leader>oe";
# action.__raw = ''function() return require("opencode").operator("@this ") .. "_" end''; action.__raw = ''function() require("opencode").prompt("Explain @this and its context") end'';
# options.desc = "Append Line"; options.desc = "Explain @this";
# options.expr = true; }
# } {
# { mode = ["n" "v"];
# mode = ["n" "v"]; key = "<leader>or";
# key = "<leader>or"; action.__raw = ''function() require("opencode").prompt("Review @this for correctness and readability") end'';
# action.__raw = ''function() return require("opencode").operator("@this ") end''; options.desc = "Review @this";
# options.desc = "Append Range"; }
# options.expr = true; {
# } mode = ["n" "v"];
# { key = "<leader>os";
# mode = "n"; action.__raw = ''function() require("opencode").select() end'';
# key = "<S-C-u>"; options.desc = "Select Action";
# action.__raw = ''function() require("opencode").command("session.half.page.up") end''; }
# options.desc = "Scroll OpenCode Up"; {
# } mode = "n";
# { key = "<leader>oa";
# mode = "n"; action.__raw = ''function() return require("opencode").operator("@this ") .. "_" end'';
# key = "<S-C-d>"; options.desc = "Append Line to Prompt";
# action.__raw = ''function() require("opencode").command("session.half.page.down") end''; options.expr = true;
# options.desc = "Scroll OpenCode Down"; }
# } {
# ]; mode = "v";
key = "<leader>oa";
action.__raw = ''function() return require("opencode").operator("@this ") end'';
options.desc = "Append Range to Prompt";
options.expr = true;
}
];
leader-file = [ leader-file = [
{ {
@ -1051,7 +1057,7 @@ in
no-leader no-leader
leader leader
# leader-opencode leader-opencode
leader-file leader-file
leader-help leader-help
leader-quit leader-quit