Skip to content

Commit

Permalink
Convert nvim to use lazy plugin manager
Browse files Browse the repository at this point in the history
  • Loading branch information
semanser committed Jan 13, 2024
1 parent ffd90ce commit c127364
Show file tree
Hide file tree
Showing 11 changed files with 304 additions and 293 deletions.
28 changes: 24 additions & 4 deletions nvim/.config/nvim/init.lua
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,12 @@ vim.api.nvim_set_keymap("n", "P", "P`[v`]=", { noremap = true })
vim.api.nvim_set_keymap("n", "n", "nzzzv", { noremap = true })
vim.api.nvim_set_keymap("n", "N", "Nzzzv", { noremap = true })
vim.api.nvim_set_keymap("n", "p", "p`[v`]=", { noremap = true })
vim.api.nvim_set_keymap("n", "<F3>", [[:lua vim.fn.execute('echo "hi<" .. synIDattr(synID(line("."),col("."),1),"name") .. "> trans<" .. synIDattr(synID(line("."),col("."),0),"name") .. "> lo<" .. synIDattr(synIDtrans(synID(line("."),col("."),1)),"name") .. "> FG:" .. synIDattr(synIDtrans(synID(line("."),col("."),1)),"fg#")')<CR>]], { noremap = true })
vim.api.nvim_set_keymap(
"n",
"<F3>",
[[:lua vim.fn.execute('echo "hi<" .. synIDattr(synID(line("."),col("."),1),"name") .. "> trans<" .. synIDattr(synID(line("."),col("."),0),"name") .. "> lo<" .. synIDattr(synIDtrans(synID(line("."),col("."),1)),"name") .. "> FG:" .. synIDattr(synIDtrans(synID(line("."),col("."),1)),"fg#")')<CR>]],
{ noremap = true }
)
vim.api.nvim_set_keymap("n", "<Leader>w", ":NvimTreeFindFileToggle<CR>", { noremap = true, silent = true })
vim.api.nvim_set_keymap("v", "<Leader>s", ":sort<CR>", { noremap = true })
vim.api.nvim_set_keymap("n", "<Leader>xx", "<cmd>TroubleToggle<cr>", { noremap = true })
Expand All @@ -39,6 +44,9 @@ vim.api.nvim_set_keymap("n", "<Leader>xq", "<cmd>TroubleToggle quickfix<cr>", {
vim.api.nvim_set_keymap("n", "<Leader>xl", "<cmd>TroubleToggle loclist<cr>", { noremap = true })
vim.api.nvim_set_keymap("n", "gR", "<cmd>TroubleToggle lsp_references<cr>", { noremap = true })

-- Load other configuration files
require("options")

-- create augroup for mdx files to treat them as md
vim.cmd([[
augroup mdx
Expand All @@ -47,7 +55,19 @@ augroup mdx
augroup END
]])

-- Load other configuration files
require("options")
require("plugins")
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
vim.fn.system({
"git",
"clone",
"--filter=blob:none",
"https://github.com/folke/lazy.nvim.git",
"--branch=stable", -- latest stable release
lazypath,
})
end
vim.opt.rtp:prepend(lazypath)

require("lazy").setup("plugins")

require("lsp")
100 changes: 50 additions & 50 deletions nvim/.config/nvim/lua/lsp.lua
Original file line number Diff line number Diff line change
Expand Up @@ -37,35 +37,35 @@ end

-- Global mappings.
-- See `:help vim.diagnostic.*` for documentation on any of the below functions
vim.keymap.set('n', '<space>e', vim.diagnostic.open_float)
vim.keymap.set('n', '[d', vim.diagnostic.goto_prev)
vim.keymap.set('n', ']d', vim.diagnostic.goto_next)
vim.keymap.set('n', '<space>q', vim.diagnostic.setloclist)
vim.keymap.set("n", "<space>e", vim.diagnostic.open_float)
vim.keymap.set("n", "[d", vim.diagnostic.goto_prev)
vim.keymap.set("n", "]d", vim.diagnostic.goto_next)
vim.keymap.set("n", "<space>q", vim.diagnostic.setloclist)

-- Use LspAttach autocommand to only map the following keys
-- after the language server attaches to the current buffer
vim.api.nvim_create_autocmd('LspAttach', {
group = vim.api.nvim_create_augroup('UserLspConfig', {}),
callback = function(ev)
-- Enable completion triggered by <c-x><c-o>
vim.bo[ev.buf].omnifunc = 'v:lua.vim.lsp.omnifunc'

-- Buffer local mappings.
-- See `:help vim.lsp.*` for documentation on any of the below functions
local opts = { buffer = ev.buf }
vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, opts)
vim.keymap.set('n', 'gd', vim.lsp.buf.definition, opts)
vim.keymap.set('n', 'K', vim.lsp.buf.hover, opts)
vim.keymap.set('n', 'gi', vim.lsp.buf.implementation, opts)
vim.keymap.set('n', '<C-k>', vim.lsp.buf.signature_help, opts)
vim.keymap.set('n', '<space>D', vim.lsp.buf.type_definition, opts)
vim.keymap.set('n', '<space>rn', vim.lsp.buf.rename, opts)
vim.keymap.set({ 'n', 'v' }, '<space>ca', vim.lsp.buf.code_action, opts)
vim.keymap.set('n', 'gr', vim.lsp.buf.references, opts)
vim.keymap.set('n', '<space>f', function()
vim.lsp.buf.format { async = true }
end, opts)
end,
vim.api.nvim_create_autocmd("LspAttach", {
group = vim.api.nvim_create_augroup("UserLspConfig", {}),
callback = function(ev)
-- Enable completion triggered by <c-x><c-o>
vim.bo[ev.buf].omnifunc = "v:lua.vim.lsp.omnifunc"

-- Buffer local mappings.
-- See `:help vim.lsp.*` for documentation on any of the below functions
local opts = { buffer = ev.buf }
vim.keymap.set("n", "gD", vim.lsp.buf.declaration, opts)
vim.keymap.set("n", "gd", vim.lsp.buf.definition, opts)
vim.keymap.set("n", "K", vim.lsp.buf.hover, opts)
vim.keymap.set("n", "gi", vim.lsp.buf.implementation, opts)
vim.keymap.set("n", "<C-k>", vim.lsp.buf.signature_help, opts)
vim.keymap.set("n", "<space>D", vim.lsp.buf.type_definition, opts)
vim.keymap.set("n", "<space>rn", vim.lsp.buf.rename, opts)
vim.keymap.set({ "n", "v" }, "<space>ca", vim.lsp.buf.code_action, opts)
vim.keymap.set("n", "gr", vim.lsp.buf.references, opts)
vim.keymap.set("n", "<space>f", function()
vim.lsp.buf.format({ async = true })
end, opts)
end,
})

require("lspconfig").tsserver.setup({
Expand All @@ -77,18 +77,18 @@ require("lspconfig").tsserver.setup({
client.resolved_capabilities.document_formatting = false
set_lsp_config(client)
end,
root_dir = require("lspconfig/util").root_pattern("package.json"),
single_file_support = false,
root_dir = require("lspconfig/util").root_pattern("package.json"),
single_file_support = false,
flags = {
debounce_text_changes = 150,
},
})

require("lspconfig").denols.setup({
capabilities = capabilities,
on_attach = on_attach,
root_dir = require("lspconfig/util").root_pattern("deno.json", "deno.jsonc"),
});
capabilities = capabilities,
on_attach = on_attach,
root_dir = require("lspconfig/util").root_pattern("deno.json", "deno.jsonc"),
})

require("lspconfig").rust_analyzer.setup({
capabilities = capabilities,
Expand Down Expand Up @@ -171,21 +171,21 @@ require("lspconfig").efm.setup({
-- },
-- })

require("lspconfig").gopls.setup {
capabilities = capabilities,
on_attach = function(client, bufnr)
client.resolved_capabilities.document_formatting = true
set_lsp_config(client)
end,
cmd = {"gopls", "serve"},
filetypes = {"go", "gomod"},
root_dir = require("lspconfig/util").root_pattern("go.work", "go.mod", ".git"),
settings = {
gopls = {
analyses = {
unusedparams = true,
},
staticcheck = true,
},
},
}
require("lspconfig").gopls.setup({
capabilities = capabilities,
on_attach = function(client, bufnr)
client.resolved_capabilities.document_formatting = true
set_lsp_config(client)
end,
cmd = { "gopls", "serve" },
filetypes = { "go", "gomod" },
root_dir = require("lspconfig/util").root_pattern("go.work", "go.mod", ".git"),
settings = {
gopls = {
analyses = {
unusedparams = true,
},
staticcheck = true,
},
},
})
1 change: 0 additions & 1 deletion nvim/.config/nvim/lua/options.lua
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
vim.g.copilot_filetypes = {markdown = true, yaml = true} -- enable copilot for more filetypes
vim.g.loaded_netrw = 1
vim.g.loaded_netrwPlugin = 1
vim.opt.autoread = true -- autoload file changes
Expand Down
Loading

0 comments on commit c127364

Please sign in to comment.