diff --git a/init.lua b/init.lua index cbae6a9..3a4dc82 100644 --- a/init.lua +++ b/init.lua @@ -8,6 +8,7 @@ local vanila_vim_autostart_commands = { "set clipboard=unnamedplus" } +vim.opt.termguicolors = true vim.opt.fillchars = { eob = " " } for _, cmd in pairs(vanila_vim_autostart_commands) do @@ -40,7 +41,6 @@ require("config.plugins.prettier") require("config.plugins.rustaceanvim") require("huez").setup({}) - vim.api.nvim_create_autocmd("BufWritePre", { buffer = buffer, callback = function() diff --git a/lua/config/plugins/autocomplete.lua b/lua/config/plugins/autocomplete.lua index 6cc282d..f28be93 100644 --- a/lua/config/plugins/autocomplete.lua +++ b/lua/config/plugins/autocomplete.lua @@ -1,96 +1,99 @@ local cmp = require "cmp" local kind_icons = { - Text = "", - Method = "󰆧", - Function = "󰊕", - Constructor = "", - Field = "", - Variable = "", - Class = "", - Interface = "", - Module = "", - Property = "󰜢", - Unit = "", - Value = "󰎠", - Enum = "", - Keyword = "󰌋", - Snippet = "", - Color = "󰏘", - File = "󰈙", - Reference = "", - Folder = "󰉋", - EnumMember = "", - Constant = "󰏿", - Struct = "", - Event = "", - Operator = "󰆕", - TypeParameter = "󰅲", + Text = "", + Method = "󰆧", + Function = "󰊕", + Constructor = "", + Field = "", + Variable = "", + Class = "", + Interface = "", + Module = "", + Property = "󰜢", + Unit = "", + Value = "󰎠", + Enum = "", + Keyword = "󰌋", + Snippet = "", + Color = "󰏘", + File = "󰈙", + Reference = "", + Folder = "󰉋", + EnumMember = "", + Constant = "󰏿", + Struct = "", + Event = "", + Operator = "󰆕", + TypeParameter = "󰅲", } -cmp.setup{ - completion = { completeopt = "menu,menuone" }, +cmp.setup { + completion = { completeopt = "menu,menuone" }, - snippet = { - expand = function(args) - require("luasnip").lsp_expand(args.body) - end, - }, + snippet = { + expand = function(args) + require("luasnip").lsp_expand(args.body) + end, + }, + window = { + completion = { + -- winhighlight = "Normal:Pmenu,FloatBorder:Pmenu,Search:None", + col_offset = -3, + side_padding = 0, + }, + }, - formatting = { - format = function(entry, vim_item) - -- Kind icons - vim_item.kind = string.format('\t%s %s\t', kind_icons[vim_item.kind], vim_item.kind) -- This concatenates the icons with the name of the item kind - -- Source - vim_item.menu = ({ - buffer = "[Buffer]", - nvim_lsp = "[LSP]", - luasnip = "[LuaSnip]", - nvim_lua = "[Lua]", - latex_symbols = "[LaTeX]", - })[entry.source.name] - return vim_item - end - }, + formatting = { + fields = { "kind", "abbr", "menu" }, + format = function(entry, vim_item) + local kind = require("lspkind").cmp_format({ mode = "symbol_text", maxwidth = 50 })(entry, vim_item) + local strings = vim.split(kind.kind, "%s", { trimempty = true }) + kind.kind = " " .. (strings[1] or "") .. " " + kind.menu = " " .. (strings[2] or "") - mapping = { - [""] = cmp.mapping.select_prev_item(), - [""] = cmp.mapping.select_next_item(), - [""] = cmp.mapping.scroll_docs(-4), - [""] = cmp.mapping.scroll_docs(4), - [""] = cmp.mapping.complete(), - [""] = cmp.mapping.close(), + return kind + end + }, - [""] = cmp.mapping.confirm { - behavior = cmp.ConfirmBehavior.Insert, - select = true, - }, + mapping = { + [""] = cmp.mapping.select_prev_item(), + [""] = cmp.mapping.select_next_item(), + [""] = cmp.mapping.scroll_docs(-4), + [""] = cmp.mapping.scroll_docs(4), + [""] = cmp.mapping.complete(), + [""] = cmp.mapping.close(), - [""] = cmp.mapping(function(fallback) - if cmp.visible() then - cmp.select_next_item() - elseif require("luasnip").expand_or_jumpable() then - require("luasnip").expand_or_jump() - else - fallback() - end - end, { "i", "s" }), + [""] = cmp.mapping.confirm { + behavior = cmp.ConfirmBehavior.Insert, + select = true, + }, - [""] = cmp.mapping(function(fallback) - if cmp.visible() then - cmp.select_prev_item() - elseif require("luasnip").jumpable(-1) then - require("luasnip").jump(-1) - else - fallback() - end - end, { "i", "s" }), - }, + [""] = cmp.mapping(function(fallback) + if cmp.visible() then + cmp.select_next_item() + elseif require("luasnip").expand_or_jumpable() then + require("luasnip").expand_or_jump() + else + fallback() + end + end, { "i", "s" }), - sources = { - { name = "nvim_lsp" }, - { name = "luasnip" }, - { name = "buffer" }, - { name = "path" }, - }, + [""] = cmp.mapping(function(fallback) + if cmp.visible() then + cmp.select_prev_item() + elseif require("luasnip").jumpable(-1) then + require("luasnip").jump(-1) + else + fallback() + end + end, { "i", "s" }), + }, + + sources = { + { name = "nvim_lsp" }, + { name = "luasnip" }, + { name = "buffer" }, + { name = "path" }, + }, } diff --git a/lua/plugins/core/init.lua b/lua/plugins/core/init.lua index cab11d0..ed76724 100644 --- a/lua/plugins/core/init.lua +++ b/lua/plugins/core/init.lua @@ -1,5 +1,4 @@ return { - { 'simrat39/inlay-hints.nvim', }, @@ -9,6 +8,9 @@ return { { "akinsho/bufferline.nvim", }, + { + "onsails/lspkind.nvim" + }, { "lewis6991/gitsigns.nvim" }, diff --git a/lua/plugins/secondary/init.lua b/lua/plugins/secondary/init.lua index 0e72af0..a46c0a0 100644 --- a/lua/plugins/secondary/init.lua +++ b/lua/plugins/secondary/init.lua @@ -22,6 +22,9 @@ return { "lukas-reineke/indent-blankline.nvim", main = "ibl", }, + { + "sainnhe/gruvbox-material", + }, { "savq/melange-nvim" },