color
termenv
Our great sponsors
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
color
-
Cli colors disappear when piping into a text file
So i have a cli tool thats outputting some text to the cli stdout, i would like the output to be colored, so i used a library called color (github.com/fatih/color), basically the problem is when i output to stdout its fine but when i do something like ./tool | tee -a file.txt the colors disappear from terminal and also not in the output file, why is that and how do i prevent that ?
-
Snob - Dev Log (How it's done)
printer.go - Handles printing (showing) information to the user. This is where fatih/color is being used, so we can print pretty information with colors.
-
Simple CLI Colorizing in Go
Note, you also need to handle piping to other programs or sending output to a file. See the logic in https://github.com/fatih/color/blob/master/color.go, https://github.com/mattn/go-colorable and https://github.com/mattn/go-isatty.
-
Platform agnostic way to delete a line in the console?
The platform I'm using is Windows, and I found that prior to Win10 there was no support for ANSI escape codes in the command line, but I have Win10 and am pretty sure my version is up-to-date enough to have this support. I have also been successfully using Fatih's color package, so I had assumed that the escape codes were working. But they are not working when I do it manually, so fmt.Print("\033[F") does not work.
-
How to write idempotent Bash scripts
same person that wrote this module i use all the time. https://github.com/fatih/color ???
-
Go mod tidy problem.
I am using github.com/fatih/color as an example because it is a very simple library to test this problem out with.
-
First Go program - would love criticism: a small program that outputs VPN status, IP and emoji-flag
I would use bytes.Contains instead of string.Contains and I would use github.com/fatih/color for ansi colours rather than re-implienting it yourself. Best not to call log.Fatal in functions other than main - it makes testing hard. Instead they should return an error after their main return value.
-
ColorStyle is a library of styles for command-line text.
What’s the benefit over a well established library such as https://github.com/fatih/color ?
termenv
-
go playground code doesn't work locally?
For example: https://github.com/muesli/termenv // Clear the visible portion of the terminal output := termenv.NewOutput(os.Stdout) output.ClearScreen()
-
tint: 🌈 slog.Handler that writes tinted logs
Why not let termenv do the hard part of making this portable across terminals? It also supports lesser-known conventions like NO_COLOR.
-
Tran - 🖥 Securely transfer and send anything between computers with TUI.
Termenv
- Show HN: Lip Gloss a CSS-like layout library for the terminal for Go
-
Tz: A Time Zone Helper
Look, you and I may have sane ANSI 16 colours, but it’ll be a very significant fraction of people that don’t (and almost no one will customise the next 240 colours). Remember things like that there’s a fairly high chance that blue is almost invisible against black, and even bright blue’s contrast is commonly much too low—to say nothing of the limited palette range.
But what this program is doing is using termenv’s HasDarkBackground function to decide whether the terminal is light or dark, and is then specifying RGB colours. I’d guess that it’ll try to guess whether to use 16 colours, 256 colours or 24-bit colour, but I don’t know. But the way it figures out the terminal’s background colour… ugh. Some terminals will support it, but for many it’ll fail and just assume black. Looks like on unix you could set an environment variable COLORFGBG to override this, https://github.com/muesli/termenv/blob/6bb55115565c27f4cc681..., but if you’re on Windows, tough luck, apparently you’re not allowed to have run `color f0` (Command Prompt) or similar: https://github.com/muesli/termenv/blob/537e36cb0472a69a3c828....
The simple fact of the matter is that there are no particularly good solutions for handling colour in terminals if you want the colours to cohere and map to real-world colour understanding, which is what something like this would prefer to be able to do.
What are some alternatives?
chalk - Intuitive package for prettifying terminal/console output. http://godoc.org/github.com/ttacon/chalk
pterm - ✨ #PTerm is a modern Go module to easily beautify console output. Featuring charts, progressbars, tables, trees, text input, select menus and much more 🚀 It's completely configurable and 100% cross-platform compatible.
gocui - Minimalist Go package aimed at creating Console User Interfaces.
tcell - Tcell is an alternate terminal package, similar in some ways to termbox, but better in others.
aurora - Golang ultimate ANSI-colors that supports Printf/Sprintf methods
termbox-go - Pure Go termbox implementation
termdash - Terminal based dashboard.
termui - Golang terminal dashboard
go-isatty
mpb - multi progress bar for Go cli applications