Replaced several plugins with snacks.nvim.
Added zk keybinds.
This commit is contained in:
parent
3bd72ab98f
commit
2553d039fd
11 changed files with 230 additions and 527 deletions
|
|
@ -30,7 +30,7 @@ if nixCats('always') then
|
|||
-- didnt seem necessary.
|
||||
vim.g.loaded_netrwPlugin = 1
|
||||
require("oil").setup({
|
||||
default_file_explorer = true,
|
||||
default_file_explorer = false,
|
||||
view_options = {
|
||||
show_hidden = true
|
||||
},
|
||||
|
|
@ -63,8 +63,109 @@ if nixCats('always') then
|
|||
vim.keymap.set("n", "<leader>-", "<cmd>Oil .<CR>", { noremap = true, desc = 'Open nvim root directory' })
|
||||
end
|
||||
|
||||
if nixCats("always") then
|
||||
-- Potentially checkout the lazygit module.
|
||||
local Snacks = require("snacks")
|
||||
Snacks.setup({
|
||||
bufdelete = { enable = true },
|
||||
dim = { enable = true },
|
||||
git = { enable = true },
|
||||
image = { enable = true },
|
||||
input = { enable = true },
|
||||
lazygit = { enable = true },
|
||||
notifier = { enable = true },
|
||||
scroll = { enable = true },
|
||||
terminal = { enable = true },
|
||||
toggle = { enable = true },
|
||||
quickfile = { enable = true },
|
||||
scope = { enable = true },
|
||||
statuscolumn = { enable = true },
|
||||
|
||||
explorer = { replace_netrw = true },
|
||||
picker = {
|
||||
enabled = true,
|
||||
ui_select = true,
|
||||
matcher = {
|
||||
fuzzy = true,
|
||||
frecency = true,
|
||||
},
|
||||
previewers = {
|
||||
diff = {
|
||||
builtin = true, -- use Neovim for previewing diffs (true) or use an external tool (false)
|
||||
cmd = { "delta" }, -- example to show a diff with delta
|
||||
},
|
||||
git = {
|
||||
builtin = true, -- use Neovim for previewing git output (true) or use git (false)
|
||||
},
|
||||
},
|
||||
},
|
||||
indent = {
|
||||
enabled = true,
|
||||
animate = { enabled = false },
|
||||
scope = { enabled = true },
|
||||
chunk = { enabled = true },
|
||||
},
|
||||
})
|
||||
|
||||
-- setup keybinds.
|
||||
vim.keymap.set("n", "<leader>bd", Snacks.bufdelete.delete, { desc = "delete buffer" })
|
||||
vim.keymap.set("n", "<leader>t", function() Snacks.explorer() end, { desc = "File [T]ree" })
|
||||
vim.keymap.set("n", "<leader>gb", Snacks.git.blame_line, { desc = "[G]it [B]lame" })
|
||||
vim.keymap.set("n", "<leader>gl", Snacks.git.blame_line, { desc = "[L]azy[G]it" })
|
||||
|
||||
-- picker keybinds
|
||||
vim.keymap.set("n", "<leader>fGb", Snacks.picker.grep_buffers, { desc = "[G]rep buffers" })
|
||||
vim.keymap.set("n", "<leader>fGl", Snacks.picker.lines, { desc = "[L]ines in buffer" })
|
||||
vim.keymap.set("n", "<leader>fb", Snacks.picker.buffers, { desc = "[B]uffers" })
|
||||
vim.keymap.set("n", "<leader>ff", Snacks.picker.files, { desc = "[F]iles" })
|
||||
vim.keymap.set("n", "<leader>fg", Snacks.picker.grep, { desc = "[G]rep all" })
|
||||
vim.keymap.set("n", "<leader>fh", Snacks.picker.help, { desc = "[H]elp" })
|
||||
vim.keymap.set("n", "<leader>fi", Snacks.picker.icons, { desc = "[I]cons" })
|
||||
vim.keymap.set("n", "<leader>fm", Snacks.picker.marks, { desc = "[M]arks" })
|
||||
vim.keymap.set("n", "<leader>fs", Snacks.picker.spelling, { desc = "[S]pelling" })
|
||||
vim.keymap.set("n", "<leader>ft", Snacks.picker.treesitter, { desc = "[T]reesitter" })
|
||||
vim.keymap.set("n", "<leader>fu", Snacks.picker.undo, { desc = "[U]ndo" })
|
||||
vim.keymap.set("n", "<leader>fz", Snacks.picker.zoxide, { desc = "[Z]oxide" })
|
||||
|
||||
-- picker git keybinds
|
||||
vim.keymap.set("n", "<leader>gb", Snacks.picker.git_branches, { desc = "[G]it [B]ranch" })
|
||||
vim.keymap.set("n", "<leader>gl", Snacks.picker.git_log, { desc = "[G]it [L]og" })
|
||||
vim.keymap.set("n", "<leader>gd", Snacks.picker.git_diff, { desc = "[G]it [D]iff" })
|
||||
|
||||
-- setup toggles
|
||||
Snacks.toggle.option("spell", { name = "spelling" }):map("<leader>cs")
|
||||
Snacks.toggle.option("relativenumber", { name = "Relative Numbering" }):map("<leader>n")
|
||||
Snacks.toggle.dim():map("<leader>d")
|
||||
|
||||
-- terminal keybinds
|
||||
vim.keymap.set("n", "<leader>s", function()
|
||||
Snacks.terminal.toggle(nil, { win = { position = "float" } })
|
||||
end, { desc = "terminal" })
|
||||
|
||||
vim.keymap.set("t", "<esc>", function(self)
|
||||
self.esc_timer = self.esc_timer or (vim.uv or vim.loop).new_timer()
|
||||
if self.esc_timer:is_active() then
|
||||
self.esc_timer:stop()
|
||||
vim.cmd("stopinsert")
|
||||
else
|
||||
self.esc_timer:start(200, 0, function() end)
|
||||
return "<esc>"
|
||||
end
|
||||
end, { expr = true, desc = "Double tap to escape terminal" })
|
||||
|
||||
-- setup rename autocmds
|
||||
local prev = { new_name = "", old_name = "" } -- Prevents duplicate events
|
||||
vim.api.nvim_create_autocmd("User", {
|
||||
pattern = "OilActionsPost",
|
||||
callback = function(event)
|
||||
if event.data.actions.type == "move" then
|
||||
Snacks.rename.on_rename_file(event.data.actions.src_url, event.data.actions.dest_url)
|
||||
end
|
||||
end,
|
||||
})
|
||||
end
|
||||
|
||||
require('lze').load {
|
||||
{ import = "myLuaConf.plugins.telescope", },
|
||||
{ import = "myLuaConf.plugins.treesitter", },
|
||||
{ import = "myLuaConf.plugins.completion", },
|
||||
{
|
||||
|
|
@ -82,7 +183,7 @@ require('lze').load {
|
|||
{ "<leader>ms", "<cmd>MarkdownPreviewStop <CR>", mode = { "n" }, noremap = true, desc = "markdown preview stop" },
|
||||
{ "<leader>mt", "<cmd>MarkdownPreviewToggle <CR>", mode = { "n" }, noremap = true, desc = "markdown preview toggle" },
|
||||
},
|
||||
before = function(plugin)
|
||||
before = function()
|
||||
vim.g.mkdp_auto_close = 0
|
||||
end,
|
||||
},
|
||||
|
|
@ -90,7 +191,7 @@ require('lze').load {
|
|||
"leap.nvim",
|
||||
for_cat = 'always',
|
||||
event = "DeferredUIEnter",
|
||||
after = function(plugin)
|
||||
after = function()
|
||||
require('leap').set_default_mappings()
|
||||
end,
|
||||
},
|
||||
|
|
@ -99,14 +200,14 @@ require('lze').load {
|
|||
for_cat = 'always',
|
||||
event = "DeferredUIEnter",
|
||||
-- keys = "",
|
||||
after = function(plugin)
|
||||
after = function()
|
||||
require('nvim-surround').setup()
|
||||
end,
|
||||
},
|
||||
{
|
||||
"marks.nvim",
|
||||
for_cat = "always",
|
||||
after = function(plugin)
|
||||
after = function()
|
||||
require('marks').setup({})
|
||||
end
|
||||
},
|
||||
|
|
@ -120,42 +221,6 @@ require('lze').load {
|
|||
vim.g.startuptime_exe_path = nixCats.packageBinPath
|
||||
end,
|
||||
},
|
||||
{
|
||||
"fidget.nvim",
|
||||
for_cat = 'always',
|
||||
event = "DeferredUIEnter",
|
||||
-- keys = "",
|
||||
after = function(plugin)
|
||||
require('fidget').setup({})
|
||||
end,
|
||||
},
|
||||
{
|
||||
"toggleterm.nvim",
|
||||
for_cat = "always",
|
||||
after = function(plugin)
|
||||
require("toggleterm").setup({
|
||||
direction = "horizontal",
|
||||
insert_mappings = false,
|
||||
open_mapping = [[<c-\>]],
|
||||
terminal_mappings = false,
|
||||
})
|
||||
|
||||
local Terminal = require("toggleterm.terminal").Terminal
|
||||
Floatingterm = Terminal:new({
|
||||
hidden = true,
|
||||
direction = "float",
|
||||
})
|
||||
|
||||
vim.keymap.set(
|
||||
"n",
|
||||
"<leader>s",
|
||||
function()
|
||||
Floatingterm:toggle()
|
||||
end,
|
||||
{ desc = "toggle [S]cratch terminal", }
|
||||
)
|
||||
end
|
||||
},
|
||||
{
|
||||
"lualine.nvim",
|
||||
for_cat = 'always',
|
||||
|
|
@ -164,7 +229,7 @@ require('lze').load {
|
|||
-- ft = "",
|
||||
-- keys = "",
|
||||
-- colorscheme = "",
|
||||
after = function(plugin)
|
||||
after = function()
|
||||
require('lualine').setup({
|
||||
options = {
|
||||
alwaysDivideMiddle = true,
|
||||
|
|
@ -207,7 +272,7 @@ require('lze').load {
|
|||
-- ft = "",
|
||||
-- keys = "",
|
||||
-- colorscheme = "",
|
||||
after = function(plugin)
|
||||
after = function()
|
||||
require('gitsigns').setup({
|
||||
-- See `:help gitsigns.txt`
|
||||
signs = {
|
||||
|
|
@ -286,79 +351,20 @@ require('lze').load {
|
|||
{
|
||||
"which-key.nvim",
|
||||
for_cat = 'always',
|
||||
after = function(plugin)
|
||||
after = function()
|
||||
require('which-key').setup({
|
||||
})
|
||||
require('which-key').add {
|
||||
{ "<leader>g", group = "[g]it" },
|
||||
{ "<leader>g", group = "[g]it" },
|
||||
{ "<leader>z", group = "[z]ettelkasten" },
|
||||
{ "<leader>gt", group = "[t]oggle" },
|
||||
{ "<leader>m", group = "[m]arkdown" },
|
||||
{ "<leader>f", group = "[f]ind" },
|
||||
{ "<leader>t", group = "[t]ree" },
|
||||
{ "<leader>c", group = "[c]heck" },
|
||||
{ "<leader>l", group = "[l]sp" },
|
||||
{ "<leader>m", group = "[m]arkdown" },
|
||||
{ "<leader>f", group = "[f]ind" },
|
||||
{ "<leader>t", group = "[t]ree" },
|
||||
{ "<leader>c", group = "[c]heck" },
|
||||
{ "<leader>l", group = "[l]sp" },
|
||||
{ "<leader>lw", group = "[l]sp [w]orkspace" },
|
||||
}
|
||||
end,
|
||||
},
|
||||
{
|
||||
"nvim-tree.lua",
|
||||
for_cat = "tree",
|
||||
keys = {
|
||||
{ "<leader>t", "<cmd>NvimTreeToggle<CR>", desc = "Toggle file tree", },
|
||||
},
|
||||
after = function(plugin)
|
||||
require("nvim-tree").setup()
|
||||
end
|
||||
},
|
||||
{
|
||||
-- TODO: Replace toggle term and nvim-tree with snacks equivilants?
|
||||
-- Potentially checkout the lazygit module. Might even be able to replace
|
||||
-- telescope?
|
||||
-- if you do replace telescope, the picker module has a *ton* of interesting pickers, such as an undotree.
|
||||
"snacks.nvim",
|
||||
for_cat = "always",
|
||||
priority = 10,
|
||||
after = function()
|
||||
local Snacks = require("snacks")
|
||||
Snacks.setup({
|
||||
input = {},
|
||||
image = {},
|
||||
notifier = {},
|
||||
scroll = {},
|
||||
picker = {
|
||||
enabled = true,
|
||||
ui_select = true,
|
||||
},
|
||||
terminal = {},
|
||||
indent = {
|
||||
animate = { enabled = true },
|
||||
scope = { enabled = true },
|
||||
chunk = { enabled = true },
|
||||
},
|
||||
})
|
||||
-- setup rename autocmds
|
||||
local prev = { new_name = "", old_name = "" } -- Prevents duplicate events
|
||||
vim.api.nvim_create_autocmd("User", {
|
||||
pattern = "NvimTreeSetup",
|
||||
callback = function()
|
||||
local events = require("nvim-tree.api").events
|
||||
events.subscribe(events.Event.NodeRenamed, function(data)
|
||||
if prev.new_name ~= data.new_name or prev.old_name ~= data.old_name then
|
||||
data = data
|
||||
Snacks.rename.on_rename_file(data.old_name, data.new_name)
|
||||
end
|
||||
end)
|
||||
end,
|
||||
})
|
||||
vim.api.nvim_create_autocmd("User", {
|
||||
pattern = "OilActionsPost",
|
||||
callback = function(event)
|
||||
if event.data.actions.type == "move" then
|
||||
Snacks.rename.on_rename_file(event.data.actions.src_url, event.data.actions.dest_url)
|
||||
end
|
||||
end,
|
||||
})
|
||||
end
|
||||
},
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue