This document will help getting started contributing to Verible. Collecting development aids and design concepts.
https://cs.opensource.google/verible/verible is a search-indexed mirror of Verible's source code. Expect to spend some time here as you familiarize yourself with the codebase.
https://developers.google.com/code-search/reference provides a reference for search syntax and more.
To learn more about how to use Kythe to index the source code yourself, read here.
To allow your editor to navigate the code base, make sure it uses the clangd
language server. With
.github/bin/make-compilation-db.sh
You can create the compilation database it needs.
If you have a compilation database, you can run the clang-tidy checker:
.github/bin/run-clang-tidy-cached.cc
Note, this will take a while the first time, but it caches the result.
To run all litmus diagnostics before submitting, there is this convenient script, run it before creating a pull request to see if you haven't missed anything (the Continuous Integration on github will catch it, but nice to run this locally):
.github/bin/before-submit.sh
This will also run clang-tidy
, and so will take a while the first time you run it.
.h
and .cc
files come with a _test.cc
set of unit tests. The tests are never outdated because they are kept passing.Each directory in the source tree contains a short README.md describing the contents.