feat(nvim): move to snacks dashboard

This commit is contained in:
Stefan Imhoff
2025-01-31 15:14:35 +01:00
parent ce51e2a38c
commit 88fff2aad9
6 changed files with 59 additions and 123 deletions

View File

@@ -51,11 +51,12 @@
"lualine.nvim": { "branch": "master", "commit": "2a5bae925481f999263d6f5ed8361baef8df4f83" }, "lualine.nvim": { "branch": "master", "commit": "2a5bae925481f999263d6f5ed8361baef8df4f83" },
"lush.nvim": { "branch": "main", "commit": "45a79ec4acb5af783a6a29673a999ce37f00497e" }, "lush.nvim": { "branch": "main", "commit": "45a79ec4acb5af783a6a29673a999ce37f00497e" },
"markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "e942edf5c85b6a2ab74059ea566cac5b3e1514a4" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "f75e877f5266e87523eb5a18fcde2081820d087b" },
"mason-nvim-dap.nvim": { "branch": "main", "commit": "8b9363d83b5d779813cdd2819b8308651cec2a09" }, "mason-nvim-dap.nvim": { "branch": "main", "commit": "8b9363d83b5d779813cdd2819b8308651cec2a09" },
"mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" }, "mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" },
"mini.ai": { "branch": "main", "commit": "ebb04799794a7f94628153991e6334c3304961b8" }, "mini.ai": { "branch": "main", "commit": "ebb04799794a7f94628153991e6334c3304961b8" },
"mini.animate": { "branch": "main", "commit": "d14190ac3040116540889e2ebc25f488b195799e" }, "mini.animate": { "branch": "main", "commit": "d14190ac3040116540889e2ebc25f488b195799e" },
"mini.hipatterns": { "branch": "main", "commit": "f34975103a38b3f608219a1324cdfc58ea660b8b" },
"mini.icons": { "branch": "main", "commit": "910db5df9724d65371182948f921fce23c2c881e" }, "mini.icons": { "branch": "main", "commit": "910db5df9724d65371182948f921fce23c2c881e" },
"mini.nvim": { "branch": "main", "commit": "0420076298c4457f200c2de468f65d080597a347" }, "mini.nvim": { "branch": "main", "commit": "0420076298c4457f200c2de468f65d080597a347" },
"mini.pairs": { "branch": "main", "commit": "7e834c5937d95364cc1740e20d673afe2d034cdb" }, "mini.pairs": { "branch": "main", "commit": "7e834c5937d95364cc1740e20d673afe2d034cdb" },
@@ -102,7 +103,7 @@
"render-markdown.nvim": { "branch": "main", "commit": "1ba6fb7998985736ca3480366c9792be05b93ad7" }, "render-markdown.nvim": { "branch": "main", "commit": "1ba6fb7998985736ca3480366c9792be05b93ad7" },
"smart-open.nvim": { "branch": "0.2.x", "commit": "7770b01ce4d551c143d7ec8589879320796621b9" }, "smart-open.nvim": { "branch": "0.2.x", "commit": "7770b01ce4d551c143d7ec8589879320796621b9" },
"smart-splits.nvim": { "branch": "master", "commit": "bfb5e63bd4639439b48815f46636dbd52b19b1bd" }, "smart-splits.nvim": { "branch": "master", "commit": "bfb5e63bd4639439b48815f46636dbd52b19b1bd" },
"snacks.nvim": { "branch": "main", "commit": "4db1fc6da608bfa39e0e0e4a05c06a52b578891e" }, "snacks.nvim": { "branch": "main", "commit": "56db8f14bf060c9dd3cea96f89949032acae4656" },
"sqlite.lua": { "branch": "master", "commit": "b487fcc8937b683942a1f7d9662fcf50ca5acd58" }, "sqlite.lua": { "branch": "master", "commit": "b487fcc8937b683942a1f7d9662fcf50ca5acd58" },
"symbols-outline.nvim": { "branch": "master", "commit": "564ee65dfc9024bdde73a6621820866987cbb256" }, "symbols-outline.nvim": { "branch": "master", "commit": "564ee65dfc9024bdde73a6621820866987cbb256" },
"tabular": { "branch": "master", "commit": "12437cd1b53488e24936ec4b091c9324cafee311" }, "tabular": { "branch": "master", "commit": "12437cd1b53488e24936ec4b091c9324cafee311" },
@@ -142,5 +143,6 @@
"which-key.nvim": { "branch": "main", "commit": "0e76a87ac51772569aec678dc74baa8e2a86100c" }, "which-key.nvim": { "branch": "main", "commit": "0e76a87ac51772569aec678dc74baa8e2a86100c" },
"worktrees.nvim": { "branch": "main", "commit": "0ca64ca49477a090938249b26d271b218a2e4051" }, "worktrees.nvim": { "branch": "main", "commit": "0ca64ca49477a090938249b26d271b218a2e4051" },
"wrapping.nvim": { "branch": "master", "commit": "f26fdeabd17cf1bf5197badbdadc2e2f08b6ab0f" }, "wrapping.nvim": { "branch": "master", "commit": "f26fdeabd17cf1bf5197badbdadc2e2f08b6ab0f" },
"yanky.nvim": { "branch": "main", "commit": "d2696b30e389dced94d5acab728f524a25f308d2" },
"zen-mode.nvim": { "branch": "main", "commit": "863f150ca321b3dd8aa1a2b69b5f411a220e144f" } "zen-mode.nvim": { "branch": "main", "commit": "863f150ca321b3dd8aa1a2b69b5f411a220e144f" }
} }

