Setup snacks terminal

This commit is contained in:
2026-04-18 16:04:30 +02:00
parent 3f2bf0fdee
commit 94fdf938ee
4 changed files with 43 additions and 24 deletions
-23
View File
@@ -92,29 +92,6 @@ return {
local cmd = require("jj.cmd")
vim.keymap.set("n", "<leader>jd", cmd.describe, { desc = "JJ describe" })
vim.keymap.set("n", "<leader>jc", cmd.commit, { desc = "JJ commit" })
vim.keymap.set("n", "<leader>jjl", cmd.log, { desc = "jj log " })
vim.keymap.set("n", "<leader>jL", function()
cmd.log({ revisions = "'all()'" })
end, { desc = "jj log all" })
vim.keymap.set("n", "<leader>je", cmd.edit, { desc = "JJ edit" })
vim.keymap.set("n", "<leader>jn", cmd.new, { desc = "JJ new" })
vim.keymap.set("n", "<leader>jq", cmd.squash, { desc = "JJ squash" })
vim.keymap.set("n", "<leader>ju", cmd.undo, { desc = "JJ undo" })
vim.keymap.set("n", "<leader>jy", cmd.redo, { desc = "JJ redo" })
vim.keymap.set("n", "<leader>jr", cmd.rebase, { desc = "JJ rebase" })
vim.keymap.set("n", "<leader>jbc", cmd.bookmark_create, { desc = "JJ bookmark create" })
vim.keymap.set("n", "<leader>jbd", cmd.bookmark_delete, { desc = "JJ bookmark delete" })
vim.keymap.set("n", "<leader>jbm", cmd.bookmark_move, { desc = "JJ bookmark move" })
vim.keymap.set("n", "<leader>ja", cmd.abandon, { desc = "JJ abandon" })
vim.keymap.set("n", "<leader>jf", cmd.fetch, { desc = "JJ fetch" })
vim.keymap.set("n", "<leader>jp", cmd.push, { desc = "JJ push" })
vim.keymap.set("n", "<leader>jpr", cmd.open_pr, { desc = "JJ PR" })
vim.keymap.set("n", "<leader>jpl", function()
cmd.open_pr({ list_bookmarks = true })
end, { desc = "JJ PR list" })
vim.keymap.set("n", "<leader>jt", function()
cmd.j("tug")
end, { desc = "JJ tug" })
end
},
}
+28
View File
@@ -1,3 +1,29 @@
local opencode_cmd = 'opencode --port'
---@type snacks.terminal.Opts
local snacks_terminal_opts = {
win = {
position = 'right',
enter = true,
on_win = function(win)
require('opencode.terminal').setup(win.win)
end,
},
}
---@type opencode.Opts
vim.g.opencode_opts = {
server = {
start = function()
require('snacks.terminal').open(opencode_cmd, snacks_terminal_opts)
end,
stop = function()
require('snacks.terminal').get(opencode_cmd, snacks_terminal_opts):close()
end,
toggle = function()
require('snacks.terminal').toggle(opencode_cmd, snacks_terminal_opts)
end,
},
}
return {
{
"opencode-nvim",
@@ -18,6 +44,7 @@ return {
end,
desc = "Add range to opencode",
mode = { "n", "x" },
expr = true,
},
{
"gll",
@@ -25,6 +52,7 @@ return {
return require("opencode").operator("@this ") .. "_"
end,
desc = "Add line to opencode",
expr = true,
},
{
"gL",
+13
View File
@@ -45,6 +45,7 @@ return {
"snacks-nvim",
event = "DeferredUIEnter",
opts = {
terminal = {},
input = {
enabled = true,
},
@@ -89,6 +90,14 @@ return {
blend = 0,
},
},
terminal = {
keys = {
term_normal = false,
},
wo = {
winbar = "",
}
}
},
picker = {
win = {
@@ -286,6 +295,10 @@ return {
vim.keymap.set("n", "<leader>jl", Snacks.picker.jj_log, { desc = "jj log" })
vim.keymap.set("n", "<leader>jh", Snacks.picker.jj_log_file, { desc = "jj log" })
vim.keymap.set("n", "<leader>js", Snacks.picker.jj_show, { desc = "jj status" })
vim.keymap.set("n", "<leader>ju", function()
Snacks.terminal.toggle("jjui")
end, { desc = "jj ui" })
end,
},
}