deoplete-plugins / deoplete-clang

deoplete.nvim source for C/C++/Obj-C/Obj-C++ with clang-python3
MIT License
189 stars 73 forks source link

Enable completion support for macros #72

Closed ror0 closed 7 years ago

ror0 commented 7 years ago

Completion support for macros had been turned off by default. I have created this pull request to re-enable it.

zchee commented 7 years ago

@r10o Thanks for pull request :) That's right. thanks. will merge it.

BTW, Now I read libclang c++ source for alternative deoplete-clang proof-concept. but I don't understand all the libclang-python code.(sorry)

include_code_patterns
include_brief_comments

Maybe include_brief_comments means whether the include comments also, include_code_patterns means context aware result...? Do you think that it is best to change both of True?

ror0 commented 7 years ago

@zchee I took a look at the other two options.

The include_code_patterns adds completion for things like for loops, while loops and if/else statements.

I didn't notice any changes when I enabled the include_brief_comments option, so I'm not sure where clang sources the comments from.

You can find more documentation here: http://clang.llvm.org/doxygen/group__CINDEX__CODE__COMPLET.html#gaaad70639b9973354626101151db4154b

I have enabled the include_code_patterns option in the latest commit, but left the include_brief_comments option disabled since I don't know what exactly it does.

zchee commented 7 years ago

@r10o Ah, sorry for the delay. Got it. maybe include_brief_comments is additional comment(like doxygen) to chunk, but deoeplete-clang was ignored(not used). https://github.com/zchee/deoplete-clang/blob/master/rplugin/python3/deoplete/sources/deoplete_clang.py#L331

LGTM. I'll merge it. thanks :)