ansi_text_styles 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/lib/ansi_text_styles.rb +51 -0
- metadata +45 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: aed6d3739fa4c771809a72dec79d896a93dd405c
|
4
|
+
data.tar.gz: 5665e88349cc2b1ad2e372faea083034fa10e49e
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 110e80f80b2d9d54b9521ad8d2d4e762b9ba3a943eb820dc8368c1e75e4b51817e5035c91e1029d1e259a019732e753da77346a9926d97ae0d41b07ba11166fc
|
7
|
+
data.tar.gz: 925fe64c3795c2aea5f4f5bbbf7e82a2e8bb950548e0430a19bf5ebd03104ead8b2c56ba777b1ae81f7969ea5b6389276cbaaff2fce988093be5a42ac8a0d2a6
|
@@ -0,0 +1,51 @@
|
|
1
|
+
module AnsiTextStyles
|
2
|
+
|
3
|
+
VERSION = '1.0.0'
|
4
|
+
|
5
|
+
STYLES = {
|
6
|
+
# text properties
|
7
|
+
none: 0, # turn off all attributes
|
8
|
+
bold: 1, bright: 1, # these do the same thing really
|
9
|
+
italic: 3, underline: 4, blink: 5,
|
10
|
+
reverse: 7, # swap foreground and background colours
|
11
|
+
hide: 8, # foreground color same as background
|
12
|
+
|
13
|
+
# foreground colours
|
14
|
+
black: 30, grey: 90, lt_grey: 37, :white => 97,
|
15
|
+
red: 31, lt_red: 91,
|
16
|
+
green: 32, lt_green: 92,
|
17
|
+
dk_yellow: 33, brown: 33, yellow: 93,
|
18
|
+
blue: 34, lt_blue: 94,
|
19
|
+
magenta: 35, pink: 95, lt_magenta: 95,
|
20
|
+
cyan: 36, lt_cyan: 96,
|
21
|
+
default: 39,
|
22
|
+
|
23
|
+
# background colours
|
24
|
+
bg_black: 40, bg_grey: 100, bg_lt_grey: 47, bg_white: 107,
|
25
|
+
bg_red: 41, bg_lt_red: 101,
|
26
|
+
bg_green: 42, bg_lt_green: 102,
|
27
|
+
bg_dk_yellow: 43, bg_brown: 43, bg_yellow: 103,
|
28
|
+
bg_blue: 44, bg_lt_blue: 104,
|
29
|
+
bg_magenta: 45, bg_pink: 105, bg_lt_magenta: 105,
|
30
|
+
bg_cyan: 46, bg_lt_cyan: 106,
|
31
|
+
}
|
32
|
+
|
33
|
+
def self.styles
|
34
|
+
STYLES.keys
|
35
|
+
end
|
36
|
+
|
37
|
+
refine String do
|
38
|
+
# applies the text attributes to the current string
|
39
|
+
def style(*styles)
|
40
|
+
codes = STYLES.values_at(*styles.flatten).compact
|
41
|
+
"\e[%sm%s\e[m" % [codes.join(';'), self.to_s]
|
42
|
+
end
|
43
|
+
|
44
|
+
# create instance methods for each text attribute (chainable)
|
45
|
+
STYLES.each do |attr, _|
|
46
|
+
define_method(attr) { self.style(attr) }
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
end
|
51
|
+
|
metadata
ADDED
@@ -0,0 +1,45 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: ansi_text_styles
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Brent Jacobs
|
8
|
+
- br3nt
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2017-10-06 00:00:00.000000000 Z
|
13
|
+
dependencies: []
|
14
|
+
description:
|
15
|
+
email:
|
16
|
+
executables: []
|
17
|
+
extensions: []
|
18
|
+
extra_rdoc_files: []
|
19
|
+
files:
|
20
|
+
- lib/ansi_text_styles.rb
|
21
|
+
homepage: https://github.com/br3nt/ansi_text_styles
|
22
|
+
licenses:
|
23
|
+
- MIT
|
24
|
+
metadata: {}
|
25
|
+
post_install_message:
|
26
|
+
rdoc_options: []
|
27
|
+
require_paths:
|
28
|
+
- lib
|
29
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '2.0'
|
34
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
35
|
+
requirements:
|
36
|
+
- - ">="
|
37
|
+
- !ruby/object:Gem::Version
|
38
|
+
version: '0'
|
39
|
+
requirements: []
|
40
|
+
rubyforge_project:
|
41
|
+
rubygems_version: 2.4.5.1
|
42
|
+
signing_key:
|
43
|
+
specification_version: 4
|
44
|
+
summary: Adds methods to apply ANSI colour codes and text styles to strings.
|
45
|
+
test_files: []
|