clang-server

A C/C++ AST index server using libclang and flatbuffers written in Go

BSD-3-CLAUSE License

Stars
87

clang-server

A C/C++ AST index server using libclang over the msgpack-rpc written in Go.

Concept

  • Fast indexing of C/C++ AST database onto the NoSQL, which serialized by flatbuffers
    • Now using the leveldb key-value storage
    • Without C bindings using the syndtr/goleveldb, which is natively implemented leveldb in Go
  • Support cross-platform and multi-architecture AST indexing
    • Linux, macOS, BSD and Windows
    • arm, arm64 m68k, mips, sparc and x86_(16|32|64)
  • Server/Client architecture over the msgpack-rpc
  • Built-in compile_commands.json generator using google/kati and ninja for Makefile
    • No need make for the generating compile_commands.json
Package Rankings
Top 8.17% on Proxy.golang.org
Badges
Extracted from project README
CircleCI codecov.io godoc.org Releases GA