From d93a4709031f0d358cba399a4201e358c950a42a Mon Sep 17 00:00:00 2001 From: Alexander Navarro Date: Thu, 20 Apr 2023 18:06:12 -0400 Subject: [PATCH] add dashboard --- config/nvim/lua/aleidk/IDE/completion.lua | 44 ++++++++++++++++++ config/nvim/lua/aleidk/IDE/init.lua | 1 + config/nvim/lua/aleidk/IDE/lsp.lua | 48 -------------------- config/nvim/lua/aleidk/plugins/dashboard.lua | 35 ++++++++++++++ config/nvim/lua/aleidk/plugins/init.lua | 2 +- 5 files changed, 81 insertions(+), 49 deletions(-) create mode 100644 config/nvim/lua/aleidk/IDE/completion.lua create mode 100644 config/nvim/lua/aleidk/plugins/dashboard.lua diff --git a/config/nvim/lua/aleidk/IDE/completion.lua b/config/nvim/lua/aleidk/IDE/completion.lua new file mode 100644 index 0000000..9bed8cd --- /dev/null +++ b/config/nvim/lua/aleidk/IDE/completion.lua @@ -0,0 +1,44 @@ +-- nvim-cmp setup +local cmp = require("cmp") +local luasnip = require("luasnip") + +luasnip.config.setup({}) + +cmp.setup({ + snippet = { + expand = function(args) + luasnip.lsp_expand(args.body) + end, + }, + mapping = cmp.mapping.preset.insert({ + [""] = cmp.mapping.scroll_docs(-4), + [""] = cmp.mapping.scroll_docs(4), + [""] = cmp.mapping.complete({}), + [""] = cmp.mapping.confirm({ + behavior = cmp.ConfirmBehavior.Replace, + select = true, + }), + [""] = cmp.mapping(function(fallback) + if cmp.visible() then + cmp.select_next_item() + elseif luasnip.expand_or_jumpable() then + luasnip.expand_or_jump() + else + fallback() + end + end, { "i", "s" }), + [""] = cmp.mapping(function(fallback) + if cmp.visible() then + cmp.select_prev_item() + elseif luasnip.jumpable(-1) then + luasnip.jump(-1) + else + fallback() + end + end, { "i", "s" }), + }), + sources = { + { name = "nvim_lsp" }, + { name = "luasnip" }, + }, +}) diff --git a/config/nvim/lua/aleidk/IDE/init.lua b/config/nvim/lua/aleidk/IDE/init.lua index 93c4295..9d905cf 100644 --- a/config/nvim/lua/aleidk/IDE/init.lua +++ b/config/nvim/lua/aleidk/IDE/init.lua @@ -1 +1,2 @@ require("aleidk.IDE.lsp") +require("aleidk.IDE.completion") diff --git a/config/nvim/lua/aleidk/IDE/lsp.lua b/config/nvim/lua/aleidk/IDE/lsp.lua index 57b547a..4d33be2 100644 --- a/config/nvim/lua/aleidk/IDE/lsp.lua +++ b/config/nvim/lua/aleidk/IDE/lsp.lua @@ -69,9 +69,6 @@ vim.keymap.set("n", "]d", vim.diagnostic.goto_next, { desc = "Go to next diagnos vim.keymap.set("n", "e", vim.diagnostic.open_float, { desc = "Open floating diagnostic message" }) vim.keymap.set("n", "q", vim.diagnostic.setloclist, { desc = "Open diagnostics list" }) --- Setup neovim lua configuration -require("neodev").setup() - -- nvim-cmp supports additional completion capabilities, so broadcast that to servers local capabilities = vim.lsp.protocol.make_client_capabilities() capabilities = require("cmp_nvim_lsp").default_capabilities(capabilities) @@ -92,48 +89,3 @@ mason_lspconfig.setup_handlers({ }) end, }) - --- nvim-cmp setup -local cmp = require("cmp") -local luasnip = require("luasnip") - -luasnip.config.setup({}) - -cmp.setup({ - snippet = { - expand = function(args) - luasnip.lsp_expand(args.body) - end, - }, - mapping = cmp.mapping.preset.insert({ - [""] = cmp.mapping.scroll_docs(-4), - [""] = cmp.mapping.scroll_docs(4), - [""] = cmp.mapping.complete({}), - [""] = cmp.mapping.confirm({ - behavior = cmp.ConfirmBehavior.Replace, - select = true, - }), - [""] = cmp.mapping(function(fallback) - if cmp.visible() then - cmp.select_next_item() - elseif luasnip.expand_or_jumpable() then - luasnip.expand_or_jump() - else - fallback() - end - end, { "i", "s" }), - [""] = cmp.mapping(function(fallback) - if cmp.visible() then - cmp.select_prev_item() - elseif luasnip.jumpable(-1) then - luasnip.jump(-1) - else - fallback() - end - end, { "i", "s" }), - }), - sources = { - { name = "nvim_lsp" }, - { name = "luasnip" }, - }, -}) diff --git a/config/nvim/lua/aleidk/plugins/dashboard.lua b/config/nvim/lua/aleidk/plugins/dashboard.lua new file mode 100644 index 0000000..08acced --- /dev/null +++ b/config/nvim/lua/aleidk/plugins/dashboard.lua @@ -0,0 +1,35 @@ +return { + "goolord/alpha-nvim", + lazy = false, + opts = function() + local dashboard = require("alpha.themes.dashboard") + + dashboard.section.header.val = { + " ████ ███ █████ █████ ", + " ░░███ ░░░ ░░███ ░░███ ", + " ██████ ░███ ██████ ████ ███████ ░███ █████", + " ░░░░░███ ░███ ███░░███░░███ ███░░███ ░███░░███ ", + " ███████ ░███ ░███████ ░███ ░███ ░███ ░██████░ ", + " ███░░███ ░███ ░███░░░ ░███ ░███ ░███ ░███░░███ ", + "░░████████ █████░░██████ █████░░████████ ████ █████", + " ░░░░░░░░ ░░░░░ ░░░░░░ ░░░░░ ░░░░░░░░ ░░░░ ░░░░░ ", + } + dashboard.section.header.opts.hl = "DashboardHeader" + + dashboard.section.buttons.val = { + dashboard.button("LDR f f", " Find File ", "ff"), + dashboard.button("LDR e", "פּ File Explorer ", "fe"), + dashboard.button("LDR LDR t", " Harpoon", "t"), + } + + dashboard.section.footer.val = + { " ", " ", " ", "Nvim loaded " .. require("lazy").stats().count .. " plugins " } + dashboard.section.footer.opts.hl = "DashboardFooter" + + dashboard.config.layout[1].val = vim.fn.max({ 2, vim.fn.floor(vim.fn.winheight(0) * 0.2) }) + dashboard.config.layout[3].val = 5 + dashboard.config.opts.noautocmd = true + + return dashboard.opts + end, +} diff --git a/config/nvim/lua/aleidk/plugins/init.lua b/config/nvim/lua/aleidk/plugins/init.lua index 1bbbe83..2aed422 100644 --- a/config/nvim/lua/aleidk/plugins/init.lua +++ b/config/nvim/lua/aleidk/plugins/init.lua @@ -21,7 +21,7 @@ return { { "j-hui/fidget.nvim", opts = {} }, -- Additional lua configuration, makes nvim stuff amazing! - "folke/neodev.nvim", + { "folke/neodev.nvim", opts = {} }, }, },