feat(ui): improve ui (cmp) and add gruvbox theme
This commit is contained in:
parent
5a533becb0
commit
813671fcb0
2
init.lua
2
init.lua
|
@ -8,6 +8,7 @@ local vanila_vim_autostart_commands = {
|
||||||
"set clipboard=unnamedplus"
|
"set clipboard=unnamedplus"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
vim.opt.termguicolors = true
|
||||||
vim.opt.fillchars = { eob = " " }
|
vim.opt.fillchars = { eob = " " }
|
||||||
|
|
||||||
for _, cmd in pairs(vanila_vim_autostart_commands) do
|
for _, cmd in pairs(vanila_vim_autostart_commands) do
|
||||||
|
@ -40,7 +41,6 @@ require("config.plugins.prettier")
|
||||||
require("config.plugins.rustaceanvim")
|
require("config.plugins.rustaceanvim")
|
||||||
require("huez").setup({})
|
require("huez").setup({})
|
||||||
|
|
||||||
|
|
||||||
vim.api.nvim_create_autocmd("BufWritePre", {
|
vim.api.nvim_create_autocmd("BufWritePre", {
|
||||||
buffer = buffer,
|
buffer = buffer,
|
||||||
callback = function()
|
callback = function()
|
||||||
|
|
|
@ -1,96 +1,99 @@
|
||||||
local cmp = require "cmp"
|
local cmp = require "cmp"
|
||||||
|
|
||||||
local kind_icons = {
|
local kind_icons = {
|
||||||
Text = "",
|
Text = "",
|
||||||
Method = "",
|
Method = "",
|
||||||
Function = "",
|
Function = "",
|
||||||
Constructor = "",
|
Constructor = "",
|
||||||
Field = "",
|
Field = "",
|
||||||
Variable = "",
|
Variable = "",
|
||||||
Class = "",
|
Class = "",
|
||||||
Interface = "",
|
Interface = "",
|
||||||
Module = "",
|
Module = "",
|
||||||
Property = "",
|
Property = "",
|
||||||
Unit = "",
|
Unit = "",
|
||||||
Value = "",
|
Value = "",
|
||||||
Enum = "",
|
Enum = "",
|
||||||
Keyword = "",
|
Keyword = "",
|
||||||
Snippet = "",
|
Snippet = "",
|
||||||
Color = "",
|
Color = "",
|
||||||
File = "",
|
File = "",
|
||||||
Reference = "",
|
Reference = "",
|
||||||
Folder = "",
|
Folder = "",
|
||||||
EnumMember = "",
|
EnumMember = "",
|
||||||
Constant = "",
|
Constant = "",
|
||||||
Struct = "",
|
Struct = "",
|
||||||
Event = "",
|
Event = "",
|
||||||
Operator = "",
|
Operator = "",
|
||||||
TypeParameter = "",
|
TypeParameter = "",
|
||||||
}
|
}
|
||||||
|
|
||||||
cmp.setup{
|
cmp.setup {
|
||||||
completion = { completeopt = "menu,menuone" },
|
completion = { completeopt = "menu,menuone" },
|
||||||
|
|
||||||
snippet = {
|
snippet = {
|
||||||
expand = function(args)
|
expand = function(args)
|
||||||
require("luasnip").lsp_expand(args.body)
|
require("luasnip").lsp_expand(args.body)
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
|
window = {
|
||||||
|
completion = {
|
||||||
|
-- winhighlight = "Normal:Pmenu,FloatBorder:Pmenu,Search:None",
|
||||||
|
col_offset = -3,
|
||||||
|
side_padding = 0,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
formatting = {
|
formatting = {
|
||||||
format = function(entry, vim_item)
|
fields = { "kind", "abbr", "menu" },
|
||||||
-- Kind icons
|
format = function(entry, vim_item)
|
||||||
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
|
local kind = require("lspkind").cmp_format({ mode = "symbol_text", maxwidth = 50 })(entry, vim_item)
|
||||||
-- Source
|
local strings = vim.split(kind.kind, "%s", { trimempty = true })
|
||||||
vim_item.menu = ({
|
kind.kind = " " .. (strings[1] or "") .. " "
|
||||||
buffer = "[Buffer]",
|
kind.menu = " " .. (strings[2] or "")
|
||||||
nvim_lsp = "[LSP]",
|
|
||||||
luasnip = "[LuaSnip]",
|
|
||||||
nvim_lua = "[Lua]",
|
|
||||||
latex_symbols = "[LaTeX]",
|
|
||||||
})[entry.source.name]
|
|
||||||
return vim_item
|
|
||||||
end
|
|
||||||
},
|
|
||||||
|
|
||||||
mapping = {
|
return kind
|
||||||
["<C-p>"] = cmp.mapping.select_prev_item(),
|
end
|
||||||
["<C-n>"] = cmp.mapping.select_next_item(),
|
},
|
||||||
["<C-d>"] = cmp.mapping.scroll_docs(-4),
|
|
||||||
["<C-f>"] = cmp.mapping.scroll_docs(4),
|
|
||||||
["<C-Space>"] = cmp.mapping.complete(),
|
|
||||||
["<C-e>"] = cmp.mapping.close(),
|
|
||||||
|
|
||||||
["<CR>"] = cmp.mapping.confirm {
|
mapping = {
|
||||||
behavior = cmp.ConfirmBehavior.Insert,
|
["<C-p>"] = cmp.mapping.select_prev_item(),
|
||||||
select = true,
|
["<C-n>"] = cmp.mapping.select_next_item(),
|
||||||
},
|
["<C-d>"] = cmp.mapping.scroll_docs(-4),
|
||||||
|
["<C-f>"] = cmp.mapping.scroll_docs(4),
|
||||||
|
["<C-Space>"] = cmp.mapping.complete(),
|
||||||
|
["<C-e>"] = cmp.mapping.close(),
|
||||||
|
|
||||||
["<Tab>"] = cmp.mapping(function(fallback)
|
["<CR>"] = cmp.mapping.confirm {
|
||||||
if cmp.visible() then
|
behavior = cmp.ConfirmBehavior.Insert,
|
||||||
cmp.select_next_item()
|
select = true,
|
||||||
elseif require("luasnip").expand_or_jumpable() then
|
},
|
||||||
require("luasnip").expand_or_jump()
|
|
||||||
else
|
|
||||||
fallback()
|
|
||||||
end
|
|
||||||
end, { "i", "s" }),
|
|
||||||
|
|
||||||
["<S-Tab>"] = cmp.mapping(function(fallback)
|
["<Tab>"] = cmp.mapping(function(fallback)
|
||||||
if cmp.visible() then
|
if cmp.visible() then
|
||||||
cmp.select_prev_item()
|
cmp.select_next_item()
|
||||||
elseif require("luasnip").jumpable(-1) then
|
elseif require("luasnip").expand_or_jumpable() then
|
||||||
require("luasnip").jump(-1)
|
require("luasnip").expand_or_jump()
|
||||||
else
|
else
|
||||||
fallback()
|
fallback()
|
||||||
end
|
end
|
||||||
end, { "i", "s" }),
|
end, { "i", "s" }),
|
||||||
},
|
|
||||||
|
|
||||||
sources = {
|
["<S-Tab>"] = cmp.mapping(function(fallback)
|
||||||
{ name = "nvim_lsp" },
|
if cmp.visible() then
|
||||||
{ name = "luasnip" },
|
cmp.select_prev_item()
|
||||||
{ name = "buffer" },
|
elseif require("luasnip").jumpable(-1) then
|
||||||
{ name = "path" },
|
require("luasnip").jump(-1)
|
||||||
},
|
else
|
||||||
|
fallback()
|
||||||
|
end
|
||||||
|
end, { "i", "s" }),
|
||||||
|
},
|
||||||
|
|
||||||
|
sources = {
|
||||||
|
{ name = "nvim_lsp" },
|
||||||
|
{ name = "luasnip" },
|
||||||
|
{ name = "buffer" },
|
||||||
|
{ name = "path" },
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
return {
|
return {
|
||||||
|
|
||||||
{
|
{
|
||||||
'simrat39/inlay-hints.nvim',
|
'simrat39/inlay-hints.nvim',
|
||||||
},
|
},
|
||||||
|
@ -9,6 +8,9 @@ return {
|
||||||
{
|
{
|
||||||
"akinsho/bufferline.nvim",
|
"akinsho/bufferline.nvim",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"onsails/lspkind.nvim"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"lewis6991/gitsigns.nvim"
|
"lewis6991/gitsigns.nvim"
|
||||||
},
|
},
|
||||||
|
|
|
@ -22,6 +22,9 @@ return {
|
||||||
"lukas-reineke/indent-blankline.nvim",
|
"lukas-reineke/indent-blankline.nvim",
|
||||||
main = "ibl",
|
main = "ibl",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"sainnhe/gruvbox-material",
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"savq/melange-nvim"
|
"savq/melange-nvim"
|
||||||
},
|
},
|
||||||
|
|
Loading…
Reference in New Issue