معرفی شرکت ها


cpp-linter-hooks-0.2.2


Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر

توضیحات

Automatically check c/c++ with clang-format and clang-tidy
ویژگی مقدار
سیستم عامل -
نام فایل cpp-linter-hooks-0.2.2
نام cpp-linter-hooks
نسخه کتابخانه 0.2.2
نگهدارنده []
ایمیل نگهدارنده []
نویسنده -
ایمیل نویسنده Peter Shen <xianpeng.shen@gmail.com>
آدرس صفحه اصلی -
آدرس اینترنتی https://pypi.org/project/cpp-linter-hooks/
مجوز MIT License
# cpp-linter-hooks [![Test](https://github.com/cpp-linter/cpp-linter-hooks/actions/workflows/test.yml/badge.svg)](https://github.com/cpp-linter/cpp-linter-hooks/actions/workflows/test.yml) [![codecov](https://codecov.io/gh/cpp-linter/cpp-linter-hooks/branch/main/graph/badge.svg?token=L74Z3HZ4Y5)](https://codecov.io/gh/cpp-linter/cpp-linter-hooks) Using `clang-format` and `clang-tidy` hooks with [pre-commit](https://pre-commit.com/) to lint your C/C++ code. Highlight✨: No need to manually download and install `clang-format` or `clang-tidy` on your system. ## Usage Add this to your `.pre-commit-config.yaml` ```yaml repos: - repo: https://github.com/cpp-linter/cpp-linter-hooks rev: v0.2.1 # Use the ref you want to point at hooks: - id: clang-format args: [--style=Google] # Other coding style: LLVM, GNU, Chromium, Microsoft, Mozilla, WebKit. - id: clang-tidy args: [--checks='boost-*,bugprone-*,performance-*,readability-*,portability-*,modernize-*,clang-analyzer-*,cppcoreguidelines-*'] ``` The example of using custom config: `.clang-format` and `.clang-tidy` ```yaml repos: - repo: https://github.com/cpp-linter/cpp-linter-hooks rev: v0.2.1 hooks: - id: clang-format args: [--style=file] # to load .clang-format - id: clang-tidy args: [--checks=.clang-tidy] # path/to/.clang-tidy ``` The example of using any version of [clang-tools](https://github.com/cpp-linter/clang-tools-pip). ```yaml repos: - repo: https://github.com/cpp-linter/cpp-linter-hooks rev: v0.2.1 hooks: - id: clang-format args: [--style=file, --version=13] - id: clang-tidy args: [--checks=.clang-tidy, --version=12] ``` ## Output ### clang-format output ```bash clang-format.............................................................Failed - hook id: clang-format - files were modified by this hook ``` Here is the diff between the modified file. ```diff --- a/testing/main.c +++ b/testing/main.c @@ -1,3 +1,6 @@ #include <stdio.h> -int main() {for (;;) break; printf("Hello world!\n");return 0;} - +int main() { + for (;;) break; + printf("Hello world!\n"); + return 0; +} ``` Pass `--dry-run` to the `args` of `clang-format`(can also pass other arg which clang-format supports) Then it will just print instead of changing the format. E.g: ```bash clang-format.............................................................Failed - hook id: clang-format - exit code: 255 main.c:2:11: warning: code should be clang-formatted [-Wclang-format-violations] int main() {for (;;) break; printf("Hello world!\n");return 0;} ^ main.c:2:13: warning: code should be clang-formatted [-Wclang-format-violations] int main() {for (;;) break; printf("Hello world!\n");return 0;} ^ main.c:2:21: warning: code should be clang-formatted [-Wclang-format-violations] int main() {for (;;) break; printf("Hello world!\n");return 0;} ^ main.c:2:28: warning: code should be clang-formatted [-Wclang-format-violations] int main() {for (;;) break; printf("Hello world!\n");return 0;} ^ main.c:2:54: warning: code should be clang-formatted [-Wclang-format-violations] int main() {for (;;) break; printf("Hello world!\n");return 0;} ^ main.c:2:63: warning: code should be clang-formatted [-Wclang-format-violations] int main() {for (;;) break; printf("Hello world!\n");return 0;} ^ ``` ### chang-tidy output ```bash clang-tidy...............................................................Failed - hook id: clang-tidy - exit code: 1 418 warnings and 1 error generated. Error while processing /home/ubuntu/cpp-linter-hooks/testing/main.c. Suppressed 417 warnings (417 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. Found compiler error(s). /home/ubuntu/cpp-linter-hooks/testing/main.c:3:11: warning: statement should be inside braces [readability-braces-around-statements] for (;;) break; ^ { /usr/include/stdio.h:33:10: error: 'stddef.h' file not found [clang-diagnostic-error] #include <stddef.h> ^~~~~~~~~~ ``` ## Contributing Any contribution is very welcome, including submitting issues, PRs, etc. ## License This project is licensed under the terms of the MIT license.


نحوه نصب


نصب پکیج whl cpp-linter-hooks-0.2.2:

    pip install cpp-linter-hooks-0.2.2.whl


نصب پکیج tar.gz cpp-linter-hooks-0.2.2:

    pip install cpp-linter-hooks-0.2.2.tar.gz