Skip to content

Commit 8502ec0

Browse files
committed
Fix cwd setting to use .stylua.toml if stylua.toml is not found
1 parent 6c337ad commit 8502ec0

File tree

4 files changed

+24
-2
lines changed

4 files changed

+24
-2
lines changed

autoload/ale/fixers/stylua.vim

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,12 @@ function! ale#fixers#stylua#GetCwd(buffer) abort
88
for l:possible_configfile in ['stylua.toml', '.stylua.toml']
99
let l:config = ale#path#FindNearestFile(a:buffer, l:possible_configfile)
1010

11-
return !empty(l:config) ? fnamemodify(l:config, ':h') : '%s:h'
11+
if !empty(l:config)
12+
return fnamemodify(l:config, ':h')
13+
endif
1214
endfor
1315

14-
return ''
16+
return '%s:h'
1517
endfunction
1618

1719
function! ale#fixers#stylua#Fix(buffer) abort

test/fixers/test_stylua_fixer_callback.vader

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,23 @@ Execute(The stylua callback should include custom stylua options):
1818
\ . ' ' . g:ale_lua_stylua_options
1919
\ . ' --stdin-filepath %s -',
2020
\ }
21+
22+
Execute(stylua should detect stylua.toml):
23+
call ale#test#SetFilename('../test-files/stylua/stylua_config_dir/subdir/test.lua')
24+
25+
AssertFixer
26+
\ {
27+
\ 'cwd': ale#path#Simplify(g:dir . '/../test-files/stylua/stylua_config_dir'),
28+
\ 'command': ale#Escape('stylua')
29+
\ . ' --stdin-filepath %s -',
30+
\ }
31+
32+
Execute(stylua should detect .stylua.toml):
33+
call ale#test#SetFilename('../test-files/stylua/stylua_dot_config_dir/subdir/test.lua')
34+
35+
AssertFixer
36+
\ {
37+
\ 'cwd': ale#path#Simplify(g:dir . '/../test-files/stylua/stylua_dot_config_dir'),
38+
\ 'command': ale#Escape('stylua')
39+
\ . ' --stdin-filepath %s -',
40+
\ }

test/test-files/stylua/stylua_config_dir/stylua.toml

Whitespace-only changes.

test/test-files/stylua/stylua_dot_config_dir/.stylua.toml

Whitespace-only changes.

0 commit comments

Comments
 (0)