<commit_before># Windowtint

Windowtint sweats the details of enabling color (ANSI) output in Windows -- so you don't have to!

## Notice

This gem is still in development.  It's functional, but it hasn't been packaged yet.  (Release early and often,
you know!)

## Usage

When you `require 'windowtint'`, here's what it does:

1. Checks if it's running on Windows, and if not, returns immediately (because most other operating systems already
   support ANSI color output).
2. Checks the environment for ANSICON, and returns immediately if it's available.
3. Attempts to load win32console (including its standard output redirection), and returns if it's available.
4. Failing all that, warns the user that color output will not work properly until the ANSICON driver or the
   win32console gem are installed, then returns.

Your script then runs as usual.  If you have your own code that checks for ANSICON or tries to load win32console, you
don't need it anymore.  Windowtint's got your back!

To see which color support Windowtint was able to find, call `Windowtint.enabled`.  If it found something, it will
return `:ansicon`, `:win32console`, or `:non_windows` (those should be self-explanatory).  If not, it will return nil.<commit_msg>Okay, okay, so it's packaged now :-)<commit_after># Windowtint

Windowtint sweats the details of enabling color (ANSI) output in Windows -- so you don't have to!

## Notice

This gem is still in development.  It's functional but not yet battle-tested.

## Usage

When you `require 'windowtint'`, here's what it does:

1. Checks if it's running on Windows, and if not, returns immediately (because most other operating systems already
   support ANSI color output).
2. Checks the environment for ANSICON, and returns immediately if it's available.
3. Attempts to load win32console (including its standard output redirection), and returns if it's available.
4. Failing all that, warns the user that color output will not work properly until the ANSICON driver or the
   win32console gem are installed, then returns.

Your script then runs as usual.  If you have your own code that checks for ANSICON or tries to load win32console, you
don't need it anymore.  Windowtint's got your back!

To see which color support Windowtint was able to find, call `Windowtint.enabled`.  If it found something, it will
return `:ansicon`, `:win32console`, or `:non_windows` (those should be self-explanatory).  If not, it will return nil.
{'fraction_non_alphanumeric': 0.06544715447154471, 'fraction_numerical': 0.00975609756097561, 'mean_word_length': 4.420704845814978, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4678532', 'n_tokens_mistral': 704, 'n_tokens_neox': 665, 'n_words': 369}