Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Balloons not enabled in MacVim on startup #1795

Open
dileepfrog opened this issue Aug 7, 2018 · 15 comments
Open

Balloons not enabled in MacVim on startup #1795

dileepfrog opened this issue Aug 7, 2018 · 15 comments
Labels

Comments

@dileepfrog
Copy link

dileepfrog commented Aug 7, 2018

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''']
<<>>
/Users/sdileep/Code/v1/lib/rpc.js:79:10: Unnecessary 'else' after 'return'. [Error/no-else-return]
/Users/sdileep/Code/v1/lib/rpc.js:139:61: Unexpected block statement surrounding arrow body; parenthesize the returned value and move it immediately after the =>. [Error/arrow-body-style]
/Users/sdileep/Code/v1/lib/rpc.js:146:61: Unexpected block statement surrounding arrow body; parenthesize the returned value and move it immediately after the =>. [Error/arrow-body-style]
/Users/sdileep/Code/v1/lib/rpc.js:250:1: Line 250 exceeds the maximum line length of 100. [Error/max-len]
/Users/sdileep/Code/v1/lib/rpc.js:486:68: Unexpected use of comma operator. [Error/no-sequences]
/Users/sdileep/Code/v1/lib/rpc.js:567:64: Unexpected use of comma operator. [Error/no-sequences]
6 problems
<<>>

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

  1. Open a JS file with some lint errors like missing semicolon, whitespace, etc with eslint set as one of your linters.
  2. Hover the mouse over the error in the source or the >> symbols in the margin
  3. No balloon tooltip with the error will appear
  4. :call ale#balloon#Enable() and then hover again, and you will see the tooltips fine
@w0rp
Copy link
Member

w0rp commented Aug 7, 2018

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.

@mikew
Copy link

mikew commented Feb 19, 2019

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.

@dileepfrog
Copy link
Author

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

@w0rp
Copy link
Member

w0rp commented Apr 2, 2019

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.

@w0rp w0rp added the triage label Apr 2, 2019
@johnelliott
Copy link

johnelliott commented Apr 9, 2019

+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.

@w0rp
Copy link
Member

w0rp commented Apr 9, 2019

Is that in a GUI, or in a terminal?

@johnelliott
Copy link

johnelliott commented Apr 9, 2019

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.

@pbnj
Copy link
Contributor

pbnj commented May 1, 2019

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
Screen Shot 2019-05-01 at 12 14 55 AM

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

@w0rp
Copy link
Member

w0rp commented May 1, 2019

What's the result of :set balloonexpr?

@johnelliott
Copy link

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.

@pbnj
Copy link
Contributor

pbnj commented May 1, 2019

@w0rp - sorry for jumping back and forth between the two related issues.

The output of :set balloonexpr is ale#balloon#Expr()

@w0rp
Copy link
Member

w0rp commented May 1, 2019

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.

@johnelliott
Copy link

johnelliott commented May 2, 2019

moving my comment to #2442 where it belongs

@gagbo
Copy link
Contributor

gagbo commented May 2, 2019

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)

@w0rp w0rp added bug and removed triage labels Feb 22, 2020
@Jorenar
Copy link
Contributor

Jorenar commented Nov 27, 2023

@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?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

7 participants