You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Initially I was going to develop a rust port of clang-tools-pip in a separate repo named clang-tools-installer.
Instead I could incorporate the idea into this project. Then cpp-linter can ship with install capability that is invoked when necessary.
Ideally, it would install (in order of preference):
The stripped dynamic binaries from the clang-tidy and clang-format projects on PyPI.
dynamic binaries from OS-native package manager (apt on linux, homebrew on macos, chocolate on windows). This option would involve downloading (at cpp-linter-rs build time) and executing (at runtime) the official LLVM install script. This step would get skipped if the package manager is not present.
This is coming along. On the clang-tools-downloader branch, I have downloads from PyPI1 and our static binaries2 working (both with hash validation). Just need to hack together some native package manager support3 and some unit tests...
FYI, interactive terminals are typically detected by checking if stdin is a stream or not. When stdin is not a stream (not interactive terminal), the progress bars will not rewrite the entire line on progress updates.
Activity
2bndy5 commentedon Jan 24, 2025
Note to self
A helpful gist about using
indicatiflib to display progress bars when downloading a file asynchronously: https://gist.github.com/Tapanhaz/096e299bf060607b572d700e89a62529github-actions commentedon Mar 26, 2025
2bndy5 commentedon Nov 4, 2025
I've been improving the CLI about version specifiation. I'm gearing up to resolve this...
Ref: cpp-linter/cpp-linter-action#364 (comment)
[-]Add new rust crate for (un)installing clang tools[/-][+]Add new mechanism for installing clang tools[/+]github-actions commentedon Jan 4, 2026
2bndy5 commentedon Mar 3, 2026
This is coming along. On the
clang-tools-downloaderbranch, I have downloads from PyPI1 and our static binaries2 working (both with hash validation). Just need to hack together some native package manager support3 and some unit tests...2bndy5 commentedon Mar 3, 2026
FYI, interactive terminals are typically detected by checking if stdin is a stream or not. When stdin is not a stream (not interactive terminal), the progress bars will not rewrite the entire line on progress updates.