deoplete-plugins / deoplete-plugins/deoplete-clang
Problem with vim's fold mark signs in C++ comments
- Dominant language
- Python
- Stars
- 189
- Forks
- 73
- PR merge metrics
- No merged PRs in 30d
Description
## Problems summary
deoplete-clang will report:
> Error detected while processing function 38_completion_delayed[4]..38_completion_begin:
> line 28:
> E475: Invalid argument: Channel doesn't exist
## Expected
Normal deoplete-clang suggestion.
## Environment Information
- OS:
FreeBSD 11.0-RELEASE
- Neovim version:
0.1.6 # FreeBSD pkg
v0.2.0-45-g7666b495
v0.2.0-149-gaa4ef896 # todays source
- Clang version:
3.8.1
3.7.1
## Provide a minimal init.vim with less than 50 lines and not plugin manager (Required!)
```vim
call plug#begin('~/.vim/plugged')
Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' }
Plug 'zchee/deoplete-clang'
call plug#end()
let g:deoplete#enable_at_startup = 1
let g:deoplete#sources#clang#libclang_path = "/usr/local/llvm38/lib/libclang.so"
let g:deoplete#sources#clang#clang_header = "/usr/local/llvm38/include/clang"
```
## The reproduce ways from neovim starting (Required!)
C++ example which will trigger the error:
http://pastebin.com/NrPE1k7T
- Open the file
- Write "str" as argument to "printr" function.
- Wait a second or two
- Write "i"
## Screen shot (if possible)
Don't work:
Works:

## Upload the log file
:messages
Error detected while processing function 38_completion_delayed[4]..38_completion_begin:
line 28:
E475: Invalid argument: Channel doesn't exist
Error detected while processing function 38_completion_delayed[4]..38_completion_begin:
line 28:
E475: Invalid argument: Channel doesn't exist
Error detected while processing function 38_completion_delayed[4]..38_completion_begin:
line 28:
E475: Invalid argument: Channel doesn't exist
Error detected while processing function 38_completion_delayed[4]..38_completion_begin:
line 28:
E475: Invalid argument: Channel doesn't exist
Error detected while processing function 38_completion_delayed[4]..38_completion_begin:
line 28:
E475: Invalid argument: Channel doesn't exist
### Possible fix:
I have noticed that problem would not appear if:
- there is no "// }" "// }}}" at the end of the class definition
- there is no class declaration
- "#define printr" is commented out
Contributor guide
No contributing guide indexed for this repository
Research direction
Begin with the supplied init.vim and the linked C++ reproduction, then reproduce the E475 "Channel doesn't exist" error by following the stated typing sequence in Neovim. Trace the delayed completion path and compare behavior with and without the fold-mark comments and class or macro declarations; done means normal deoplete-clang suggestions without the channel error.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, neovim, python
- Domain
- developer-experience, tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100