Terminal string styling for Swift.
Requirements
- iOS 9.0+ / Mac OS X 10.10+ / tvOS 9.0+ / watchOS 2.0+
- Xcode 8.0+
Integration
CocoaPods
You can use CocoaPods to install ColorizeSwift
by adding it to your Podfile
:
platform :ios, '9.0'
use_frameworks!
target 'MyApp' do
pod 'ColorizeSwift'
end
Run pods install
to intagrate pods with your project.
Carthage
You can use Carthage to install ColorizeSwift
by adding it to your Cartfile
:
github "mtynior/ColorizeSwift"
Run carthage update
to build the framework and drag the built ColorizeSwift.framework
into your Xcode project.
Swift Package Managers (SPM)
You can use The Swift Package Manager to install ColorizeSwift by adding it to your Package.swift file:
import PackageDescription
let package = Package(
name: "MyApp",
targets: [],
dependencies: [
.Package(url: "https://github.com/mtynior/ColorizeSwift.git", majorVersion: 1)
]
)
Manually
You can also manually add ColorizeSwift to you project:
- Download
ColorizeSwift.swift
file, - Drag
ColorizeSwift.swift
into you project's tree.
Example
You can run sample application:
- Open Terminal and go to
Example
folder. - Run
./build.sh
script to build sample application. - Run
./example pacman
to launch sample.
Available samples:
Usage
print("Normal")
print("Bold".bold())
print("Dim".dim())
print("Italic".italic())
print("Underline".underline())
print("Blink".blink())
print("Reverse".reverse())
print("hidden".hidden())
print("strikethrough".strikethrough())
print("Red".red())
print("On yellow".onYellow())
print("256 foreground".foregroundColor(.Orange1))
print("226 background".backgroundColor(.Orange1))
print("Awful combination".colorize(.Yellow, background: .Red))
let nested = "with a blue substring".blue().underline()
print("A bold, green line \(nested) that becomes bold and green again".green().bold())
Styles
Modifiers
bold()
dim()
-
italic()
(not widely supported) underline()
reverse()
hidden()
-
strikethrough()
(not widely supported) reset()
Foreground colors
black()
red()
green()
yellow()
blue()
magenta()
cyan()
lightGray()
darkGray()
lightRed()
lightGreen()
lightYellow()
lightBlue()
lightMagenta()
lightCyan()
white()
Background colors
onBlack()
onRed()
onGreen()
onYellow()
onBlue()
onMagenta()
onCyan()
onLightGray()
onDarkGray()
onLightRed()
onLightGreen()
onLightYellow()
onLightBlue()
onLightMagenta()
onLightCyan()
onWhite()
256-colors
You can also use 256 colors, but keep in mind that not all Terminal clients support them.
foregroundColor(color: TerminalColor)
backgroundColor(color: TerminalColor)
colorize(foreground: TerminalColor, background: TerminalColor)
Available colors
You can access 256 colors using TerminalColor
enumeration.
Escape codes
Sometimes you only need the open code
for a modifier. You can access them using TerminalStyle
enum:
TerminalStyle.bold.open // "\u{001B}[1m"
TerminalStyle.bold.close // "\u{001B}[22m"
For 256 colors use:
TerminalColor.red.foregroundStyleCode().open \\"\u{001B}[38;5;9m"
TerminalColor.red.backgroundStyleCode().open \\"\u{001B}[48;5;9m"
Disabling colorization
Colorization can be disabled globally:
String.isColorizationEnabled = false // Default: true
// For example, you can support a command line option (./example --no-color)
String.isColorizationEnabled = !CommandLine.arguments.contains("--no-color")
Credits
License
ColorizeSwift is released under the MIT license. See LICENSE for details.