Improved neovim config
This commit is contained in:
@ -1,3 +1,46 @@
|
||||
local icons = {
|
||||
Namespace = "",
|
||||
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 = "",
|
||||
Table = "",
|
||||
Object = "",
|
||||
Tag = "",
|
||||
Array = "[]",
|
||||
Boolean = "",
|
||||
Number = "",
|
||||
Null = "",
|
||||
String = "",
|
||||
Calendar = "",
|
||||
Watch = "",
|
||||
Package = "",
|
||||
Copilot = "",
|
||||
Codeium = "",
|
||||
TabNine = "",
|
||||
}
|
||||
|
||||
return {
|
||||
"hrsh7th/nvim-cmp",
|
||||
event = "InsertEnter",
|
||||
@ -5,20 +48,52 @@ return {
|
||||
"hrsh7th/cmp-nvim-lsp",
|
||||
"hrsh7th/cmp-buffer",
|
||||
"hrsh7th/cmp-path",
|
||||
"L3MON4D3/LuaSnip",
|
||||
},
|
||||
config = function()
|
||||
local cmp = require("cmp")
|
||||
|
||||
cmp.setup({
|
||||
local opts = {
|
||||
completion = {
|
||||
completeopt = "menu,menuone,noinsert",
|
||||
},
|
||||
formatting = {
|
||||
fields = { "abbr", "kind", "menu" },
|
||||
format = function(_, item)
|
||||
local icon = icons[item.kind] or ""
|
||||
item.kind = string.format(" %s %s", icon, item.kind)
|
||||
return item
|
||||
end,
|
||||
},
|
||||
mapping = {
|
||||
["<C-space>"] = cmp.mapping.complete(),
|
||||
["<C-up>"] = cmp.mapping.select_prev_item(),
|
||||
["<C-down>"] = cmp.mapping.select_next_item(),
|
||||
["<C-e>"] = cmp.mapping.abort(),
|
||||
["<cr>"] = cmp.mapping.confirm({ select = true }),
|
||||
},
|
||||
snippet = {
|
||||
expand = function(args)
|
||||
require("luasnip").lsp_expand(args.body)
|
||||
end,
|
||||
},
|
||||
sources = {
|
||||
{ name = "nvim_lsp" },
|
||||
{ name = "luasnip" },
|
||||
{ name = "buffer" },
|
||||
{ name = "path" },
|
||||
},
|
||||
})
|
||||
window = {
|
||||
completion = {
|
||||
border = "rounded",
|
||||
scrollbar = false
|
||||
},
|
||||
documentation = {
|
||||
border = "rounded",
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
cmp.setup(opts)
|
||||
end,
|
||||
}
|
||||
|
@ -8,6 +8,7 @@ return {
|
||||
{"<leader>f", "<cmd>Telescope find_files<cr>", desc = "Find files"},
|
||||
{"<leader>r", "<cmd>Telescope oldfiles<cr>", desc = "Recent files"},
|
||||
{"<leader>p", "<cmd>Telescope project<cr>", desc = "Projects"},
|
||||
{"<leader>b", "<cmd>Telescope buffers<cr>", desc = "Buffers"},
|
||||
},
|
||||
config = function()
|
||||
require("telescope").setup({
|
||||
|
@ -6,6 +6,10 @@ return {
|
||||
style = "dark",
|
||||
transparent = false,
|
||||
term_colors = true,
|
||||
highlights = {
|
||||
["StatusLine"] = {fg = "$bg3", bg = "Normal"},
|
||||
["StatusLineNC"] = {fg = "$bg3", bg = "Normal"},
|
||||
},
|
||||
},
|
||||
config = function(_, opts)
|
||||
local theme = require("onedark")
|
||||
|
@ -4,6 +4,9 @@ return {
|
||||
dependencies = {
|
||||
"nvim-tree/nvim-web-devicons",
|
||||
},
|
||||
keys = {
|
||||
{ "<leader>e", function() require("nvim-tree.api").tree.toggle() end, desc = "Toggle files" },
|
||||
},
|
||||
opts = {
|
||||
filesystem_watchers = {
|
||||
enable = true,
|
||||
|
18
.config/nvim/lua/plugins/trouble.lua
Normal file
18
.config/nvim/lua/plugins/trouble.lua
Normal file
@ -0,0 +1,18 @@
|
||||
return {
|
||||
"folke/trouble.nvim",
|
||||
event = "VeryLazy",
|
||||
keys = {
|
||||
{ "<leader>x", function() require("trouble").toggle() end, desc = "Show errors" },
|
||||
},
|
||||
dependencies = {
|
||||
"nvim-tree/nvim-web-devicons",
|
||||
},
|
||||
opts = {
|
||||
position = "right",
|
||||
padding = false,
|
||||
use_diagnostic_signs = true,
|
||||
auto_open = true,
|
||||
auto_close = true,
|
||||
},
|
||||
config = true,
|
||||
}
|
Reference in New Issue
Block a user