diff options
Diffstat (limited to 'lua/config/defaults.lua')
| -rw-r--r-- | lua/config/defaults.lua | 1164 | 
1 files changed, 1 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 = {},  }  | 
