mirror of
https://github.com/dense-analysis/ale.git
synced 2026-01-17 08:35:10 +08:00
ale: add FindNearestFileOrDirectory function (#5033)
Some checks failed
CI / build_image (push) Has been cancelled
CI / test_ale (--linters-only) (push) Has been cancelled
CI / test_ale (--lua-only) (push) Has been cancelled
CI / test_ale (--neovim-07-only) (push) Has been cancelled
CI / test_ale (--neovim-08-only) (push) Has been cancelled
CI / test_ale (--vim-80-only) (push) Has been cancelled
CI / test_ale (--vim-90-only) (push) Has been cancelled
Some checks failed
CI / build_image (push) Has been cancelled
CI / test_ale (--linters-only) (push) Has been cancelled
CI / test_ale (--lua-only) (push) Has been cancelled
CI / test_ale (--neovim-07-only) (push) Has been cancelled
CI / test_ale (--neovim-08-only) (push) Has been cancelled
CI / test_ale (--vim-80-only) (push) Has been cancelled
CI / test_ale (--vim-90-only) (push) Has been cancelled
* test: rename `FindNearestFile` test file It matches the API name better and now lives beside the test file for `FindNearestDirectory`. * ale: add `FindNearestFileOrDirectory` function Some anchor paths can be files or directories (e.g., `.git` is a directory normally, but a file for worktrees). Add a function that finds either type of path and returns the nearest.
This commit is contained in:
0
test/test-files/top/needle_dir/needle
Normal file
0
test/test-files/top/needle_dir/needle
Normal file
0
test/test-files/top/needle_file/needle/.gitkeep
Normal file
0
test/test-files/top/needle_file/needle/.gitkeep
Normal file
0
test/test-files/top/needle_file/target/needle
Normal file
0
test/test-files/top/needle_file/target/needle
Normal file
22
test/test_find_nearest_file_or_directory.vader
Normal file
22
test/test_find_nearest_file_or_directory.vader
Normal file
@@ -0,0 +1,22 @@
|
||||
Before:
|
||||
call ale#test#SetDirectory('/testplugin/test')
|
||||
|
||||
After:
|
||||
call ale#test#RestoreDirectory()
|
||||
|
||||
Execute(We should find a directory when searching and it is closer):
|
||||
call ale#test#SetFilename('test-files/top/needle_dir/target/query/buffer.txt')
|
||||
|
||||
AssertEqual
|
||||
\ ale#path#Simplify(expand('%:p:h:h:h:h:h:h') . '/test-files/top/needle_dir/target/needle/'),
|
||||
\ ale#path#FindNearestFileOrDirectory(bufnr('%'), 'needle')
|
||||
|
||||
Execute(We should find a file when searching and it is closer):
|
||||
call ale#test#SetFilename('test-files/top/needle_file/target/query/buffer.txt')
|
||||
|
||||
AssertEqual
|
||||
\ ale#path#Simplify(expand('%:p:h:h:h:h:h:h') . '/test-files/top/needle_file/target/needle'),
|
||||
\ ale#path#FindNearestFileOrDirectory(bufnr('%'), 'needle')
|
||||
|
||||
Execute(We shouldn't find anything for files which don't match):
|
||||
AssertEqual '', ale#path#FindNearestFileOrDirectory(bufnr('%'), 'cantfindthis')
|
||||
Reference in New Issue
Block a user