diff --git a/home/apps/neovim/lazy-lock.json b/home/apps/neovim/lazy-lock.json index 603f28f..d0feb7d 100644 --- a/home/apps/neovim/lazy-lock.json +++ b/home/apps/neovim/lazy-lock.json @@ -11,9 +11,9 @@ "cmp-nvim-lsp": { "branch": "main", "commit": "0e6b2ed705ddcff9738ec4ea838141654f12eeef" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp-vsnip": { "branch": "main", "commit": "989a8a73c44e926199bfd05fa7a516d51f2d2752" }, - "comment.nvim": { "branch": "master", "commit": "c8043290f2d77f61025494d839d88e414608c460" }, + "comment.nvim": { "branch": "master", "commit": "176e85eeb63f1a5970d6b88f1725039d85ca0055" }, "copilot.lua": { "branch": "master", "commit": "77e3a4907928f0813024e573b882dc879dfc0c6b" }, - "diffview.nvim": { "branch": "main", "commit": "397ce240d3141b97067049fa3544f974d8b4d06d" }, + "diffview.nvim": { "branch": "main", "commit": "0ad3e4f834093412ebbf317b7eaa9c59568824b9" }, "dressing.nvim": { "branch": "master", "commit": "f16d7586fcdd8b2e3850d0abb7e46f944125cc25" }, "editorconfig.nvim": { "branch": "master", "commit": "5b9e303e1d6f7abfe616ce4cc8d3fffc554790bf" }, "fidget.nvim": { "branch": "legacy", "commit": "90c22e47be057562ee9566bad313ad42d622c1d3" }, @@ -23,15 +23,16 @@ "guihua.lua": { "branch": "master", "commit": "ab8b1f09603cc268770efd057115035dc6cfa83d" }, "headlines.nvim": { "branch": "master", "commit": "ddef41b2664f0ce25fe76520d708e2dc9dfebd70" }, "indent-blankline.nvim": { "branch": "master", "commit": "7075d7861f7a6bbf0de0298c83f8a13195e6ec01" }, - "lazy.nvim": { "branch": "main", "commit": "678179543e0d27650c328d8659f2c2cab4d854ef" }, + "lazy.nvim": { "branch": "main", "commit": "10d4371745f88837c78c8daab00c5be6e48abea4" }, "lightspeed.nvim": { "branch": "main", "commit": "299eefa6a9e2d881f1194587c573dad619fdb96f" }, "lsp-status.nvim": { "branch": "master", "commit": "54f48eb5017632d81d0fd40112065f1d062d0629" }, "lspkind.nvim": { "branch": "master", "commit": "57610d5ab560c073c465d6faf0c19f200cb67e6e" }, "ltex-extra.nvim": { "branch": "master", "commit": "3ceb2401ab70c132305b3dba4dcb418d97b567ad" }, "lualine.nvim": { "branch": "master", "commit": "05d78e9fd0cdfb4545974a5aa14b1be95a86e9c9" }, "markdown-preview.nvim": { "branch": "master", "commit": "02cc3874738bc0f86e4b91f09b8a0ac88aef8e96" }, - "neodev.nvim": { "branch": "main", "commit": "d69254e1fbdc4a04c56719dde19e5eafb7b04b58" }, + "neodev.nvim": { "branch": "main", "commit": "c120c96225f878e096f124321c14c45aa07968b7" }, "neogit": { "branch": "master", "commit": "68a3e90e9d1ed9e362317817851d0f34b19e426b" }, + "neovim-session-manager": { "branch": "master", "commit": "fd92e73506601a48adb843cdc0a15f2e63513754" }, "null-ls.nvim": { "branch": "main", "commit": "a138b14099e9623832027ea12b4631ddd2a49256" }, "nvim-autopairs": { "branch": "master", "commit": "59df87a84c80a357ca8d8fe86e451b93ac476ccc" }, "nvim-cmp": { "branch": "main", "commit": "b8c2a62b3bd3827aa059b43be3dd4b5c45037d65" }, @@ -39,13 +40,13 @@ "nvim-dap": { "branch": "master", "commit": "7c1d47cf7188fc31acdf951f9eee22da9d479152" }, "nvim-dap-ui": { "branch": "master", "commit": "c020f660b02772f9f3d11f599fefad3268628a9e" }, "nvim-dap-virtual-text": { "branch": "master", "commit": "57f1dbd0458dd84a286b27768c142e1567f3ce3b" }, - "nvim-lspconfig": { "branch": "master", "commit": "08f1f347c718e945c3b1712ebb68c6834182cf3a" }, + "nvim-lspconfig": { "branch": "master", "commit": "fefba589c56a5568a089299e36a4c8242502faaa" }, "nvim-navic": { "branch": "master", "commit": "15704c607569d6c5cfeab486d3ef9459645a70ce" }, "nvim-notify": { "branch": "master", "commit": "ea9c8ce7a37f2238f934e087c255758659948e0f" }, "nvim-spectre": { "branch": "master", "commit": "8adb05dbfbd36862d700b5c3d1c26f0febf3f10d" }, "nvim-surround": { "branch": "main", "commit": "10b20ca7d9da1ac8df8339e140ffef94f9ab3b18" }, - "nvim-tree.lua": { "branch": "master", "commit": "e0c7eb50442922920cf6727a80ae09028947ddc6" }, - "nvim-treesitter": { "branch": "master", "commit": "9c9e12f0333a1686171a1315b237e9f6c49ff41d" }, + "nvim-tree.lua": { "branch": "master", "commit": "f873625d0636889af4cd47a01e486beb865db205" }, + "nvim-treesitter": { "branch": "master", "commit": "0ae494269acd469fbd896cf5d5a430dbbf4d4e95" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "2d6d3c7e49a24f6ffbbf7898241fefe9784f61bd" }, "nvim-ts-autotag": { "branch": "main", "commit": "40615e96075c743ef47aaf9de966dc348bec6459" }, "nvim-ts-rainbow2": { "branch": "master", "commit": "60e34278a87b1a9f2ae59a67b4a062c5f6b9b8e7" }, @@ -61,6 +62,7 @@ "telescope-file-browser.nvim": { "branch": "master", "commit": "87dfaa9a9c251388cf4f01b9d4078c29d1fc8803" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "9bc8237565ded606e6c366a71c64c0af25cd7a50" }, "telescope-project.nvim": { "branch": "master", "commit": "7c64b181dd4e72deddcf6f319e3bf1e95b2a2f30" }, + "telescope-ui-select.nvim": { "branch": "master", "commit": "62ea5e58c7bbe191297b983a9e7e89420f581369" }, "telescope.nvim": { "branch": "master", "commit": "37c526857807e9550bdc8649700d4ceb47750ef2" }, "todo-comments.nvim": { "branch": "main", "commit": "09b0b17d824d2d56f02ff15967e8a2499a89c731" }, "trouble.nvim": { "branch": "main", "commit": "2af0dd9767526410c88c628f1cbfcb6cf22dd683" }, diff --git a/home/apps/neovim/lua/plugins/alpha.lua b/home/apps/neovim/lua/plugins/alpha.lua index ef60387..f7f75d4 100644 --- a/home/apps/neovim/lua/plugins/alpha.lua +++ b/home/apps/neovim/lua/plugins/alpha.lua @@ -1,5 +1,9 @@ ---@type LazyPluginSpec[] return { + { + "Shatur/neovim-session-manager", + opts = { autoload_mode = "CurrentDir" }, + }, { "goolord/alpha-nvim", dependencies = { "nvim-tree/nvim-web-devicons" }, @@ -20,8 +24,24 @@ return { " `--' `--' ", } dashboard.section.buttons.val = { - dashboard.button("e", " New file", ":ene startinsert "), - dashboard.button("q", "󰅚 Quit NVIM", ":qa"), + dashboard.button("n", " New file", ":ene startinsert "), + dashboard.button( + "SPC fd", + " Find file", + ":Telescope find_files" + ), + dashboard.button( + "SPC fg", + " Live grep", + ":Telescope live_grep" + ), + dashboard.button( + "s", + " Show sessions", + ":SessionManager load_session" + ), + dashboard.button("SPC fp", " Projects", ":Telescope project"), + dashboard.button("q", " Quit", ":qa"), } local version = vim.version() dashboard.section.footer.val = "neovim v" diff --git a/home/apps/neovim/lua/plugins/lualine.lua b/home/apps/neovim/lua/plugins/lualine.lua index 3d8f03b..aebf3d6 100644 --- a/home/apps/neovim/lua/plugins/lualine.lua +++ b/home/apps/neovim/lua/plugins/lualine.lua @@ -9,6 +9,7 @@ return { dependencies = { "neovim/nvim-lspconfig" }, opts = { highlight = true, + separator = " ", icons = { File = " ", Module = " ", @@ -58,18 +59,30 @@ return { }, sections = { lualine_a = { "mode" }, - lualine_b = { - "branch", - "diff", - "diagnostics", - }, + lualine_b = { "branch", "diff", "diagnostics" }, lualine_c = { "searchcount" }, lualine_x = { { "filetype", colored = false } }, lualine_y = { "progress" }, lualine_z = { "location" }, }, tabline = {}, - winbar = { lualine_c = { "navic" } }, + winbar = { + lualine_c = { "navic" }, + lualine_x = { + { + function() + return " " + end, + cond = function() + local present, navic = pcall(require, "nvim-navic") + if not present then + return false + end + return navic.is_available() + end, + }, + }, + }, inactive_winbar = {}, extensions = {}, }) diff --git a/home/apps/neovim/lua/plugins/telescope.lua b/home/apps/neovim/lua/plugins/telescope.lua index e20d382..c7dbf3c 100644 --- a/home/apps/neovim/lua/plugins/telescope.lua +++ b/home/apps/neovim/lua/plugins/telescope.lua @@ -3,18 +3,33 @@ return { { { "nvim-telescope/telescope.nvim", + dependencies = { + "nvim-lua/plenary.nvim", + "nvim-tree/nvim-web-devicons", + + "GustavoKatel/telescope-asynctasks.nvim", + "nvim-telescope/telescope-file-browser.nvim", + { "nvim-telescope/telescope-fzf-native.nvim", build = "make" }, + "nvim-telescope/telescope-project.nvim", + "nvim-telescope/telescope-ui-select.nvim", + + { "pwntester/octo.nvim", opts = {} }, + }, config = function() local telescope = require("telescope") - pcall(telescope.load_extension, "fzf") pcall(telescope.load_extension, "asynctasks") pcall(telescope.load_extension, "file_browser") - pcall(telescope.load_extension, "project") + pcall(telescope.load_extension, "fzf") pcall(telescope.load_extension, "notify") + pcall(telescope.load_extension, "project") + pcall(telescope.load_extension, "ui-select") telescope.setup({ defaults = { - selection_caret = "▶ ", + prompt_prefix = " ", + selection_caret = " ", + multi_icon = "│", borderchars = { vim.g.bc.horiz, vim.g.bc.vert, @@ -39,28 +54,36 @@ return { }, }, }) - end, - dependencies = { - "nvim-lua/plenary.nvim", - { - "nvim-telescope/telescope-fzf-native.nvim", - build = "make", - }, - "GustavoKatel/telescope-asynctasks.nvim", - "nvim-telescope/telescope-file-browser.nvim", - "nvim-telescope/telescope-project.nvim", - }, - }, - -- octo extension - { - "pwntester/octo.nvim", - dependencies = { - "nvim-lua/plenary.nvim", - "nvim-telescope/telescope.nvim", - "nvim-tree/nvim-web-devicons", - }, - opts = {}, + local wk_present, wk = pcall(require, "which-key") + if not wk_present then + return + end + wk.register({ + ["f"] = { + name = "+Telescope", + b = { + "Telescope file_browser grouped=true", + "File browser", + }, + d = { "Telescope find_files", "Find file" }, + g = { "Telescope live_grep", "Live grep" }, + h = { "Telescope help_tags", "Help tags" }, + n = { "Telescope notify", "Show notifications" }, + p = { "Telescope project", "Project" }, + r = { "Telescope asynctasks all", "Run asynctasks" }, + s = { + function() + require("telescope.builtin").find_files({ + cwd = vim.fn.resolve(vim.fn.stdpath("config")), + }) + end, + "Find in config", + }, + S = { "SessionManager load_session", "Show sessions" }, + }, + }) + end, }, }, } diff --git a/home/apps/neovim/lua/plugins/which-key.lua b/home/apps/neovim/lua/plugins/which-key.lua index 204c819..e305b50 100644 --- a/home/apps/neovim/lua/plugins/which-key.lua +++ b/home/apps/neovim/lua/plugins/which-key.lua @@ -7,11 +7,12 @@ return { wk.setup({ key_labels = { - [""] = "␣", - [""] = "␣", + [""] = "󱁐 ", + [""] = "󱁐 ", + [""] = "󰌍 ", [""] = "󰌑 ", + [""] = "󱊷 ", [""] = "󰌒 ", - [""] = "⎋ ", }, window = { border = vim.g.bc.style, @@ -19,27 +20,6 @@ return { }, }) - -- Telescope - wk.register({ - ["f"] = { - name = "+Telescope", - b = { "Telescope file_browser grouped=true", "File browser" }, - d = { "Telescope find_files", "Find file" }, - g = { "Telescope live_grep", "Live grep" }, - h = { "Telescope help_tags", "Help tags" }, - n = { "Telescope notify", "Show notifications" }, - p = { "Telescope project", "Project" }, - r = { "Telescope asynctasks all", "Run asynctasks" }, - s = { - function() - local confpath = vim.fn.resolve(vim.fn.stdpath("config")) - require("telescope.builtin").find_files({ cwd = confpath }) - end, - "Find in config", - }, - }, - }) - -- clipboard wk.register({ [""] = {