Windows 10 Console does support ANSI escape sequences However the Color coded json appears to have this for the output.
C:\Users\swami>curl "https://api.github.com/repos/stedolan/jq/commits?per_page=5" | jq -C ".[0]"
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 17549 100 17549 0 0 99k 0 --:--:-- --:--:-- --:--:-- 99k
[1;39m{
[0m[34;1m"sha"[0m[1;39m: [0m[0;32m"0b8218515eabf1a967eba0dbcc7a0e5ae031a509"[0m[1;39m,
[0m[34;1m"commit"[0m[1;39m: [0m[1;39m{
[0m[34;1m"author"[0m[1;39m: [0m[1;39m{
[0m[34;1m"name"[0m[1;39m: [0m[0;32m"Nicolas Williams"[0m[1;39m,
[0m[34;1m"email"[0m[1;39m: [0m[0;32m"[email protected]"[0m[1;39m,
[0m[34;1m"date"[0m[1;39m: [0m[0;32m"2016-03-21T22:43:01Z"[0m[1;39m
[1;39m}[0m[1;39m,
[0m[34;1m"committer"[0m[1;39m: [0m[1;39m{
[0m[34;1m"name"[0m[1;39m: [0m[0;32m"Nicolas Williams"[0m[1;39m,
[0m[34;1m"email"[0m[1;39m: [0m[0;32m"[email protected]"[0m[1;39m,
[0m[34;1m"date"[0m[1;39m: [0m[0;32m"2016-03-21T23:59:52Z"[0m[1;39m
[1;39m}[0m[1;39m,
[0m[34;1m"message"[0m[1;39m: [0m[0;32m"Disable appveyor build for now"[0m[1;39m,
[0m[34;1m"tree"[0m[1;39m: [0m[1;39m{
[0m[34;1m"sha"[0m[1;39m: [0m[0;32m"4920056437c4f768f24b2771309eddac55f55645"[0m[1;39m,
[0m[34;1m"url"[0m[1;39m: [0m[0;32m"https://api.github.com/repos/stedolan/jq/git/trees/4920056437c4f768f24b2771309eddac55f55645"[0m[1;39m
[1;39m}[0m[1;39m,
[0m[34;1m"url"[0m[1;39m: [0m[0;32m"https://api.github.com/repos/stedolan/jq/git/commits/0b8218515eabf1a967eba0dbcc7a0e5ae031a509"[0m[1;39m,
[0m[34;1m"comment_count"[0m[1;39m: [0m[0;39m1[0m[1;39m
[1;39m}[0m[1;39m,
[0m[34;1m"url"[0m[1;39m: [0m[0;32m"https://api.github.com/repos/stedolan/jq/commits/0b8218515eabf1a967eba0dbcc7a0e5ae031a509"[0m[1;39m,
[0m[34;1m"html_url"[0m[1;39m: [0m[0;32m"https://github.com/stedolan/jq/commit/0b8218515eabf1a967eba0dbcc7a0e5ae031a509"[0m[1;39m,
[0m[34;1m"comments_url"[0m[1;39m: [0m[0;32m"https://api.github.com/repos/stedolan/jq/commits/0b8218515eabf1a967eba0dbcc7a0e5ae031a509/comments"[0m[1;39m,
[0m[34;1m"author"[0m[1;39m: [0m[1;39m{
[0m[34;1m"login"[0m[1;39m: [0m[0;32m"nicowilliams"[0m[1;39m,
[0m[34;1m"id"[0m[1;39m: [0m[0;39m604851[0m[1;39m,
[0m[34;1m"avatar_url"[0m[1;39m: [0m[0;32m"https://avatars.githubusercontent.com/u/604851?v=3"[0m[1;39m,
[0m[34;1m"gravatar_id"[0m[1;39m: [0m[0;32m""[0m[1;39m,
[0m[34;1m"url"[0m[1;39m: [0m[0;32m"https://api.github.com/users/nicowilliams"[0m[1;39m,
[0m[34;1m"html_url"[0m[1;39m: [0m[0;32m"https://github.com/nicowilliams"[0m[1;39m,
[0m[34;1m"followers_url"[0m[1;39m: [0m[0;32m"https://api.github.com/users/nicowilliams/followers"[0m[1;39m,
[0m[34;1m"following_url"[0m[1;39m: [0m[0;32m"https://api.github.com/users/nicowilliams/following{/other_user}"[0m[1;39m,
[0m[34;1m"gists_url"[0m[1;39m: [0m[0;32m"https://api.github.com/users/nicowilliams/gists{/gist_id}"[0m[1;39m,
[0m[34;1m"starred_url"[0m[1;39m: [0m[0;32m"https://api.github.com/users/nicowilliams/starred{/owner}{/repo}"[0m[1;39m,
[0m[34;1m"subscriptions_url"[0m[1;39m: [0m[0;32m"https://api.github.com/users/nicowilliams/subscriptions"[0m[1;39m,
[0m[34;1m"organizations_url"[0m[1;39m: [0m[0;32m"https://api.github.com/users/nicowilliams/orgs"[0m[1;39m,
[0m[34;1m"repos_url"[0m[1;39m: [0m[0;32m"https://api.github.com/users/nicowilliams/repos"[0m[1;39m,
[0m[34;1m"events_url"[0m[1;39m: [0m[0;32m"https://api.github.com/users/nicowilliams/events{/privacy}"[0m[1;39m,
[0m[34;1m"received_events_url"[0m[1;39m: [0m[0;32m"https://api.github.com/users/nicowilliams/received_events"[0m[1;39m,
[0m[34;1m"type"[0m[1;39m: [0m[0;32m"User"[0m[1;39m,
[0m[34;1m"site_admin"[0m[1;39m: [0m[0;39mfalse[0m[1;39m
[1;39m}[0m[1;39m,
[0m[34;1m"committer"[0m[1;39m: [0m[1;39m{
[0m[34;1m"login"[0m[1;39m: [0m[0;32m"nicowilliams"[0m[1;39m,
[0m[34;1m"id"[0m[1;39m: [0m[0;39m604851[0m[1;39m,
[0m[34;1m"avatar_url"[0m[1;39m: [0m[0;32m"https://avatars.githubusercontent.com/u/604851?v=3"[0m[1;39m,
[0m[34;1m"gravatar_id"[0m[1;39m: [0m[0;32m""[0m[1;39m,
[0m[34;1m"url"[0m[1;39m: [0m[0;32m"https://api.github.com/users/nicowilliams"[0m[1;39m,
[0m[34;1m"html_url"[0m[1;39m: [0m[0;32m"https://github.com/nicowilliams"[0m[1;39m,
[0m[34;1m"followers_url"[0m[1;39m: [0m[0;32m"https://api.github.com/users/nicowilliams/followers"[0m[1;39m,
[0m[34;1m"following_url"[0m[1;39m: [0m[0;32m"https://api.github.com/users/nicowilliams/following{/other_user}"[0m[1;39m,
[0m[34;1m"gists_url"[0m[1;39m: [0m[0;32m"https://api.github.com/users/nicowilliams/gists{/gist_id}"[0m[1;39m,
[0m[34;1m"starred_url"[0m[1;39m: [0m[0;32m"https://api.github.com/users/nicowilliams/starred{/owner}{/repo}"[0m[1;39m,
[0m[34;1m"subscriptions_url"[0m[1;39m: [0m[0;32m"https://api.github.com/users/nicowilliams/subscriptions"[0m[1;39m,
[0m[34;1m"organizations_url"[0m[1;39m: [0m[0;32m"https://api.github.com/users/nicowilliams/orgs"[0m[1;39m,
[0m[34;1m"repos_url"[0m[1;39m: [0m[0;32m"https://api.github.com/users/nicowilliams/repos"[0m[1;39m,
[0m[34;1m"events_url"[0m[1;39m: [0m[0;32m"https://api.github.com/users/nicowilliams/events{/privacy}"[0m[1;39m,
[0m[34;1m"received_events_url"[0m[1;39m: [0m[0;32m"https://api.github.com/users/nicowilliams/received_events"[0m[1;39m,
[0m[34;1m"type"[0m[1;39m: [0m[0;32m"User"[0m[1;39m,
[0m[34;1m"site_admin"[0m[1;39m: [0m[0;39mfalse[0m[1;39m
[1;39m}[0m[1;39m,
[0m[34;1m"parents"[0m[1;39m: [0m[1;39m[
[1;39m{
[0m[34;1m"sha"[0m[1;39m: [0m[0;32m"1a8a5ee00078aa5bd977f575e3e5ecad4e467487"[0m[1;39m,
[0m[34;1m"url"[0m[1;39m: [0m[0;32m"https://api.github.com/repos/stedolan/jq/commits/1a8a5ee00078aa5bd977f575e3e5ecad4e467487"[0m[1;39m,
[0m[34;1m"html_url"[0m[1;39m: [0m[0;32m"https://github.com/stedolan/jq/commit/1a8a5ee00078aa5bd977f575e3e5ecad4e467487"[0m[1;39m
[1;39m}[0m[1;39m
[1;39m][0m[1;39m
[1;39m}[0m
this could be a quick fix: https://github.com/mattn/ansicolor-w32.c
The fix for this is actually simpler than pulling in a library to parse sequences -- using SetConsoleMode with ENABLE_VIRTUAL_TERMINAL_PROCESSING will let ConHost handle sequences.
https://docs.microsoft.com/en-us/windows/console/console-virtual-terminal-sequences
@LPGhatguy how new is that?
Pretty sure it was the Anniversary Update in August of 2016. It's possible to do error checking on the GetConsoleMode/SetConsoleMode calls so that older versions of Windows won't be affected.
Thanks @LPGhatguy and @flying-sheep. I think we might take both approaches.