Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/xavierd/clang_complete
Vim plugin that use clang for completing C/C++ code.
https://github.com/xavierd/clang_complete
Last synced: 1 day ago
JSON representation
Vim plugin that use clang for completing C/C++ code.
- Host: GitHub
- URL: https://github.com/xavierd/clang_complete
- Owner: xavierd
- Created: 2010-10-26T19:22:25.000Z (over 14 years ago)
- Default Branch: master
- Last Pushed: 2024-04-24T23:56:59.000Z (9 months ago)
- Last Synced: 2025-01-24T11:06:29.081Z (8 days ago)
- Language: Python
- Homepage: http://www.vim.org/scripts/script.php?script_id=3302
- Size: 719 KB
- Stars: 1,950
- Watchers: 89
- Forks: 309
- Open Issues: 186
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
This plugin uses clang for accurately completing C and C++ code.
## Installation
You need Vim 7.3 or higher, compiled with python support and ideally, with
the conceal feature.#### Not using any plugin management tools
Just put the files in ~/.vim/
```
git clone https://github.com/xavierd/clang_complete.git /tmp/clang_complete
cp -r /tmp/clang_complete/* ~/.vim
```#### Using packs of Vim8
```
mkdir -p ~/.vim/pack/completion/start/
git clone https://github.com/xavierd/clang_complete.git ~/.vim/pack/completion/start/clang_complete
```#### Using plugin managers, runtime path managers
Follow regular procedure outlined in corresponding documentation
#### Using [vimball][vimball] (not in nvim)
To build and install in one step, type: `$ make install`
To build and install in two steps, type:
```
$ make
$ vim clang_complete.vmb -c 'so %' -c 'q'
```## Minimum Configuration
- Set the `clang_library_path` to the directory containing file named
libclang.{dll,so,dylib} (for Windows, Unix variants and OS X respectively) or
the file itself, example:```vim
" provide path directly to the library file
let g:clang_library_path='/usr/lib/llvm-14/lib/libclang-14.so.1'
```- Compiler options can be configured in a `.clang_complete` file in each project
root. Example of `.clang_complete` file:```
-DDEBUG
-include ../config.h
-I../common
-I/usr/include/c++/4.5.3/
-I/usr/include/c++/4.5.3/x86_64-slackware-linux/
```## Usage
The plugin provides list of matches, after that you pick completion from a
generic completion menu where Ctrl+N, Ctrl+P and alike
work and wrap around ends of list.## License
See doc/clang_complete.txt for help and license.
## Troubleshooting
The first step is to check values of `'omnifunc'` and `'completefunc'` options
in a C++ buffer where completion doesn't work (the value should be
`ClangComplete`). This can be done with the following command:
`:set omnifunc? completefunc?`Output of `:messages` command after startup could also show something useful in
case there were problems with plugin initialization.If everything is fine, next step might be to load only clang_complete plugin
and see if anything changes.[vimball]: https://vimhelp.appspot.com/pi_vimball.txt.html