All Projects → arsham → rainbow

arsham / rainbow

Licence: Apache-2.0 license
Tasty rainbows for your terminal! (lolcat clone)

Programming Languages

go
31211 projects - #10 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to rainbow

Kubexp
Stars: ✭ 138 (+119.05%)
Mutual labels:  terminal-app
Finalcut
A text-based widget toolkit
Stars: ✭ 244 (+287.3%)
Mutual labels:  terminal-app
cgol
Conway's Game of Life in the Terminal
Stars: ✭ 32 (-49.21%)
Mutual labels:  terminal-app
Listen Now
Listen-now, 提供了多音乐平台的音乐搜索、播放、歌单播放、同步平台歌单到本地数据库,并计划开发智能音乐推荐系统。listen-now主要由学生层级的同学一起开发。
Stars: ✭ 139 (+120.63%)
Mutual labels:  terminal-app
Mitype
Typing speed test in terminal
Stars: ✭ 241 (+282.54%)
Mutual labels:  terminal-app
termscp
🖥 A feature rich terminal UI file transfer and explorer with support for SCP/SFTP/FTP/S3
Stars: ✭ 707 (+1022.22%)
Mutual labels:  terminal-app
Pspg
Unix pager (with very rich functionality) designed for work with tables. Designed for PostgreSQL, but MySQL is supported too. Works well with pgcli too. Can be used as CSV or TSV viewer too. It supports searching, selecting rows, columns, or block and export selected area to clipboard.
Stars: ✭ 1,749 (+2676.19%)
Mutual labels:  terminal-app
dinstagram
easily download instagram images & videos with your terminal
Stars: ✭ 19 (-69.84%)
Mutual labels:  terminal-app
Sc Im
sc-im - Spreadsheet Calculator Improvised -- An ncurses spreadsheet program for terminal
Stars: ✭ 3,081 (+4790.48%)
Mutual labels:  terminal-app
agenda
Org agenda in the console
Stars: ✭ 112 (+77.78%)
Mutual labels:  terminal-app
Lazybee
Create Best Wordlist From Python Tool In Termux
Stars: ✭ 161 (+155.56%)
Mutual labels:  terminal-app
Nord Terminal App
An arctic, north-bluish clean and elegant Terminal.app color theme.
Stars: ✭ 198 (+214.29%)
Mutual labels:  terminal-app
TerminalMediaViewer
An utf-8/truecolor image and video viewer for the terminal
Stars: ✭ 105 (+66.67%)
Mutual labels:  terminal-app
Tomato Clock
Pomodoro 番茄工作法 https://en.wikipedia.org/wiki/Pomodoro_Technique
Stars: ✭ 139 (+120.63%)
Mutual labels:  terminal-app
.config
⚙️ Bootstrappable user environment for macOS & Ubuntu
Stars: ✭ 31 (-50.79%)
Mutual labels:  terminal-app
Lazyhub
lazyhub - Terminal UI Client for GitHub using gocui.
Stars: ✭ 133 (+111.11%)
Mutual labels:  terminal-app
rainbow-bash-prompt
Make your bash prompt dynamically and randomly rainbow
Stars: ✭ 49 (-22.22%)
Mutual labels:  lolcat
dynamic-cli
A Modern, user-friendly command-line HTTP client for the API testing, and if you're stuck - Search and browse StackOverflow without leaving the CLI
Stars: ✭ 151 (+139.68%)
Mutual labels:  terminal-app
Habitican-Curse
A Terminal application for HabitRPG using the python curses library
Stars: ✭ 30 (-52.38%)
Mutual labels:  terminal-app
asciiarena
Terminal multiplayer deathmatch game
Stars: ✭ 34 (-46.03%)
Mutual labels:  terminal-app

Rainbow

PkgGoDev GitHub go.mod Go version Build Status Coverage Status Codacy Badge Go Report Card License

Tasty rainbows for your terminal like these:

Screenshot

This app was inspired by lolcats, but written in Go.

Table of Contents

  1. Installation
  2. Usage
  3. As library
  4. See Also
  5. License

Installation

You can download the latest binary from here, or you can compile from source:

go install github.com/arsham/rainbow@latest

Usage

You can pipe the text into the app in many ways. Choose one that is suitable for you:

# File contents:
rainbow < filename.txt

# Echo a string:
echo "Any quotes" | rainbow

# Here string:
rainbow <<END
Consectetur aliqua do quis sed
proident enim fugiat occaecat nisi
in deserunt culpa aliquip do excepteur.
END

# Output of a program:
ls -l | rainbow

As library

Light struct implements io.Reader and io.Writer:

import "github.com/arsham/rainbow/rainbow"
// ...
l := rainbow.Light{
    Reader: someReader, // to read from
    Writer: os.Stdout, // to write to
}
l.Paint() // will rainbow everything it reads from reader to writer.

If you want the rainbow to be random, you can seed it this way:

l := rainbow.Light{
    Reader: buf,
    Writer: os.Stdout,
    Seed:   rand.Int63n(256),
}

Or if you prefer io.Copy:

l := rainbow.Light{
    Writer: os.Stdout,
    Seed:   rand.Int63n(256),
}
io.Copy(l, someReader)

See Also

See also Figurine. It prints beautiful ASCII arts in FIGlet.

License

Use of this source code is governed by the Apache 2.0 license. License that can be found in the LICENSE file.

Please note that this was initially forked from glolcat, but I decided to rewrite it as the library is not maintained anymore.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].