lsif-clang
pagefind
lsif-clang | pagefind | |
---|---|---|
4 | 26 | |
33 | 2,993 | |
- | 3.6% | |
0.0 | 9.2 | |
about 1 year ago | 12 days ago | |
C++ | Rust | |
- | MIT License |
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.
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.
pagefind
-
🔍Underrated Open Source Projects You Should Know About 🧠
Pagefind is a static search library that aims to perform well on small or large sites, while using as little bandwidth as possible, and you don't have to host any infrastructure.
- Pagefind – Static low-bandwidth search at scale
- Ask HN: What Underrated Open Source Project Deserves More Recognition?
- Pagefind is a low bandwidth static search library
-
Lightweight, portable and secure Wasm runtimes and their use cases.
In theory, if we ran lower level code, we would be using less resources. That's more than a theory. Go to this video where I demonstrate Pagefind, written in Rust and compiled to Wasm as target, as a static app that ingests and indexes HTML documents and runs super efficient search queries, all client-side.
- Pagefind v1.0.0 – Stable static search at scale
-
Free Open-Source Blog Template for Developers ✏️📃
✅ Pagefind static search library integration
- Pagefind is a fully static search library
-
How to Start Your Blog in 2023
I use Astro SSG and Cloudflare Pages. I use https://github.com/cloudcannon/pagefind for search on my Astro setup. You can test the search functionality here https://tinyrocket.pages.dev/.
From its repo: "Pagefind runs after any static site generator and automatically indexes the built static files. Pagefind then outputs a static search bundle to your website, and exposes a JavaScript search API that can be used anywhere on your site."
Pagefind is cool!
-
We’re the Meilisearch team! To celebrate v1.0 of our open-source search engine, Ask us Anything!
An option there is https://pagefind.app/ — not as fast as a persistent server but solves some of the deployment and bandwidth issues.
What are some alternatives?
cppinsights - C++ Insights - See your source code with the eyes of a compiler
pagebreak - 📃 Open-source CLI tool for implementing pagination on any static website.
codechecker - CodeChecker is an analyzer tooling, defect database and viewer extension for the Clang Static Analyzer and Clang Tidy
charabia - Library used by Meilisearch to tokenize queries and documents
scip - SCIP Code Intelligence Protocol
db-benchmarks - Fair database benchmarks framework and datasets
color_coded - A vim plugin for libclang-based highlighting of C, C++, ObjC
rosey - :rose: Open-source CLI tool for managing translations on static websites.
LLVM-Guide - LLVM (Low Level Virtual Machine) Guide. Learn all about the compiler infrastructure, which is designed for compile-time, link-time, run-time, and "idle-time" optimization of programs. Originally implemented for C/C++ , though, has a variety of front-ends, including Java, Python, etc.
vespa - AI + Data, online. https://vespa.ai
advanced
bookshop - 📚 A component development workflow for static websites.