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

  •        43

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.



Related Projects

vim-clang - Clang completion plugin for vim

  •    Vim

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...

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.

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.

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.

atom-beautify - :lipstick: Universal beautification package for Atom editor (:warning: Currently migrating to https://github

  •    CoffeeScript

Atom-Beautify respects the core.telemetryConsent configuration option from Atom editor. If you do not wish to have usage data sent to Google Analytics then please set core.telemetryConsent to no or undecided option before using Atom-Beautify. See Anonymous Analytics section of docs for details. Thank you. Atom-Beautify is going to be completely rewritten with Unibeautify at its core! See unibeautify branch for work in progress and Issue #1174.

vim-autoformat - Provide easy code formatting in Vim by integrating existing code formatters.

  •    Vim

Format code with one button press. This plugin makes use of external formatting programs to achieve the best results. Check the list of formatprograms below to see which languages are supported by default. You can easily customize these or add your own formatprogram. When no formatprogram exists (or no formatprogram is installed) for a certain filetype, vim-autoformat falls back by default to indenting, (using vim's auto indent functionality), retabbing and removing trailing whitespace.

cmake-examples - Useful CMake Examples

  •    CMake

CMake is a cross-platform open-source meta-build system which can build, test and package software. It can be used to support multiple native build environments including make, Apple’s xcode and Microsoft Visual Studio. This repository includes some example modern CMake configurations which I have picked up when exploring it’s usage for various projects. The examples are laid out in a tutorial like format. The first examples are very basic and slowly increase in complexity drawing on previous examples to show more complex use cases.

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.

neoformat - :sparkles: A (Neo)vim plugin for formatting code.

  •    Vim

A (Neo)vim plugin for formatting code. Neoformat uses a variety of formatters for many filetypes. Currently, Neoformat will run a formatter using the current buffer data, and on success it will update the current buffer with the formatted text. On a formatter failure, Neoformat will try the next formatter defined for the filetype.

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.

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.

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.

yapf - A formatter for Python files

  •    Python

Most of the current formatters for Python --- e.g., autopep8, and pep8ify --- are made to remove lint errors from code. This has some obvious limitations. For instance, code that conforms to the PEP 8 guidelines may not be reformatted. But it doesn't mean that the code looks good.YAPF takes a different approach. It's based off of 'clang-format', developed by Daniel Jasper. In essence, the algorithm takes the code and reformats it to the best formatting that conforms to the style guide, even if the original code didn't violate the style guide. The idea is also similar to the 'gofmt' tool for the Go programming language: end all holy wars about formatting - if the whole codebase of a project is simply piped through YAPF whenever modifications are made, the style remains consistent throughout the project and there's no point arguing about style in every code review.

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.

vim-jsbeautify - vim plugin which formated javascript files by js-beautify

  •    Vim

This extension allows you to use jsbeautifier inside vim to quickly format javascript, html and css files. Version 1.0 also supports the editorconfig file. Any comments, corrections and suggestions are welcome.

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.

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.