dense-analysis / dense-analysis/ale

Using ALE with clangd for both linting and autocompletion

Open
#4,110 5 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Vim Script
Stars
14k
Forks
1.5k
Avg merge
17h 49m
Merged PRs (30d)
1

Description

## Information

**VIM version**

VIM - Vi IMproved 8.1 (2018 May 18, compiled Feb 01 2022 09:16:32)
Included patches: 1-2269, 3612, 3625, 3669, 3741

Operating System: Ubuntu 20.04.3 LTS on Windows 10 x86_64

## What went wrong

I'm currently using ALE with clangd as a linter, but I'm running into an issue when I try to use it for autocompletion as well. The linter works fine as long as I set let g:ale_cpp_clangd_options = "-stdlib=libc++ -std=c++17" in my .vimrc file. Autocompletion also works fine as long as I don't have any changes to my .vimrc file relating to ALE with clangd (options of the form ale_cpp_clangd_options =). However, setting this ALE with clangd option (or, seemingly, any ALE with clangd option) disables autocompletion. I've read the ALE and clangd man pages but, unless I've missed something, there wasn't anything that helped with the issue I'm seeing.

## Reproducing the bug

1. Set let g:ale_cpp_clangd_options = "-stdlib=libc++ -std=c++17" in .vimrc file.
2. Try using autocomplete in a .cpp file and see that autocomplete options no longer appear.

### :ALEInfo

Current Filetype: text
Available Linters: ['alex', 'cspell', 'languagetool', 'proselint', 'redpen', 'textlint', 'vale', 'writegood']
Linter Aliases:
'writegood' -> ['write-good']
Enabled Linters: []
Ignored Linters: []
Suggested Fixers:
'remove_trailing_lines' - Remove all blank lines at the end of a file.
'textlint' - Fix text files with textlint --fix
'trim_whitespace' - Remove all trailing whitespace characters at the end of every line.
Linter Variables:

Global Variables:

let g:ale_cache_executable_check_failures = v:null
let g:ale_change_sign_column_color = v:null
let g:ale_command_wrapper = v:null
let g:ale_completion_delay = 100
let g:ale_completion_enabled = 1
let g:ale_completion_max_suggestions = 50
let g:ale_disable_lsp = 0
let g:ale_echo_cursor = 1
let g:ale_echo_msg_error_str = 'Error'
let g:ale_echo_msg_format = v:null
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 = 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 = v:null
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 = v:null
let g:ale_list_window_size = v:null
let g:ale_loclist_msg_format = v:null
let g:ale_max_buffer_history_size = v:null
let g:ale_max_signs = v:null
let g:ale_maximum_file_size = v:null
let g:ale_open_list = v:null
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 = v:null
let g:ale_sign_error = v:null
let g:ale_sign_info = v:null
let g:ale_sign_offset = v:null
let g:ale_sign_style_error = v:null
let g:ale_sign_style_warning = v:null
let g:ale_sign_warning = v:null
let g:ale_sign_highlight_linenrs = v:null
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:

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.