View File

@@ -1,13 +1,19 @@
{ {
"extras": [ "extras": [
"lazyvim.plugins.extras.ai.copilot", "lazyvim.plugins.extras.ai.copilot",
"lazyvim.plugins.extras.coding.yanky",
"lazyvim.plugins.extras.dap.core", "lazyvim.plugins.extras.dap.core",
"lazyvim.plugins.extras.editor.aerial", "lazyvim.plugins.extras.editor.aerial",
"lazyvim.plugins.extras.editor.dial",
"lazyvim.plugins.extras.editor.inc-rename",
"lazyvim.plugins.extras.editor.snacks_picker",
"lazyvim.plugins.extras.formatting.prettier", "lazyvim.plugins.extras.formatting.prettier",
"lazyvim.plugins.extras.lang.go", "lazyvim.plugins.extras.lang.go",
"lazyvim.plugins.extras.lang.markdown", "lazyvim.plugins.extras.lang.markdown",
"lazyvim.plugins.extras.lang.tailwind", "lazyvim.plugins.extras.lang.tailwind",
"lazyvim.plugins.extras.lang.yaml" "lazyvim.plugins.extras.lang.yaml",
"lazyvim.plugins.extras.util.dot",
"lazyvim.plugins.extras.util.mini-hipatterns"
], ],
"news": { "news": {
"NEWS.md": "10960" "NEWS.md": "10960"

View File

@@ -32,7 +32,6 @@ require("lazy").setup({
{ import = "lazyvim.plugins.extras.linting.eslint" }, { import = "lazyvim.plugins.extras.linting.eslint" },
{ import = "lazyvim.plugins.extras.test.core" }, { import = "lazyvim.plugins.extras.test.core" },
{ import = "lazyvim.plugins.extras.ui.mini-animate" }, { import = "lazyvim.plugins.extras.ui.mini-animate" },
{ import = "lazyvim.plugins.extras.ui.dashboard-nvim" },
-- import/override with your plugins -- import/override with your plugins
{ import = "plugins" }, { import = "plugins" },
}, },

View File

@@ -1,110 +0,0 @@
return {
"nvimdev/dashboard-nvim",
event = "VimEnter",
opts = function()
local logo = "\n"
.. "\n"
.. "┌─╮╭─╮╭─╮▖ ▖▖▄▄▗▄ \n"
.. "│ │├─┘│ │▝▖▞ ▌▌ ▌ ▌\n"
.. "╵ ╵╰─╯╰─╯ ▝ ▘▘ ▘ ▘\n"
.. "\n"
logo = string.rep("\n", 5) .. logo .. "\n\n"
local opts = {
theme = "doom",
hide = {
statusline = false,
},
config = {
header = vim.split(logo, "\n"),
center = {
{
action = "FzfLua files",
desc = " Find file",
icon = "",
key = "f",
},
{
action = "ene | startinsert",
desc = " New file",
icon = "",
key = "n",
},
{
action = "FzfLua oldfiles",
desc = " Recent files",
icon = "",
key = "r",
},
{
action = "FzfLua live_grep",
desc = " Find text",
icon = "",
key = "g",
},
{
action = "Telescope projects",
desc = " Find project",
icon = "",
key = "p",
},
{
action = 'lua require("persistence").load()',
desc = " Restore Session",
icon = "",
key = "s",
},
{
action = "LazyExtras",
desc = " Lazy Extras",
icon = "",
key = "e",
},
{
action = "Lazy",
desc = " Lazy",
icon = "󰒲 ",
key = "l",
},
{
action = "Mason",
desc = " Mason",
icon = "󱊈 ",
key = "m",
},
{
action = "qa",
desc = " Quit",
icon = "",
key = "q",
},
},
footer = function()
local stats = require("lazy").stats()
local ms = (math.floor(stats.startuptime * 100 + 0.5) / 100)
return {
"⚡ Neovim loaded " .. stats.loaded .. "/" .. stats.count .. " plugins in " .. ms .. "ms",
}
end,
},
}
for _, button in ipairs(opts.config.center) do
button.desc = button.desc .. string.rep(" ", 43 - #button.desc)
end
-- close Lazy and re-open when the dashboard is ready
if vim.o.filetype == "lazy" then
vim.cmd.close()
vim.api.nvim_create_autocmd("User", {
pattern = "DashboardLoaded",
callback = function()
require("lazy").show()
end,
})
end
return opts
end,
}

View File

@@ -0,0 +1,41 @@
-- 🍿 A collection of QoL plugins for Neovim
-- https://github.com/folke/snacks.nvim/tree/main
return {
"folke/snacks.nvim",
opts = {
dashboard = {
formats = {
header = { "%s", hl = "String", align = "center" },
icon = { "%s", hl = "String" },
},
preset = {
keys = {
{ icon = "", key = "f", desc = "Find File", action = ":lua Snacks.dashboard.pick('files')" },
{ icon = "", key = "n", desc = "New File", action = ":ene | startinsert" },
{ icon = "", key = "r", desc = "Recent Files", action = ":lua Snacks.dashboard.pick('oldfiles')" },
{ icon = "", key = "g", desc = "Find Text", action = ":lua Snacks.dashboard.pick('live_grep')" },
{ icon = "", key = "p", desc = "Find Project", action = ":Telescope projects" },
{ icon = "", key = "s", desc = "Restore Session", section = "session" },
{ icon = "", key = "c", desc = "Config", action = ":lua Snacks.dashboard.pick('files', {cwd = vim.fn.stdpath('config')})" },
{ icon = "", key = "e", desc = "LazyExtras", action = ":LazyExtras" },
{ icon = "󰒲 ", key = "l", desc = "Lazy", action = ":Lazy", enabled = package.loaded.lazy ~= nil },
{ icon = "󱊈 ", key = "m", desc = "Mason", action = ":Mason" },
{ icon = "", key = "q", desc = "Quit", action = ":qa" },
},
header = [[
┌─╮╭─╮╭─╮▖ ▖▖▄▄▗▄
│ │├─┘│ │▝▖▞ ▌▌ ▌ ▌
╵ ╵╰─╯╰─╯ ▝ ▘▘ ▘ ▘
]],
},
sections = {
{ section = "header" },
{ icon = "", title = "Keymaps", section = "keys", indent = 2, padding = 1 },
{ icon = "", title = "Recent Files", section = "recent_files", indent = 2, padding = 1 },
{ icon = "", title = "Projects", section = "projects", indent = 2, padding = 1 },
{ section = "startup" },
},
},
},
}

View File

@@ -1,13 +1,11 @@
-- Remove all background colors to make Neovim transparent -- Remove all background colors to make Neovim transparent
-- https://github.com/xiyaowong/nvim-transparent -- https://github.com/xiyaowong/nvim-transparent
return { return {
"xiyaowong/nvim-transparent", "xiyaowong/nvim-transparent",
opts = { opts = {
extra_groups = { extra_groups = {
"TelescopeBorder", "TelescopeBorder",
"TelescopeNormal", "TelescopeNormal",
-- "NeoTreeNormal", },
-- "NeoTreeNormalNC", },
},
},
} }