Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions autoload/ale/fixers/ruff.vim
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,11 @@ function! ale#fixers#ruff#FixForVersion(buffer, version) abort
call extend(l:cmd, ['run', 'ruff'])
endif

" NOTE: ruff 0.5.0 removes `ruff <path>` in favor of `ruff check <path>`
if ale#semver#GTE(a:version, [0, 5, 0])
call extend(l:cmd, ['check'])
endif

let l:options = ale#Var(a:buffer, 'python_ruff_options')

if !empty(l:options)
Expand Down
14 changes: 14 additions & 0 deletions test/fixers/test_ruff_fixer_callback.vader
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,20 @@ Execute(The ruff callback should respect custom options):
\ . ' --ignore F401 -q --stdin-filename '. fname . ' --fix -',
\ }

Execute(The ruff callback should use ruff check for 0.5.0):
let file_path = g:dir . '/../test-files/python/with_virtualenv/subdir/foo/bar.py'

silent execute 'file ' . fnameescape(file_path)

let fname = ale#Escape(ale#path#Simplify(file_path))

GivenCommandOutput ['ruff 0.5.0']
AssertFixer
\ {
\ 'cwd': ale#path#Simplify(g:dir . '/../test-files/python/with_virtualenv/subdir'),
\ 'command': ale#Escape(ale#path#Simplify(g:dir . '/../test-files/python/with_virtualenv/env/' . b:bin_dir . '/ruff')) . ' check --stdin-filename ' . fname . ' --fix -',
\ }

Execute(Pipenv is detected when python_ruff_auto_pipenv is set):
let g:ale_python_ruff_auto_pipenv = 1
let g:ale_python_ruff_change_directory = 0
Expand Down