diff options
| author | Wojciech Kulik <3128467+wojciech-kulik@users.noreply.github.com> | 2024-03-11 06:38:56 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-03-11 13:38:56 +0800 |
| commit | 94798ab6ccca76ed16921705e67a5fdd0a60c7b6 (patch) | |
| tree | 5cbcf6d5703a984083b8d9103d0cb756c7df6cbd /lua | |
| parent | docs: update server_configurations.md (diff) | |
| download | nvim-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.lua | 10 |
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")]], }, }, } |
