LLVM-Guide
lsif-clang
Our great sponsors
LLVM-Guide | lsif-clang | |
---|---|---|
2 | 4 | |
111 | 33 | |
- | - | |
4.7 | 0.0 | |
4 months ago | about 1 year ago | |
C++ | C++ | |
- | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
LLVM-Guide
-
Tools and Resources for LLVM
A useful set of Tools & Learning Resources for LLVM.
- Useful Tools and Programs list for LLVM
lsif-clang
-
The technology behind GitHub’s new code search
In the top right corner of the tooltip it will say either "Search-based" or "Precise" - in this case, you're right, we don't have the abseil-cpp repo indexed so it falls back to search-based as you describe.
We do have a C++ code indexer in beta, https://github.com/sourcegraph/lsif-clang - it is based on clang but C++ indexing is notably harder to do automatically/without-setup due to the varying build systems that need to be understood in order to invoke the compiler.
-
GitHub Code Search (Preview)
Interesting because on https://lsif.dev/ I see that LSIF support for C++, which basically is just a wrapper around clangd AFAIU, is deprecated. Is there something else that replaced it?
-
SCIP - a better code indexing format than LSIF
We already have an LSIF indexer for C++ (lsif-clang); however, that is not as feature complete as the other indexers. Moreover, the codebase is forked off of Clang 10, so upgrading to newer Clang versions (and build a SCIP indexer on top of that) will be a challenge.
-
Google Is 2B Lines of Code–and It's All in One Place
- Go:
Why are not all repos covered?
Because different languages have different build systems, so inferring the right build commands, dependencies etc. is not so straightforward; these are necessary per-requisites for compiler-accurate cross references. We're working on fixing this with auto-indexing: https://docs.sourcegraph.com/code_intelligence/explanations/...
For C and C++ specifically, auto-indexing is challenging because of the large variety in build systems, informal specification of dependencies (such as in a README instead of a machine-readable format), and platform-specific code.
Outside of auto-indexing, we do have an indexer for C and C++ right now (https://github.com/sourcegraph/lsif-clang) which can be run in CI; that way one can generate an index and upload it to Sourcegraph on a regular basis. It is 'Partially available' (https://docs.sourcegraph.com/code_intelligence/references/in...) right now. We're keenly aware of the interest in C++, and are working our way through different languages based on usage.
What are some alternatives?
cppinsights - C++ Insights - See your source code with the eyes of a compiler
faust - Functional programming language for signal processing and sound synthesis
codechecker - CodeChecker is an analyzer tooling, defect database and viewer extension for the Clang Static Analyzer and Clang Tidy
snowball - [WIP] 🐱 Snowball is a low-weight, statically typed, object oriented programming language.
scip - SCIP Code Intelligence Protocol
ccache - ccache – a fast compiler cache
color_coded - A vim plugin for libclang-based highlighting of C, C++, ObjC
ropfuscator - ROPfuscator is a fine-grained code obfuscation framework for C/C++ programs using ROP (return-oriented programming).
advanced
adorad - Fast, Expressive, & High-Performance Programming Language for those who dare
Bazel - a fast, scalable, multi-language and extensible build system