Popularity
2.2
Stable
Activity
0.0
Stable
94
3
4

Code Quality Rank: L5
Programming language: Swift
License: MIT License
Tags: Command Line    
Latest version: v0.1

Colors alternatives and similar libraries

Based on the "Command Line" category.
Alternatively, view Colors alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of Colors or a related project?

Add another 'Command Line' Library

README

Language Issues License Build CocoaPods

Terminal string styling for Swift

Colors is a clean and focused solution for string styling in Swift.

Usage

import Colors

print(Colors.blue("Blue string"))
print(Colors.Blue("Bright blue string"))

Addtionaly, you can compose modifiers:

print(Colors.blue(Colors.bgRed("Blue string with red background")))

Or define compositions for convenince:

infix operator >>> { associativity left }
func >>> <A, B, C>(f: B -> C, g: A -> B) -> A -> C {
  return { x in f(g(x)) }
}

var error = Colors.bold >>> Colors.red >>> Colors.underline
print(error("There was an error"))

Installation

CocoaPods

Install cocoapods:

sudo gem install cocoapods

Then specify Colors in your Podfile:

pod 'Colors', '~> 0.1'

Finally run:

pod install

Styles

Bright/Normal Text Colors

  • Black/black
  • Red/red
  • Green/green
  • Yellow/yellow
  • Blue/blue
  • Magenta/magenta
  • Cyan/cyan
  • White/white

Bright/Normal Background Colors

  • BgBlack/bgBlack
  • BgRed/bgRed
  • BgGreen/bgGreen
  • BgYellow/bgYellow
  • BgBlue/bgBlue
  • BgMagenta/bgMagenta
  • BgCyan/bgCyan
  • BgWhite/bgWhite

Text modifiers

  • blink
  • bold
  • dim
  • italic
  • underline
  • inverse
  • hidden
  • strikethrough

API

Colors.<style>(text: String) -> String

Applies the specified <style> to the given text. For a list of styles check the styles section above.

Colors.underline("Underlined text")

Colors.colorText(text: String, color: Int) -> String

Requires 8-bit color support from the console.

Colors the letters of the given text with the specified color. color must be an integer from 0-255 representing an 8-bit color. For a list of 8-bit colors check here.

Generally useful if you want to color the text with very specific colors.

for i in 0...255 {
    print(Colors.colorText("a", color: i), terminator: "")
}

Outputs:

Colors.colorBg(text: String, color: Int) -> String

Requires 8-bit color support from the console.

Colors the background of the given text with the specified color. color must be an integer from 0-255 representing an 8-bit color. For a list of 8-bit colors check here.

Generally useful if you want to color the background with very specific colors.

for i in 0...255 {
    print(Colors.colorBg(" ", color: i), terminator: "")
}

Outputs:

Colors.getTextColorer(color: Int) -> (String -> String)

Requires 8-bit color support from the console.

Returns a colorer function that will color the characters of the input string with the specified color.

Useful for defining your own style compositions with 8-bit colors.

infix operator >>> { associativity left }
func >>> <A, B, C>(f: B -> C, g: A -> B) -> A -> C {
  return { x in f(g(x)) }
}

let warning = Colors.getTextColorer(23) >>> Colors.underline >>> Colors.BgRed
print(error("Some Warning"))

Colors.getBgColorer(color: Int) -> (String -> String)

Requires 8-bit color support from the console.

Returns a colorer function that will color the background of the input string with the specified color.

Useful for defining your own style compositions with 8-bit colors.

infix operator >>> { associativity left }
func >>> <A, B, C>(f: B -> C, g: A -> B) -> A -> C {
  return { x in f(g(x)) }
}

let info = Colors.getBgColorer(23) >>> Colors.underline >>> Colors.Red
print(info("Some Warning"))

License

MIT © Paulo Tanaka


*Note that all licence references and agreements mentioned in the Colors README section above are relevant to that project's source code only.