From b9d7f56471084e7ac8070c90315170ef703217ff Mon Sep 17 00:00:00 2001 From: rymdbar Date: Tue, 28 Oct 2025 13:16:17 +0100 Subject: [PATCH] Use FindNearestFileOrDirectory, perl languageserver (#5038) Update to use mentioned function to find both .git/ directories and .git worktree files. Co-authored-by: cos --- ale_linters/perl/languageserver.vim | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/ale_linters/perl/languageserver.vim b/ale_linters/perl/languageserver.vim index 56ad151a..cb27e5c8 100644 --- a/ale_linters/perl/languageserver.vim +++ b/ale_linters/perl/languageserver.vim @@ -9,7 +9,7 @@ function! ale_linters#perl#languageserver#GetProjectRoot(buffer) abort " Makefile.PL, https://perldoc.perl.org/ExtUtils::MakeMaker " Build.PL, https://metacpan.org/pod/Module::Build " dist.ini, https://metacpan.org/pod/Dist::Zilla - let l:potential_roots = [ 'Makefile.PL', 'Build.PL', 'dist.ini', '.git' ] + let l:potential_roots = [ 'Makefile.PL', 'Build.PL', 'dist.ini' ] for l:root in l:potential_roots let l:project_root = ale#path#FindNearestFile(a:buffer, l:root) @@ -19,6 +19,12 @@ function! ale_linters#perl#languageserver#GetProjectRoot(buffer) abort endif endfor + let l:project_root = ale#path#FindNearestFileOrDirectory(a:buffer, '.git') + + if !empty(l:project_root) + return fnamemodify(l:project_root . '/', ':p:h:h') + endif + return fnamemodify(expand('#' . a:buffer . ':p:h'), ':p:h') endfunction