Vim ALE обрабатывает старую версию файла, который я редактирую - PullRequest
2 голосов
/ 22 февраля 2020

Я использую VIM 8.1 с ALE , в частности с ржавчиной (в основном это просто машина go). Проблема заключается в том, что ошибки и предупреждения, о которых сообщает ALE, относятся к более старой версии текущего файла. Редактирование и сохранение файла не имеет никакого эффекта, равно как и перезапуск vim. Я пробовал :ALEReset, а затем :ALELint, но он просто показывает те же строки. Другие инструменты (например, car go) прекрасно используют файлы, и сам файл, похоже, не ошибается.

Это вывод :ALEInfo:

 ALEInfo
 Current Filetype: rust
Available Linters: ['cargo', 'rls', 'rustc']
  Enabled Linters: ['cargo', 'rustc']
 Suggested Fixers:
  'remove_trailing_lines' - Remove all blank lines at the end of a file.
  'rustfmt' - Fix Rust files with Rustfmt.
  'trim_whitespace' - Remove all trailing whitespace characters at the end of every line.
 Linter Variables:

let g:ale_rust_cargo_avoid_whole_workspace = 1
let g:ale_rust_cargo_check_all_targets = 0
let g:ale_rust_cargo_check_examples = 0
let g:ale_rust_cargo_check_tests = 1
let g:ale_rust_cargo_clippy_options = ''
let g:ale_rust_cargo_default_feature_behavior = 'default'
let g:ale_rust_cargo_include_features = ''
let g:ale_rust_cargo_use_check = 1
let g:ale_rust_cargo_use_clippy = 0
let g:ale_rust_ignore_error_codes = []
let g:ale_rust_ignore_secondary_spans = 0
let g:ale_rust_rustc_options = '-Z no-codegen'

ALE - мой единственный установленный плагин.

Как я могу это исправить и снова использовать мой плагин для линтера?

1 Ответ

1 голос
/ 23 февраля 2020

Оказалось, что это не проблема VIM или ALE, это была проблема go автомобиля. ALE использовал cargo check для проверки кода без выполнения codegen (он быстрее и оставляет меньше артефактов), и хотя cargo build не возвращал никаких ошибок или предупреждений, cargo check по какой-то причине возвратил предупреждение от более старой версии проекта (не просто файл). Это было исправлено с помощью cargo clean, а затем снова запустили cargo build и cargo check. Поскольку я запустил cargo clean, у меня больше нет проекта, вызывающего такое поведение, поэтому я не могу углубиться в глубину, чтобы выяснить, что случилось с проектом.

...