aboutsummaryrefslogtreecommitdiffstats
path: root/lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua')
-rw-r--r--lua/lspconfig/configs/anakin_language_server.lua3
-rw-r--r--lua/lspconfig/configs/asm_lsp.lua6
-rw-r--r--lua/lspconfig/configs/bashls.lua6
-rw-r--r--lua/lspconfig/configs/beancount.lua6
-rw-r--r--lua/lspconfig/configs/bicep.lua6
-rw-r--r--lua/lspconfig/configs/bitbake_language_server.lua6
-rw-r--r--lua/lspconfig/configs/bitbake_ls.lua6
-rw-r--r--lua/lspconfig/configs/blueprint_ls.lua6
-rw-r--r--lua/lspconfig/configs/bqnlsp.lua6
-rw-r--r--lua/lspconfig/configs/bsl_ls.lua6
-rw-r--r--lua/lspconfig/configs/buddy_ls.lua6
-rw-r--r--lua/lspconfig/configs/ccls.lua3
-rw-r--r--lua/lspconfig/configs/circom-lsp.lua6
-rw-r--r--lua/lspconfig/configs/clangd.lua2
-rw-r--r--lua/lspconfig/configs/cobol_ls.lua6
-rw-r--r--lua/lspconfig/configs/coq_lsp.lua3
-rw-r--r--lua/lspconfig/configs/crystalline.lua4
-rw-r--r--lua/lspconfig/configs/cucumber_language_server.lua6
-rw-r--r--lua/lspconfig/configs/cypher_ls.lua6
-rw-r--r--lua/lspconfig/configs/dafny.lua4
-rw-r--r--lua/lspconfig/configs/dhall_lsp_server.lua6
-rw-r--r--lua/lspconfig/configs/diagnosticls.lua6
-rw-r--r--lua/lspconfig/configs/digestif.lua6
-rw-r--r--lua/lspconfig/configs/djlsp.lua6
-rw-r--r--lua/lspconfig/configs/dolmenls.lua6
-rw-r--r--lua/lspconfig/configs/dotls.lua6
-rw-r--r--lua/lspconfig/configs/drools_lsp.lua4
-rw-r--r--lua/lspconfig/configs/ds_pinyin_lsp.lua4
-rw-r--r--lua/lspconfig/configs/efm.lua6
-rw-r--r--lua/lspconfig/configs/emmet_language_server.lua6
-rw-r--r--lua/lspconfig/configs/emmet_ls.lua6
-rw-r--r--lua/lspconfig/configs/erg_language_server.lua3
-rw-r--r--lua/lspconfig/configs/esbonio.lua6
-rw-r--r--lua/lspconfig/configs/facility_language_server.lua6
-rw-r--r--lua/lspconfig/configs/fennel_language_server.lua6
-rw-r--r--lua/lspconfig/configs/fish_lsp.lua6
-rw-r--r--lua/lspconfig/configs/flux_lsp.lua6
-rw-r--r--lua/lspconfig/configs/fortls.lua3
-rw-r--r--lua/lspconfig/configs/fstar.lua6
-rw-r--r--lua/lspconfig/configs/futhark_lsp.lua6
-rw-r--r--lua/lspconfig/configs/ghdl_ls.lua3
-rw-r--r--lua/lspconfig/configs/ginko_ls.lua6
-rw-r--r--lua/lspconfig/configs/glasgow.lua6
-rw-r--r--lua/lspconfig/configs/glsl_analyzer.lua6
-rw-r--r--lua/lspconfig/configs/glslls.lua6
-rw-r--r--lua/lspconfig/configs/grammarly.lua6
-rw-r--r--lua/lspconfig/configs/groovyls.lua3
-rw-r--r--lua/lspconfig/configs/guile_ls.lua3
-rw-r--r--lua/lspconfig/configs/harper_ls.lua6
-rw-r--r--lua/lspconfig/configs/hdl_checker.lua6
-rw-r--r--lua/lspconfig/configs/hoon_ls.lua6
-rw-r--r--lua/lspconfig/configs/htmx.lua4
-rw-r--r--lua/lspconfig/configs/hyprls.lua6
-rw-r--r--lua/lspconfig/configs/janet_lsp.lua5
-rw-r--r--lua/lspconfig/configs/jinja_lsp.lua6
-rw-r--r--lua/lspconfig/configs/jqls.lua5
-rw-r--r--lua/lspconfig/configs/jsonls.lua6
-rw-r--r--lua/lspconfig/configs/jsonnet_ls.lua3
-rw-r--r--lua/lspconfig/configs/julials.lua3
-rw-r--r--lua/lspconfig/configs/koka.lua6
-rw-r--r--lua/lspconfig/configs/kulala_ls.lua6
-rw-r--r--lua/lspconfig/configs/lean3ls.lua2
-rw-r--r--lua/lspconfig/configs/leanls.lua2
-rw-r--r--lua/lspconfig/configs/lelwel_ls.lua6
-rw-r--r--lua/lspconfig/configs/lemminx.lua6
-rw-r--r--lua/lspconfig/configs/lexical.lua3
-rw-r--r--lua/lspconfig/configs/ltex.lua6
-rw-r--r--lua/lspconfig/configs/ltex_plus.lua6
-rw-r--r--lua/lspconfig/configs/lua_ls.lua2
-rw-r--r--lua/lspconfig/configs/luau_lsp.lua6
-rw-r--r--lua/lspconfig/configs/marko-js.lua6
-rw-r--r--lua/lspconfig/configs/marksman.lua3
-rw-r--r--lua/lspconfig/configs/matlab_ls.lua6
-rw-r--r--lua/lspconfig/configs/mint.lua3
-rw-r--r--lua/lspconfig/configs/mlir_lsp_server.lua6
-rw-r--r--lua/lspconfig/configs/mlir_pdll_lsp_server.lua3
-rw-r--r--lua/lspconfig/configs/mm0_ls.lua6
-rw-r--r--lua/lspconfig/configs/mojo.lua6
-rw-r--r--lua/lspconfig/configs/msbuild_project_tools_server.lua6
-rw-r--r--lua/lspconfig/configs/mutt_ls.lua6
-rw-r--r--lua/lspconfig/configs/nextls.lua3
-rw-r--r--lua/lspconfig/configs/nginx_language_server.lua3
-rw-r--r--lua/lspconfig/configs/nickel_ls.lua6
-rw-r--r--lua/lspconfig/configs/nim_langserver.lua3
-rw-r--r--lua/lspconfig/configs/nimls.lua3
-rw-r--r--lua/lspconfig/configs/nixd.lua3
-rw-r--r--lua/lspconfig/configs/nushell.lua6
-rw-r--r--lua/lspconfig/configs/opencl_ls.lua6
-rw-r--r--lua/lspconfig/configs/openscad_ls.lua6
-rw-r--r--lua/lspconfig/configs/openscad_lsp.lua6
-rw-r--r--lua/lspconfig/configs/pact_ls.lua6
-rw-r--r--lua/lspconfig/configs/perlls.lua6
-rw-r--r--lua/lspconfig/configs/perlnavigator.lua6
-rw-r--r--lua/lspconfig/configs/perlpls.lua6
-rw-r--r--lua/lspconfig/configs/pest_ls.lua6
-rw-r--r--lua/lspconfig/configs/pkgbuild_language_server.lua6
-rw-r--r--lua/lspconfig/configs/poryscript_pls.lua6
-rw-r--r--lua/lspconfig/configs/powershell_es.lua6
-rw-r--r--lua/lspconfig/configs/prosemd_lsp.lua6
-rw-r--r--lua/lspconfig/configs/protols.lua6
-rw-r--r--lua/lspconfig/configs/pylsp.lua3
-rw-r--r--lua/lspconfig/configs/pylyzer.lua3
-rw-r--r--lua/lspconfig/configs/qmlls.lua4
-rw-r--r--lua/lspconfig/configs/r_language_server.lua4
-rw-r--r--lua/lspconfig/configs/racket_langserver.lua6
-rw-r--r--lua/lspconfig/configs/raku_navigator.lua6
-rw-r--r--lua/lspconfig/configs/regal.lua3
-rw-r--r--lua/lspconfig/configs/regols.lua3
-rw-r--r--lua/lspconfig/configs/rnix.lua4
-rw-r--r--lua/lspconfig/configs/robotcode.lua2
-rw-r--r--lua/lspconfig/configs/robotframework_ls.lua2
-rw-r--r--lua/lspconfig/configs/roc_ls.lua6
-rw-r--r--lua/lspconfig/configs/rome.lua4
-rw-r--r--lua/lspconfig/configs/ruff.lua5
-rw-r--r--lua/lspconfig/configs/ruff_lsp.lua5
-rw-r--r--lua/lspconfig/configs/rune_languageserver.lua6
-rw-r--r--lua/lspconfig/configs/rust_analyzer.lua2
-rw-r--r--lua/lspconfig/configs/salt_ls.lua6
-rw-r--r--lua/lspconfig/configs/scry.lua3
-rw-r--r--lua/lspconfig/configs/slangd.lua5
-rw-r--r--lua/lspconfig/configs/slint_lsp.lua6
-rw-r--r--lua/lspconfig/configs/solang.lua6
-rw-r--r--lua/lspconfig/configs/sourcekit.lua2
-rw-r--r--lua/lspconfig/configs/sourcery.lua3
-rw-r--r--lua/lspconfig/configs/starlark_rust.lua6
-rw-r--r--lua/lspconfig/configs/superhtml.lua6
-rw-r--r--lua/lspconfig/configs/svlangserver.lua3
-rw-r--r--lua/lspconfig/configs/svls.lua6
-rw-r--r--lua/lspconfig/configs/tabby_ml.lua6
-rw-r--r--lua/lspconfig/configs/tailwindcss.lua2
-rw-r--r--lua/lspconfig/configs/taplo.lua6
-rw-r--r--lua/lspconfig/configs/tblgen_lsp_server.lua3
-rw-r--r--lua/lspconfig/configs/textlsp.lua6
-rw-r--r--lua/lspconfig/configs/tilt_ls.lua6
-rw-r--r--lua/lspconfig/configs/tinymist.lua6
-rw-r--r--lua/lspconfig/configs/turtle_ls.lua2
-rw-r--r--lua/lspconfig/configs/typst_lsp.lua4
-rw-r--r--lua/lspconfig/configs/uiua.lua3
-rw-r--r--lua/lspconfig/configs/ungrammar_languageserver.lua6
-rw-r--r--lua/lspconfig/configs/uvls.lua5
-rw-r--r--lua/lspconfig/configs/vacuum.lua6
-rw-r--r--lua/lspconfig/configs/vala_ls.lua2
-rw-r--r--lua/lspconfig/configs/vdmj.lua2
-rw-r--r--lua/lspconfig/configs/verible.lua6
-rw-r--r--lua/lspconfig/configs/veridian.lua6
-rw-r--r--lua/lspconfig/configs/veryl_ls.lua6
-rw-r--r--lua/lspconfig/configs/vimls.lua6
-rw-r--r--lua/lspconfig/configs/vscoqtop.lua3
-rw-r--r--lua/lspconfig/configs/yamlls.lua6
-rw-r--r--lua/lspconfig/configs/yang_lsp.lua6
-rw-r--r--lua/lspconfig/configs/yls.lua6
-rw-r--r--lua/lspconfig/configs/ziggy.lua6
-rw-r--r--lua/lspconfig/configs/ziggy_schema.lua6
-rw-r--r--lua/lspconfig/util.lua15
154 files changed, 400 insertions, 372 deletions
diff --git a/lua/lspconfig/configs/anakin_language_server.lua b/lua/lspconfig/configs/anakin_language_server.lua
index f0c281cc..6e071df9 100644
--- a/lua/lspconfig/configs/anakin_language_server.lua
+++ b/lua/lspconfig/configs/anakin_language_server.lua
@@ -12,7 +12,8 @@ return {
'requirements.txt',
'Pipfile',
}
- return util.root_pattern(unpack(root_files))(fname) or util.find_git_ancestor(fname)
+ return util.root_pattern(unpack(root_files))(fname)
+ or vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
end,
single_file_support = true,
settings = {
diff --git a/lua/lspconfig/configs/asm_lsp.lua b/lua/lspconfig/configs/asm_lsp.lua
index 102bcbab..0ccfec03 100644
--- a/lua/lspconfig/configs/asm_lsp.lua
+++ b/lua/lspconfig/configs/asm_lsp.lua
@@ -1,10 +1,10 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'asm-lsp' },
filetypes = { 'asm', 'vmasm' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
},
docs = {
description = [[
diff --git a/lua/lspconfig/configs/bashls.lua b/lua/lspconfig/configs/bashls.lua
index 30113863..662d0f05 100644
--- a/lua/lspconfig/configs/bashls.lua
+++ b/lua/lspconfig/configs/bashls.lua
@@ -1,5 +1,3 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'bash-language-server', 'start' },
@@ -16,7 +14,9 @@ return {
},
},
filetypes = { 'bash', 'sh' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
},
docs = {
diff --git a/lua/lspconfig/configs/beancount.lua b/lua/lspconfig/configs/beancount.lua
index e020c025..26d41ccd 100644
--- a/lua/lspconfig/configs/beancount.lua
+++ b/lua/lspconfig/configs/beancount.lua
@@ -1,10 +1,10 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'beancount-language-server', '--stdio' },
filetypes = { 'beancount', 'bean' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
init_options = {},
},
diff --git a/lua/lspconfig/configs/bicep.lua b/lua/lspconfig/configs/bicep.lua
index adcd144b..3bb5e95a 100644
--- a/lua/lspconfig/configs/bicep.lua
+++ b/lua/lspconfig/configs/bicep.lua
@@ -1,9 +1,9 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
filetypes = { 'bicep' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
init_options = {},
},
docs = {
diff --git a/lua/lspconfig/configs/bitbake_language_server.lua b/lua/lspconfig/configs/bitbake_language_server.lua
index 726fa85d..b987b233 100644
--- a/lua/lspconfig/configs/bitbake_language_server.lua
+++ b/lua/lspconfig/configs/bitbake_language_server.lua
@@ -1,10 +1,10 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'bitbake-language-server' },
filetypes = { 'bitbake' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
},
docs = {
description = [[
diff --git a/lua/lspconfig/configs/bitbake_ls.lua b/lua/lspconfig/configs/bitbake_ls.lua
index 87d343e5..a66dbd78 100644
--- a/lua/lspconfig/configs/bitbake_ls.lua
+++ b/lua/lspconfig/configs/bitbake_ls.lua
@@ -1,10 +1,10 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'language-server-bitbake', '--stdio' },
filetypes = { 'bitbake' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = false,
},
docs = {
diff --git a/lua/lspconfig/configs/blueprint_ls.lua b/lua/lspconfig/configs/blueprint_ls.lua
index 32a7693c..d71ab520 100644
--- a/lua/lspconfig/configs/blueprint_ls.lua
+++ b/lua/lspconfig/configs/blueprint_ls.lua
@@ -1,5 +1,3 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'blueprint-compiler', 'lsp' },
@@ -11,7 +9,9 @@ return {
GLOB_PATTERN = vim.env.GLOB_PATTERN or '*@(.blp)',
},
filetypes = { 'blueprint' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
},
docs = {
diff --git a/lua/lspconfig/configs/bqnlsp.lua b/lua/lspconfig/configs/bqnlsp.lua
index 20135b9b..17204492 100644
--- a/lua/lspconfig/configs/bqnlsp.lua
+++ b/lua/lspconfig/configs/bqnlsp.lua
@@ -1,5 +1,3 @@
-local util = require 'lspconfig.util'
-
-- set os dependent library path
local function library_path(path, cmd_env)
path = path or '/usr/local/lib'
@@ -16,7 +14,9 @@ return {
default_config = {
cmd = { 'bqnlsp' },
filetypes = { 'bqn' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
libcbqnPath = nil,
on_new_config = function(new_config, _)
diff --git a/lua/lspconfig/configs/bsl_ls.lua b/lua/lspconfig/configs/bsl_ls.lua
index b190d5c4..baeabe2b 100644
--- a/lua/lspconfig/configs/bsl_ls.lua
+++ b/lua/lspconfig/configs/bsl_ls.lua
@@ -1,9 +1,9 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
filetypes = { 'bsl', 'os' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
},
docs = {
description = [[
diff --git a/lua/lspconfig/configs/buddy_ls.lua b/lua/lspconfig/configs/buddy_ls.lua
index 7343dd32..909cf9d1 100644
--- a/lua/lspconfig/configs/buddy_ls.lua
+++ b/lua/lspconfig/configs/buddy_ls.lua
@@ -1,10 +1,10 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'buddy-lsp-server' },
filetypes = { 'mlir' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
},
docs = {
diff --git a/lua/lspconfig/configs/ccls.lua b/lua/lspconfig/configs/ccls.lua
index 6f398abe..43bc8b12 100644
--- a/lua/lspconfig/configs/ccls.lua
+++ b/lua/lspconfig/configs/ccls.lua
@@ -5,7 +5,8 @@ return {
cmd = { 'ccls' },
filetypes = { 'c', 'cpp', 'objc', 'objcpp', 'cuda' },
root_dir = function(fname)
- return util.root_pattern('compile_commands.json', '.ccls')(fname) or util.find_git_ancestor(fname)
+ return util.root_pattern('compile_commands.json', '.ccls')(fname)
+ or vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
end,
offset_encoding = 'utf-32',
-- ccls does not support sending a null root directory
diff --git a/lua/lspconfig/configs/circom-lsp.lua b/lua/lspconfig/configs/circom-lsp.lua
index dda5408d..3c814b22 100644
--- a/lua/lspconfig/configs/circom-lsp.lua
+++ b/lua/lspconfig/configs/circom-lsp.lua
@@ -1,10 +1,10 @@
-local util = require 'lspconfig/util'
-
return {
default_config = {
cmd = { 'circom-lsp' },
filetypes = { 'circom' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
},
docs = {
diff --git a/lua/lspconfig/configs/clangd.lua b/lua/lspconfig/configs/clangd.lua
index cb6c5e3f..20acc127 100644
--- a/lua/lspconfig/configs/clangd.lua
+++ b/lua/lspconfig/configs/clangd.lua
@@ -59,7 +59,7 @@ return {
'compile_commands.json',
'compile_flags.txt',
'configure.ac' -- AutoTools
- )(fname) or util.find_git_ancestor(fname)
+ )(fname) or vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
end,
single_file_support = true,
capabilities = {
diff --git a/lua/lspconfig/configs/cobol_ls.lua b/lua/lspconfig/configs/cobol_ls.lua
index e715e00e..71d03180 100644
--- a/lua/lspconfig/configs/cobol_ls.lua
+++ b/lua/lspconfig/configs/cobol_ls.lua
@@ -1,10 +1,10 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'cobol-language-support' },
filetypes = { 'cobol' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
},
docs = {
description = [[
diff --git a/lua/lspconfig/configs/coq_lsp.lua b/lua/lspconfig/configs/coq_lsp.lua
index aa492d4a..516d6c6e 100644
--- a/lua/lspconfig/configs/coq_lsp.lua
+++ b/lua/lspconfig/configs/coq_lsp.lua
@@ -5,7 +5,8 @@ return {
cmd = { 'coq-lsp' },
filetypes = { 'coq' },
root_dir = function(fname)
- return util.root_pattern '_CoqProject'(fname) or util.find_git_ancestor(fname)
+ return util.root_pattern '_CoqProject'(fname)
+ or vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
end,
single_file_support = true,
},
diff --git a/lua/lspconfig/configs/crystalline.lua b/lua/lspconfig/configs/crystalline.lua
index b0178d0c..9cf4841e 100644
--- a/lua/lspconfig/configs/crystalline.lua
+++ b/lua/lspconfig/configs/crystalline.lua
@@ -4,7 +4,9 @@ return {
default_config = {
cmd = { 'crystalline' },
filetypes = { 'crystal' },
- root_dir = util.root_pattern 'shard.yml' or util.find_git_ancestor,
+ root_dir = function(fname)
+ return util.root_pattern 'shard.yml' or vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
},
docs = {
diff --git a/lua/lspconfig/configs/cucumber_language_server.lua b/lua/lspconfig/configs/cucumber_language_server.lua
index c2d6623c..8d47e06f 100644
--- a/lua/lspconfig/configs/cucumber_language_server.lua
+++ b/lua/lspconfig/configs/cucumber_language_server.lua
@@ -1,10 +1,10 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'cucumber-language-server', '--stdio' },
filetypes = { 'cucumber' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
},
docs = {
description = [[
diff --git a/lua/lspconfig/configs/cypher_ls.lua b/lua/lspconfig/configs/cypher_ls.lua
index 7c0cf2cf..3430c6b5 100644
--- a/lua/lspconfig/configs/cypher_ls.lua
+++ b/lua/lspconfig/configs/cypher_ls.lua
@@ -1,10 +1,10 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'cypher-language-server', '--stdio' },
filetypes = { 'cypher' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
},
docs = {
diff --git a/lua/lspconfig/configs/dafny.lua b/lua/lspconfig/configs/dafny.lua
index be5e72b3..b8d701f9 100644
--- a/lua/lspconfig/configs/dafny.lua
+++ b/lua/lspconfig/configs/dafny.lua
@@ -1,11 +1,9 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'dafny', 'server' },
filetypes = { 'dfy', 'dafny' },
root_dir = function(fname)
- util.find_git_ancestor(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
end,
single_file_support = true,
},
diff --git a/lua/lspconfig/configs/dhall_lsp_server.lua b/lua/lspconfig/configs/dhall_lsp_server.lua
index e090c66f..cd80c358 100644
--- a/lua/lspconfig/configs/dhall_lsp_server.lua
+++ b/lua/lspconfig/configs/dhall_lsp_server.lua
@@ -1,10 +1,10 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'dhall-lsp-server' },
filetypes = { 'dhall' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
},
docs = {
diff --git a/lua/lspconfig/configs/diagnosticls.lua b/lua/lspconfig/configs/diagnosticls.lua
index 1ab5fb0d..9c96d420 100644
--- a/lua/lspconfig/configs/diagnosticls.lua
+++ b/lua/lspconfig/configs/diagnosticls.lua
@@ -1,10 +1,10 @@
-local util = require 'lspconfig.util'
-
return {
-- Configuration from https://github.com/iamcco/diagnostic-languageserver#config--document
default_config = {
cmd = { 'diagnostic-languageserver', '--stdio' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
-- Empty by default, override to add filetypes.
filetypes = {},
diff --git a/lua/lspconfig/configs/digestif.lua b/lua/lspconfig/configs/digestif.lua
index f89ba63d..911a7c8d 100644
--- a/lua/lspconfig/configs/digestif.lua
+++ b/lua/lspconfig/configs/digestif.lua
@@ -1,10 +1,10 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'digestif' },
filetypes = { 'tex', 'plaintex', 'context' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
},
docs = {
diff --git a/lua/lspconfig/configs/djlsp.lua b/lua/lspconfig/configs/djlsp.lua
index 181cb030..a83886d1 100644
--- a/lua/lspconfig/configs/djlsp.lua
+++ b/lua/lspconfig/configs/djlsp.lua
@@ -1,10 +1,10 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'djlsp' },
filetypes = { 'html', 'htmldjango' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
settings = {},
},
docs = {
diff --git a/lua/lspconfig/configs/dolmenls.lua b/lua/lspconfig/configs/dolmenls.lua
index 1f0657e1..515ab377 100644
--- a/lua/lspconfig/configs/dolmenls.lua
+++ b/lua/lspconfig/configs/dolmenls.lua
@@ -1,10 +1,10 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'dolmenls' },
filetypes = { 'smt2', 'tptp', 'p', 'cnf', 'icnf', 'zf' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
},
docs = {
diff --git a/lua/lspconfig/configs/dotls.lua b/lua/lspconfig/configs/dotls.lua
index 479f4306..c0f04400 100644
--- a/lua/lspconfig/configs/dotls.lua
+++ b/lua/lspconfig/configs/dotls.lua
@@ -1,10 +1,10 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'dot-language-server', '--stdio' },
filetypes = { 'dot' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
},
docs = {
diff --git a/lua/lspconfig/configs/drools_lsp.lua b/lua/lspconfig/configs/drools_lsp.lua
index d5dd3cc0..77d9d58b 100644
--- a/lua/lspconfig/configs/drools_lsp.lua
+++ b/lua/lspconfig/configs/drools_lsp.lua
@@ -37,7 +37,9 @@ end
return {
default_config = {
filetypes = { 'drools' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
on_new_config = function(new_config)
new_config.cmd = get_cmd(new_config)
diff --git a/lua/lspconfig/configs/ds_pinyin_lsp.lua b/lua/lspconfig/configs/ds_pinyin_lsp.lua
index bc1d7ac8..b81074c1 100644
--- a/lua/lspconfig/configs/ds_pinyin_lsp.lua
+++ b/lua/lspconfig/configs/ds_pinyin_lsp.lua
@@ -33,7 +33,9 @@ return {
default_config = {
cmd = { bin_name },
filetypes = { 'markdown', 'org' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
init_options = {
completion_on = true,
diff --git a/lua/lspconfig/configs/efm.lua b/lua/lspconfig/configs/efm.lua
index ff949aba..b2c49de8 100644
--- a/lua/lspconfig/configs/efm.lua
+++ b/lua/lspconfig/configs/efm.lua
@@ -1,9 +1,9 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'efm-langserver' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
},
diff --git a/lua/lspconfig/configs/emmet_language_server.lua b/lua/lspconfig/configs/emmet_language_server.lua
index cace857f..e5e91b06 100644
--- a/lua/lspconfig/configs/emmet_language_server.lua
+++ b/lua/lspconfig/configs/emmet_language_server.lua
@@ -1,5 +1,3 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'emmet-language-server', '--stdio' },
@@ -16,7 +14,9 @@ return {
'typescriptreact',
'htmlangular',
},
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
},
docs = {
diff --git a/lua/lspconfig/configs/emmet_ls.lua b/lua/lspconfig/configs/emmet_ls.lua
index 48a692a0..2a886d30 100644
--- a/lua/lspconfig/configs/emmet_ls.lua
+++ b/lua/lspconfig/configs/emmet_ls.lua
@@ -1,5 +1,3 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'emmet-ls', '--stdio' },
@@ -19,7 +17,9 @@ return {
'vue',
'htmlangular',
},
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
},
docs = {
diff --git a/lua/lspconfig/configs/erg_language_server.lua b/lua/lspconfig/configs/erg_language_server.lua
index 071c5f06..c24d7d01 100644
--- a/lua/lspconfig/configs/erg_language_server.lua
+++ b/lua/lspconfig/configs/erg_language_server.lua
@@ -5,7 +5,8 @@ return {
cmd = { 'erg', '--language-server' },
filetypes = { 'erg' },
root_dir = function(fname)
- return util.root_pattern 'package.er'(fname) or util.find_git_ancestor(fname)
+ return util.root_pattern 'package.er'(fname)
+ or vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
end,
},
docs = {
diff --git a/lua/lspconfig/configs/esbonio.lua b/lua/lspconfig/configs/esbonio.lua
index ff13473f..86becdc3 100644
--- a/lua/lspconfig/configs/esbonio.lua
+++ b/lua/lspconfig/configs/esbonio.lua
@@ -1,10 +1,10 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'python3', '-m', 'esbonio' },
filetypes = { 'rst' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
},
docs = {
description = [[
diff --git a/lua/lspconfig/configs/facility_language_server.lua b/lua/lspconfig/configs/facility_language_server.lua
index c37069d2..eed12fd2 100644
--- a/lua/lspconfig/configs/facility_language_server.lua
+++ b/lua/lspconfig/configs/facility_language_server.lua
@@ -1,11 +1,11 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'facility-language-server' },
filetypes = { 'fsd' },
single_file_support = true,
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
},
docs = {
description = [[
diff --git a/lua/lspconfig/configs/fennel_language_server.lua b/lua/lspconfig/configs/fennel_language_server.lua
index 919b544b..269e9f27 100644
--- a/lua/lspconfig/configs/fennel_language_server.lua
+++ b/lua/lspconfig/configs/fennel_language_server.lua
@@ -1,11 +1,11 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'fennel-language-server' },
filetypes = { 'fennel' },
single_file_support = true,
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
settings = {},
},
docs = {
diff --git a/lua/lspconfig/configs/fish_lsp.lua b/lua/lspconfig/configs/fish_lsp.lua
index 595f6680..8339163e 100644
--- a/lua/lspconfig/configs/fish_lsp.lua
+++ b/lua/lspconfig/configs/fish_lsp.lua
@@ -1,11 +1,11 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'fish-lsp', 'start' },
cmd_env = { fish_lsp_show_client_popups = false },
filetypes = { 'fish' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
},
docs = {
diff --git a/lua/lspconfig/configs/flux_lsp.lua b/lua/lspconfig/configs/flux_lsp.lua
index 2711651c..5dc5336a 100644
--- a/lua/lspconfig/configs/flux_lsp.lua
+++ b/lua/lspconfig/configs/flux_lsp.lua
@@ -1,10 +1,10 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'flux-lsp' },
filetypes = { 'flux' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
},
docs = {
diff --git a/lua/lspconfig/configs/fortls.lua b/lua/lspconfig/configs/fortls.lua
index 13a22fbf..9232afc7 100644
--- a/lua/lspconfig/configs/fortls.lua
+++ b/lua/lspconfig/configs/fortls.lua
@@ -11,7 +11,8 @@ return {
},
filetypes = { 'fortran' },
root_dir = function(fname)
- return util.root_pattern '.fortls'(fname) or util.find_git_ancestor(fname)
+ return util.root_pattern '.fortls'(fname)
+ or vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
end,
settings = {},
},
diff --git a/lua/lspconfig/configs/fstar.lua b/lua/lspconfig/configs/fstar.lua
index 80e092da..f399c61c 100644
--- a/lua/lspconfig/configs/fstar.lua
+++ b/lua/lspconfig/configs/fstar.lua
@@ -1,10 +1,10 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'fstar.exe', '--lsp' },
filetypes = { 'fstar' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
},
docs = {
description = [[
diff --git a/lua/lspconfig/configs/futhark_lsp.lua b/lua/lspconfig/configs/futhark_lsp.lua
index 2521cc1b..7c6c4805 100644
--- a/lua/lspconfig/configs/futhark_lsp.lua
+++ b/lua/lspconfig/configs/futhark_lsp.lua
@@ -1,10 +1,10 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'futhark', 'lsp' },
filetypes = { 'futhark', 'fut' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
},
docs = {
diff --git a/lua/lspconfig/configs/ghdl_ls.lua b/lua/lspconfig/configs/ghdl_ls.lua
index 0f9e1186..e8974439 100644
--- a/lua/lspconfig/configs/ghdl_ls.lua
+++ b/lua/lspconfig/configs/ghdl_ls.lua
@@ -5,7 +5,8 @@ return {
cmd = { 'ghdl-ls' },
filetypes = { 'vhdl' },
root_dir = function(fname)
- return util.root_pattern 'hdl-prj.json'(fname) or util.find_git_ancestor(fname)
+ return util.root_pattern 'hdl-prj.json'(fname)
+ or vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
end,
single_file_support = true,
},
diff --git a/lua/lspconfig/configs/ginko_ls.lua b/lua/lspconfig/configs/ginko_ls.lua
index 61f9de60..f3627697 100644
--- a/lua/lspconfig/configs/ginko_ls.lua
+++ b/lua/lspconfig/configs/ginko_ls.lua
@@ -1,10 +1,10 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'ginko_ls' },
filetypes = { 'dts' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
settings = {},
},
docs = {
diff --git a/lua/lspconfig/configs/glasgow.lua b/lua/lspconfig/configs/glasgow.lua
index 2d86fccc..2f8d616b 100644
--- a/lua/lspconfig/configs/glasgow.lua
+++ b/lua/lspconfig/configs/glasgow.lua
@@ -1,10 +1,10 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'glasgow' },
filetypes = { 'wgsl' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
settings = {},
},
diff --git a/lua/lspconfig/configs/glsl_analyzer.lua b/lua/lspconfig/configs/glsl_analyzer.lua
index 74ffbba9..9155637d 100644
--- a/lua/lspconfig/configs/glsl_analyzer.lua
+++ b/lua/lspconfig/configs/glsl_analyzer.lua
@@ -1,10 +1,10 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'glsl_analyzer' },
filetypes = { 'glsl', 'vert', 'tesc', 'tese', 'frag', 'geom', 'comp' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
capabilities = {},
},
diff --git a/lua/lspconfig/configs/glslls.lua b/lua/lspconfig/configs/glslls.lua
index 7d1c3634..e8cfdeae 100644
--- a/lua/lspconfig/configs/glslls.lua
+++ b/lua/lspconfig/configs/glslls.lua
@@ -1,10 +1,10 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'glslls', '--stdin' },
filetypes = { 'glsl', 'vert', 'tesc', 'tese', 'frag', 'geom', 'comp' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
capabilities = {
textDocument = {
diff --git a/lua/lspconfig/configs/grammarly.lua b/lua/lspconfig/configs/grammarly.lua
index 9dc20b2f..db8a17e7 100644
--- a/lua/lspconfig/configs/grammarly.lua
+++ b/lua/lspconfig/configs/grammarly.lua
@@ -1,10 +1,10 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'grammarly-languageserver', '--stdio' },
filetypes = { 'markdown' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
handlers = {
['$/updateDocumentState'] = function()
diff --git a/lua/lspconfig/configs/groovyls.lua b/lua/lspconfig/configs/groovyls.lua
index b4182f4a..f35e80e4 100644
--- a/lua/lspconfig/configs/groovyls.lua
+++ b/lua/lspconfig/configs/groovyls.lua
@@ -9,7 +9,8 @@ return {
},
filetypes = { 'groovy' },
root_dir = function(fname)
- return util.root_pattern 'Jenkinsfile'(fname) or util.find_git_ancestor(fname)
+ return util.root_pattern 'Jenkinsfile'(fname)
+ or vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
end,
},
docs = {
diff --git a/lua/lspconfig/configs/guile_ls.lua b/lua/lspconfig/configs/guile_ls.lua
index fbd8e16c..32ca81dc 100644
--- a/lua/lspconfig/configs/guile_ls.lua
+++ b/lua/lspconfig/configs/guile_ls.lua
@@ -6,7 +6,8 @@ return {
'scheme.guile',
},
root_dir = function(fname)
- return util.root_pattern 'guix.scm'(fname) or util.find_git_ancestor(fname)
+ return util.root_pattern 'guix.scm'(fname)
+ or vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
end,
single_file_support = true,
},
diff --git a/lua/lspconfig/configs/harper_ls.lua b/lua/lspconfig/configs/harper_ls.lua
index 983e1b2e..9e7f1dc6 100644
--- a/lua/lspconfig/configs/harper_ls.lua
+++ b/lua/lspconfig/configs/harper_ls.lua
@@ -1,5 +1,3 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'harper-ls', '--stdio' },
@@ -23,7 +21,9 @@ return {
'typescript',
'typescriptreact',
},
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
},
docs = {
diff --git a/lua/lspconfig/configs/hdl_checker.lua b/lua/lspconfig/configs/hdl_checker.lua
index d29194ca..4c2f0d31 100644
--- a/lua/lspconfig/configs/hdl_checker.lua
+++ b/lua/lspconfig/configs/hdl_checker.lua
@@ -1,10 +1,10 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'hdl_checker', '--lsp' },
filetypes = { 'vhdl', 'verilog', 'systemverilog' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
},
docs = {
diff --git a/lua/lspconfig/configs/hoon_ls.lua b/lua/lspconfig/configs/hoon_ls.lua
index 1a9240b3..2f6a336f 100644
--- a/lua/lspconfig/configs/hoon_ls.lua
+++ b/lua/lspconfig/configs/hoon_ls.lua
@@ -1,10 +1,10 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'hoon-language-server' },
filetypes = { 'hoon' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
},
docs = {
diff --git a/lua/lspconfig/configs/htmx.lua b/lua/lspconfig/configs/htmx.lua
index fe7e1de5..68d9d83f 100644
--- a/lua/lspconfig/configs/htmx.lua
+++ b/lua/lspconfig/configs/htmx.lua
@@ -1,5 +1,3 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'htmx-lsp' },
@@ -53,7 +51,7 @@ return {
},
single_file_support = true,
root_dir = function(fname)
- return util.find_git_ancestor(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
end,
},
docs = {
diff --git a/lua/lspconfig/configs/hyprls.lua b/lua/lspconfig/configs/hyprls.lua
index 669e0e9b..0add68d3 100644
--- a/lua/lspconfig/configs/hyprls.lua
+++ b/lua/lspconfig/configs/hyprls.lua
@@ -1,10 +1,10 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'hyprls', '--stdio' },
filetypes = { 'hyprlang' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
},
docs = {
diff --git a/lua/lspconfig/configs/janet_lsp.lua b/lua/lspconfig/configs/janet_lsp.lua
index bc9c5bda..5d3ca1d5 100644
--- a/lua/lspconfig/configs/janet_lsp.lua
+++ b/lua/lspconfig/configs/janet_lsp.lua
@@ -7,7 +7,10 @@ return {
'--stdio',
},
filetypes = { 'janet' },
- root_dir = util.root_pattern 'project.janet' or util.find_git_ancestor(),
+ root_dir = function(fname)
+ return util.root_pattern 'project.janet'
+ or vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
},
docs = {
diff --git a/lua/lspconfig/configs/jinja_lsp.lua b/lua/lspconfig/configs/jinja_lsp.lua
index e372ee9b..787c3503 100644
--- a/lua/lspconfig/configs/jinja_lsp.lua
+++ b/lua/lspconfig/configs/jinja_lsp.lua
@@ -1,11 +1,11 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
name = 'jinja_lsp',
cmd = { 'jinja-lsp' },
filetypes = { 'jinja' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
},
docs = {
diff --git a/lua/lspconfig/configs/jqls.lua b/lua/lspconfig/configs/jqls.lua
index ec1bcaf7..4e110b98 100644
--- a/lua/lspconfig/configs/jqls.lua
+++ b/lua/lspconfig/configs/jqls.lua
@@ -1,9 +1,10 @@
-local util = require 'lspconfig.util'
return {
default_config = {
cmd = { 'jq-lsp' },
filetypes = { 'jq' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
},
docs = {
diff --git a/lua/lspconfig/configs/jsonls.lua b/lua/lspconfig/configs/jsonls.lua
index 17b7e2b6..ca0e57ea 100644
--- a/lua/lspconfig/configs/jsonls.lua
+++ b/lua/lspconfig/configs/jsonls.lua
@@ -1,5 +1,3 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'vscode-json-language-server', '--stdio' },
@@ -7,7 +5,9 @@ return {
init_options = {
provideFormatter = true,
},
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
},
docs = {
diff --git a/lua/lspconfig/configs/jsonnet_ls.lua b/lua/lspconfig/configs/jsonnet_ls.lua
index ebb6ba5d..284cd091 100644
--- a/lua/lspconfig/configs/jsonnet_ls.lua
+++ b/lua/lspconfig/configs/jsonnet_ls.lua
@@ -15,7 +15,8 @@ return {
filetypes = { 'jsonnet', 'libsonnet' },
single_file_support = true,
root_dir = function(fname)
- return util.root_pattern 'jsonnetfile.json'(fname) or util.find_git_ancestor(fname)
+ return util.root_pattern 'jsonnetfile.json'(fname)
+ or vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
end,
on_new_config = function(new_config, root_dir)
if not new_config.cmd_env then
diff --git a/lua/lspconfig/configs/julials.lua b/lua/lspconfig/configs/julials.lua
index c1a170a5..6a1ace90 100644
--- a/lua/lspconfig/configs/julials.lua
+++ b/lua/lspconfig/configs/julials.lua
@@ -98,7 +98,8 @@ return {
cmd = cmd,
filetypes = { 'julia' },
root_dir = function(fname)
- return util.root_pattern(unpack(root_files))(fname) or util.find_git_ancestor(fname)
+ return util.root_pattern(unpack(root_files))(fname)
+ or vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
end,
single_file_support = true,
},
diff --git a/lua/lspconfig/configs/koka.lua b/lua/lspconfig/configs/koka.lua
index 655cc963..db27a2e2 100644
--- a/lua/lspconfig/configs/koka.lua
+++ b/lua/lspconfig/configs/koka.lua
@@ -1,11 +1,11 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'koka', '--language-server', '--lsstdio' },
filetypes = { 'koka' },
single_file_support = true,
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
},
docs = {
diff --git a/lua/lspconfig/configs/kulala_ls.lua b/lua/lspconfig/configs/kulala_ls.lua
index fb5651ac..03d33889 100644
--- a/lua/lspconfig/configs/kulala_ls.lua
+++ b/lua/lspconfig/configs/kulala_ls.lua
@@ -1,10 +1,10 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'kulala-ls', '--stdio' },
filetypes = { 'http' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
},
docs = {
diff --git a/lua/lspconfig/configs/lean3ls.lua b/lua/lspconfig/configs/lean3ls.lua
index 645fbbbe..ea8cfa6f 100644
--- a/lua/lspconfig/configs/lean3ls.lua
+++ b/lua/lspconfig/configs/lean3ls.lua
@@ -19,7 +19,7 @@ return {
return util.root_pattern 'leanpkg.toml'(fname)
or util.root_pattern 'leanpkg.path'(fname)
or stdlib_dir
- or util.find_git_ancestor(fname)
+ or vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
end,
single_file_support = true,
},
diff --git a/lua/lspconfig/configs/leanls.lua b/lua/lspconfig/configs/leanls.lua
index c29b6417..4d2bfe5d 100644
--- a/lua/lspconfig/configs/leanls.lua
+++ b/lua/lspconfig/configs/leanls.lua
@@ -23,7 +23,7 @@ return {
return util.root_pattern('lakefile.toml', 'lakefile.lean', 'lean-toolchain')(fname)
or stdlib_dir
- or util.find_git_ancestor(fname)
+ or vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
end,
on_new_config = function(config, root_dir)
-- add root dir as command-line argument for `ps aux`
diff --git a/lua/lspconfig/configs/lelwel_ls.lua b/lua/lspconfig/configs/lelwel_ls.lua
index ac8c4560..9fd4a1b5 100644
--- a/lua/lspconfig/configs/lelwel_ls.lua
+++ b/lua/lspconfig/configs/lelwel_ls.lua
@@ -1,10 +1,10 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'lelwel-ls' },
filetypes = { 'llw' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
},
docs = {
description = [[
diff --git a/lua/lspconfig/configs/lemminx.lua b/lua/lspconfig/configs/lemminx.lua
index d8846d12..b6d84807 100644
--- a/lua/lspconfig/configs/lemminx.lua
+++ b/lua/lspconfig/configs/lemminx.lua
@@ -1,10 +1,10 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'lemminx' },
filetypes = { 'xml', 'xsd', 'xsl', 'xslt', 'svg' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
},
docs = {
diff --git a/lua/lspconfig/configs/lexical.lua b/lua/lspconfig/configs/lexical.lua
index 4d288737..509bdda5 100644
--- a/lua/lspconfig/configs/lexical.lua
+++ b/lua/lspconfig/configs/lexical.lua
@@ -4,7 +4,8 @@ return {
default_config = {
filetypes = { 'elixir', 'eelixir', 'heex', 'surface' },
root_dir = function(fname)
- return util.root_pattern 'mix.exs'(fname) or util.find_git_ancestor(fname)
+ return util.root_pattern 'mix.exs'(fname)
+ or vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
end,
single_file_support = true,
},
diff --git a/lua/lspconfig/configs/ltex.lua b/lua/lspconfig/configs/ltex.lua
index 4a3ae0f4..4cc85a8d 100644
--- a/lua/lspconfig/configs/ltex.lua
+++ b/lua/lspconfig/configs/ltex.lua
@@ -1,5 +1,3 @@
-local util = require 'lspconfig.util'
-
local language_id_mapping = {
bib = 'bibtex',
plaintex = 'tex',
@@ -53,7 +51,9 @@ return {
default_config = {
cmd = { 'ltex-ls' },
filetypes = filetypes,
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
get_language_id = get_language_id,
settings = {
diff --git a/lua/lspconfig/configs/ltex_plus.lua b/lua/lspconfig/configs/ltex_plus.lua
index c6555b99..915f0451 100644
--- a/lua/lspconfig/configs/ltex_plus.lua
+++ b/lua/lspconfig/configs/ltex_plus.lua
@@ -1,5 +1,3 @@
-local util = require 'lspconfig.util'
-
local language_id_mapping = {
bib = 'bibtex',
pandoc = 'markdown',
@@ -37,7 +35,9 @@ return {
'typst',
'xhtml',
},
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
get_language_id = get_language_id,
settings = {
diff --git a/lua/lspconfig/configs/lua_ls.lua b/lua/lspconfig/configs/lua_ls.lua
index 64b81449..abdef096 100644
--- a/lua/lspconfig/configs/lua_ls.lua
+++ b/lua/lspconfig/configs/lua_ls.lua
@@ -20,7 +20,7 @@ return {
return root
end
local root_lua = util.root_pattern 'lua/'(fname) or ''
- local root_git = util.find_git_ancestor(fname) or ''
+ local root_git = vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1]) or ''
if root_lua == '' and root_git == '' then
return
end
diff --git a/lua/lspconfig/configs/luau_lsp.lua b/lua/lspconfig/configs/luau_lsp.lua
index 0579723d..ace540ff 100644
--- a/lua/lspconfig/configs/luau_lsp.lua
+++ b/lua/lspconfig/configs/luau_lsp.lua
@@ -1,10 +1,10 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'luau-lsp', 'lsp' },
filetypes = { 'luau' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
},
docs = {
diff --git a/lua/lspconfig/configs/marko-js.lua b/lua/lspconfig/configs/marko-js.lua
index 5693078b..fcfc82b4 100644
--- a/lua/lspconfig/configs/marko-js.lua
+++ b/lua/lspconfig/configs/marko-js.lua
@@ -1,10 +1,10 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'marko-language-server', '--stdio' },
filetypes = { 'marko' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
},
docs = {
description = [[
diff --git a/lua/lspconfig/configs/marksman.lua b/lua/lspconfig/configs/marksman.lua
index 7a6b9e3e..47446a67 100644
--- a/lua/lspconfig/configs/marksman.lua
+++ b/lua/lspconfig/configs/marksman.lua
@@ -9,7 +9,8 @@ return {
filetypes = { 'markdown', 'markdown.mdx' },
root_dir = function(fname)
local root_files = { '.marksman.toml' }
- return util.root_pattern(unpack(root_files))(fname) or util.find_git_ancestor(fname)
+ return util.root_pattern(unpack(root_files))(fname)
+ or vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
end,
single_file_support = true,
},
diff --git a/lua/lspconfig/configs/matlab_ls.lua b/lua/lspconfig/configs/matlab_ls.lua
index cadc60b0..dee21983 100644
--- a/lua/lspconfig/configs/matlab_ls.lua
+++ b/lua/lspconfig/configs/matlab_ls.lua
@@ -1,10 +1,10 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'matlab-language-server', '--stdio' },
filetypes = { 'matlab' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = false,
settings = {
MATLAB = {
diff --git a/lua/lspconfig/configs/mint.lua b/lua/lspconfig/configs/mint.lua
index 7fde1c40..edd6c3d0 100644
--- a/lua/lspconfig/configs/mint.lua
+++ b/lua/lspconfig/configs/mint.lua
@@ -5,7 +5,8 @@ return {
cmd = { 'mint', 'ls' },
filetypes = { 'mint' },
root_dir = function(fname)
- return util.root_pattern 'mint.json'(fname) or util.find_git_ancestor(fname)
+ return util.root_pattern 'mint.json'(fname)
+ or vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
end,
single_file_support = true,
},
diff --git a/lua/lspconfig/configs/mlir_lsp_server.lua b/lua/lspconfig/configs/mlir_lsp_server.lua
index 22a71268..950ed01c 100644
--- a/lua/lspconfig/configs/mlir_lsp_server.lua
+++ b/lua/lspconfig/configs/mlir_lsp_server.lua
@@ -1,10 +1,10 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'mlir-lsp-server' },
filetypes = { 'mlir' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
},
docs = {
diff --git a/lua/lspconfig/configs/mlir_pdll_lsp_server.lua b/lua/lspconfig/configs/mlir_pdll_lsp_server.lua
index e24d634f..fa79df6b 100644
--- a/lua/lspconfig/configs/mlir_pdll_lsp_server.lua
+++ b/lua/lspconfig/configs/mlir_pdll_lsp_server.lua
@@ -5,7 +5,8 @@ return {
cmd = { 'mlir-pdll-lsp-server' },
filetypes = { 'pdll' },
root_dir = function(fname)
- return util.root_pattern 'pdll_compile_commands.yml'(fname) or util.find_git_ancestor(fname)
+ return util.root_pattern 'pdll_compile_commands.yml'(fname)
+ or vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
end,
},
docs = {
diff --git a/lua/lspconfig/configs/mm0_ls.lua b/lua/lspconfig/configs/mm0_ls.lua
index 513bbeb9..bb555e85 100644
--- a/lua/lspconfig/configs/mm0_ls.lua
+++ b/lua/lspconfig/configs/mm0_ls.lua
@@ -1,9 +1,9 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'mm0-rs', 'server' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
filetypes = { 'metamath-zero' },
single_file_support = true,
},
diff --git a/lua/lspconfig/configs/mojo.lua b/lua/lspconfig/configs/mojo.lua
index 9e975585..7865e6a5 100644
--- a/lua/lspconfig/configs/mojo.lua
+++ b/lua/lspconfig/configs/mojo.lua
@@ -1,10 +1,10 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'mojo-lsp-server' },
filetypes = { 'mojo' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
},
docs = {
diff --git a/lua/lspconfig/configs/msbuild_project_tools_server.lua b/lua/lspconfig/configs/msbuild_project_tools_server.lua
index 244efce9..f9abba3e 100644
--- a/lua/lspconfig/configs/msbuild_project_tools_server.lua
+++ b/lua/lspconfig/configs/msbuild_project_tools_server.lua
@@ -1,11 +1,11 @@
-local util = require 'lspconfig.util'
-
local host_dll_name = 'MSBuildProjectTools.LanguageServer.Host.dll'
return {
default_config = {
filetypes = { 'xml.csproj', 'xml.fsproj', 'sln' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
init_options = {},
cmd = { 'dotnet', host_dll_name },
},
diff --git a/lua/lspconfig/configs/mutt_ls.lua b/lua/lspconfig/configs/mutt_ls.lua
index 91af9c5f..00e5c59d 100644
--- a/lua/lspconfig/configs/mutt_ls.lua
+++ b/lua/lspconfig/configs/mutt_ls.lua
@@ -1,10 +1,10 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'mutt-language-server' },
filetypes = { 'muttrc', 'neomuttrc' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
settings = {},
},
diff --git a/lua/lspconfig/configs/nextls.lua b/lua/lspconfig/configs/nextls.lua
index acecaf76..feb428d2 100644
--- a/lua/lspconfig/configs/nextls.lua
+++ b/lua/lspconfig/configs/nextls.lua
@@ -4,7 +4,8 @@ return {
default_config = {
filetypes = { 'elixir', 'eelixir', 'heex', 'surface' },
root_dir = function(fname)
- return util.root_pattern 'mix.exs'(fname) or util.find_git_ancestor(fname)
+ return util.root_pattern 'mix.exs'(fname)
+ or vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
end,
single_file_support = true,
},
diff --git a/lua/lspconfig/configs/nginx_language_server.lua b/lua/lspconfig/configs/nginx_language_server.lua
index 9dfc0b5d..a4b9fb7d 100644
--- a/lua/lspconfig/configs/nginx_language_server.lua
+++ b/lua/lspconfig/configs/nginx_language_server.lua
@@ -5,7 +5,8 @@ return {
cmd = { 'nginx-language-server' },
filetypes = { 'nginx' },
root_dir = function(fname)
- return util.root_pattern('nginx.conf', '.git')(fname) or util.find_git_ancestor(fname)
+ return util.root_pattern('nginx.conf', '.git')(fname)
+ or vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
end,
single_file_support = true,
},
diff --git a/lua/lspconfig/configs/nickel_ls.lua b/lua/lspconfig/configs/nickel_ls.lua
index 391abfee..4e6b0021 100644
--- a/lua/lspconfig/configs/nickel_ls.lua
+++ b/lua/lspconfig/configs/nickel_ls.lua
@@ -1,10 +1,10 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'nls' },
filetypes = { 'ncl', 'nickel' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
},
docs = {
diff --git a/lua/lspconfig/configs/nim_langserver.lua b/lua/lspconfig/configs/nim_langserver.lua
index f3c48273..2ab7b36d 100644
--- a/lua/lspconfig/configs/nim_langserver.lua
+++ b/lua/lspconfig/configs/nim_langserver.lua
@@ -5,7 +5,8 @@ return {
cmd = { 'nimlangserver' },
filetypes = { 'nim' },
root_dir = function(fname)
- return util.root_pattern '*.nimble'(fname) or util.find_git_ancestor(fname)
+ return util.root_pattern '*.nimble'(fname)
+ or vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
end,
single_file_support = true,
},
diff --git a/lua/lspconfig/configs/nimls.lua b/lua/lspconfig/configs/nimls.lua
index 3c1aeb2b..351abc8c 100644
--- a/lua/lspconfig/configs/nimls.lua
+++ b/lua/lspconfig/configs/nimls.lua
@@ -5,7 +5,8 @@ return {
cmd = { 'nimlsp' },
filetypes = { 'nim' },
root_dir = function(fname)
- return util.root_pattern '*.nimble'(fname) or util.find_git_ancestor(fname)
+ return util.root_pattern '*.nimble'(fname)
+ or vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
end,
single_file_support = true,
},
diff --git a/lua/lspconfig/configs/nixd.lua b/lua/lspconfig/configs/nixd.lua
index c5859df8..98ec74c0 100644
--- a/lua/lspconfig/configs/nixd.lua
+++ b/lua/lspconfig/configs/nixd.lua
@@ -6,7 +6,8 @@ return {
filetypes = { 'nix' },
single_file_support = true,
root_dir = function(fname)
- return util.root_pattern 'flake.nix'(fname) or util.find_git_ancestor(fname)
+ return util.root_pattern 'flake.nix'(fname)
+ or vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
end,
},
docs = {
diff --git a/lua/lspconfig/configs/nushell.lua b/lua/lspconfig/configs/nushell.lua
index 2e3a9237..a51f452e 100644
--- a/lua/lspconfig/configs/nushell.lua
+++ b/lua/lspconfig/configs/nushell.lua
@@ -1,10 +1,10 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'nu', '--lsp' },
filetypes = { 'nu' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
},
docs = {
diff --git a/lua/lspconfig/configs/opencl_ls.lua b/lua/lspconfig/configs/opencl_ls.lua
index 9d59bebc..387bd22b 100644
--- a/lua/lspconfig/configs/opencl_ls.lua
+++ b/lua/lspconfig/configs/opencl_ls.lua
@@ -1,10 +1,10 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'opencl-language-server' },
filetypes = { 'opencl' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
},
docs = {
description = [[
diff --git a/lua/lspconfig/configs/openscad_ls.lua b/lua/lspconfig/configs/openscad_ls.lua
index e5ca9cac..d5f5f829 100644
--- a/lua/lspconfig/configs/openscad_ls.lua
+++ b/lua/lspconfig/configs/openscad_ls.lua
@@ -1,10 +1,10 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'openscad-language-server' },
filetypes = { 'openscad' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
},
docs = {
diff --git a/lua/lspconfig/configs/openscad_lsp.lua b/lua/lspconfig/configs/openscad_lsp.lua
index f00a3774..59a7f3af 100644
--- a/lua/lspconfig/configs/openscad_lsp.lua
+++ b/lua/lspconfig/configs/openscad_lsp.lua
@@ -1,10 +1,10 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'openscad-lsp', '--stdio' },
filetypes = { 'openscad' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
},
docs = {
diff --git a/lua/lspconfig/configs/pact_ls.lua b/lua/lspconfig/configs/pact_ls.lua
index 1eb89769..909814df 100644
--- a/lua/lspconfig/configs/pact_ls.lua
+++ b/lua/lspconfig/configs/pact_ls.lua
@@ -1,10 +1,10 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'pact-lsp' },
filetypes = { 'pact' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
},
docs = {
diff --git a/lua/lspconfig/configs/perlls.lua b/lua/lspconfig/configs/perlls.lua
index 88f015e2..68e55727 100644
--- a/lua/lspconfig/configs/perlls.lua
+++ b/lua/lspconfig/configs/perlls.lua
@@ -1,5 +1,3 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = {
@@ -20,7 +18,9 @@ return {
},
},
filetypes = { 'perl' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
},
docs = {
diff --git a/lua/lspconfig/configs/perlnavigator.lua b/lua/lspconfig/configs/perlnavigator.lua
index d3c8f7f0..36193ab5 100644
--- a/lua/lspconfig/configs/perlnavigator.lua
+++ b/lua/lspconfig/configs/perlnavigator.lua
@@ -1,10 +1,10 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'perlnavigator' },
filetypes = { 'perl' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
},
docs = {
diff --git a/lua/lspconfig/configs/perlpls.lua b/lua/lspconfig/configs/perlpls.lua
index b10c8f02..bb8a3185 100644
--- a/lua/lspconfig/configs/perlpls.lua
+++ b/lua/lspconfig/configs/perlpls.lua
@@ -1,5 +1,3 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'pls' },
@@ -10,7 +8,9 @@ return {
},
},
filetypes = { 'perl' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
},
docs = {
diff --git a/lua/lspconfig/configs/pest_ls.lua b/lua/lspconfig/configs/pest_ls.lua
index 4a56ea9f..26a08d00 100644
--- a/lua/lspconfig/configs/pest_ls.lua
+++ b/lua/lspconfig/configs/pest_ls.lua
@@ -1,10 +1,10 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'pest-language-server' },
filetypes = { 'pest' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
},
docs = {
diff --git a/lua/lspconfig/configs/pkgbuild_language_server.lua b/lua/lspconfig/configs/pkgbuild_language_server.lua
index 4a51b84d..f1962dcd 100644
--- a/lua/lspconfig/configs/pkgbuild_language_server.lua
+++ b/lua/lspconfig/configs/pkgbuild_language_server.lua
@@ -1,10 +1,10 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'pkgbuild-language-server' },
filetypes = { 'PKGBUILD' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
},
docs = {
description = [[
diff --git a/lua/lspconfig/configs/poryscript_pls.lua b/lua/lspconfig/configs/poryscript_pls.lua
index 02918768..43b2a503 100644
--- a/lua/lspconfig/configs/poryscript_pls.lua
+++ b/lua/lspconfig/configs/poryscript_pls.lua
@@ -1,10 +1,10 @@
-local util = require('lspconfig.util')
-
return {
default_config = {
cmd = { 'poryscript-pls' },
filetypes = { 'pory' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
},
docs = {
diff --git a/lua/lspconfig/configs/powershell_es.lua b/lua/lspconfig/configs/powershell_es.lua
index f39424ae..fdc7ba33 100644
--- a/lua/lspconfig/configs/powershell_es.lua
+++ b/lua/lspconfig/configs/powershell_es.lua
@@ -1,5 +1,3 @@
-local util = require 'lspconfig.util'
-
local temp_path = vim.fn.stdpath 'cache'
local function make_cmd(new_config)
@@ -22,7 +20,9 @@ return {
end,
filetypes = { 'ps1' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
},
docs = {
diff --git a/lua/lspconfig/configs/prosemd_lsp.lua b/lua/lspconfig/configs/prosemd_lsp.lua
index 639bf1ee..8e72a3ad 100644
--- a/lua/lspconfig/configs/prosemd_lsp.lua
+++ b/lua/lspconfig/configs/prosemd_lsp.lua
@@ -1,10 +1,10 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'prosemd-lsp', '--stdio' },
filetypes = { 'markdown' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
},
docs = {
diff --git a/lua/lspconfig/configs/protols.lua b/lua/lspconfig/configs/protols.lua
index 2df30b0d..87b22106 100644
--- a/lua/lspconfig/configs/protols.lua
+++ b/lua/lspconfig/configs/protols.lua
@@ -1,11 +1,11 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'protols' },
filetypes = { 'proto' },
single_file_support = true,
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
},
docs = {
description = [[
diff --git a/lua/lspconfig/configs/pylsp.lua b/lua/lspconfig/configs/pylsp.lua
index d76b2ea3..516547a3 100644
--- a/lua/lspconfig/configs/pylsp.lua
+++ b/lua/lspconfig/configs/pylsp.lua
@@ -12,7 +12,8 @@ return {
'requirements.txt',
'Pipfile',
}
- return util.root_pattern(unpack(root_files))(fname) or util.find_git_ancestor(fname)
+ return util.root_pattern(unpack(root_files))(fname)
+ or vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
end,
single_file_support = true,
},
diff --git a/lua/lspconfig/configs/pylyzer.lua b/lua/lspconfig/configs/pylyzer.lua
index 34a4914b..f0f60f28 100644
--- a/lua/lspconfig/configs/pylyzer.lua
+++ b/lua/lspconfig/configs/pylyzer.lua
@@ -12,7 +12,8 @@ return {
'Pipfile',
'pyproject.toml',
}
- return util.root_pattern(unpack(root_files))(fname) or util.find_git_ancestor(fname)
+ return util.root_pattern(unpack(root_files))(fname)
+ or vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
end,
single_file_support = true,
settings = {
diff --git a/lua/lspconfig/configs/qmlls.lua b/lua/lspconfig/configs/qmlls.lua
index b0451594..07bcaf66 100644
--- a/lua/lspconfig/configs/qmlls.lua
+++ b/lua/lspconfig/configs/qmlls.lua
@@ -1,11 +1,9 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'qmlls' },
filetypes = { 'qml', 'qmljs' },
root_dir = function(fname)
- return util.find_git_ancestor(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
end,
single_file_support = true,
},
diff --git a/lua/lspconfig/configs/r_language_server.lua b/lua/lspconfig/configs/r_language_server.lua
index c2aca7a8..5ed5d667 100644
--- a/lua/lspconfig/configs/r_language_server.lua
+++ b/lua/lspconfig/configs/r_language_server.lua
@@ -1,11 +1,9 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'R', '--no-echo', '-e', 'languageserver::run()' },
filetypes = { 'r', 'rmd' },
root_dir = function(fname)
- return util.find_git_ancestor(fname) or vim.loop.os_homedir()
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1]) or vim.loop.os_homedir()
end,
log_level = vim.lsp.protocol.MessageType.Warning,
},
diff --git a/lua/lspconfig/configs/racket_langserver.lua b/lua/lspconfig/configs/racket_langserver.lua
index 25bd0ab1..fa154e1e 100644
--- a/lua/lspconfig/configs/racket_langserver.lua
+++ b/lua/lspconfig/configs/racket_langserver.lua
@@ -1,10 +1,10 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'racket', '--lib', 'racket-langserver' },
filetypes = { 'racket', 'scheme' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
},
docs = {
diff --git a/lua/lspconfig/configs/raku_navigator.lua b/lua/lspconfig/configs/raku_navigator.lua
index 26ff321e..bc47c9ac 100644
--- a/lua/lspconfig/configs/raku_navigator.lua
+++ b/lua/lspconfig/configs/raku_navigator.lua
@@ -1,10 +1,10 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = {},
filetypes = { 'raku' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
},
docs = {
diff --git a/lua/lspconfig/configs/regal.lua b/lua/lspconfig/configs/regal.lua
index 93c4c959..3f58acbd 100644
--- a/lua/lspconfig/configs/regal.lua
+++ b/lua/lspconfig/configs/regal.lua
@@ -5,7 +5,8 @@ return {
cmd = { 'regal', 'language-server' },
filetypes = { 'rego' },
root_dir = function(fname)
- return util.root_pattern '*.rego'(fname) or util.find_git_ancestor(fname)
+ return util.root_pattern '*.rego'(fname)
+ or vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
end,
single_file_support = true,
},
diff --git a/lua/lspconfig/configs/regols.lua b/lua/lspconfig/configs/regols.lua
index 63c6a3f0..f5854fb6 100644
--- a/lua/lspconfig/configs/regols.lua
+++ b/lua/lspconfig/configs/regols.lua
@@ -5,7 +5,8 @@ return {
cmd = { 'regols' },
filetypes = { 'rego' },
root_dir = function(fname)
- return util.root_pattern '*.rego'(fname) or util.find_git_ancestor(fname)
+ return util.root_pattern '*.rego'(fname)
+ or vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
end,
single_file_support = true,
},
diff --git a/lua/lspconfig/configs/rnix.lua b/lua/lspconfig/configs/rnix.lua
index fe6a8b8a..b3bc1ca0 100644
--- a/lua/lspconfig/configs/rnix.lua
+++ b/lua/lspconfig/configs/rnix.lua
@@ -1,11 +1,9 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'rnix-lsp' },
filetypes = { 'nix' },
root_dir = function(fname)
- return util.find_git_ancestor(fname) or vim.loop.os_homedir()
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1]) or vim.loop.os_homedir()
end,
settings = {},
init_options = {},
diff --git a/lua/lspconfig/configs/robotcode.lua b/lua/lspconfig/configs/robotcode.lua
index 95dc86e2..79f3337b 100644
--- a/lua/lspconfig/configs/robotcode.lua
+++ b/lua/lspconfig/configs/robotcode.lua
@@ -17,7 +17,7 @@ https://robotcode.io
RobotCode - Language Server Protocol implementation for Robot Framework.
]],
default_config = {
- root_dir = "util.root_pattern('robot.toml', 'pyproject.toml', 'Pipfile')(fname) or util.find_git_ancestor(fname)",
+ root_dir = "util.root_pattern('robot.toml', 'pyproject.toml', 'Pipfile')(fname) or vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])",
settings = {},
},
},
diff --git a/lua/lspconfig/configs/robotframework_ls.lua b/lua/lspconfig/configs/robotframework_ls.lua
index e5d09a7f..934fb8c2 100644
--- a/lua/lspconfig/configs/robotframework_ls.lua
+++ b/lua/lspconfig/configs/robotframework_ls.lua
@@ -6,7 +6,7 @@ return {
filetypes = { 'robot' },
root_dir = function(fname)
return util.root_pattern('robotidy.toml', 'pyproject.toml', 'conda.yaml', 'robot.yaml')(fname)
- or util.find_git_ancestor(fname)
+ or vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
end,
},
docs = {
diff --git a/lua/lspconfig/configs/roc_ls.lua b/lua/lspconfig/configs/roc_ls.lua
index 874ac140..877506d3 100644
--- a/lua/lspconfig/configs/roc_ls.lua
+++ b/lua/lspconfig/configs/roc_ls.lua
@@ -1,10 +1,10 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'roc_language_server' },
filetypes = { 'roc' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
},
docs = {
diff --git a/lua/lspconfig/configs/rome.lua b/lua/lspconfig/configs/rome.lua
index 7a9092d5..99acb0df 100644
--- a/lua/lspconfig/configs/rome.lua
+++ b/lua/lspconfig/configs/rome.lua
@@ -1,5 +1,3 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'rome', 'lsp-proxy' },
@@ -14,7 +12,7 @@ return {
root_dir = function(fname)
return vim.fs.dirname(vim.fs.find('package.json', { path = fname, upward = true })[1])
or vim.fs.dirname(vim.fs.find('node_modules', { path = fname, upward = true })[1])
- or util.find_git_ancestor(fname)
+ or vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
end,
single_file_support = true,
},
diff --git a/lua/lspconfig/configs/ruff.lua b/lua/lspconfig/configs/ruff.lua
index dd295f3f..dbe5718b 100644
--- a/lua/lspconfig/configs/ruff.lua
+++ b/lua/lspconfig/configs/ruff.lua
@@ -4,7 +4,10 @@ return {
default_config = {
cmd = { 'ruff', 'server' },
filetypes = { 'python' },
- root_dir = util.root_pattern('pyproject.toml', 'ruff.toml', '.ruff.toml') or util.find_git_ancestor(),
+ root_dir = function(fname)
+ return util.root_pattern('pyproject.toml', 'ruff.toml', '.ruff.toml')
+ or vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
settings = {},
},
diff --git a/lua/lspconfig/configs/ruff_lsp.lua b/lua/lspconfig/configs/ruff_lsp.lua
index 7d92aa88..e304a522 100644
--- a/lua/lspconfig/configs/ruff_lsp.lua
+++ b/lua/lspconfig/configs/ruff_lsp.lua
@@ -4,7 +4,10 @@ return {
default_config = {
cmd = { 'ruff-lsp' },
filetypes = { 'python' },
- root_dir = util.root_pattern('pyproject.toml', 'ruff.toml') or util.find_git_ancestor(),
+ root_dir = function(fname)
+ return util.root_pattern('pyproject.toml', 'ruff.toml')
+ or vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
settings = {},
},
diff --git a/lua/lspconfig/configs/rune_languageserver.lua b/lua/lspconfig/configs/rune_languageserver.lua
index 8564838b..f0514b07 100644
--- a/lua/lspconfig/configs/rune_languageserver.lua
+++ b/lua/lspconfig/configs/rune_languageserver.lua
@@ -1,10 +1,10 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'rune-languageserver' },
filetypes = { 'rune' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
},
docs = {
diff --git a/lua/lspconfig/configs/rust_analyzer.lua b/lua/lspconfig/configs/rust_analyzer.lua
index 8bcde6c9..fbea04e4 100644
--- a/lua/lspconfig/configs/rust_analyzer.lua
+++ b/lua/lspconfig/configs/rust_analyzer.lua
@@ -70,7 +70,7 @@ return {
return cargo_workspace_root
or cargo_crate_dir
or util.root_pattern 'rust-project.json'(fname)
- or util.find_git_ancestor(fname)
+ or vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
end,
capabilities = {
experimental = {
diff --git a/lua/lspconfig/configs/salt_ls.lua b/lua/lspconfig/configs/salt_ls.lua
index fae26411..8bf5d81b 100644
--- a/lua/lspconfig/configs/salt_ls.lua
+++ b/lua/lspconfig/configs/salt_ls.lua
@@ -1,10 +1,10 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'salt_lsp_server' },
filetypes = { 'sls' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
},
docs = {
diff --git a/lua/lspconfig/configs/scry.lua b/lua/lspconfig/configs/scry.lua
index eaa2acd9..9566517a 100644
--- a/lua/lspconfig/configs/scry.lua
+++ b/lua/lspconfig/configs/scry.lua
@@ -5,7 +5,8 @@ return {
cmd = { 'scry' },
filetypes = { 'crystal' },
root_dir = function(fname)
- return util.root_pattern 'shard.yml'(fname) or util.find_git_ancestor(fname)
+ return util.root_pattern 'shard.yml'(fname)
+ or vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
end,
single_file_support = true,
},
diff --git a/lua/lspconfig/configs/slangd.lua b/lua/lspconfig/configs/slangd.lua
index 9b320bd5..f04fdae3 100644
--- a/lua/lspconfig/configs/slangd.lua
+++ b/lua/lspconfig/configs/slangd.lua
@@ -1,4 +1,3 @@
-local util = require 'lspconfig.util'
local bin_name = 'slangd'
if vim.fn.has 'win32' == 1 then
@@ -9,7 +8,9 @@ return {
default_config = {
cmd = { bin_name },
filetypes = { 'hlsl', 'shaderslang' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
},
docs = {
diff --git a/lua/lspconfig/configs/slint_lsp.lua b/lua/lspconfig/configs/slint_lsp.lua
index bdd36597..c08f67c5 100644
--- a/lua/lspconfig/configs/slint_lsp.lua
+++ b/lua/lspconfig/configs/slint_lsp.lua
@@ -1,10 +1,10 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'slint-lsp' },
filetypes = { 'slint' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
},
docs = {
diff --git a/lua/lspconfig/configs/solang.lua b/lua/lspconfig/configs/solang.lua
index 36609715..20cca41d 100644
--- a/lua/lspconfig/configs/solang.lua
+++ b/lua/lspconfig/configs/solang.lua
@@ -1,10 +1,10 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'solang', 'language-server', '--target', 'evm' },
filetypes = { 'solidity' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
},
docs = {
description = [[
diff --git a/lua/lspconfig/configs/sourcekit.lua b/lua/lspconfig/configs/sourcekit.lua
index 2cf39e93..99a61f61 100644
--- a/lua/lspconfig/configs/sourcekit.lua
+++ b/lua/lspconfig/configs/sourcekit.lua
@@ -9,7 +9,7 @@ return {
or util.root_pattern('*.xcodeproj', '*.xcworkspace')(filename)
-- better to keep it at the end, because some modularized apps contain multiple Package.swift files
or util.root_pattern('compile_commands.json', 'Package.swift')(filename)
- or util.find_git_ancestor(filename)
+ or vim.fs.dirname(vim.fs.find('.git', { path = filename, upward = true })[1])
end,
get_language_id = function(_, ftype)
local t = { objc = 'objective-c', objcpp = 'objective-cpp' }
diff --git a/lua/lspconfig/configs/sourcery.lua b/lua/lspconfig/configs/sourcery.lua
index 44340f13..40b3e138 100644
--- a/lua/lspconfig/configs/sourcery.lua
+++ b/lua/lspconfig/configs/sourcery.lua
@@ -38,7 +38,8 @@ return {
token = nil,
},
root_dir = function(fname)
- return util.root_pattern(unpack(root_files))(fname) or util.find_git_ancestor(fname)
+ return util.root_pattern(unpack(root_files))(fname)
+ or vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
end,
single_file_support = true,
},
diff --git a/lua/lspconfig/configs/starlark_rust.lua b/lua/lspconfig/configs/starlark_rust.lua
index 36b828f1..e1c64619 100644
--- a/lua/lspconfig/configs/starlark_rust.lua
+++ b/lua/lspconfig/configs/starlark_rust.lua
@@ -1,10 +1,10 @@
-local util = require 'lspconfig/util'
-
return {
default_config = {
cmd = { 'starlark', '--lsp' },
filetypes = { 'star', 'bzl', 'BUILD.bazel' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
},
docs = {
description = [[
diff --git a/lua/lspconfig/configs/superhtml.lua b/lua/lspconfig/configs/superhtml.lua
index 3403e919..0a61e9a0 100644
--- a/lua/lspconfig/configs/superhtml.lua
+++ b/lua/lspconfig/configs/superhtml.lua
@@ -1,10 +1,10 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'superhtml', 'lsp' },
filetypes = { 'superhtml', 'html' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
},
docs = {
diff --git a/lua/lspconfig/configs/svlangserver.lua b/lua/lspconfig/configs/svlangserver.lua
index fe356589..7863e21d 100644
--- a/lua/lspconfig/configs/svlangserver.lua
+++ b/lua/lspconfig/configs/svlangserver.lua
@@ -20,7 +20,8 @@ return {
cmd = { 'svlangserver' },
filetypes = { 'verilog', 'systemverilog' },
root_dir = function(fname)
- return util.root_pattern '.svlangserver'(fname) or util.find_git_ancestor(fname)
+ return util.root_pattern '.svlangserver'(fname)
+ or vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
end,
single_file_support = true,
settings = {
diff --git a/lua/lspconfig/configs/svls.lua b/lua/lspconfig/configs/svls.lua
index 86243f99..fe4ebfaa 100644
--- a/lua/lspconfig/configs/svls.lua
+++ b/lua/lspconfig/configs/svls.lua
@@ -1,10 +1,10 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'svls' },
filetypes = { 'verilog', 'systemverilog' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
},
docs = {
description = [[
diff --git a/lua/lspconfig/configs/tabby_ml.lua b/lua/lspconfig/configs/tabby_ml.lua
index f56a8299..b8f3ee75 100644
--- a/lua/lspconfig/configs/tabby_ml.lua
+++ b/lua/lspconfig/configs/tabby_ml.lua
@@ -1,10 +1,10 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'tabby-agent', '--lsp', '--stdio' },
filetypes = {},
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
},
docs = {
diff --git a/lua/lspconfig/configs/tailwindcss.lua b/lua/lspconfig/configs/tailwindcss.lua
index 8ef9a081..9bbf70f1 100644
--- a/lua/lspconfig/configs/tailwindcss.lua
+++ b/lua/lspconfig/configs/tailwindcss.lua
@@ -111,7 +111,7 @@ return {
'postcss.config.ts'
)(fname) or vim.fs.dirname(vim.fs.find('package.json', { path = fname, upward = true })[1]) or vim.fs.dirname(
vim.fs.find('node_modules', { path = fname, upward = true })[1]
- ) or util.find_git_ancestor(fname)
+ ) or vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
end,
},
docs = {
diff --git a/lua/lspconfig/configs/taplo.lua b/lua/lspconfig/configs/taplo.lua
index 4e7f11ed..079b7344 100644
--- a/lua/lspconfig/configs/taplo.lua
+++ b/lua/lspconfig/configs/taplo.lua
@@ -1,10 +1,10 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'taplo', 'lsp', 'stdio' },
filetypes = { 'toml' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
},
docs = {
diff --git a/lua/lspconfig/configs/tblgen_lsp_server.lua b/lua/lspconfig/configs/tblgen_lsp_server.lua
index 73022d4a..ccb44bb6 100644
--- a/lua/lspconfig/configs/tblgen_lsp_server.lua
+++ b/lua/lspconfig/configs/tblgen_lsp_server.lua
@@ -5,7 +5,8 @@ return {
cmd = { 'tblgen-lsp-server' },
filetypes = { 'tablegen' },
root_dir = function(fname)
- return util.root_pattern 'tablegen_compile_commands.yml'(fname) or util.find_git_ancestor(fname)
+ return util.root_pattern 'tablegen_compile_commands.yml'(fname)
+ or vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
end,
},
docs = {
diff --git a/lua/lspconfig/configs/textlsp.lua b/lua/lspconfig/configs/textlsp.lua
index e4f7a91a..3f3efe36 100644
--- a/lua/lspconfig/configs/textlsp.lua
+++ b/lua/lspconfig/configs/textlsp.lua
@@ -1,10 +1,10 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'textlsp' },
filetypes = { 'text', 'tex', 'org' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
settings = {
textLSP = {
diff --git a/lua/lspconfig/configs/tilt_ls.lua b/lua/lspconfig/configs/tilt_ls.lua
index a507ead2..c533e379 100644
--- a/lua/lspconfig/configs/tilt_ls.lua
+++ b/lua/lspconfig/configs/tilt_ls.lua
@@ -1,10 +1,10 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'tilt', 'lsp', 'start' },
filetypes = { 'tiltfile' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
},
docs = {
diff --git a/lua/lspconfig/configs/tinymist.lua b/lua/lspconfig/configs/tinymist.lua
index 9fdb6d31..21c6aa00 100644
--- a/lua/lspconfig/configs/tinymist.lua
+++ b/lua/lspconfig/configs/tinymist.lua
@@ -1,10 +1,10 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'tinymist' },
filetypes = { 'typst' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
},
docs = {
diff --git a/lua/lspconfig/configs/turtle_ls.lua b/lua/lspconfig/configs/turtle_ls.lua
index 220953fd..0528b7fc 100644
--- a/lua/lspconfig/configs/turtle_ls.lua
+++ b/lua/lspconfig/configs/turtle_ls.lua
@@ -31,7 +31,7 @@ return {
cmd = { 'node', full_path, '--stdio' },
filetypes = { 'turtle', 'ttl' },
root_dir = function(fname)
- return util.find_git_ancestor(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
end,
},
docs = {
diff --git a/lua/lspconfig/configs/typst_lsp.lua b/lua/lspconfig/configs/typst_lsp.lua
index 4d8ec17d..5bad8510 100644
--- a/lua/lspconfig/configs/typst_lsp.lua
+++ b/lua/lspconfig/configs/typst_lsp.lua
@@ -1,12 +1,10 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'typst-lsp' },
filetypes = { 'typst' },
single_file_support = true,
root_dir = function(fname)
- return util.find_git_ancestor(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
end,
},
docs = {
diff --git a/lua/lspconfig/configs/uiua.lua b/lua/lspconfig/configs/uiua.lua
index 54d23ac9..4fd27436 100644
--- a/lua/lspconfig/configs/uiua.lua
+++ b/lua/lspconfig/configs/uiua.lua
@@ -5,7 +5,8 @@ return {
cmd = { 'uiua', 'lsp' },
filetypes = { 'uiua' },
root_dir = function(fname)
- return util.root_pattern('main.ua', '.fmt.ua')(fname) or util.find_git_ancestor(fname)
+ return util.root_pattern('main.ua', '.fmt.ua')(fname)
+ or vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
end,
},
docs = {
diff --git a/lua/lspconfig/configs/ungrammar_languageserver.lua b/lua/lspconfig/configs/ungrammar_languageserver.lua
index 022daab0..8ca9a8de 100644
--- a/lua/lspconfig/configs/ungrammar_languageserver.lua
+++ b/lua/lspconfig/configs/ungrammar_languageserver.lua
@@ -1,10 +1,10 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'ungrammar-languageserver', '--stdio' },
filetypes = { 'ungrammar' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
settings = {
ungrammar = {
diff --git a/lua/lspconfig/configs/uvls.lua b/lua/lspconfig/configs/uvls.lua
index 3b542207..b87e1d82 100644
--- a/lua/lspconfig/configs/uvls.lua
+++ b/lua/lspconfig/configs/uvls.lua
@@ -1,9 +1,10 @@
-local util = require 'lspconfig.util'
return {
default_config = {
cmd = { 'uvls' },
filetypes = { 'uvl' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
},
docs = {
diff --git a/lua/lspconfig/configs/vacuum.lua b/lua/lspconfig/configs/vacuum.lua
index d0a6afcd..b6f78100 100644
--- a/lua/lspconfig/configs/vacuum.lua
+++ b/lua/lspconfig/configs/vacuum.lua
@@ -1,10 +1,10 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'vacuum', 'language-server' },
filetypes = { 'yaml.openapi', 'json.openapi' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
},
docs = {
diff --git a/lua/lspconfig/configs/vala_ls.lua b/lua/lspconfig/configs/vala_ls.lua
index 9428b6bc..34317c32 100644
--- a/lua/lspconfig/configs/vala_ls.lua
+++ b/lua/lspconfig/configs/vala_ls.lua
@@ -27,7 +27,7 @@ return {
filetypes = { 'vala', 'genie' },
root_dir = function(fname)
local root = util.search_ancestors(fname, meson_matcher)
- return root or util.find_git_ancestor(fname)
+ return root or vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
end,
single_file_support = true,
},
diff --git a/lua/lspconfig/configs/vdmj.lua b/lua/lspconfig/configs/vdmj.lua
index 7d381b6e..2f5b5256 100644
--- a/lua/lspconfig/configs/vdmj.lua
+++ b/lua/lspconfig/configs/vdmj.lua
@@ -45,7 +45,7 @@ return {
cmd = { 'java' },
filetypes = { 'vdmsl', 'vdmpp', 'vdmrt' },
root_dir = function(fname)
- return util.find_git_ancestor(fname) or find_vscode_ancestor(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1]) or find_vscode_ancestor(fname)
end,
options = {
java = vim.env.JAVA_HOME and util.path.join(vim.env.JAVA_HOME, 'bin', 'java') or 'java',
diff --git a/lua/lspconfig/configs/verible.lua b/lua/lspconfig/configs/verible.lua
index 3c4823a8..8e571923 100644
--- a/lua/lspconfig/configs/verible.lua
+++ b/lua/lspconfig/configs/verible.lua
@@ -1,10 +1,10 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'verible-verilog-ls' },
filetypes = { 'systemverilog', 'verilog' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
},
docs = {
description = [[
diff --git a/lua/lspconfig/configs/veridian.lua b/lua/lspconfig/configs/veridian.lua
index 231d0c05..26c0585f 100644
--- a/lua/lspconfig/configs/veridian.lua
+++ b/lua/lspconfig/configs/veridian.lua
@@ -1,10 +1,10 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'veridian' },
filetypes = { 'systemverilog', 'verilog' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
},
docs = {
description = [[
diff --git a/lua/lspconfig/configs/veryl_ls.lua b/lua/lspconfig/configs/veryl_ls.lua
index 8db5f38b..e627e578 100644
--- a/lua/lspconfig/configs/veryl_ls.lua
+++ b/lua/lspconfig/configs/veryl_ls.lua
@@ -1,10 +1,10 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'veryl-ls' },
filetypes = { 'veryl' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
},
docs = {
description = [[
diff --git a/lua/lspconfig/configs/vimls.lua b/lua/lspconfig/configs/vimls.lua
index bcee4cca..9a011fbe 100644
--- a/lua/lspconfig/configs/vimls.lua
+++ b/lua/lspconfig/configs/vimls.lua
@@ -1,10 +1,10 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'vim-language-server', '--stdio' },
filetypes = { 'vim' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
init_options = {
isNeovim = true,
diff --git a/lua/lspconfig/configs/vscoqtop.lua b/lua/lspconfig/configs/vscoqtop.lua
index c741c6c7..57a184f1 100644
--- a/lua/lspconfig/configs/vscoqtop.lua
+++ b/lua/lspconfig/configs/vscoqtop.lua
@@ -5,7 +5,8 @@ return {
cmd = { 'vscoqtop' },
filetypes = { 'coq' },
root_dir = function(fname)
- return util.root_pattern '_CoqProject'(fname) or util.find_git_ancestor(fname)
+ return util.root_pattern '_CoqProject'(fname)
+ or vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
end,
single_file_support = true,
},
diff --git a/lua/lspconfig/configs/yamlls.lua b/lua/lspconfig/configs/yamlls.lua
index e3e8daf1..10b86616 100644
--- a/lua/lspconfig/configs/yamlls.lua
+++ b/lua/lspconfig/configs/yamlls.lua
@@ -1,10 +1,10 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'yaml-language-server', '--stdio' },
filetypes = { 'yaml', 'yaml.docker-compose', 'yaml.gitlab' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
settings = {
-- https://github.com/redhat-developer/vscode-redhat-telemetry#how-to-disable-telemetry-reporting
diff --git a/lua/lspconfig/configs/yang_lsp.lua b/lua/lspconfig/configs/yang_lsp.lua
index 13f6fa35..aed2f40a 100644
--- a/lua/lspconfig/configs/yang_lsp.lua
+++ b/lua/lspconfig/configs/yang_lsp.lua
@@ -1,10 +1,10 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'yang-language-server' },
filetypes = { 'yang' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
},
docs = {
description = [[
diff --git a/lua/lspconfig/configs/yls.lua b/lua/lspconfig/configs/yls.lua
index 86cb3377..37129f47 100644
--- a/lua/lspconfig/configs/yls.lua
+++ b/lua/lspconfig/configs/yls.lua
@@ -1,10 +1,10 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'yls', '-vv' },
filetypes = { 'yar', 'yara' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
},
docs = {
diff --git a/lua/lspconfig/configs/ziggy.lua b/lua/lspconfig/configs/ziggy.lua
index 5effe281..26cea2b8 100644
--- a/lua/lspconfig/configs/ziggy.lua
+++ b/lua/lspconfig/configs/ziggy.lua
@@ -1,10 +1,10 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'ziggy', 'lsp' },
filetypes = { 'ziggy' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
},
docs = {
diff --git a/lua/lspconfig/configs/ziggy_schema.lua b/lua/lspconfig/configs/ziggy_schema.lua
index cd19cf35..6b4cc317 100644
--- a/lua/lspconfig/configs/ziggy_schema.lua
+++ b/lua/lspconfig/configs/ziggy_schema.lua
@@ -1,10 +1,10 @@
-local util = require 'lspconfig.util'
-
return {
default_config = {
cmd = { 'ziggy', 'lsp', '--schema' },
filetypes = { 'ziggy_schema' },
- root_dir = util.find_git_ancestor,
+ root_dir = function(fname)
+ return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
+ end,
single_file_support = true,
},
docs = {
diff --git a/lua/lspconfig/util.lua b/lua/lspconfig/util.lua
index 4bd82b5b..9b888efe 100644
--- a/lua/lspconfig/util.lua
+++ b/lua/lspconfig/util.lua
@@ -236,16 +236,6 @@ function M.root_pattern(...)
end
end
-function M.find_git_ancestor(startpath)
- return M.search_ancestors(startpath, function(path)
- -- Support git directories and git files (worktrees)
- local gitpath = M.path.join(path, '.git')
- if vim.fn.isdirectory(gitpath) == 1 or (vim.loop.fs_stat(gitpath) or {}).type == 'file' then
- return path
- end
- end)
-end
-
function M.insert_package_json(config_files, field, fname)
local path = vim.fn.fnamemodify(fname, ':h')
local root_with_package = vim.fs.dirname(vim.fs.find('package.json', { path = path, upward = true })[1])
@@ -393,4 +383,9 @@ function M.find_package_json_ancestor(startpath)
return vim.fs.dirname(vim.fs.find('package.json', { path = startpath, upward = true })[1])
end
+--- @deprecated use `vim.fs.dirname(vim.fs.find('.git', { path = startpath, upward = true })[1])` instead
+function M.find_git_ancestor(startpath)
+ return vim.fs.dirname(vim.fs.find('.git', { path = startpath, upward = true })[1])
+end
+
return M