deoplete-plugins / deoplete-plugins/deoplete-clang

Problem with vim's fold mark signs in C++ comments

Open
#70 0 comments 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.