xaizek / vim-inccomplete (License: Vim) (since 2018-12-07)
Vim plugin for #include directive completion in C family of languages.
<root> / README.md (12e586eb55b92b7aef2a9eb1c109e3287b6e8e1c) (1,382B) (mode 100644) [raw]
### What is this plugin ###

This is a completion plugin for C/C++/ObjC/ObjC++ preprocessor's `#include`
directive.

### Which files are matched ###

`""` completion lists header files which are defined by `hpp` or `h` extension.

`<>` completion lists files that have `hpp` or `h` extension or don't have any.

### Sources of completion ###

Sources for `""` completion are configured via `g:inccomplete_localsources` and
can include:
 - paths relative to the directory of current file
 - `'-I'` keys from `g:clang_user_options`
 - `'-I'` keys from `b:clang_user_options`

Additional sources for `""` completion can be specified via
`b:inccomplete_roots` (this is a list equivalent of older `b:inccomplete_root`
string option).

Sources for `<>` completion are:
 - `'path'` option (on *nix it's set to `'/usr/include'` by default, but on
   Windows you should set it to the right directories manually)
 - `g:clang_user_options` (`'-I'` keys)
 - `b:clang_user_options` (`'-I'` keys)

### Additional notes ###

If you think it's faster to use `find` than builtin VimL functions, there is an
option for that.

This plugin can be used along with clang_complete plugin. And maybe with some
other completion plugins that weren't tested (inccomplete should work as long as
it's loaded after some other completion plugin).

### License ###

Same terms as Vim itself (see `:help license`).
Hints

Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://code.reversed.top/user/xaizek/vim-inccomplete

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@code.reversed.top/user/xaizek/vim-inccomplete

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a pull request:
... clone the repository ...
... make some changes and some commits ...
git push origin master