Rubocop lint / fix недавно перестал работать - PullRequest
0 голосов
/ 20 января 2020

Версия VIM

VIM - Vi IMproved 8.0 (2016 сентябрь 12, скомпилировано 19 июня 2019 19:08:44)

Включенные патчи: 1-503, 505-680, 682-1283, 1365

Ruby версия ruby -2.5.7

версия Rubocop .79.0

Информация о системе

macOS Mojave Версия 10.14.6

Кажется, что ALE перестает работать с файлами ruby из-за rubocop. У меня есть совершенно новый проект, и я попытался установить Rubocop в качестве своего мусора. Я вижу его активным в разделе Enabled Linters моего ALEInfo. Однако не только не работает подшивка из рубокопа, но и мешает работать любой из моих фиксаторов. Например, мои фиксаторы настроены на обрезку пробелов и задних строк. Если я уберу упоминание о rubocop из моей конфигурации эля в моем .vimrc, это сработает. И добавление rubocop обратно в качестве линтера / фиксатора, похоже, сломает его. Я рассмотрел другие проблемы, в которых упоминаются ALE и Rubocop, но ни одно из этих исправлений не работает для меня (я установил для моего исполняемого файла rubocop значение bundle, удалил все флаги, которые могут конфликтовать, и отключил другие плагины).

Одна интересная вещь, которую я заметил, заключается в том, что если я запускаю :debug для файлов, я получаю

E486: Pattern not found: EchoExecutable('rubocop')

, я могу запустить rubocop как автономный и он сообщает правильно. И работает: :! which rubocop выводит:

/Users/wheresmyspaceship/.rvm/gems/ruby-2.5.7/bin/rubocop

Так что, похоже, мой исполняемый файл там, поэтому я не уверен, где отсюда go.

Запуск ALEInfo дает мне:

### :ALEInfo
 Current Filetype: ruby
Available Linters: ['brakeman', 'debride', 'rails_best_practices', 'reek', 'rubocop', 'ruby', 'solargraph', 'sorbet', 'standardrb']
   Linter Aliases:
'sorbet' -> ['srb']
  Enabled Linters: ['rubocop']
 Suggested Fixers:
  'remove_trailing_lines' - Remove all blank lines at the end of a file.
  'rubocop' - Fix ruby files with rubocop --auto-correct.
  'rufo' - Fix ruby files with rufo
  'sorbet' - Fix ruby files with srb tc --autocorrect.
  'standardrb' - Fix ruby files with standardrb --fix
  'trim_whitespace' - Remove all trailing whitespace characters at the end of every line.
 Linter Variables:

let g:ale_ruby_rails_best_practices_options = ''
let g:ale_ruby_rubocop_executable = 'bundle'
let g:ale_ruby_rubocop_options = '-D'
 Global Variables:
let g:ale_cache_executable_check_failures = v:null
let g:ale_change_sign_column_color = 0
let g:ale_command_wrapper = ''
let g:ale_completion_delay = v:null
let g:ale_completion_enabled = 0
let g:ale_completion_max_suggestions = v:null
let g:ale_echo_cursor = 1
let g:ale_echo_msg_error_str = 'Error'
let g:ale_echo_msg_format = '%code: %%s'
let g:ale_echo_msg_info_str = 'Info'
let g:ale_echo_msg_warning_str = 'Warning'
let g:ale_enabled = 1
let g:ale_fix_on_save = 1
let g:ale_fixers = {'typescript': ['eslint'], '*': ['remove_trailing_lines', 'trim_whitespace'], 'javascript': ['prettier', 'eslint'], 'ruby': ['rubocop'], 'css': ['prettier']}
let g:ale_history_enabled = 1
let g:ale_history_log_output = 1
let g:ale_keep_list_window_open = 0
let g:ale_lint_delay = 200
let g:ale_lint_on_enter = 1
let g:ale_lint_on_filetype_changed = 1
let g:ale_lint_on_insert_leave = 1
let g:ale_lint_on_save = 1
let g:ale_lint_on_text_changed = 'normal'
let g:ale_linter_aliases = {}
let g:ale_linters = {'ruby': ['rubocop']}
let g:ale_linters_explicit = 1
let g:ale_list_vertical = 0
let g:ale_list_window_size = 10
let g:ale_loclist_msg_format = '%code: %%s'
let g:ale_lsp_root = {}
let g:ale_max_buffer_history_size = 20
let g:ale_max_signs = -1
let g:ale_maximum_file_size = v:null
let g:ale_open_list = 0
let g:ale_pattern_options = v:null
let g:ale_pattern_options_enabled = v:null
let g:ale_set_balloons = 0
let g:ale_set_highlights = 1
let g:ale_set_loclist = 1
let g:ale_set_quickfix = 0
let g:ale_set_signs = 1
let g:ale_sign_column_always = 0
let g:ale_sign_error = '❌'
let g:ale_sign_info = '⚠️ '
let g:ale_sign_offset = 1000000
let g:ale_sign_style_error = '❌'
let g:ale_virtualtext_cursor = 0
let g:ale_warn_about_trailing_blank_lines = 1
let g:ale_warn_about_trailing_whitespace = 1
  Command History:

(executable check - success) bundle
(finished - exit code 1) ['sh', '-c', '''bundle'' exec rubocop --format json --force-exclusion -D --stdin ''/Users/wheresmyspaceship/Desktop/Code/ChallengesAPI/app/controllers/application_controller.rb'' < ''/var/folders/rl/6qkhh4616cs1wyd67xvqv48w0000gn/T/vz0qCPn/3/application_cont
roller.rb''']

<<<NO OUTPUT RETURNED>>>

(finished - exit code 1) ['/bin/bash', '-c', '''bundle'' exec rubocop --config ''/Users/wheresmyspaceship/Desktop/Code/ChallengesAPI/.rubocop.yml'' -D --auto-correct --force-exclusion ''/var/folders/rl/6qkhh4616cs1wyd67xvqv48w0000gn/T/vz0qCPn/5/application_controller.rb''']
(finished - exit code 1) ['/bin/bash', '-c', '''bundle'' exec rubocop --format json --force-exclusion -D --stdin ''/Users/wheresmyspaceship/Desktop/Code/ChallengesAPI/app/controllers/application_controller.rb'' < ''/var/folders/rl/6qkhh4616cs1wyd67xvqv48w0000gn/T/vz0qCPn/6/applicati
on_controller.rb''']

<<<NO OUTPUT RETURNED>>>

(finished - exit code 1) ['/bin/bash', '-c', '''bundle'' exec rubocop --config ''/Users/wheresmyspaceship/Desktop/Code/ChallengesAPI/.rubocop.yml'' -D --auto-correct --force-exclusion ''/var/folders/rl/6qkhh4616cs1wyd67xvqv48w0000gn/T/vz0qCPn/7/application_controller.rb''']
(finished - exit code 1) ['/bin/bash', '-c', '''bundle'' exec rubocop --format json --force-exclusion -D --stdin ''/Users/wheresmyspaceship/Desktop/Code/ChallengesAPI/app/controllers/application_controller.rb'' < ''/var/folders/rl/6qkhh4616cs1wyd67xvqv48w0000gn/T/vz0qCPn/8/applicati
on_controller.rb''']

<<<NO OUTPUT RETURNED>>>

Есть ли что-то, что я пропускаю, или кто-нибудь может дать мне еще какие-нибудь шаги для устранения этой проблемы? Любая помощь будет принята с благодарностью!

...