local lspconfig = require 'lspconfig' local on_attach = function(client) require 'completion'.on_attach(client) end -- BASH lspconfig.bashls.setup({}) -- CLANG lspconfig.clangd.setup({}) -- CMAKE lspconfig.cmake.setup({}) -- LATEX local path = vim.fn.stdpath("config") .. "/after/plugin/dictionary-gb.txt" local words = {} for word in io.open(path, "r"):lines() do table.insert(words, word) end require('lspconfig').ltex.setup({ settings = { ltex = { language = "en-GB", dictionary = { ["en-GB"] = words, }, }, }, }) -- LUA lspconfig.lua_ls.setup({ settings = { Lua = { runtime = { -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) version = 'LuaJIT', }, diagnostics = { -- Get the language server to recognize the `vim` global globals = { 'vim' }, neededFileStatus = { ["codestyle-check"] = "Any", }, }, workspace = { -- Make the server aware of Neovim runtime files library = vim.api.nvim_get_runtime_file("", true), }, -- Do not send telemetry data containing a randomized but unique identifier telemetry = { enable = false, }, format = { enable = true, -- Put format options here -- NOTE: the value should be STRING!! defaultConfig = { indent_style = "space", indent_size = "4", } }, }, }, }) -- PYTHON require('lspconfig').pylsp.setup { settings = { pylsp = { plugins = { -- formatter options black = { enabled = true }, autopep8 = { enabled = false }, yapf = { enabled = false }, -- linter options pylint = { enabled = false, executable = "pylint" }, pyflakes = { enabled = false }, pycodestyle = { enabled = true, maxLineLength = 110 }, -- type checker pylsp_mypy = { enabled = true }, -- auto-completion options jedi_completion = { fuzzy = true }, -- import sorting pyls_isort = { enabled = true }, }, }, }, flags = { debounce_text_changes = 200, }, } -- RUST lspconfig.rust_analyzer.setup({ -- on_attach = on_attach, settings = { ["rust-analyzer"] = { imports = { granularity = { group = "module", }, prefix = "self", }, cargo = { buildScripts = { enable = true, }, }, procMacro = { enable = true }, } } })