feat(plugins): add codediff, tv, vellum plugins and drop overseer support

This commit is contained in:
Prad Nukala committed 2026-10-13 09:07:58 -04:00
1 parent e741a1564d
commit b4e53d160a
6 files changed
+79 -27

No files matched your search

-4
View File
@@ -375,10 +375,6 @@ return {
function() require("config.templates").pick() end, function() require("config.templates").pick() end,
desc = "Find templates", desc = "Find templates",
}, },
-- NOTE: <C-m> and <CR> are likewise the same key, so Enter in normal
-- mode runs overseer. Buffers with their own <CR> (quickfix, help,
-- neo-tree, overseer's task list) keep theirs via buffer-local maps.
["<C-m>"] = { "<Cmd>OverseerRun<CR>", desc = "Run overseer task" },
["<C-f>w"] = { ["<C-f>w"] = {
function() require("fff").live_grep() end, function() require("fff").live_grep() end,
desc = "Live grep", desc = "Live grep",
+13
View File
@@ -0,0 +1,13 @@
--- codediff.nvim: VSCode-style diff review workspace (explorer + side-by-side)
--- `:CodeDiff` reviews the working tree; `q` closes the review tab.
--- @module plugins.codediff
---@type LazySpec
return {
"esmuellert/codediff.nvim",
cmd = "CodeDiff",
keys = {
{ "<C-g><C-d>", "<Cmd>CodeDiff<CR>", desc = "Review changes (CodeDiff)" },
},
opts = {},
}
-23
View File
@@ -1,23 +0,0 @@
--- overseer.nvim: task output in a Snacks bottom window
---
--- The astrocommunity pack (community.lua) owns the plugin spec and the
--- <Leader>M* maps; this layers the `snacks_output` component
--- (lua/overseer/component/snacks_output.lua) onto the default component
--- set so every task shows its terminal buffer in a 24-row window docked at
--- the bottom. <C-m> / Enter runs a task, see plugins/astrocore.lua.
--- @module plugins.overseer
return {
"stevearc/overseer.nvim",
---@type overseer.SetupOpts
opts = {
component_aliases = {
default = {
"on_exit_set_status",
"on_complete_notify",
{ "on_complete_dispose", require_view = { "SUCCESS", "FAILURE" } },
{ "snacks_output", height = 24 },
},
},
},
}
+2
View File
@@ -20,9 +20,11 @@ return {
"AstroNvim/astrocore", "AstroNvim/astrocore",
opts = function(_, opts) opts = function(_, opts)
local maps = opts.mappings local maps = opts.mappings
maps.x = maps.x or {}
for key, dir in pairs(moves) do for key, dir in pairs(moves) do
local desc = ("Move %s a split (%s aware)"):format(dir, nav.env()) local desc = ("Move %s a split (%s aware)"):format(dir, nav.env())
maps.n[key] = { function() nav.navigate(dir) end, desc = desc } maps.n[key] = { function() nav.navigate(dir) end, desc = desc }
maps.x[key] = maps.n[key]
maps.t[key] = { nav.terminal(dir), desc = desc } maps.t[key] = { nav.terminal(dir), desc = desc }
end end
end, end,
+45
View File
@@ -0,0 +1,45 @@
--- tv.nvim: television channels in a floating terminal
--- <C-t> picks from the file/editor cable channels in the dotfiles
--- (~/.config/television/cable) only. Their cable `enter` actions would spawn
--- an editor inside the float, so each gets Neovim-side handlers: tv.nvim
--- passes handler keys as `--expect`, which wins over cable keybindings.
--- `:Tv <channel>` still reaches any channel.
--- @module plugins.tv
local OPEN = { "files", "git-files", "recent-files", "dotfiles", "git-diff" }
local GREP = { "text", "todo-comments" }
---@type LazySpec
return {
"alexpasmantier/tv.nvim",
cmd = "Tv",
keys = {
{
"<C-t>",
function()
vim.ui.select(vim.list_extend(vim.list_extend({}, OPEN), GREP), { prompt = "Television" }, function(choice)
if choice then require("tv").tv_channel(choice) end
end)
end,
desc = "Television file channels",
},
},
config = function()
local h = require("tv").handlers
local channels = {}
-- no <C-s>/<C-x>: tv uses them for cycle_sources / the action picker
for _, name in ipairs(OPEN) do
channels[name] = {
handlers = { ["<CR>"] = h.open_as_files, ["<C-q>"] = h.send_to_quickfix, ["<C-v>"] = h.open_in_vsplit },
}
end
for _, name in ipairs(GREP) do
channels[name] = { handlers = { ["<CR>"] = h.open_at_line, ["<C-q>"] = h.send_to_quickfix } }
end
require("tv").setup {
global_keybindings = { channels = false }, -- <C-t> lives in `keys` above
channels = channels,
}
end,
}
+19
View File
@@ -0,0 +1,19 @@
--- vellum.nvim: live GitHub-markdown preview in a split, mermaid/math as images
--- `:Vellum` toggles it, `:Vellum export [file.pdf|file.html]` exports.
---
--- Runs from the prdlk fork's `mdx` branch until blackhat-7/vellum.nvim#4
--- merges: upstream only accepts filetype `markdown`, so `markdown.mdx`
--- buffers could not export, take over the preview or be followed by links,
--- and their import/export lines and {/* comments */} rendered as text.
--- @module plugins.vellum
---@type LazySpec
return {
"prdlk/vellum.nvim",
branch = "mdx",
-- `markdown.mdx` is the mdx pack's filetype; a dotted filetype only matches
-- a pattern that spells it out
ft = { "markdown", "markdown.mdx" },
cmd = "Vellum",
opts = {},
}