summaryrefslogtreecommitdiff
path: root/neovim/.config/nvim
diff options
context:
space:
mode:
Diffstat (limited to 'neovim/.config/nvim')
-rw-r--r--neovim/.config/nvim/lua/plugins/nvim_lspconfig.lua201
1 files changed, 101 insertions, 100 deletions
diff --git a/neovim/.config/nvim/lua/plugins/nvim_lspconfig.lua b/neovim/.config/nvim/lua/plugins/nvim_lspconfig.lua
index 3d02f49..65420db 100644
--- a/neovim/.config/nvim/lua/plugins/nvim_lspconfig.lua
+++ b/neovim/.config/nvim/lua/plugins/nvim_lspconfig.lua
@@ -1,111 +1,112 @@
return {
- {
- 'neovim/nvim-lspconfig',
- lazy = false,
- priority = 800,
- config = function()
- local nvim_lsp = require('lspconfig')
- local capabilities = require('cmp_nvim_lsp').default_capabilities()
- -- Use a loop to conveniently call 'setup' on multiple servers and
- -- map buffer local keybindings when the language server attaches
- local servers = { "bashls", "clangd", "cssls", "gopls", "html", "jsonls", "rust_analyzer", "yamlls" }
- for _, lsp in ipairs(servers) do
- nvim_lsp[lsp].setup {
- capabilities = capabilities,
- flags = {
- debounce_text_changes = 150,
- }
- }
- end
+ {
+ 'neovim/nvim-lspconfig',
+ lazy = false,
+ priority = 800,
+ config = function()
+ local nvim_lsp = require('lspconfig')
+ local capabilities = require('cmp_nvim_lsp').default_capabilities()
+ -- Use a loop to conveniently call 'setup' on multiple servers and
+ -- map buffer local keybindings when the language server attaches
+ local servers = { "bashls", "clangd", "cssls", "dockerls", "gopls", "html", "htmx", "jsonls", "marksman",
+ "rust_analyzer", "yamlls" }
+ for _, lsp in ipairs(servers) do
+ nvim_lsp[lsp].setup {
+ capabilities = capabilities,
+ flags = {
+ debounce_text_changes = 150,
+ }
+ }
+ end
- require 'lspconfig'.lua_ls.setup {
- on_init = function(client)
- local path = client.workspace_folders[1].name
- if vim.loop.fs_stat(path .. '/.luarc.json') or vim.loop.fs_stat(path .. '/.luarc.jsonc') then
- return
- end
+ require 'lspconfig'.lua_ls.setup {
+ on_init = function(client)
+ local path = client.workspace_folders[1].name
+ if vim.loop.fs_stat(path .. '/.luarc.json') or vim.loop.fs_stat(path .. '/.luarc.jsonc') then
+ return
+ end
- client.config.settings.Lua = vim.tbl_deep_extend('force', client.config.settings.Lua, {
- runtime = {
- -- Tell the language server which version of Lua you're using
- -- (most likely LuaJIT in the case of Neovim)
- version = 'LuaJIT'
- },
- -- Make the server aware of Neovim runtime files
- workspace = {
- checkThirdParty = false,
- library = {
- vim.env.VIMRUNTIME
- -- Depending on the usage, you might want to add additional paths here.
- -- "${3rd}/luv/library"
- -- "${3rd}/busted/library",
- }
- -- or pull in all of 'runtimepath'. NOTE: this is a lot slower
- -- library = vim.api.nvim_get_runtime_file("", true)
- }
- })
- end,
- settings = {
- Lua = {
- format = {
- enable = true,
- defaultConfig = {
- indent_style = "space",
- indent_size = "2",
- }
- },
- },
-
- },
- capabilities = capabilities,
+ client.config.settings.Lua = vim.tbl_deep_extend('force', client.config.settings.Lua, {
+ runtime = {
+ -- Tell the language server which version of Lua you're using
+ -- (most likely LuaJIT in the case of Neovim)
+ version = 'LuaJIT'
+ },
+ -- Make the server aware of Neovim runtime files
+ workspace = {
+ checkThirdParty = false,
+ library = {
+ vim.env.VIMRUNTIME
+ -- Depending on the usage, you might want to add additional paths here.
+ -- "${3rd}/luv/library"
+ -- "${3rd}/busted/library",
+ }
+ -- or pull in all of 'runtimepath'. NOTE: this is a lot slower
+ -- library = vim.api.nvim_get_runtime_file("", true)
}
+ })
+ end,
+ settings = {
+ Lua = {
+ format = {
+ enable = true,
+ defaultConfig = {
+ indent_style = "space",
+ indent_size = "2",
+ }
+ },
+ },
- require 'lspconfig'.tsserver.setup {
- filetypes = { 'typescript', 'typescriptreact', 'typescript.tsx' },
- capabilities = capabilities,
- flags = {
- debounce_text_changes = 150,
- },
- }
+ },
+ capabilities = capabilities,
+ }
+
+ require 'lspconfig'.tsserver.setup {
+ filetypes = { 'typescript', 'typescriptreact', 'typescript.tsx' },
+ capabilities = capabilities,
+ flags = {
+ debounce_text_changes = 150,
+ },
+ }
- require 'lspconfig'.pylsp.setup {
- settings = {
- pylsp = {
- plugins = {
- black = {
- enabled = false,
- },
- ruff = {
- enabled = true,
- formatEnabled = true,
- extendSelect = { 'I' },
- format = { 'I' },
- }
- }
- }
- },
- capabilities = capabilities,
- flags = {
- debounce_text_changes = 150,
- },
+ require 'lspconfig'.pylsp.setup {
+ settings = {
+ pylsp = {
+ plugins = {
+ black = {
+ enabled = false,
+ },
+ ruff = {
+ enabled = true,
+ formatEnabled = true,
+ extendSelect = { 'I' },
+ format = { 'I' },
+ }
}
+ }
+ },
+ capabilities = capabilities,
+ flags = {
+ debounce_text_changes = 150,
+ },
+ }
- -- 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'
+ -- 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'
- local opts = { buffer = ev.buf }
- vim.keymap.set('n', 'gd', '<cmd>lua vim.lsp.buf.definition()<CR>', { noremap = true })
- vim.keymap.set('v', '<leader>f', vim.lsp.buf.format, { noremap = true, silent = true })
- vim.keymap.set('n', '<leader>f', function()
- vim.lsp.buf.format { async = true }
- end, opts)
- end,
- })
+ local opts = { buffer = ev.buf }
+ vim.keymap.set('n', 'gd', '<cmd>lua vim.lsp.buf.definition()<CR>', { noremap = true })
+ vim.keymap.set('v', '<leader>f', vim.lsp.buf.format, { noremap = true, silent = true })
+ vim.keymap.set('n', '<leader>f', function()
+ vim.lsp.buf.format { async = true }
+ end, opts)
end,
- },
+ })
+ end,
+ },
}