Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add: opt in color log output #276

Open
wants to merge 4 commits into
base: main
Choose a base branch
from
Open

add: opt in color log output #276

wants to merge 4 commits into from

Conversation

2bndy5
Copy link
Collaborator

@2bndy5 2bndy5 commented Oct 18, 2024

resolves #275

Summary by CodeRabbit

  • New Features

    • Introduced an environment variable CPP_LINTER_COLOR to enable color output for the C/C++ linter.
    • Added a new dependency, rich, for enhanced color functionality.
  • Documentation

    • Enhanced the README with a new tip on color output configuration and updated YAML examples to illustrate the usage of CPP_LINTER_COLOR.

@2bndy5 2bndy5 added the enhancement New feature or request label Oct 18, 2024
Copy link
Contributor

github-actions bot commented Oct 18, 2024

Cpp-Linter Report ⚠️

Some files did not pass the configured checks!

clang-format (v12.0.1) reports: 2 file(s) not formatted
  • docs/examples/demo/demo.cpp
  • docs/examples/demo/demo.hpp
clang-tidy (v12.0.1) reports: 7 concern(s)

Have any feedback or feature suggestions? Share it here.

@github-actions github-actions bot added the documentation Improvements or additions to documentation label Oct 18, 2024
Copy link

coderabbitai bot commented Oct 18, 2024

Walkthrough

The changes introduce enhancements to a C/C++ linter GitHub Action, focusing on color output configuration. The README.md file now includes instructions for setting the CPP_LINTER_COLOR environment variable to enable color output, with an updated YAML example. The action.yml file has been modified to conditionally install color requirements based on this variable, while color-requirements.txt has been updated to include the rich library as a new dependency.

Changes

File(s) Change Summary
README.md Added section on CPP_LINTER_COLOR environment variable and updated YAML configuration example.
action.yml Added logic to conditionally install color requirements based on CPP_LINTER_COLOR variable.
color-requirements.txt Added dependency for rich library at version 13.9.2.

Assessment against linked issues

Objective Addressed Explanation
Allow colored logging output via CPP_LINTER_COLOR env var (#275)

Poem

In the land of code where colors play,
The linter hops with joy today.
Set CPP_LINTER_COLOR, let it shine,
With rich in tow, your logs align!
A vibrant dance of errors and light,
Making debugging a pure delight! 🐇✨


Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Outside diff range and nitpick comments (2)
README.md (1)

50-52: LGTM! Consider a minor wording adjustment.

The new tip effectively communicates how to enable color output, which aligns well with the PR objectives. The formatting is consistent with the document style.

Consider adjusting the wording slightly for clarity:

- > To enable color output in the workflow logs, set the environment variable `CPP_LINTER_COLOR` to a value of `on` or `true` or `1`.
+ > To enable color output in the workflow logs, set the environment variable `CPP_LINTER_COLOR` to `on`, `true`, or `1`.
🧰 Tools
🪛 LanguageTool

[style] ~50-~50: Using many exclamation marks might seem excessive (in this case: 8 exclamation marks for a text that’s 2989 characters long)
Context: ...n/.github/workflows/cpp-linter.yml) > [!TIP] > To enable color output in the wor...

(EN_EXCESSIVE_EXCLAMATION)

action.yml (1)

272-276: LGTM with a minor suggestion for clarity

The implementation for enabling colored log output on Unix systems looks good. It correctly checks for common "true" values and conditionally installs the additional requirements.

For improved clarity and maintainability, consider adding a comment explaining the purpose of this case statement. For example:

+        # Install color output requirements if enabled
         case "${{ env.CPP_LINTER_COLOR }}" in
             "true" | "on" | "1")
                 pip install -r "$GITHUB_ACTION_PATH/color-requirements.txt"
                 ;;
         esac
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Files that changed from the base of the PR and between fc3e8f8 and 5f14ac8.

📒 Files selected for processing (3)
  • README.md (2 hunks)
  • action.yml (2 hunks)
  • color-requirements.txt (1 hunks)
✅ Files skipped from review due to trivial changes (1)
  • color-requirements.txt
🧰 Additional context used
🪛 LanguageTool
README.md

[style] ~50-~50: Using many exclamation marks might seem excessive (in this case: 8 exclamation marks for a text that’s 2989 characters long)
Context: ...n/.github/workflows/cpp-linter.yml) > [!TIP] > To enable color output in the wor...

(EN_EXCESSIVE_EXCLAMATION)

