diff --git a/lua/plugins/alpha-nvim.lua b/lua/plugins/alpha-nvim.lua index bd7997f5768148a5f4414d27263296f093591cf8..4f296871fe06103939dee94d7d1a57be789f72d1 100644 --- a/lua/plugins/alpha-nvim.lua +++ b/lua/plugins/alpha-nvim.lua @@ -1,7 +1,18 @@ -- Splash screen return { - "goolord/alpha-nvim", - config = function () - require'alpha'.setup(require'alpha.themes.dashboard'.config) - end + "goolord/alpha-nvim", + dependencies = { "nvim-tree/nvim-web-devicons" }, + config = function () + local dashboard = require('alpha.themes.dashboard') + dashboard.section.header.val = { + [[ ▄▀▀▄ ▀▄ ▄▀▀█▄▄▄▄ ▄▀▀▀▀▄ ▄▀▀▄ ▄▀▀▄ ▄▀▀█▀▄ ▄▀▀▄ ▄▀▄ ]], + [[ █ █ █ █ ■▄▀ ■█ █ █ █ █ █ █ █ █ █ ▀ █ ]], + [[ ■█ ▀█ █▄▄▄▄▄ █ █ ■█ █ ■█ ■■█ █ ]], + [[ █ █ █ ▌ ▀▄ ▄▀ █ ▄▀ █ █ █ ]], + [[ ▄▀ █ ▄▀▄▄▄▄ ▀▀▀▀ ▀▄▀ ▄▀▀▀▀▀▄ ▄▀ ▄▀ ]], + [[ █ ■█ ■█ █ █ █ ]], + [[ ■■■■■■]] + } + require('alpha').setup( dashboard.opts ) + end } diff --git a/lua/plugins/autocomplete-config.lua b/lua/plugins/autocomplete-config.lua new file mode 100644 index 0000000000000000000000000000000000000000..e4a3b8950e7abf1189fb14a16820386f6f93e10a --- /dev/null +++ b/lua/plugins/autocomplete-config.lua @@ -0,0 +1,46 @@ +return { + { + "hrsh7th/cmp-nvim-lsp", + }, + { + 'L3MON4D3/LuaSnip', + -- build = "make install_jsregexp", + dependencies = { + 'saadparwaiz1/cmp_luasnip', + 'rafamadriz/friendly-snippets', + }, + }, + { + "hrsh7th/nvim-cmp", + dependencies = { 'L3MON4D3/LuaSnip', 'saadparwaiz1/cmp_luasnip' }, + config = function () + local cmp = require('cmp') + require("luasnip.loaders.from_vscode").lazy_load() + + cmp.setup({ + snippet = { + expand = function(args) + require('luasnip').lsp_expand(args.body) -- For `luasnip` users. + end, + }, + window = { + completion = cmp.config.window.bordered(), + documentation = cmp.config.window.bordered(), + }, + mapping = cmp.mapping.preset.insert({ + ['<C-b>'] = cmp.mapping.scroll_docs(-4), + ['<C-f>'] = cmp.mapping.scroll_docs(4), + ['<C-Leader>'] = cmp.mapping.complete(), + ['<C-e>'] = cmp.mapping.abort(), + ['<CR>'] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items. + }), + sources = cmp.config.sources({ + -- { name = 'nvim_lsp' }, + { name = 'luasnip' }, -- For luasnip users. + }, { + { name = 'buffer' }, + }) + }) + end, + }, +} diff --git a/lua/plugins/lsp-config.lua b/lua/plugins/lsp-config.lua index 231fe21ac32cb0076e605a25c6ea51613de45ab2..f8ec53e3e0769d7ff16757b5c90d952c855c329d 100644 --- a/lua/plugins/lsp-config.lua +++ b/lua/plugins/lsp-config.lua @@ -28,11 +28,14 @@ return { { "neovim/nvim-lspconfig", config = function() + local capabilities = require( "cmp_nvim_lsp" ).default_capabilities() + local lspconfig = require("lspconfig") - lspconfig.lua_ls.setup( {} ) - lspconfig.clangd.setup( {} ) - lspconfig.texlab.setup( {} ) - lspconfig.tsserver.setup( {} ) + -- local lsp_server_options = { capabilities = capabilities } + lspconfig.lua_ls.setup( { capabilities = capabilities } ) + lspconfig.clangd.setup( { capabilities = capabilities } ) + lspconfig.texlab.setup( { capabilities = capabilities } ) + lspconfig.tsserver.setup( { capabilities = capabilities } ) vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, opts) vim.keymap.set('n', 'gd', vim.lsp.buf.definition, opts)