mirror of
				https://github.com/tiyn/dotfiles.git
				synced 2025-11-03 22:11:16 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			81 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			81 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
return {
 | 
						|
  -- lang server management
 | 
						|
  {
 | 
						|
    "neovim/nvim-lspconfig",
 | 
						|
    dependencies = {
 | 
						|
      "williamboman/mason-lspconfig.nvim",
 | 
						|
      {
 | 
						|
        "mrcjkb/rustaceanvim",
 | 
						|
        version = "^6",
 | 
						|
        lazy = false,
 | 
						|
      },
 | 
						|
      {
 | 
						|
        "hrsh7th/cmp-nvim-lsp",
 | 
						|
        config = function()
 | 
						|
          Capabilities = require("cmp_nvim_lsp").default_capabilities()
 | 
						|
          Capabilities.textDocument.foldingRange = {
 | 
						|
            dynamicRegistration = false,
 | 
						|
            lineFoldingOnly = true,
 | 
						|
          }
 | 
						|
        end,
 | 
						|
      },
 | 
						|
    },
 | 
						|
    config = function()
 | 
						|
      require("mason-lspconfig").setup({
 | 
						|
        automatic_setup = true,
 | 
						|
        ensure_installed = {
 | 
						|
          "bashls",
 | 
						|
          "clangd",
 | 
						|
          "dockerls",
 | 
						|
          "gopls",
 | 
						|
          "html",
 | 
						|
          "jsonls",
 | 
						|
          "lemminx",
 | 
						|
          "ltex",
 | 
						|
          "lua_ls",
 | 
						|
          "marksman",
 | 
						|
          "nimls",
 | 
						|
          "pyright",
 | 
						|
          "r_language_server",
 | 
						|
          "sqlls",
 | 
						|
          "texlab",
 | 
						|
          -- "tsserver",
 | 
						|
          "yamlls",
 | 
						|
        },
 | 
						|
      })
 | 
						|
      local default_flags = {
 | 
						|
        debounce_text_changes = 150,
 | 
						|
        allow_incremental_sync = true,
 | 
						|
        progress = true,
 | 
						|
      }
 | 
						|
      local servers = {
 | 
						|
        ltex = {
 | 
						|
          settings = {
 | 
						|
            ltex = {
 | 
						|
              -- language = "de-DE",
 | 
						|
              enabled = { "latex", "markdown" },
 | 
						|
              dictionary = Dictionaries,
 | 
						|
            },
 | 
						|
          },
 | 
						|
        },
 | 
						|
        lua_ls = {
 | 
						|
          settings = {
 | 
						|
            lua = {
 | 
						|
              diagnostics = { globals = { "vim" } },
 | 
						|
              telemetry = { enable = false },
 | 
						|
            },
 | 
						|
          },
 | 
						|
        },
 | 
						|
        pyright = {}
 | 
						|
      }
 | 
						|
      for name, config in pairs(servers) do
 | 
						|
        vim.lsp.config(name, vim.tbl_extend("force", config, {
 | 
						|
          on_attach = on_attach,
 | 
						|
          capabilities = Capabilities,
 | 
						|
          flags = default_flags,
 | 
						|
        }))
 | 
						|
      end
 | 
						|
    end,
 | 
						|
  },
 | 
						|
}
 |