🔇 Additional comments (4)
README.md (3)

62-62: LGTM! Clear example of color output configuration.

The addition of CPP_LINTER_COLOR: on to the YAML example is consistent with the new tip and clearly demonstrates how to enable color output. The comment about the default setting off is helpful for users.


50-50: Ignore the static analysis hint about excessive exclamation marks.

The static analysis tool has flagged excessive use of exclamation marks, but this appears to be a false positive. The changes we've reviewed and the surrounding context don't contain any exclamation marks. This hint can be safely ignored.

🧰 Tools
🪛 LanguageTool

[style] ~50-~50: Using many exclamation marks might seem excessive (in this case: 8 exclamation marks for a text that’s 2989 characters long)
Context: ...n/.github/workflows/cpp-linter.yml) > [!TIP] > To enable color output in the wor...

(EN_EXCESSIVE_EXCLAMATION)


Line range hint 50-62: Summary: Changes align well with PR objectives

The updates to the README.md file effectively communicate the new color output feature, which is the main objective of this PR. The additions include:

  1. A clear tip on how to enable color output
  2. An updated YAML example demonstrating the usage of the CPP_LINTER_COLOR environment variable

These changes provide users with the necessary information to utilize the new feature, improving the overall usability of the C/C++ Linter Action.

🧰 Tools
🪛 LanguageTool

[style] ~50-~50: Using many exclamation marks might seem excessive (in this case: 8 exclamation marks for a text that’s 2989 characters long)
Context: ...n/.github/workflows/cpp-linter.yml) > [!TIP] > To enable color output in the wor...

(EN_EXCESSIVE_EXCLAMATION)

action.yml (1)

272-276: Summary: Colored log output implementation aligns with PR objectives

The changes successfully implement the opt-in colored log output functionality as described in the PR objectives and issue #275. The implementation:

  1. Allows users to enable colored output by setting the CPP_LINTER_COLOR environment variable.
  2. Conditionally installs the necessary requirements (color-requirements.txt) when enabled.
  3. Works for both Unix and Windows environments.

While the functionality is correct, there are opportunities for improvement in terms of consistency between Unix and Windows implementations and some minor clarity enhancements. These have been addressed in the previous comments.

Overall, this change enhances the cpp-linter action by providing users with the option for more readable, colored log output, which should improve the experience when searching for errors in the logs.

Also applies to: 316-320

action.yml Outdated Show resolved Hide resolved
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Outside diff range and nitpick comments (1)
README.md (1)

50-54: LGTM! Consider a minor wording adjustment.

The new tip effectively communicates how to enable color output in workflow logs, which aligns well with the PR objectives. The use of a blockquote with the "TIP" emoji enhances visibility and readability.

Consider slightly rewording the tip for clarity:

> [!TIP]
- > To enable color output in the workflow logs,
- > set the environment variable `CPP_LINTER_COLOR` to a
- > value of `on`, `true`, or `1`.
+ > To enable color output in the workflow logs,
+ > set the environment variable `CPP_LINTER_COLOR` to
+ > `on`, `true`, or `1`.

This minor adjustment removes the redundant "a value of" phrase, making the instruction more concise.

🧰 Tools
🪛 LanguageTool

[style] ~50-~50: Using many exclamation marks might seem excessive (in this case: 8 exclamation marks for a text that’s 2992 characters long)
Context: ...n/.github/workflows/cpp-linter.yml) > [!TIP] > To enable color output in the wor...

(EN_EXCESSIVE_EXCLAMATION)

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Files that changed from the base of the PR and between 5f14ac8 and b8a3a59.

📒 Files selected for processing (2)
  • README.md (2 hunks)
  • action.yml (2 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • action.yml
🧰 Additional context used
🪛 LanguageTool
README.md

[style] ~50-~50: Using many exclamation marks might seem excessive (in this case: 8 exclamation marks for a text that’s 2992 characters long)
Context: ...n/.github/workflows/cpp-linter.yml) > [!TIP] > To enable color output in the wor...

(EN_EXCESSIVE_EXCLAMATION)

🔇 Additional comments (2)
README.md (2)

64-64: LGTM! Clear example of color output configuration.

The addition of the CPP_LINTER_COLOR environment variable in the YAML example is consistent with the new tip and provides a clear demonstration of how to enable color output. The comment about the default setting being off is helpful for users.


Line range hint 50-64: Summary: Effective introduction of color output feature

