vim-clang - Clang completion plugin for vim

  •        81

Use of clang to parse and complete C/C++ source files. I was a user of clang_compelete and it's really a good job, but someday I found that I must write another plugin to overcome some drawbacks of it...



Related Projects

vim-clang-format - Vim plugin for clang-format, a formatter for C, C++, Obj-C, Java, JavaScript, TypeScript and ProtoBuf

  •    Vim

This plugin formats your code with specific coding style using clang-format. Copy plugin, doc and autoload directories into your ~/.vim or use :packadd in Vim8. Or please use your favorite plugin manager to install this plugin. I recommend latter.

emacs-clang-complete-async - An emacs plugin to complete C and C++ code using libclang

  •    Emacs

emacs-clang-complete-async is an emacs extension to complete C and C++ code, it uses libclang to parse the source code on the fly and provides completion candidates to auto-complete ( This extension is not implemented in pure elisp, it is made up of a client part (auto-complete-clang-async.el, written in elisp) and a server part (clang-complete binary, written in C), they work cooperately in asynchonous client-server fashion.

color_coded - A vim plugin for libclang-based highlighting of C, C++, ObjC

  •    C++

color_coded is a vim plugin that provides realtime (fast), tagless code highlighting for C++, C, and Objective C using libclang. First, install all required dependencies.

ClangFormat-Xcode - Xcode plug-in to to use clang-format from in Xcode and consistently format your code with Clang

  •    Objective-C

An Xcode plug-in to format your code using Clang's format tools, by @travisjeffery. With clang-format you can use Clang to format your code to styles such as LLVM, Google, Chromium, Mozilla, WebKit, or your own configuration.

Clang-tutorial - A collection of code samples showing usage of clang and llvm as a library

  •    C++

This is a collection of tutorials showing off how to use core Clang types. It is based directly on two older tutorials which no longer built due to code rot. This particular set of tutorials tracks the llvm / clang mainline and is updated semi-regularly to account for llvm / clang API changes.

facebook-clang-plugins - Plugins to clang-analyzer and clang-frontend

  •    C++

This repository aims to share some useful clang plugins developed at Facebook.frontend plugins process the syntax of source files directly to accomplish more general tasks; specifically, we have developed a clang-to-ocaml bridge to make code analyses easier.

llvm-clang-samples - Examples of using the LLVM and Clang compilation libraries and tools

  •    C++

A collection of samples for using LLVM and Clang as libraries. LLVM & Clang evolve rapidly and the C++ API is not stable. This means that code that links against LLVM & Clang as libraries in version X may very well not compile or work in version X+1.

XcodeClangFormat - Format code in Xcode 8+ with clang-format

  •    Objective-C++

This plugin written for Xcode 8's new plugin infrastructure uses Clang's libclangFormat library to format code according to a .clang-format file.Due to macOS Sandboxing restrictions, this Plugin behaves slightly differently compared to the command line clang-format command: It always uses the style selected in the configuration app, and will not use the nearest .clang-format file on disk.

VimCompletesMe - You don't Complete Me; Vim Completes Me! A super simple, super minimal, super light-weight tab completion plugin for Vim

  •    Vim

A super simple, super minimal, super light-weight tab-completion plugin for Vim. If any of above types of completions fails to return any results, hitting Tab again will switch back to Vim's local keyword completion. VimCompletesMe will go back to trying the special completion for the next tab completion.

completor.vim - Async completion framework made ease.

  •    Python

Completor is an asynchronous code completion framework for vim8. New features of vim8 are used to implement the fast completion engine with low overhead. For using semantic completion, external completion tools should be installed. When the input matches a file path pattern the file name will be automatically completed.

checkedc - Checked C is an extension of C that adds bounds checking to C

  •    C

Checked C is an extension to C that adds static and dynamic checking to detect or prevent common programming errors such as buffer overruns, out-of-bounds memory accesses, and incorrect type casts. This repo contains the specification for the extension, test code, and samples. For the latest version of the specification and the draft of the next version, see the Checked C releases page.We are creating a modified version of LLVM/clang that supports Checked C. The code for the modified version of LLVM/clang lives in the Checked C clang repo and the Checked C LLVM repo.

codechecker - CodeChecker is an analyzer tooling, defect database and viewer extension for the Clang Static Analyzer and Clang Tidy

  •    Python

CodeChecker is a static analysis infrastructure built on the LLVM/Clang Static Analyzer toolchain, replacing scan-build in a Linux or macOS (OS X) development environment. In OSX environment the intercept-build tool from scan-build is used to log the compiler invocations.

vim-javacomplete2 - Updated javacomplete plugin for vim.

  •    Vim

Updated version of the original javacomplete plugin for vim. This is vim-javacomplete2, an omni-completion plugin for Java requiring vim 7.

rtags - A c/c++ client/server indexer for c/c++/objc[++] with integration for Emacs based on clang.

  •    C++

RTags is a client/server application that indexes C/C++ code and keeps a persistent file-based database of references, declarations, definitions, symbolnames etc. There’s also limited support for ObjC/ObjC++. It allows you to find symbols by name (including nested class and namespace scope). Most importantly we give you proper follow-symbol and find-references support. We also have neat little things like rename-symbol, integration with clang’s “fixits” ( We also integrate with flymake using clang’s vastly superior errors and warnings. Since RTags constantly will reindex “dirty” files you get live updates of compiler errors and warnings. Since we already know how to compile your sources we have a way to quickly bring up the preprocessed output of the current source file in a buffer. While existing taggers like gnu global, cscope, etags, ctags etc do a decent job for C they often fall a little bit short for C++. With its incredible lexical complexity, parsing C++ is an incredibly hard task and we make no bones about the fact that the only reason we are able to improve on the current tools is because of clang ( RTags is named RTags in recognition of Roberto Raggi on whose C++ parser we intended to base this project but he assured us clang was the way to go. The name stuck though.

YouCompleteMe - A code-completion engine for Vim

  •    Python

First carefully read the installation instructions for your OS. We recommend you use the supplied Next check the User Guide section on the semantic completer that you are using. For C/C++/Objective-C/Objective-C++/CUDA, you must read this section.

vim-racer - Racer support for Vim

  •    Vim

This plugin allows vim to use Racer for Rust code completion and navigation. Install using Pathogen, Vundle or NeoBundle. Or, copy ftplugin/rust_racer.vim into your ~/.vim/plugin directory.

clang - Mirror of official clang git repository located at http://llvm

  •    C++

Mirror of official clang git repository located at Updated every five minutes.

clang-tools-extra - Mirror of official clang-tools-extra git repository located at http://llvm

  •    C++

Mirror of official clang-tools-extra git repository located at Updated every five minutes.

YouCompleteMe - A code-completion engine for Vim

  •    C++

A code-completion engine for Vim

vim-monster - Ruby code completion.

  •    Vim

Ruby code completion.