2023-10-10 21:51:09 +02:00
|
|
|
if vim.fn.has("nvim-0.9.0") == 0 then
|
|
|
|
vim.api.nvim_echo({
|
|
|
|
{ "LazyVim requires Neovim >= 0.9.0\n", "ErrorMsg" },
|
|
|
|
{ "Press any key to exit", "MoreMsg" },
|
|
|
|
}, true, {})
|
|
|
|
vim.fn.getchar()
|
|
|
|
vim.cmd([[quit]])
|
|
|
|
return {}
|
|
|
|
end
|
|
|
|
|
2023-01-25 08:59:45 +01:00
|
|
|
require("lazyvim.config").init()
|
2023-01-10 10:07:19 +01:00
|
|
|
|
2024-11-07 15:54:47 +01:00
|
|
|
-- Terminal Mappings
|
|
|
|
local function term_nav(dir)
|
|
|
|
---@param self snacks.terminal
|
|
|
|
return function(self)
|
|
|
|
return self:is_floating() and "<c-" .. dir .. ">" or vim.schedule(function()
|
|
|
|
vim.cmd.wincmd(dir)
|
|
|
|
end)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2023-01-22 14:33:55 +01:00
|
|
|
return {
|
2023-01-22 15:15:08 +01:00
|
|
|
{ "folke/lazy.nvim", version = "*" },
|
2024-06-11 00:06:56 +02:00
|
|
|
{ "LazyVim/LazyVim", priority = 10000, lazy = false, opts = {}, cond = true, version = "*" },
|
2024-11-07 15:54:47 +01:00
|
|
|
{
|
|
|
|
"folke/snacks.nvim",
|
|
|
|
priority = 1000,
|
|
|
|
lazy = false,
|
|
|
|
opts = function()
|
|
|
|
---@type snacks.Config
|
|
|
|
return {
|
2024-11-18 23:32:49 +01:00
|
|
|
bigfile = { enabled = true },
|
2024-11-14 23:52:59 +01:00
|
|
|
notifier = { enabled = true },
|
|
|
|
quickfile = { enabled = true },
|
2024-11-11 09:37:47 +01:00
|
|
|
statuscolumn = { enabled = false }, -- we set this in options.lua
|
2024-11-07 15:54:47 +01:00
|
|
|
terminal = {
|
|
|
|
win = {
|
|
|
|
keys = {
|
|
|
|
nav_h = { "<C-h>", term_nav("h"), desc = "Go to Left Window", expr = true, mode = "t" },
|
|
|
|
nav_j = { "<C-j>", term_nav("j"), desc = "Go to Lower Window", expr = true, mode = "t" },
|
|
|
|
nav_k = { "<C-k>", term_nav("k"), desc = "Go to Upper Window", expr = true, mode = "t" },
|
|
|
|
nav_l = { "<C-l>", term_nav("l"), desc = "Go to Right Window", expr = true, mode = "t" },
|
|
|
|
},
|
|
|
|
},
|
|
|
|
},
|
2024-11-18 23:32:49 +01:00
|
|
|
toggle = { map = LazyVim.safe_keymap_set },
|
|
|
|
words = { enabled = true },
|
2024-11-07 15:54:47 +01:00
|
|
|
}
|
|
|
|
end,
|
2024-12-01 09:29:18 +01:00
|
|
|
-- stylua: ignore
|
2024-11-07 15:54:47 +01:00
|
|
|
keys = {
|
2024-12-01 09:30:49 +01:00
|
|
|
{ "<leader>S", function() Snacks.scratch.select() end, desc = "Select Scratch Buffer" },
|
2024-12-01 09:29:18 +01:00
|
|
|
{ "<leader>n", function() Snacks.notifier.show_history() end, desc = "Notification History" },
|
|
|
|
{ "<leader>un", function() Snacks.notifier.hide() end, desc = "Dismiss All Notifications" },
|
2024-11-07 15:54:47 +01:00
|
|
|
},
|
2024-11-19 09:03:00 +01:00
|
|
|
config = function(_, opts)
|
|
|
|
local notify = vim.notify
|
|
|
|
require("snacks").setup(opts)
|
|
|
|
-- HACK: restore vim.notify after snacks setup and let noice.nvim take over
|
|
|
|
-- this is needed to have early notifications show up in noice history
|
|
|
|
if LazyVim.has("noice.nvim") then
|
|
|
|
vim.notify = notify
|
|
|
|
end
|
|
|
|
end,
|
2024-11-07 15:54:47 +01:00
|
|
|
},
|
2023-01-22 14:33:55 +01:00
|
|
|
}
|