Changed my Neovim config
This commit is contained in:
92
lua/stevenmm/lazy/cmp.lua
Normal file
92
lua/stevenmm/lazy/cmp.lua
Normal file
@@ -0,0 +1,92 @@
|
||||
return {
|
||||
"hrsh7th/nvim-cmp",
|
||||
|
||||
dependencies = {
|
||||
"windwp/nvim-autopairs",
|
||||
|
||||
"hrsh7th/cmp-nvim-lsp",
|
||||
"hrsh7th/cmp-buffer",
|
||||
"hrsh7th/cmp-path",
|
||||
"hrsh7th/cmp-cmdline",
|
||||
|
||||
"L3MON4D3/LuaSnip",
|
||||
"saadparwaiz1/cmp_luasnip",
|
||||
"onsails/lspkind.nvim",
|
||||
},
|
||||
|
||||
config = function ()
|
||||
print("cmp.lua")
|
||||
local cmp_autopairs = require("nvim-autopairs.completion.cmp")
|
||||
local cmp = require('cmp')
|
||||
local cmp_select = { behavior = cmp.SelectBehavior.Select }
|
||||
local lspkind = require("lspkind")
|
||||
|
||||
cmp.event:on(
|
||||
'confirm_done',
|
||||
cmp_autopairs.on_confirm_done()
|
||||
)
|
||||
|
||||
cmp.setup({
|
||||
enabled = function()
|
||||
-- disable completion in comments
|
||||
local context = require('cmp.config.context')
|
||||
-- keep command mode completion enabled when cursor is in a comment
|
||||
if vim.api.nvim_get_mode().mode == 'c' then
|
||||
return true
|
||||
else
|
||||
return not context.in_treesitter_capture("comment") and not context.in_syntax_group("Comment")
|
||||
end
|
||||
end,
|
||||
|
||||
formatting = {
|
||||
format = lspkind.cmp_format({
|
||||
mode = 'symbol_text',
|
||||
max_width = {
|
||||
menu = 50,
|
||||
abbr = 50,
|
||||
},
|
||||
show_labelDetails = true
|
||||
}),
|
||||
},
|
||||
|
||||
-- preselect = { cmp.PreselectMode.Item },
|
||||
performance = {
|
||||
max_view_entries = 10,
|
||||
},
|
||||
snippet = {
|
||||
expand = function(args)
|
||||
require('luasnip').lsp_expand(args.body) -- For `luasnip` users.
|
||||
-- require('nvim-svelte-snippets').
|
||||
end,
|
||||
},
|
||||
mapping = cmp.mapping.preset.insert({
|
||||
['<Down>'] = cmp.mapping.select_next_item(cmp_select),
|
||||
['<Up>'] = cmp.mapping.select_prev_item(cmp_select),
|
||||
['<C-j>'] = cmp.mapping.select_next_item(cmp_select),
|
||||
['<C-k>'] = cmp.mapping.select_prev_item(cmp_select),
|
||||
['<C-b>'] = cmp.mapping(cmp.mapping.scroll_docs(-1), { "i", "c" }),
|
||||
['<C-f>'] = cmp.mapping(cmp.mapping.scroll_docs(1), { "i", "c" }),
|
||||
['<C-Space>'] = cmp.mapping.complete({
|
||||
config = {
|
||||
sources = {
|
||||
{ name = 'luasnip' }
|
||||
}
|
||||
}
|
||||
}),
|
||||
['<C-e>'] = cmp.mapping({
|
||||
i = cmp.mapping.abort(),
|
||||
c = cmp.mapping.close(),
|
||||
}),
|
||||
--['<C-y>'] = cmp.mapping.confirm({ select = true }),
|
||||
['<CR>'] = cmp.mapping.confirm({ select = true }),
|
||||
}),
|
||||
sources = cmp.config.sources({
|
||||
{ name = 'nvim_lsp' },
|
||||
{ name = 'luasnip' },
|
||||
}, {
|
||||
{ name = 'buffer' },
|
||||
}),
|
||||
|
||||
})
|
||||
end
|
||||
}
|
||||
8
lua/stevenmm/lazy/commentstring.lua
Normal file
8
lua/stevenmm/lazy/commentstring.lua
Normal file
@@ -0,0 +1,8 @@
|
||||
return {
|
||||
'JoosepAlviste/nvim-ts-context-commentstring',
|
||||
config = function ()
|
||||
require('ts_context_commentstring').setup({
|
||||
enable_autocmd = false,
|
||||
})
|
||||
end
|
||||
}
|
||||
@@ -1,122 +1,44 @@
|
||||
return {
|
||||
"neovim/nvim-lspconfig",
|
||||
|
||||
-- Load each package config using the dependencies order
|
||||
dependencies = {
|
||||
|
||||
-- mason configs:
|
||||
"williamboman/mason.nvim",
|
||||
"williamboman/mason-lspconfig.nvim",
|
||||
|
||||
-- cmp configs:
|
||||
"hrsh7th/cmp-nvim-lsp",
|
||||
"hrsh7th/cmp-buffer",
|
||||
"hrsh7th/cmp-path",
|
||||
"hrsh7th/cmp-cmdline",
|
||||
"hrsh7th/nvim-cmp",
|
||||
|
||||
-- LuaSnip config:
|
||||
"L3MON4D3/LuaSnip",
|
||||
"saadparwaiz1/cmp_luasnip",
|
||||
|
||||
"nvim-svelte/nvim-svelte-snippets",
|
||||
|
||||
-- fidget config:
|
||||
"j-hui/fidget.nvim",
|
||||
},
|
||||
|
||||
config = function()
|
||||
local cmp = require('cmp')
|
||||
local cmp_lsp = require("cmp_nvim_lsp")
|
||||
local capabilities = vim.tbl_deep_extend(
|
||||
"force",
|
||||
{},
|
||||
vim.lsp.protocol.make_client_capabilities(),
|
||||
cmp_lsp.default_capabilities())
|
||||
print("lsp.lua")
|
||||
|
||||
require("fidget").setup({})
|
||||
require("mason").setup()
|
||||
require("mason-lspconfig").setup({
|
||||
ensure_installed = {
|
||||
"gopls",
|
||||
"clangd",
|
||||
"lua_ls",
|
||||
"rust_analyzer",
|
||||
-- "php"
|
||||
-- "tsserver",
|
||||
},
|
||||
handlers = {
|
||||
function(server_name) -- default handler (optional)
|
||||
|
||||
require("lspconfig")[server_name].setup {
|
||||
capabilities = capabilities
|
||||
}
|
||||
end,
|
||||
|
||||
["lua_ls"] = function()
|
||||
local lspconfig = require("lspconfig")
|
||||
lspconfig.lua_ls.setup {
|
||||
capabilities = capabilities,
|
||||
settings = {
|
||||
Lua = {
|
||||
diagnostics = {
|
||||
globals = { "vim", "it", "describe", "before_each", "after_each" },
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
end,
|
||||
|
||||
["clangd"] = function ()
|
||||
local lspconfig = require("lspconfig")
|
||||
lspconfig.clangd.setup({
|
||||
capabilities = capabilities,
|
||||
})
|
||||
end,
|
||||
["gopls"] = function ()
|
||||
local lspconfig = require("lspconfig")
|
||||
lspconfig.gopls.setup {
|
||||
capabilities = capabilities,
|
||||
}
|
||||
end
|
||||
}
|
||||
})
|
||||
|
||||
local cmp_select = { behavior = cmp.SelectBehavior.Select }
|
||||
|
||||
cmp.setup({
|
||||
-- completion = { autocomplete = true },
|
||||
snippet = {
|
||||
expand = function(args)
|
||||
require('luasnip').lsp_expand(args.body) -- For `luasnip` users.
|
||||
end,
|
||||
},
|
||||
mapping = cmp.mapping.preset.insert({
|
||||
['<Down>'] = cmp.mapping.select_next_item(cmp_select),
|
||||
['<Up>'] = cmp.mapping.select_prev_item(cmp_select),
|
||||
['<C-j>'] = cmp.mapping.select_next_item(cmp_select),
|
||||
['<C-k>'] = cmp.mapping.select_prev_item(cmp_select),
|
||||
['<C-b>'] = cmp.mapping(cmp.mapping.scroll_docs(-1), { "i", "c" }),
|
||||
['<C-f>'] = cmp.mapping(cmp.mapping.scroll_docs(1), { "i", "c" }),
|
||||
['<C-Space>'] = cmp.mapping.complete({
|
||||
config = {
|
||||
sources = {
|
||||
{ name = 'luasnip' }
|
||||
}
|
||||
}
|
||||
}),
|
||||
['<C-e>'] = cmp.mapping({
|
||||
i = cmp.mapping.abort(),
|
||||
c = cmp.mapping.close(),
|
||||
}),
|
||||
--['<C-y>'] = cmp.mapping.confirm({ select = true }),
|
||||
['<CR>'] = cmp.mapping.confirm({ select = true }),
|
||||
}),
|
||||
sources = cmp.config.sources({
|
||||
{ name = 'nvim_lsp' },
|
||||
{ name = 'luasnip' },
|
||||
}, {
|
||||
{ name = 'buffer' },
|
||||
}),
|
||||
})
|
||||
|
||||
vim.diagnostic.config({
|
||||
-- virtual_text = false,
|
||||
-- virtual_text = false,
|
||||
signs = {
|
||||
text = {
|
||||
[vim.diagnostic.severity.ERROR] = '',
|
||||
[vim.diagnostic.severity.WARN] = '',
|
||||
[vim.diagnostic.severity.INFO] = '',
|
||||
[vim.diagnostic.severity.HINT] = '',
|
||||
}
|
||||
text = {
|
||||
[vim.diagnostic.severity.ERROR] = '',
|
||||
[vim.diagnostic.severity.WARN] = '',
|
||||
[vim.diagnostic.severity.INFO] = '',
|
||||
[vim.diagnostic.severity.HINT] = '',
|
||||
}
|
||||
},
|
||||
update_in_insert = true,
|
||||
float = {
|
||||
@@ -129,8 +51,8 @@ return {
|
||||
},
|
||||
})
|
||||
|
||||
-- vim.o.updatetime = 250
|
||||
-- vim.cmd [[autocmd CursorHold,CursorHoldI * lua vim.diagnostic.open_float(nil, {focus=false})]]
|
||||
-- vim.o.updatetime = 250
|
||||
-- vim.cmd [[autocmd CursorHold,CursorHoldI * lua vim.diagnostic.open_float(nil, {focus=false})]]
|
||||
end
|
||||
}
|
||||
|
||||
|
||||
62
lua/stevenmm/lazy/mason.lua
Normal file
62
lua/stevenmm/lazy/mason.lua
Normal file
@@ -0,0 +1,62 @@
|
||||
return {
|
||||
"williamboman/mason.nvim",
|
||||
dependencies = {
|
||||
"hrsh7th/cmp-nvim-lsp",
|
||||
"williamboman/mason-lspconfig.nvim",
|
||||
},
|
||||
config = function ()
|
||||
print('mason.lua')
|
||||
local capabilities = vim.tbl_deep_extend(
|
||||
"force",
|
||||
{},
|
||||
vim.lsp.protocol.make_client_capabilities(),
|
||||
require('cmp_nvim_lsp').default_capabilities()
|
||||
)
|
||||
|
||||
require('mason').setup({})
|
||||
require('mason-lspconfig').setup({
|
||||
ensure_installed = {
|
||||
"gopls",
|
||||
"clangd",
|
||||
"lua_ls",
|
||||
"rust_analyzer",
|
||||
-- "php"
|
||||
-- "tsserver",
|
||||
},
|
||||
handlers = {
|
||||
function(server_name) -- default handler (optional)
|
||||
require("lspconfig")[server_name].setup {
|
||||
capabilities = capabilities
|
||||
}
|
||||
end,
|
||||
|
||||
["lua_ls"] = function()
|
||||
local lspconfig = require("lspconfig")
|
||||
lspconfig.lua_ls.setup {
|
||||
capabilities = capabilities,
|
||||
settings = {
|
||||
Lua = {
|
||||
diagnostics = {
|
||||
globals = { "vim", "it", "describe", "before_each", "after_each" },
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
end,
|
||||
|
||||
["clangd"] = function ()
|
||||
local lspconfig = require("lspconfig")
|
||||
lspconfig.clangd.setup({
|
||||
capabilities = capabilities,
|
||||
})
|
||||
end,
|
||||
["gopls"] = function ()
|
||||
local lspconfig = require("lspconfig")
|
||||
lspconfig.gopls.setup {
|
||||
capabilities = capabilities,
|
||||
}
|
||||
end
|
||||
}
|
||||
})
|
||||
end
|
||||
}
|
||||
@@ -1,7 +1,13 @@
|
||||
return {
|
||||
'echasnovski/mini.comment',
|
||||
version = false,
|
||||
config = function ()
|
||||
require('mini.comment').setup()
|
||||
end
|
||||
'echasnovski/mini.comment',
|
||||
version = false,
|
||||
config = function()
|
||||
require('mini.comment').setup({
|
||||
options = {
|
||||
custom_commentstring = function()
|
||||
return require('ts_context_commentstring').calculate_commentstring() or vim.bo.commentstring
|
||||
end
|
||||
},
|
||||
})
|
||||
end
|
||||
}
|
||||
|
||||
5
lua/stevenmm/lazy/nvim-autopairs.lua
Normal file
5
lua/stevenmm/lazy/nvim-autopairs.lua
Normal file
@@ -0,0 +1,5 @@
|
||||
return {
|
||||
"windwp/nvim-autopairs",
|
||||
event = "InsertEnter",
|
||||
config = true
|
||||
}
|
||||
@@ -14,5 +14,6 @@ vim.opt.rtp:prepend(lazypath)
|
||||
require("lazy").setup({
|
||||
spec = "stevenmm.lazy",
|
||||
change_detection = { notify = false },
|
||||
'JoosepAlviste/nvim-ts-context-commentstring',
|
||||
-- "nvim-lua/plenary.nvim"
|
||||
})
|
||||
|
||||
@@ -5,6 +5,7 @@ local keyset = vim.keymap.set
|
||||
keyset("", "<Caps_lock>", "<Esc>")
|
||||
keyset("n", "<leader>ma", ":Mason<CR>", { silent = true })
|
||||
keyset("n", "<leader>na", ":NvimTreeToggle<CR>", { silent = true })
|
||||
keyset('n', '<leader>la', ":Lazy<CR>", { silent = true })
|
||||
keyset("n", "<leader>fb", ":Telescope file_browser path=%:p:h<CR>", { noremap = true, silent = true })
|
||||
keyset("n", "<leader>ha", ":Telescope harpoon marks<CR>", { noremap = true, silent = true })
|
||||
keyset('n', '<leader>se', ":Telescope emoji<CR>", { desc = '[S]earch [E]moji' })
|
||||
keyset('n', '<leader>se', ":Telescope emoji<cr>", { desc = '[S]earch [E]moji' })
|
||||
|
||||
@@ -6,23 +6,30 @@ vim.opt.relativenumber = true
|
||||
vim.opt.encoding = 'UTF-8'
|
||||
vim.opt.guifont = 'NotoSansM Nerd Font Mono'
|
||||
|
||||
vim.opt.tabstop = 2
|
||||
vim.opt.shiftwidth = 2
|
||||
vim.opt.softtabstop = -1
|
||||
vim.opt.tabstop = 4
|
||||
vim.opt.softtabstop = 4
|
||||
vim.opt.shiftwidth = 4
|
||||
vim.opt.smarttab = false
|
||||
vim.opt.expandtab = false
|
||||
vim.opt.expandtab = true
|
||||
|
||||
vim.opt.smartindent = false
|
||||
|
||||
vim.opt.wrap = false
|
||||
vim.opt.linebreak = false
|
||||
-- vim.opt.textwidth = 80
|
||||
vim.opt.colorcolumn = "80"
|
||||
-- vim.opt.formatoptions = "t"
|
||||
-- vim.opt_local.columns = 80
|
||||
|
||||
vim.opt.swapfile = false
|
||||
vim.opt.backup = false
|
||||
|
||||
if vim.fn.has('win32') or vim.fn.has('win64') then
|
||||
vim.opt.undodir = os.getenv("XDG_CONFIG_HOME") .. "/.vim/undodir"
|
||||
vim.opt.shell = 'powershell.exe'
|
||||
else
|
||||
vim.opt.undodir = os.getenv("HOME") .. "/.vim/undodir"
|
||||
vim.opt.shell = 'bash'
|
||||
end
|
||||
|
||||
vim.opt.undofile = true
|
||||
@@ -37,5 +44,3 @@ vim.opt.signcolumn = "yes"
|
||||
vim.opt.isfname:append("@-@")
|
||||
|
||||
vim.opt.updatetime = 50
|
||||
|
||||
vim.opt.colorcolumn = "80"
|
||||
|
||||
Reference in New Issue
Block a user