Generates an html file that organizes your clang-tidy log output with the latest clang-tidy checks.
Project description
clang-html
A visualizer for LLVM's linting tool: clang-tidy.
Getting Started with pip
Install it:
python -m pip install clang-html
In your shell:
# Call it as python module
python -m clang_html [logfile.log] [-o clang.html] [-d list.html]
# Call it directly
clang-tidy-html [logfile.log] [-o clang.html] [-d list.html]
In your python terminal:
>>> from pathlib import Path
>>> from clang_html import clang_tidy_visualizer
>>> clang_tidy_visualizer(Path("examples/sample.log"))
2021-04-23 12:30:40,619 - clang_html.clang_visualizer - INFO - Writing results to clang.html
Libraries
Prerequisites
Install Clang-Tidy to use for your C/C++ source files.
On your local Linux machine, installation is as easy as:
sudo apt install clang-tidy
You will need bash or some other terminal to execute the script. Download Python 3 or higher here.
When running clang-tidy on your files, be sure to pipe it into a new log file of checks:
clang-tidy -checks=* [filename.c] | tee [newfile.log]
If you are receiving the following error:
Error while trying to load a compilation database: Could not auto-detect compilation database for file "your_file.c" No compilation database found in /your/directory or any parent directory
Create a simple json file to be compiled into your project documented here.
Running the script locally
Clone or fork this repository to run the script on your native system.
The script takes in one file argument of a txt or log file with your outputted clang-tidy checks.
python -m clang_html [newfile.log] [-o clang.html] [-d list.html]
Example Output
Inside the same directory as clang_visualizer.py, you will find a new html file called 'clang.html'.
You can also specify your custom file name when calling the script with [-o, --out] other_name.html
or clang_tidy_visualizer(Path("sample.log"), Path("clang.html"))
.
An example html output can be found here.
The highlighting functionality uses your local session storage, which will save your changes on exit.
Contributing
Feel free to create a pull request for any updates or fixes to this repository.
Versioning
This repository uses LLVM Clang for versioning. By default, the script uses the latest information presented on LLVM's official checks list. Earlier versions should have support for the vast majority of checks.
The -d --checks_dict_url
command-line option can link to another version (e.g., find v14.0.0 checks with: https://releases.llvm.org/14.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/list.html).
Authors
- Austin Hale
See also the list of contributors who participated in this project.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file clang-html-1.6.1.tar.gz
.
File metadata
- Download URL: clang-html-1.6.1.tar.gz
- Upload date:
- Size: 15.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f3dd5bb77e40d2e15040401c750a3cff3e286b2bb26303607bfb12995f15d491 |
|
MD5 | 9f247feb3c7be2092e01b0fa640925e9 |
|
BLAKE2b-256 | 1b406b71f73c54268a5b09311cc674d77f80c938e95103c4375ad8bb9fcb7699 |
File details
Details for the file clang_html-1.6.1-py3-none-any.whl
.
File metadata
- Download URL: clang_html-1.6.1-py3-none-any.whl
- Upload date:
- Size: 14.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2cc9fceb168b7b259ea44a0f08dff20e303e0e70df2589c6ddd3303dc76e9fb1 |
|
MD5 | ba36931ab93835ecfdb2cca57f5d8fc4 |
|
BLAKE2b-256 | 6721c6bc9a08eb46633f8ae084892ccc350518cb4f744ab6198a42dfb687b774 |