feat(plugins): add codediff, tv, vellum plugins and drop overseer support
This commit is contained in:
1 parent
e741a1564d
commit
b4e53d160a
6 files changed
+79
-27
No files matched your search
@@ -375,10 +375,6 @@ return {
|
||||
function() require("config.templates").pick() end,
|
||||
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"] = {
|
||||
function() require("fff").live_grep() end,
|
||||
desc = "Live grep",
|
||||
|
||||
@@ -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 = {},
|
||||
}
|
||||
@@ -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 },
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
@@ -20,9 +20,11 @@ return {
|
||||
"AstroNvim/astrocore",
|
||||
opts = function(_, opts)
|
||||
local maps = opts.mappings
|
||||
maps.x = maps.x or {}
|
||||
for key, dir in pairs(moves) do
|
||||
local desc = ("Move %s a split (%s aware)"):format(dir, nav.env())
|
||||
maps.n[key] = { function() nav.navigate(dir) end, desc = desc }
|
||||
maps.x[key] = maps.n[key]
|
||||
maps.t[key] = { nav.terminal(dir), desc = desc }
|
||||
end
|
||||
end,
|
||||
|
||||
@@ -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,
|
||||
}
|
||||
@@ -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 = {},
|
||||
}
|
||||
Reference in new issue
Block a user