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

ALERename doesn't work with python-language-server #2943

Closed
ghost opened this issue Dec 22, 2019 · 6 comments
Closed

ALERename doesn't work with python-language-server #2943

ghost opened this issue Dec 22, 2019 · 6 comments
Labels
enhancement LSP Any issue relating to LSP or tsserver

Comments

@ghost
Copy link

ghost commented Dec 22, 2019

Information

VIM version

VIM - Vi IMproved 8.2 (2019 Dec 12, compiled Dec 20 2019 13:24:40)
Included patches: 1-24

Operating System: Ubuntu 18.04.3 LTS

What went wrong

ALERename command is not working with pyls. If I try to rename a symbol, nothing gets renamed and the message "No changes received from server" is displayed, but if I check ALE's logs I see that pyls did send back changes.

ale.log

Reproducing the bug

  1. Run :ALERename, type the new symbol name and hit
  2. Nothing gets renamed and the message "No changes received from server" is displayed.

:ALEInfo

Current Filetype: python
Available Linters: ['bandit', 'flake8', 'mypy', 'prospector', 'pycodestyle', 'pydocstyle', 'pyflakes', 'pylama', 'pylint', 'pyls', 'pyre', 'vulture']
Enabled Linters: ['mypy', 'pyls']
Suggested Fixers:
'add_blank_lines_for_python_control_statements' - Add blank lines before control statements.
'autopep8' - Fix PEP8 issues with autopep8.
'black' - Fix PEP8 issues with black.
'isort' - Sort Python imports with isort.
'remove_trailing_lines' - Remove all blank lines at the end of a file.
'reorder-python-imports' - Sort Python imports with reorder-python-imports.
'trim_whitespace' - Remove all trailing whitespace characters at the end of every line.
'yapf' - Fix Python files with yapf.
Linter Variables:

let g:ale_python_auto_pipenv = 0
let g:ale_python_isort_options = '--multi-line=3 --trailing-comma --force-grid-wrap=0 --use-parentheses --line-width=88'
let g:ale_python_mypy_auto_pipenv = 0
let g:ale_python_mypy_executable = 'mypy'
let g:ale_python_mypy_ignore_invalid_syntax = 0
let g:ale_python_mypy_options = '--ignore-missing-imports --show-column-numbers --strict-equality --strict'
let g:ale_python_mypy_use_global = 0
let g:ale_python_pyls_auto_pipenv = 0
let g:ale_python_pyls_config = {}
let g:ale_python_pyls_executable = 'pyls'
let g:ale_python_pyls_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 = 100
let g:ale_completion_enabled = 1
let g:ale_completion_max_suggestions = 50
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 = {'markdown': ['prettier'], 'json': ['prettier'], '*': ['remove_trailing_lines', 'trim_whitespace'], 'python': ['isort', 'black']}
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 = {'python': ['pyls', 'mypy']}
let g:ale_linters_explicit = 0
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 = 1
let g:ale_pattern_options = v:null
let g:ale_pattern_options_enabled = v:null
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_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 - success) /home/zander/code/courses/statistical-rethinking/.venv/bin/mypy
(finished - exit code 0) ['/bin/bash', '-c', 'cd ''/home/zander/code/courses/statistical-rethinking/hw7'' && ''/home/zander/code/courses/statistical-rethinking/.venv/bin/mypy'' --show-column-numbers --ignore-missing-imports --show-column-numbers --strict-equality --strict --shadow-file ''/home/zander/code/courses/statistical-rethinking/hw7/test.py'' ''/tmp/vAgR2qg/1/test.py'' ''/home/zander/code/courses/statistical-rethinking/hw7/test.py''']

<<>>
Success: no issues found in 1 source file
<<>>

(executable check - success) /home/zander/code/courses/statistical-rethinking/.venv/bin/pyls
(started) ['/bin/bash', '-c', '''/home/zander/code/courses/statistical-rethinking/.venv/bin/pyls''']

@w0rp w0rp added enhancement LSP Any issue relating to LSP or tsserver labels Feb 22, 2020
@w0rp
Copy link
Member

w0rp commented Feb 22, 2020

I am Jack's complete lack of surprise.

I've had many issues with python-language-server that aren't issues with other language servers, like rls, etc.

@nelsyeung
Copy link
Contributor

Just want to add that I'm getting this error for this:

Error detected while processing function <SNR>102_VimOutputCallback[6]..<lambda>5[1]..ale#lsp#HandleMessage[30]..ale#rename#HandleLSPResponse:
E715: Dictionary required

@w0rp
Copy link
Member

w0rp commented Aug 7, 2020

If anyone wants to try this again, it might work now. Recent changes added more support for LSP things, as they are in the spec.

@blayz3r
Copy link

blayz3r commented Aug 9, 2020

Works for me

@w0rp
Copy link
Member

w0rp commented Aug 10, 2020

Thanks, I'll close this now.

@w0rp w0rp closed this as completed Aug 10, 2020
@rharish101
Copy link

rharish101 commented Aug 10, 2020

I get an error when using :ALERename with the latest ALE (from master) and pyls v0.34.1.

Here's the output of :ALEInfo:

 Current Filetype: python
Available Linters: ['bandit', 'flake8', 'mypy', 'prospector', 'pycodestyle', 'pydocstyle', 'pyflakes', 'pylama', 'pylint', 'pyls', 'pyre', 'pyright', 'vulture']
  Enabled Linters: ['pyls']
 Suggested Fixers: 
  'add_blank_lines_for_python_control_statements' - Add blank lines before control statements.
  'autopep8' - Fix PEP8 issues with autopep8.
  'black' - Fix PEP8 issues with black.
  'isort' - Sort Python imports with isort.
  'remove_trailing_lines' - Remove all blank lines at the end of a file.
  'reorder-python-imports' - Sort Python imports with reorder-python-imports.
  'trim_whitespace' - Remove all trailing whitespace characters at the end of every line.
  'yapf' - Fix Python files with yapf.
 Linter Variables:

let g:ale_python_auto_pipenv = 0
let g:ale_python_black_options = '--line-length=79'
let g:ale_python_pyls_auto_pipenv = 0
let g:ale_python_pyls_config = {'pyls': {'plugins': {'pyls_mypy': {'live_mode': v:false}, 'pydocstyle': {'enabled': v:true}}, 'configurationSources': ['flake8']}}
let g:ale_python_pyls_executable = 'pyls'
let g:ale_python_pyls_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 = 100
let g:ale_completion_enabled = 1
let g:ale_completion_max_suggestions = 50
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 = {'cpp': ['clang-format', 'clangtidy'], 'python': ['black', 'isort']}
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 = {'cpp': ['clangd', 'gcc'], 'python': ['pyls']}
let g:ale_linters_explicit = 0
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 = 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_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 - success) pyls
(started) ['/bin/zsh', '-c', '''pyls''']

Here's the vim log for the error message in a file (it's really long):
log.txt

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement LSP Any issue relating to LSP or tsserver
Projects
None yet
Development

No branches or pull requests

4 participants