The changes to the README.md file successfully introduce the new color output feature for the C/C++ Linter Action. The additions are well-placed, clear, and consistent with the existing documentation style. They effectively communicate how users can enable this feature in their workflows.

Key points:

  1. The new tip clearly explains how to enable color output.
  2. The YAML example demonstrates the practical application of the feature.
  3. The changes align well with the PR objectives outlined in issue Allow colored logging output via CPP_LINTER_COLOR env var #275.

These modifications will help users understand and utilize the new color output functionality, improving the overall user experience of the C/C++ Linter Action.

🧰 Tools
🪛 LanguageTool

[style] ~50-~50: Using many exclamation marks might seem excessive (in this case: 8 exclamation marks for a text that’s 2992 characters long)
Context: ...n/.github/workflows/cpp-linter.yml) > [!TIP] > To enable color output in the wor...

(EN_EXCESSIVE_EXCLAMATION)

@2bndy5
Copy link
Collaborator Author

2bndy5 commented Oct 18, 2024

There seems to be some clashing of different loggers. Looking at the test results, The log grouping commands are not output when expected.

raw logs

2024-10-18T06:53:59.3134356Z ##[group]Performing checkup on src/demo.hpp
2024-10-18T06:53:59.3137160Z �[34mINFO    �[0m CPP Linter: Running �[32m"/usr/bin/clang-tidy-17 �[0m          �]8;id=76150;file:///home/runner/work/_actions/cpp-linter/cpp-linter-action/opt-in-color/venv/lib/python3.10/site-packages/cpp_linter/clang_tools/clang_tidy.py�\�[2mclang_tidy.py�[0m�]8;;�\�[2m:�[0m�]8;id=74533;file:///home/runner/work/_actions/cpp-linter/cpp-linter-action/opt-in-color/venv/lib/python3.10/site-packages/cpp_linter/clang_tools/clang_tidy.py#252�\�[2m252�[0m�]8;;�\
2024-10-18T06:53:59.3139721Z          �[32m-�[0m�[32mchecks�[0m�[32m=�[0m�[32mboost�[0m�[32m-*,bugprone-*,performance-*,readability-�[0m �[2m                 �[0m
2024-10-18T06:53:59.3140551Z ##[endgroup]
2024-10-18T06:53:59.3141081Z          �[32m*,portability-*,modernize-*,clang-analyzer-*,cppcoreg�[0m �[2m                 �[0m
2024-10-18T06:53:59.3141790Z          �[32muidelines-* -p �[0m                                       �[2m                 �[0m
2024-10-18T06:53:59.3142511Z          �[32m/home/runner/work/test-cpp-linter-action/test-cpp-lin�[0m �[2m                 �[0m
2024-10-18T06:53:59.3143329Z          �[32mter-action/build --format-style file �[0m                 �[2m                 �[0m
2024-10-18T06:53:59.3144321Z          �[32m--extra-�[0m�[32marg�[0m�[32m=-�[0m�[32mstd�[0m�[32m=�[0m�[32mc�[0m�[32m++14 --extra-�[0m�[32marg�[0m�[32m=-Wall �[0m             �[2m                 �[0m
2024-10-18T06:53:59.3145186Z          �[32msrc/demo.hpp"�[0m                                         �[2m                 �[0m
2024-10-18T06:53:59.3147624Z �[32mDEBUG   �[0m CPP Linter: Output from clang-tidy:                   �]8;id=21870;file:///home/runner/work/_actions/cpp-linter/cpp-linter-action/opt-in-color/venv/lib/python3.10/site-packages/cpp_linter/clang_tools/clang_tidy.py�\�[2mclang_tidy.py�[0m�]8;;�\�[2m:�[0m�]8;id=215961;file:///home/runner/work/_actions/cpp-linter/cpp-linter-action/opt-in-color/venv/lib/python3.10/site-packages/cpp_linter/clang_tools/clang_tidy.py#254�\�[2m254�[0m�]8;;�\
2024-10-18T06:53:59.3149833Z          �[35m/home/runner/work/test-cpp-linter-action/test-cpp-lin�[0m �[2m                 �[0m
2024-10-18T06:53:59.3150712Z          �[35mter-action/src/�[0m�[95mdemo.hpp�[0m:�[1;92m10:11�[0m: warning: use a         �[2m                 �[0m
2024-10-18T06:53:59.3151528Z          trailing return type for this function                �[2m                 �[0m
2024-10-18T06:53:59.3152324Z          �[1m[�[0mmodernize-use-trailing-return-type�[1m]�[0m                  �[2m                 �[0m
2024-10-18T06:53:59.3153491Z             �[1;36m10�[0m |     void *�[1;35mnot_usefull�[0m�[1m(�[0mchar *str�[1m)�[0m�[1m{�[0m             �[2m                 �[0m
2024-10-18T06:53:59.3154527Z                |     ~~~~~~^                                   �[2m                 �[0m
2024-10-18T06:53:59.3155058Z                |     auto                         -> void *    �[2m                 �[0m
2024-10-18T06:53:59.3155737Z          �[35m/home/runner/work/test-cpp-linter-action/test-cpp-lin�[0m �[2m                 �[0m
2024-10-18T06:53:59.3156805Z          �[35mter-action/src/�[0m�[95mdemo.hpp�[0m:�[1;92m12:16�[0m: warning: use nullptr   �[2m                 �[0m
2024-10-18T06:53:59.3157623Z          �[1m[�[0mmodernize-use-nullptr�[1m]�[0m                               �[2m                 �[0m
2024-10-18T06:53:59.3158338Z             �[1;36m12�[0m |         return �[1;36m0�[0m;                             �[2m                 �[0m
2024-10-18T06:53:59.3158929Z                |                ^                              �[2m                 �[0m
2024-10-18T06:53:59.3159448Z                |                nullptr                        �[2m                 �[0m
2024-10-18T06:53:59.3159936Z                                                                �[2m                 �[0m
2024-10-18T06:53:59.3162246Z �[32mDEBUG   �[0m CPP Linter: clang-tidy made the following summary:    �]8;id=171808;file:///home/runner/work/_actions/cpp-linter/cpp-linter-action/opt-in-color/venv/lib/python3.10/site-packages/cpp_linter/clang_tools/clang_tidy.py�\�[2mclang_tidy.py�[0m�]8;;�\�[2m:�[0m�]8;id=876729;file:///home/runner/work/_actions/cpp-linter/cpp-linter-action/opt-in-color/venv/lib/python3.10/site-packages/cpp_linter/clang_tools/clang_tidy.py#256�\�[2m256�[0m�]8;;�\
2024-10-18T06:53:59.3164446Z          �[1;36m3�[0m warnings generated.                                 �[2m                 �[0m
2024-10-18T06:53:59.3165278Z          Suppressed �[1;36m1�[0m warnings �[1m(�[0m�[1;36m1�[0m with check filters�[1m)�[0m.         �[2m                 �[0m
2024-10-18T06:53:59.3165997Z                                                                �[2m                 �[0m
2024-10-18T06:53:59.3168358Z �[34mINFO    �[0m CPP Linter: Running �[32m"/usr/bin/clang-format-17 �[0m      �]8;id=786530;file:///home/runner/work/_actions/cpp-linter/cpp-linter-action/opt-in-color/venv/lib/python3.10/site-packages/cpp_linter/clang_tools/clang_format.py�\�[2mclang_format.py�[0m�]8;;�\�[2m:�[0m�]8;id=654535;file:///home/runner/work/_actions/cpp-linter/cpp-linter-action/opt-in-color/venv/lib/python3.10/site-packages/cpp_linter/clang_tools/clang_format.py#191�\�[2m191�[0m�]8;;�\
2024-10-18T06:53:59.3170747Z          �[32m-�[0m�[32mstyle�[0m�[32m=�[0m�[32mfile�[0m�[32m --output-replacements-xml src/demo.hpp"�[0m �[2m                   �[0m

notice the [endgroup] command is printed before all the expected log statements are output. In the above sample the line

2024-10-18T06:53:59.3140551Z ##[endgroup]

should appear at the end of the sample. Instead, it appears in the middle of another log statement:

2024-10-18T06:53:59.3134356Z ##[group]Performing checkup on src/demo.hpp
2024-10-18T06:53:59.3137160Z �[34mINFO    �[0m CPP Linter: Running �[32m"/usr/bin/clang-tidy-17 �[0m          �]8;id=76150;file:///home/runner/work/_actions/cpp-linter/cpp-linter-action/opt-in-color/venv/lib/python3.10/site-packages/cpp_linter/clang_tools/clang_tidy.py�\�[2mclang_tidy.py�[0m�]8;;�\�[2m:�[0m�]8;id=74533;file:///home/runner/work/_actions/cpp-linter/cpp-linter-action/opt-in-color/venv/lib/python3.10/site-packages/cpp_linter/clang_tools/clang_tidy.py#252�\�[2m252�[0m�]8;;�\
2024-10-18T06:53:59.3139721Z          �[32m-�[0m�[32mchecks�[0m�[32m=�[0m�[32mboost�[0m�[32m-*,bugprone-*,performance-*,readability-�[0m �[2m                 �[0m
2024-10-18T06:53:59.3140551Z ##[endgroup]
2024-10-18T06:53:59.3141081Z          �[32m*,portability-*,modernize-*,clang-analyzer-*,cppcoreg�[0m �[2m                 �[0m
2024-10-18T06:53:59.3141790Z          �[32muidelines-* -p �[0m                                       �[2m                 �[0m
2024-10-18T06:53:59.3142511Z          �[32m/home/runner/work/test-cpp-linter-action/test-cpp-lin�[0m �[2m                 �[0m
2024-10-18T06:53:59.3143329Z          �[32mter-action/build --format-style file �[0m                 �[2m                 �[0m
2024-10-18T06:53:59.3144321Z          �[32m--extra-�[0m�[32marg�[0m�[32m=-�[0m�[32mstd�[0m�[32m=�[0m�[32mc�[0m�[32m++14 --extra-�[0m�[32marg�[0m�[32m=-Wall �[0m             �[2m                 �[0m
2024-10-18T06:53:59.3145186Z          �[32msrc/demo.hpp"�[0m                                         �[2m                 �[0m

use native shells' env var syntax
allows rich to force-enable coloring

The env changes should only apply to the composite action's env
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Outside diff range and nitpick comments (2)
README.md (2)

50-54: LGTM! Consider a minor clarification.

The added tip about enabling color output is clear, concise, and relevant. It effectively communicates how to use the new feature.

Consider adding a brief mention of the default behavior for completeness:

 > [!TIP]
 > To enable color output in the workflow logs,
 > set the environment variable `CPP_LINTER_COLOR` to a
-value of `on`, `true`, or `1`.
+value of `on`, `true`, or `1`. By default, color output is disabled.

This addition would align with the information provided in the PR objectives and ensure users understand the default behavior without needing to infer it.

🧰 Tools
🪛 LanguageTool

[style] ~50-~50: Using many exclamation marks might seem excessive (in this case: 8 exclamation marks for a text that’s 2992 characters long)
Context: ...n/.github/workflows/cpp-linter.yml) > [!TIP] > To enable color output in the wor...

(EN_EXCESSIVE_EXCLAMATION)


64-64: LGTM! Consider aligning comment style.

The addition of the CPP_LINTER_COLOR environment variable in the YAML example is correct and consistent with the earlier tip. The comment about the default behavior is helpful.

For consistency with other comments in the YAML example, consider aligning the comment style:

-          CPP_LINTER_COLOR: on # off by default
+          CPP_LINTER_COLOR: on  # Use colored output (off by default)

This change maintains the existing comment style and provides slightly more context.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Files that changed from the base of the PR and between 7c9b98f and 17cbc5c.

📒 Files selected for processing (3)
  • README.md (2 hunks)
  • action.yml (2 hunks)
  • color-requirements.txt (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (2)
  • action.yml
  • color-requirements.txt
🧰 Additional context used
🪛 LanguageTool
README.md

[style] ~50-~50: Using many exclamation marks might seem excessive (in this case: 8 exclamation marks for a text that’s 2992 characters long)
Context: ...n/.github/workflows/cpp-linter.yml) > [!TIP] > To enable color output in the wor...

(EN_EXCESSIVE_EXCLAMATION)

🔇 Additional comments (1)
README.md (1)

Line range hint 50-64: Overall changes are effective and well-integrated.

The additions to the README.md file successfully communicate the new color output feature. The tip box provides clear instructions, and the YAML example demonstrates practical usage. These changes align well with the PR objectives and effectively address the linked issue #275.

The implementation enhances user experience by offering an opt-in approach to colored logging, which should improve log readability without affecting existing workflows. Great job on maintaining consistency with the document's style and structure while introducing this new feature.

🧰 Tools
🪛 LanguageTool

[style] ~50-~50: Using many exclamation marks might seem excessive (in this case: 8 exclamation marks for a text that’s 2992 characters long)
Context: ...n/.github/workflows/cpp-linter.yml) > [!TIP] > To enable color output in the wor...

(EN_EXCESSIVE_EXCLAMATION)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Allow colored logging output via CPP_LINTER_COLOR env var
1 participant