Open dileepfrog opened 5 years ago
Did you set g:ale_set_balloons
to 1
before ALE was loaded? You should either do that, or call ale#balloon#Enable()
yourself after loading ALE.
I'm able to get ale/macvim to show balloons for lint errors, but not for type information. ale-lsp is working, as it's giving the correct info with :ALEHover
. Seems like that information should come through, it does in gvim at least.
Sorry for the extreme lag time here but I just confirmed with the latest code this is still an issue as originally described.
To answer your questions @w0rp yes g:ale_set_balloons
is set to 1 in my .vimrc
prior to loading ale with pathogen and indeed calling ale#balloon#Enable()
myself after startup does make lint error balloons appear but no LSP hover, just as @mikew described
Are you using Vim in a terminal or as a GUI? If you're using a terminal, you may have to adjust your Vim and terminal settings for mice to work properly.
+1 here same as @mikew and @dileepfrog : macvim 8.1.950 via homebrew. Seems to has
the balloons features :) I also see the balloons for errors when mousing over, but no balloon when I would expect the LSP ALEHover text to be there in a bubble.
Is that in a GUI, or in a terminal?
Hi. It’s in GUI macvim.
Sorry my mistake. I wasn’t even aware I could run macvim without GUI mode. My version of terminal vim does not support showing balloons as far as I could tell from testing features in the vim command line.
This issue is also related to #2442 , where I reported the same problem with vim and macvim.
In macvim, balloons show for linting errors, but not for type information
In vim, ballons do not show for either linting errors or type information.
But, if I :call balloon_show(bufname('%'))
(as a test), balloon shows under the cursor.
For both vim and macvim, I set:
... snip
set ballooneval
set balloonevalterm
set mouse=a
set ttymouse=sgr " also tried xterm
let g:ale_set_balloon = 1
Plug 'w0rp/ale'
... snip
What's the result of :set balloonexpr
?
Hi, nice to see more activity on this one. I am just about to head to work, later today I will be more free and I may be able to help reproduce with enough detail to help find the cause.
@w0rp - sorry for jumping back and forth between the two related issues.
The output of :set balloonexpr
is ale#balloon#Expr()
If it doesn't work for you in the MacVim GUI, I don't know. It works for me in my daily uses in GVim. You might have to debug the issue, and submit a pull request if you can fix it.
moving my comment to #2442 where it belongs
But, if I
:call balloon_show(bufname('%'))
(as a test), balloon shows under the cursor.
In which terminal did you test this ? I wasn't able to make balloonexpr
work in some terminals using the snippet I put in that other issue. Also, did you install Vim from brew or from source ?
As @w0rp said in #2442, maybe it's an issue of communication between terminal and vim (aka, the term is not aware / does not send the cursor position)
@dileepfrog Hi! Since it was quite few years since the issue was reported and (potentially) related #2442 was long resolved, could you please verify if the problem still occurs?
Information
VIM version
VIM - Vi IMproved 8.1 (2018 May 17, compiled Jun 17 2018 23:04:26) macOS version
Operating System: macOS 10.13.6
:ALEInfo
Current Filetype: javascript Available Linters: ['eslint', 'flow', 'jscs', 'jshint', 'standard', 'tsserver', 'xo'] Enabled Linters: ['eslint', 'flow'] Suggested Fixers: 'eslint' - Apply eslint --fix to a file. 'importjs' - automatic imports for javascript 'prettier' - Apply prettier to a file. 'prettier_eslint', 'prettier-eslint' - Apply prettier-eslint to a file. 'prettier_standard', 'prettier-standard' - Apply prettier-standard to a file. 'remove_trailing_lines' - Remove all blank lines at the end of a file. 'standard' - Fix JavaScript files using standard --fix 'trim_whitespace' - Remove all trailing whitespace characters at the end of every line. 'xo' - Fix JavaScript files using xo --fix. Linter Variables: let g:ale_javascript_eslint_executable = 'eslint' let g:ale_javascript_eslint_options = '' let g:ale_javascript_eslint_suppress_eslintignore = 0 let g:ale_javascript_eslint_suppress_missing_config = 0 let g:ale_javascript_eslint_use_global = 0 let g:ale_javascript_flow_executable = 'flow' let g:ale_javascript_flow_use_global = 0 let g:ale_javascript_flow_use_home_config = 0 let g:ale_javascript_flow_use_respect_pragma = 1 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 = {'javascript': ['remove_trailing_lines', 'trim_whitespace', 'importjs', 'prettier_eslint']} 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_save = 1 let g:ale_lint_on_text_changed = 'always' let g:ale_lint_on_insert_leave = 0 let g:ale_linter_aliases = {} let g:ale_linters = {'javascript': ['eslint', 'flow', 'flow-language-server']} let g:ale_linters_explicit = 0 let g:ale_list_window_size = 10 let g:ale_list_vertical = 0 let g:ale_loclist_msg_format = '%code: %%s' 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 = {} let g:ale_pattern_options_enabled = 0 let g:ale_set_balloons = 1 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_statusline_format = v:null let g:ale_type_map = {} let g:ale_use_global_executables = v:null let g:ale_warn_about_trailing_blank_lines = 1 let g:ale_warn_about_trailing_whitespace = 1 Command History: (started) ['/bin/zsh', '-c', '''/Users/sdileep/Code/v1/node_modules/eslint/bin/eslint.js'' -f unix --stdin --stdin-filename ''/Users/sdileep/Code/v1/lib/rpc.js' ' < ''/var/folders/x7/87_48qfs5ps0lphhk284f8qw0000gn/T/vKtjEeP/21/rpc.js'''] (finished - exit code 1) ['/bin/zsh', '-c', '''/Users/sdileep/Code/v1/node_modules/eslint/bin/eslint.js'' -f unix --stdin --stdin-filename ''/Users/sdileep/Code /v1/lib/rpc.js'' < ''/var/folders/x7/87_48qfs5ps0lphhk284f8qw0000gn/T/vKtjEeP/22/rpc.js'''] <<
What went wrong
Linter output, in this case from eslint, should show in a balloon on mouse hover but it does not unless I explicitly run :call ale#balloon#Enable() myself.
Reproducing the bug