diff options
Diffstat (limited to 'lua/config')
| -rw-r--r-- | lua/config/defaults.lua | 1164 | ||||
| -rw-r--r-- | lua/config/init.lua | 100 | 
2 files changed, 101 insertions, 1163 deletions
diff --git a/lua/config/defaults.lua b/lua/config/defaults.lua index a67a9c53..f030234d 100644 --- a/lua/config/defaults.lua +++ b/lua/config/defaults.lua @@ -1,7 +1,5 @@  local home_dir = vim.loop.os_homedir()  local utils = require "utils" --- FIXME: stop using hard-coded paths for LspInstall -local ls_install_prefix = vim.fn.stdpath "data" .. "/lspinstall"  lvim = {    leader = "space", @@ -30,1170 +28,10 @@ lvim = {        },      },    }, - -  lsp = { -    completion = { -      item_kind = { -        " īž  (Text) ", -        " īĻ  (Method)", -        " ī  (Function)", -        " īĨ  (Constructor)", -        " î  (Field)", -        " î  (Variable)", -        " ī   (Class)", -        " ī°Ž  (Interface)", -        " ī¨  (Module)", -        " î¤  (Property)", -        " īĨŦ (Unit)", -        " īĸ  (Value)", -        " īŠ (Enum)", -        " ī   (Keyword)", -        " ī  (Snippet)", -        " īŖ  (Color)", -        " ī  (File)", -        " ī  (Reference)", -        " ī  (Folder)", -        " ī
  (EnumMember)", -        " ī˛  (Constant)", -        " ī  (Struct)", -        " ī§  (Event)", -        " ī  (Operator)", -        " ī  (TypeParameter)", -      }, -    }, -    diagnostics = { -      signs = { -        active = true, -        values = { -          { name = "LspDiagnosticsSignError", text = "ī" }, -          { name = "LspDiagnosticsSignWarning", text = "īŠ" }, -          { name = "LspDiagnosticsSignHint", text = "ī ĩ" }, -          { name = "LspDiagnosticsSignInformation", text = "ī" }, -        }, -      }, -      virtual_text = { -        prefix = "ī", -        spacing = 0, -      }, -      update_in_insert = false, -      underline = true, -      severity_sort = true, -    }, -    override = {}, -    document_highlight = true, -    popup_border = "single", -    on_attach_callback = nil, -    on_init_callback = nil, -    null_ls = { -      setup = {}, -    }, -  }, -    plugins = {      -- use config.lua for this not put here    },    autocommands = {}, -} - -local schemas = nil -local status_ok, jsonls_settings = pcall(require, "nlspsettings.jsonls") -if status_ok then -  schemas = jsonls_settings.get_default_schemas() -end - --- TODO move all of this into lang specific files, only require when using -lvim.lang = { -  asm = { -    formatters = { -      -- { -      --   exe = "asmfmt", -      --   args = {}, -      -- }, -    }, -    linters = {}, -    lsp = { -      provider = "", -      setup = {}, -    }, -  }, -  beancount = { -    formatters = { -      -- { -      --   exe = "bean_format", -      --   args = {}, -      -- }, -    }, -    linters = {}, -    lsp = { -      provider = "beancount", -      setup = { -        cmd = { "beancount-langserver" }, -      }, -    }, -  }, -  bicep = { -    formatters = {}, -    linters = {}, -    lsp = { -      provider = "bicep", -      setup = { -        cmd = { -          "dotnet", -          ls_install_prefix .. "/bicep/Bicep.LangServer.dll", -        }, -        filetypes = { "bicep" }, -      }, -    }, -  }, -  c = { -    formatters = { -      -- { -      --   exe = "clang_format", -      --   args = {}, -      -- }, -      -- { -      --   exe = "uncrustify", -      --   args = {}, -      -- }, -    }, -    linters = {}, -    lsp = { -      provider = "clangd", -      setup = { -        cmd = { -          ls_install_prefix .. "/cpp/clangd/bin/clangd", -          "--background-index", -          "--header-insertion=never", -          "--cross-file-rename", -          "--clang-tidy", -          "--clang-tidy-checks=-*,llvm-*,clang-analyzer-*", -        }, -      }, -    }, -  }, -  cpp = { -    formatters = { -      -- { -      --   exe = "clang_format", -      --   args = {}, -      -- }, -      -- { -      --   exe = "uncrustify", -      --   args = {}, -      -- }, -    }, -    linters = {}, -    lsp = { -      provider = "clangd", -      setup = { -        cmd = { -          ls_install_prefix .. "/cpp/clangd/bin/clangd", -          "--background-index", -          "--header-insertion=never", -          "--cross-file-rename", -          "--clang-tidy", -          "--clang-tidy-checks=-*,llvm-*,clang-analyzer-*", -        }, -      }, -    }, -  }, -  crystal = { -    formatters = { -      -- { -      --   exe = "crystal_format", -      --   args = {}, -      -- }, -    }, -    linters = {}, -    lsp = { -      provider = "crystalline", -      setup = { -        cmd = { "crystalline" }, -      }, -    }, -  }, -  cs = { -    formatters = { -      -- { -      --   exe = "clang_format ", -      --   args = {}, -      -- }, -      -- { -      --   exe = "uncrustify", -      --   args = {}, -      -- }, -    }, -    linters = {}, -    lsp = { -      provider = "omnisharp", -      setup = { -        cmd = { -          ls_install_prefix .. "/csharp/omnisharp/run", -          "--languageserver", -          "--hostPID", -          tostring(vim.fn.getpid()), -        }, -      }, -    }, -  }, -  cmake = { -    formatters = { -      -- { -      --   exe = "cmake_format", -      --   args = {}, -      -- }, -    }, -    linters = {}, -    lsp = { -      provider = "cmake", -      setup = { -        cmd = { -          ls_install_prefix .. "/cmake/venv/bin/cmake-language-server", -        }, -      }, -    }, -  }, -  clojure = { -    formatters = {}, -    linters = {}, -    lsp = { -      provider = "clojure_lsp", -      setup = { -        cmd = { -          ls_install_prefix .. "/clojure/clojure-lsp", -        }, -      }, -    }, -  }, -  css = { -    formatters = { -      -- { -      --   exe = "prettier", -      --   args = {}, -      -- }, -      -- { -      --   exe = "prettierd", -      --   args = {}, -      -- }, -    }, -    linters = {}, -    lsp = { -      provider = "cssls", -      setup = { -        cmd = { -          "node", -          ls_install_prefix .. "/css/vscode-css/css-language-features/server/dist/node/cssServerMain.js", -          "--stdio", -        }, -      }, -    }, -  }, -  less = { -    formatters = { -      -- { -      --   exe = "prettier", -      --   args = {}, -      -- }, -      -- { -      --   exe = "prettierd", -      --   args = {}, -      -- }, -    }, -    linters = {}, -    lsp = { -      provider = "cssls", -      setup = { -        cmd = { -          "node", -          ls_install_prefix .. "/css/vscode-css/css-language-features/server/dist/node/cssServerMain.js", -          "--stdio", -        }, -      }, -    }, -  }, -  d = { -    formatters = { -      -- { -      --   exe = "dfmt", -      --   args = {}, -      -- }, -    }, -    linters = {}, -    lsp = { -      provider = "serve_d", -      setup = { -        cmd = { "serve-d" }, -      }, -    }, -  }, -  dart = { -    formatters = { -      -- { -      --   exe = "dart_format", -      --   args = {}, -      -- }, -    }, -    linters = {}, -    lsp = { -      provider = "dartls", -      setup = { -        cmd = { -          "dart", -          "/usr/lib/dart/bin/snapshots/analysis_server.dart.snapshot", -          "--lsp", -        }, -      }, -    }, -  }, -  dockerfile = { -    formatters = {}, -    linters = {}, -    lsp = { -      provider = "dockerls", -      setup = { -        cmd = { -          ls_install_prefix .. "/dockerfile/node_modules/.bin/docker-langserver", -          "--stdio", -        }, -      }, -    }, -  }, -  elixir = { -    formatters = { -      -- { -      --   exe = "mix", -      --   args = {}, -      -- }, -    }, -    linters = {}, -    lsp = { -      provider = "elixirls", -      setup = { -        cmd = { -          ls_install_prefix .. "/elixir/elixir-ls/language_server.sh", -        }, -      }, -    }, -  }, -  elm = { -    formatters = { -      -- { -      --   exe = "elm_format", -      --   args = {}, -      -- }, -    }, -    linters = {}, -    lsp = { -      provider = "elmls", -      setup = { -        cmd = { -          ls_install_prefix .. "/elm/node_modules/.bin/elm-language-server", -        }, -        -- init_options = { -        -- elmAnalyseTrigger = "change", -        -- elmFormatPath = ls_install_prefix .. "/elm/node_modules/.bin/elm-format", -        -- elmPath = ls_install_prefix .. "/elm/node_modules/.bin/", -        -- elmTestPath = ls_install_prefix .. "/elm/node_modules/.bin/elm-test", -        -- }, -      }, -    }, -  }, -  erlang = { -    formatters = { -      -- { -      --   exe = "erlfmt", -      --   args = {}, -      -- }, -    }, -    linters = {}, -    lsp = { -      provider = "erlangls", -      setup = { -        cmd = { -          "erlang_ls", -        }, -      }, -    }, -  }, -  emmet = { active = false }, -  fish = { -    formatters = { -      -- { -      --   exe = "fish_indent", -      --   args = {}, -      -- }, -    }, -    linters = {}, -    lsp = { -      provider = "", -      setup = {}, -    }, -  }, -  fortran = { -    formatters = {}, -    linters = {}, -    lsp = { -      provider = "fortls", -      setup = { -        cmd = { -          ls_install_prefix .. "/fortran/venv/bin/fortls", -        }, -      }, -    }, -  }, -  go = { -    formatters = { -      -- { -      --   exe = "gofmt", -      --   args = {}, -      -- }, -      -- { -      --   exe = "goimports", -      --   args = {}, -      -- }, -      -- { -      --   exe = "gofumpt", -      --   args = {}, -      -- }, -    }, -    linters = {}, -    lsp = { -      provider = "gopls", -      setup = { -        cmd = { -          ls_install_prefix .. "/go/gopls", -        }, -      }, -    }, -  }, -  graphql = { -    formatters = {}, -    linters = {}, -    lsp = { -      provider = "graphql", -      setup = { -        cmd = { -          "graphql-lsp", -          "server", -          "-m", -          "stream", -        }, -      }, -    }, -  }, -  haskell = { -    formatters = {}, -    linters = {}, -    lsp = { -      provider = "hls", -      setup = { -        cmd = { ls_install_prefix .. "/haskell/hls" }, -      }, -    }, -  }, -  html = { -    formatters = { -      -- { -      --   exe = "prettier", -      --   args = {}, -      -- }, -      -- { -      --   exe = "prettierd", -      --   args = {}, -      -- }, -    }, -    linters = {}, -    lsp = { -      provider = "html", -      setup = { -        cmd = { -          "node", -          ls_install_prefix .. "/html/vscode-html/html-language-features/server/dist/node/htmlServerMain.js", -          "--stdio", -        }, -      }, -    }, -  }, -  java = { -    formatters = { -      -- { -      --   exe = "clang_format", -      --   args = {}, -      -- }, -      -- { -      --   exe = "uncrustify", -      --   args = {}, -      -- }, -    }, -    linters = {}, -    lsp = { -      provider = "jdtls", -      setup = { -        cmd = { ls_install_prefix .. "/java/jdtls.sh" }, -      }, -    }, -  }, -  json = { -    formatters = { -      -- { -      --   exe = "json_tool", -      --   args = {}, -      -- }, -      -- { -      --   exe = "prettier", -      --   args = {}, -      -- }, -      -- { -      --   exe = "prettierd", -      --   args = {}, -      -- }, -    }, -    linters = {}, -    lsp = { -      provider = "jsonls", -      setup = { -        cmd = { -          "node", -          ls_install_prefix .. "/json/vscode-json/json-language-features/server/dist/node/jsonServerMain.js", -          "--stdio", -        }, -        settings = { -          json = { -            schemas = schemas, -            --   = { -            --   { -            --     fileMatch = { "package.json" }, -            --     url = "https://json.schemastore.org/package.json", -            --   }, -            -- }, -          }, -        }, -        commands = { -          Format = { -            function() -              vim.lsp.buf.range_formatting({}, { 0, 0 }, { vim.fn.line "$", 0 }) -            end, -          }, -        }, -      }, -    }, -  }, -  julia = { -    formatters = {}, -    linters = {}, -    lsp = { -      provider = "julials", -      setup = { -        { -          "julia", -          "--startup-file=no", -          "--history-file=no", -          -- self.runtime_dir .. "lvim/utils/julia/run.jl", -        }, -      }, -    }, -  }, -  kotlin = { -    formatters = {}, -    linters = {}, -    lsp = { -      provider = "kotlin_language_server", -      setup = { -        cmd = { -          ls_install_prefix .. "/kotlin/server/bin/kotlin-language-server", -        }, -        root_dir = function(fname) -          local util = require "lspconfig/util" - -          local root_files = { -            "settings.gradle", -- Gradle (multi-project) -            "settings.gradle.kts", -- Gradle (multi-project) -            "build.xml", -- Ant -            "pom.xml", -- Maven -          } - -          local fallback_root_files = { -            "build.gradle", -- Gradle -            "build.gradle.kts", -- Gradle -          } -          return util.root_pattern(unpack(root_files))(fname) or util.root_pattern(unpack(fallback_root_files))(fname) -        end, -      }, -    }, -  }, -  lua = { -    formatters = { -      -- { -      --   exe = "stylua", -      --   args = {}, -      -- }, -      -- { -      --   exe = "lua_format", -      --   args = {}, -      -- }, -    }, -    linters = {}, -    lsp = { -      provider = "sumneko_lua", -      setup = { -        cmd = { -          ls_install_prefix .. "/lua/sumneko-lua-language-server", -          "-E", -          ls_install_prefix .. "/lua/main.lua", -        }, -        settings = { -          Lua = { -            diagnostics = { -              -- Get the language server to recognize the `vim` global -              globals = { "vim", "lvim" }, -            }, -            workspace = { -              -- Make the server aware of Neovim runtime files -              library = { -                [require("utils").join_paths(get_runtime_dir(), "lvim", "lua")] = true, -                [vim.fn.expand "$VIMRUNTIME/lua"] = true, -                [vim.fn.expand "$VIMRUNTIME/lua/vim/lsp"] = true, -              }, -              maxPreload = 100000, -              preloadFileSize = 10000, -            }, -          }, -        }, -      }, -    }, -  }, -  nginx = { -    formatters = { -      -- { -      --   exe = "nginx_beautifier", -      --   args = { -      --     provider = "", -      --     setup = {}, -      --   }, -      -- }, -    }, -    linters = {}, -    lsp = {}, -  }, -  perl = { -    formatters = { -      -- { -      --   exe = "perltidy", -      --   args = {}, -      -- }, -    }, -    linters = {}, -    lsp = { -      provider = "", -      setup = {}, -    }, -  }, -  solidity = { -    formatters = {}, -    linters = {}, -    lsp = { -      provider = "solang", -      setup = { -        cmd = { "solang", "--language-server" }, -      }, -    }, -  }, -  sql = { -    formatters = { -      -- { -      --   exe = "sqlformat", -      --   args = {}, -      -- }, -    }, -    linters = {}, -    lsp = { -      provider = "sqls", -      setup = { -        cmd = { "sqls" }, -      }, -    }, -  }, -  php = { -    formatters = { -      -- { -      --   exe = "phpcbf", -      --   args = {}, -      -- }, -    }, -    linters = {}, -    lsp = { -      provider = "intelephense", -      setup = { -        cmd = { -          ls_install_prefix .. "/php/node_modules/.bin/intelephense", -          "--stdio", -        }, -        filetypes = { "php", "phtml" }, -        settings = { -          intelephense = { -            environment = { -              phpVersion = "7.4", -            }, -          }, -        }, -      }, -    }, -  }, -  puppet = { -    formatters = {}, -    linters = {}, -    lsp = { -      provider = "puppet", -      setup = { -        cmd = { -          ls_install_prefix .. "/puppet/puppet-editor-services/puppet-languageserver", -          "--stdio", -        }, -      }, -    }, -  }, -  javascript = { -    formatters = { -      -- { -      --   exe = "prettier", -      --   args = {}, -      -- }, -      -- { -      --   exe = "prettier_d_slim", -      --   args = {}, -      -- }, -      -- { -      --   exe = "prettierd", -      --   args = {}, -      -- }, -    }, -    -- @usage can be {"eslint"} or {"eslint_d"} -    linters = {}, -    lsp = { -      provider = "tsserver", -      setup = { -        cmd = { -          -- TODO: -          ls_install_prefix .. "/typescript/node_modules/.bin/typescript-language-server", -          "--stdio", -        }, -      }, -    }, -  }, -  javascriptreact = { -    formatters = { -      -- { -      --   exe = "prettier", -      --   args = {}, -      -- }, -      -- { -      --   exe = "prettier_d_slim", -      --   args = {}, -      -- }, -      -- { -      --   exe = "prettierd", -      --   args = {}, -      -- }, -    }, -    linters = {}, -    lsp = { -      provider = "tsserver", -      setup = { -        cmd = { -          -- TODO: -          ls_install_prefix .. "/typescript/node_modules/.bin/typescript-language-server", -          "--stdio", -        }, -      }, -    }, -  }, -  python = { -    formatters = { -      -- { -      --   exe = "yapf", -      --   args = {}, -      -- }, -      -- { -      --   exe = "isort", -      --   args = {}, -      -- }, -    }, -    linters = {}, -    lsp = { -      provider = "pyright", -      setup = { -        cmd = { -          ls_install_prefix .. "/python/node_modules/.bin/pyright-langserver", -          "--stdio", -        }, -      }, -    }, -  }, -  -- R -e 'install.packages("formatR",repos = "http://cran.us.r-project.org")' -  -- R -e 'install.packages("readr",repos = "http://cran.us.r-project.org")' -  r = { -    formatters = { -      -- { -      --   exe = "format_r", -      --   args = {}, -      -- }, -    }, -    linters = {}, -    lsp = { -      provider = "r_language_server", -      setup = { -        cmd = { -          "R", -          "--slave", -          "-e", -          "languageserver::run()", -        }, -      }, -    }, -  }, -  ruby = { -    formatters = { -      -- { -      --   exe = "rufo", -      --   args = {}, -      -- }, -    }, -    linters = {}, -    lsp = { -      provider = "solargraph", -      setup = { -        cmd = { -          ls_install_prefix .. "/ruby/solargraph/solargraph", -          "stdio", -        }, -        filetypes = { "ruby" }, -        init_options = { -          formatting = true, -        }, -        root_dir = function(fname) -          local util = require("lspconfig").util -          return util.root_pattern("Gemfile", ".git")(fname) -        end, -        settings = { -          solargraph = { -            diagnostics = true, -          }, -        }, -      }, -    }, -  }, -  rust = { -    formatters = { -      -- { -      --   exe = "rustfmt", -      --   args = {}, -      -- }, -    }, -    linters = {}, -    lsp = { -      provider = "rust_analyzer", -      setup = { -        cmd = { -          ls_install_prefix .. "/rust/rust-analyzer", -        }, -      }, -    }, -  }, -  scala = { -    formatters = { -      -- { -      --   exe = "scalafmt", -      --   args = {}, -      -- }, -    }, -    linters = {}, -    lsp = { -      provider = "metals", -      setup = {}, -    }, -  }, -  sh = { -    formatters = { -      -- { -      --   exe = "shfmt", -      --   args = {}, -      -- }, -    }, -    linters = {}, -    lsp = { -      provider = "bashls", -      setup = { -        cmd = { -          ls_install_prefix .. "/bash/node_modules/.bin/bash-language-server", -          "start", -        }, -      }, -    }, -  }, -  svelte = { -    formatters = {}, -    linters = {}, -    lsp = { -      provider = "svelte", -      setup = { -        cmd = { -          ls_install_prefix .. "/svelte/node_modules/.bin/svelteserver", -          "--stdio", -        }, -      }, -    }, -  }, -  swift = { -    formatters = { -      -- { -      --   exe = "swiftformat", -      --   args = {}, -      -- }, -    }, -    linters = {}, -    lsp = { -      provider = "sourcekit", -      setup = { -        cmd = { -          "xcrun", -          "sourcekit-lsp", -        }, -      }, -    }, -  }, -  tailwindcss = { -    lsp = { -      active = false, -      provider = "tailwindcss", -      setup = { -        cmd = { -          ls_install_prefix .. "/tailwindcss/node_modules/.bin/tailwindcss-language-server", -          "--stdio", -        }, -      }, -    }, -  }, -  terraform = { -    formatters = { -      -- { -      --   exe = "terraform_fmt", -      --   args = {}, -      -- }, -    }, -    linters = {}, -    lsp = { -      provider = "terraformls", -      setup = { -        cmd = { -          ls_install_prefix .. "/terraform/terraform-ls", -          "serve", -        }, -      }, -    }, -  }, -  tex = { -    formatters = {}, -    linters = {}, -    lsp = { -      provider = "texlab", -      setup = { -        cmd = { ls_install_prefix .. "/latex/texlab" }, -      }, -    }, -  }, -  typescript = { -    formatters = { -      -- { -      --   exe = "prettier", -      --   args = {}, -      -- }, -      -- { -      --   exe = "prettierd", -      --   args = {}, -      -- }, -      -- { -      --   exe = "prettier_d_slim", -      --   args = {}, -      -- }, -    }, -    linters = {}, -    lsp = { -      provider = "tsserver", -      setup = { -        cmd = { -          -- TODO: -          ls_install_prefix .. "/typescript/node_modules/.bin/typescript-language-server", -          "--stdio", -        }, -      }, -    }, -  }, -  typescriptreact = { -    formatters = { -      -- { -      --   exe = "prettier", -      --   args = {}, -      -- }, -      -- { -      --   exe = "prettierd", -      --   args = {}, -      -- }, -      -- { -      --   exe = "prettier_d_slim", -      --   args = {}, -      -- }, -    }, -    -- @usage can be {"eslint"} or {"eslint_d"} -    linters = {}, -    lsp = { -      provider = "tsserver", -      setup = { -        cmd = { -          -- TODO: -          ls_install_prefix .. "/typescript/node_modules/.bin/typescript-language-server", -          "--stdio", -        }, -      }, -    }, -  }, -  vim = { -    formatters = {}, -    linters = {}, -    lsp = { -      provider = "vimls", -      setup = { -        cmd = { -          ls_install_prefix .. "/vim/node_modules/.bin/vim-language-server", -          "--stdio", -        }, -      }, -    }, -  }, -  vue = { -    formatters = { -      -- { -      --   exe = "prettier", -      --   args = {}, -      -- }, -      -- { -      --   exe = "prettierd", -      --   args = {}, -      -- }, -      -- { -      --   exe = "prettier_d_slim", -      --   args = {}, -      -- }, -    }, -    linters = {}, -    lsp = { -      provider = "vuels", -      setup = { -        cmd = { -          ls_install_prefix .. "/vue/node_modules/.bin/vls", -        }, -        root_dir = function(fname) -          local util = require "lspconfig/util" -          return util.root_pattern "package.json"(fname) or util.root_pattern "vue.config.js"(fname) or vim.fn.getcwd() -        end, -        init_options = { -          config = { -            vetur = { -              completion = { -                autoImport = true, -                tagCasing = "kebab", -                useScaffoldSnippets = true, -              }, -              useWorkspaceDependencies = true, -              validation = { -                script = true, -                style = true, -                template = true, -              }, -            }, -          }, -        }, -      }, -    }, -  }, -  yaml = { -    formatters = { -      -- { -      --   exe = "prettier", -      --   args = {}, -      -- }, -      -- { -      --   exe = "prettierd", -      --   args = {}, -      -- }, -    }, -    linters = {}, -    lsp = { -      provider = "yamlls", -      setup = { -        cmd = { -          ls_install_prefix .. "/yaml/node_modules/.bin/yaml-language-server", -          "--stdio", -        }, -      }, -    }, -  }, -  zig = { -    formatters = {}, -    linters = {}, -    lsp = { -      provider = "zls", -      setup = { -        cmd = { -          "zls", -        }, -      }, -    }, -  }, -  gdscript = { -    formatters = {}, -    linters = {}, -    lsp = { -      provider = "gdscript", -      setup = { -        cmd = { -          "nc", -          "localhost", -          "6008", -        }, -      }, -    }, -  }, -  ps1 = { -    formatters = {}, -    linters = {}, -    lsp = { -      provider = "powershell_es", -      setup = { -        bundle_path = "", -      }, -    }, -  }, -  nix = { -    formatters = { -      -- { -      --   exe = "nixfmt", -      --   args = {}, -      -- }, -    }, -    linters = {}, -    lsp = { -      provider = "rnix", -      setup = { -        cmd = { "rnix-lsp" }, -        filetypes = { "nix" }, -        init_options = {}, -        settings = {}, -        root_dir = function(fname) -          local util = require "lspconfig/util" -          return util.root_pattern ".git"(fname) or vim.fn.getcwd() -        end, -      }, -    }, -  }, +  lang = {},  } diff --git a/lua/config/init.lua b/lua/config/init.lua index c09617bc..f0062560 100644 --- a/lua/config/init.lua +++ b/lua/config/init.lua @@ -22,6 +22,106 @@ function M:init(opts)    local settings = require "config.settings"    settings.load_options() + +  local lvim_lsp_config = require "lsp.config" +  lvim.lsp = vim.deepcopy(lvim_lsp_config) + +  local supported_languages = { +    "asm", +    "bash", +    "beancount", +    "bibtex", +    "bicep", +    "c", +    "c_sharp", +    "clojure", +    "cmake", +    "comment", +    "commonlisp", +    "cpp", +    "crystal", +    "cs", +    "css", +    "cuda", +    "d", +    "dart", +    "dockerfile", +    "dot", +    "elixir", +    "elm", +    "emmet", +    "erlang", +    "fennel", +    "fish", +    "fortran", +    "gdscript", +    "glimmer", +    "go", +    "gomod", +    "graphql", +    "haskell", +    "hcl", +    "heex", +    "html", +    "java", +    "javascript", +    "javascriptreact", +    "jsdoc", +    "json", +    "json5", +    "jsonc", +    "julia", +    "kotlin", +    "latex", +    "ledger", +    "less", +    "lua", +    "markdown", +    "nginx", +    "nix", +    "ocaml", +    "ocaml_interface", +    "perl", +    "php", +    "pioasm", +    "ps1", +    "puppet", +    "python", +    "ql", +    "query", +    "r", +    "regex", +    "rst", +    "ruby", +    "rust", +    "scala", +    "scss", +    "sh", +    "solidity", +    "sparql", +    "sql", +    "supercollider", +    "surface", +    "svelte", +    "swift", +    "tailwindcss", +    "terraform", +    "tex", +    "tlaplus", +    "toml", +    "tsx", +    "turtle", +    "typescript", +    "typescriptreact", +    "verilog", +    "vim", +    "vue", +    "yaml", +    "yang", +    "zig", +  } + +  require("lsp.manager").init_defaults(supported_languages)  end  --- Override the configuration with a user provided one  | 
