aboutsummaryrefslogtreecommitdiffstats
path: root/lua
diff options
context:
space:
mode:
authorWojciech Kulik <3128467+wojciech-kulik@users.noreply.github.com>2024-03-11 06:38:56 +0100
committerGitHub <noreply@github.com>2024-03-11 13:38:56 +0800
commit94798ab6ccca76ed16921705e67a5fdd0a60c7b6 (patch)
tree5cbcf6d5703a984083b8d9103d0cb756c7df6cbd /lua
parentdocs: update server_configurations.md (diff)
downloadnvim-lspconfig-94798ab6ccca76ed16921705e67a5fdd0a60c7b6.tar
nvim-lspconfig-94798ab6ccca76ed16921705e67a5fdd0a60c7b6.tar.gz
nvim-lspconfig-94798ab6ccca76ed16921705e67a5fdd0a60c7b6.tar.bz2
nvim-lspconfig-94798ab6ccca76ed16921705e67a5fdd0a60c7b6.tar.lz
nvim-lspconfig-94798ab6ccca76ed16921705e67a5fdd0a60c7b6.tar.xz
nvim-lspconfig-94798ab6ccca76ed16921705e67a5fdd0a60c7b6.tar.zst
nvim-lspconfig-94798ab6ccca76ed16921705e67a5fdd0a60c7b6.zip
fix(sourcekit): finding root directory (#3066)
Diffstat (limited to 'lua')
-rw-r--r--lua/lspconfig/server_configurations/sourcekit.lua10
1 files changed, 8 insertions, 2 deletions
diff --git a/lua/lspconfig/server_configurations/sourcekit.lua b/lua/lspconfig/server_configurations/sourcekit.lua
index e6f6017d..f5ce4130 100644
--- a/lua/lspconfig/server_configurations/sourcekit.lua
+++ b/lua/lspconfig/server_configurations/sourcekit.lua
@@ -4,7 +4,13 @@ return {
default_config = {
cmd = { 'sourcekit-lsp' },
filetypes = { 'swift', 'c', 'cpp', 'objective-c', 'objective-cpp' },
- root_dir = util.root_pattern('Package.swift', 'buildServer.json', 'compile_commands.json', '.git'),
+ root_dir = function(filename, _)
+ return util.root_pattern 'buildServer.json'(filename)
+ or util.root_pattern('*.xcodeproj', '*.xcworkspace')(filename)
+ or util.find_git_ancestor(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)
+ end,
},
docs = {
description = [[
@@ -13,7 +19,7 @@ https://github.com/apple/sourcekit-lsp
Language server for Swift and C/C++/Objective-C.
]],
default_config = {
- root_dir = [[root_pattern("Package.swift", ".git")]],
+ root_dir = [[root_pattern("buildServer.json", "*.xcodeproj", "*.xcworkspace", ".git", "compile_commands.json", "Package.swift")]],
},
},
}