dense-analysis / ale

Check syntax in Vim/Neovim asynchronously and fix files, with Language Server Protocol (LSP) support
BSD 2-Clause "Simplified" License
13.55k stars 1.43k forks source link

Neovim Floating Windows No Longer Working #4424

Open timnolte opened 1 year ago

timnolte commented 1 year ago

Information

VIM version

NVIM v0.7.2 Build type: Release LuaJIT 2.1.0-beta3

Operating System: Pop!_os 22.04

What went wrong

After a recent Neovim plugins update, I use Vimplug, ALE stopped producing floating windows for linting issues and started just outputting the linting message as what looks like code comments.

image

I originally was on Neovim 0.6.1 when the issue started, and so I tried using the Neovim PPA and upgrading to Neovim 0.7.2 but that had no affect. I was able to get those "comments" not to show by disabling the g:ale_virtualtext_cursor setting, however the floating window still no longer shows and all I get is information in the status line.

I tried adding the following to my Neovim configuration as well to try and resolve the issue:

let g:ale_floating_preview = 1
let g:ale_floating_window_border = []
let g:ale_hover_to_floating_preview = 1
let g:ale_detail_to_floating_preview = 1
let g:ale_echo_cursor = 1

Reproducing the bug

  1. Upgraded ALE.
  2. Neovim floating windows stopped working and "comments" started showing up.

:ALEInfo

Expand Current Filetype: php Available Linters: ['cspell', 'intelephense', 'langserver', 'phan', 'php', 'phpactor', 'phpcs', 'phpmd', 'phpstan', 'psalm', 'tlint'] Enabled Linters: ['cspell', 'intelephense', 'langserver', 'phan', 'php', 'phpactor', 'phpcs', 'phpmd', 'phpstan', 'psalm', 'tlint'] Ignored Linters: ['intelephense', 'langserver', 'phpactor', 'psalm'] Suggested Fixers: 'php_cs_fixer' - Fix PHP files with php-cs-fixer. 'phpcbf' - Fix PHP files with phpcbf. 'pint' - Fix PHP files with Laravel Pint. 'remove_trailing_lines' - Remove all blank lines at the end of a file. 'trim_whitespace' - Remove all trailing whitespace characters at the end of every line. Linter Variables: let g:ale_php_intelephense_config = {} let g:ale_php_intelephense_executable = 'intelephense' let g:ale_php_intelephense_use_global = 1 let g:ale_php_langserver_executable = 'php-language-server.php' let g:ale_php_langserver_use_global = 0 let g:ale_php_phan_executable = 'phan' let g:ale_php_phan_minimum_severity = 0 let g:ale_php_phan_use_client = 0 let g:ale_php_php_executable = 'php' let g:ale_php_phpcs_executable = 'phpcs' let g:ale_php_phpcs_options = '' let g:ale_php_phpcs_standard = '' let g:ale_php_phpcs_use_global = 0 let g:ale_php_phpmd_executable = 'phpmd' let g:ale_php_phpmd_ruleset = 'cleancode,codesize,controversial,design,naming,unusedcode' let g:ale_php_phpstan_autoload = '' let g:ale_php_phpstan_configuration = '' let g:ale_php_phpstan_executable = 'phpstan ' let g:ale_php_phpstan_level = '' let g:ale_php_phpstan_memory_limit = '' let g:ale_php_phpstan_use_global = 0 let g:ale_php_psalm_executable = 'psalm' let g:ale_php_psalm_options = '' let g:ale_php_psalm_use_global = 0 let g:ale_php_tlint_executable = 'tlint' let g:ale_php_tlint_options = '' let g:ale_php_tlint_use_global = 0 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_disable_lsp = 1 let g:ale_echo_cursor = 1 let g:ale_echo_msg_error_str = 'E' let g:ale_echo_msg_format = '[%linter%] %s [%severity%]' let g:ale_echo_msg_info_str = 'Info' let g:ale_echo_msg_warning_str = 'W' let g:ale_enabled = 1 let g:ale_fix_on_save = 0 let g:ale_fixers = {} 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 = {} let g:ale_linters_explicit = 0 let g:ale_linters_ignore = {} let g:ale_list_vertical = 0 let g:ale_list_window_size = 10 let g:ale_loclist_msg_format = '[%linter%] %s [%severity%]' 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_root = {} 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_sign_style_warning = '--' let g:ale_sign_warning = '--' let g:ale_sign_highlight_linenrs = 0 let g:ale_statusline_format = v:null let g:ale_type_map = {} let g:ale_use_global_executables = v:null 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 - failure) cspell (executable check - failure) phan (executable check - success) php (finished - exit code 0) ['/bin/bash', '-c', '''php'' -l -d error_reporting=E_ALL -d display_errors=1 -d log_errors=0 -- < ''/home/tnolte/.tmp/nvimhxjqOT/3/f1-wswc-blocks-customized.php''']
w0rp commented 1 year ago

I don't use NeoVim for work, but maybe @Angelchev might be able able to help fix this one.

skopciewski commented 1 year ago

I had the same problem in vim 9, but the problem appears in https://github.com/dense-analysis/ale/commit/9f2a00023739695f4eed1073a01b2f2b7553d779 Adding let g:ale_virtualtext_cursor = 'disabled' to the config helps