ansi256 0.2.5 → 0.4.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/README.md +5 -2
- data/ansi256.gemspec +1 -1
- data/bin/ansi256 +28 -26
- data/lib/ansi256/code.rb +2 -0
- data/lib/ansi256/version.rb +1 -1
- data/lib/ansi256.rb +2 -2
- data/test/test_ansi256.rb +3 -1
- metadata +16 -28
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: cf28c245bf8d2c7a888e05572ea1270a590bd2c0a906e37171099388ff4eb3a3
|
4
|
+
data.tar.gz: 1e5e1531cd270090d5ccaf931774f4d0cc54afbe2f0e1ba2d298829f5c5de651
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: a4209529d49b0ce7ef7acdbfd7072264840c276502281bef42944fe07609828ca02de4b3542d4fafc68f0cfaeb7ef17ddfef24db5fcdcd5e2b12f13caf1723f6
|
7
|
+
data.tar.gz: 59462bdc1e6c8072957674d8fcf7548a0eb20c76cf7021f82a6bffdb93befd7012704991f9190cac4b7587bd27eb1b9b62142a7246d9176cd0e07c1ac5a16686
|
data/README.md
CHANGED
@@ -86,6 +86,8 @@ Ansi256.bg(226)
|
|
86
86
|
Ansi256.green
|
87
87
|
Ansi256.on_green
|
88
88
|
Ansi256.bold
|
89
|
+
Ansi256.dim
|
90
|
+
Ansi256.italic
|
89
91
|
Ansi256.underline
|
90
92
|
Ansi256.reset
|
91
93
|
|
@@ -101,7 +103,8 @@ Disabling extended String methods
|
|
101
103
|
Ansi256.enabled?
|
102
104
|
# true
|
103
105
|
|
104
|
-
|
106
|
+
# Print colored output only when STDOUT is tty
|
107
|
+
Ansi256.enabled = $stdout.tty?
|
105
108
|
|
106
109
|
"Hello".fg(232)
|
107
110
|
# Hello
|
@@ -113,7 +116,7 @@ ansi256 executable
|
|
113
116
|
Ansi256 comes with `ansi256` script which can be used as follows
|
114
117
|
|
115
118
|
```bash
|
116
|
-
usage: ansi256 [-u] <[fg][/bg]> [
|
119
|
+
usage: ansi256 [-b] [-d] [-i] [-u] <[fg][/bg]> [message]
|
117
120
|
|
118
121
|
# Numeric color codes
|
119
122
|
ansi256 232 "Hello world"
|
data/ansi256.gemspec
CHANGED
@@ -18,7 +18,7 @@ Gem::Specification.new do |spec|
|
|
18
18
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
19
|
spec.require_paths = ["lib"]
|
20
20
|
|
21
|
-
spec.add_development_dependency "bundler", "
|
21
|
+
spec.add_development_dependency "bundler", ">= 2.2.33"
|
22
22
|
spec.add_development_dependency "rake"
|
23
23
|
spec.add_development_dependency "minitest"
|
24
24
|
end
|
data/bin/ansi256
CHANGED
@@ -1,43 +1,45 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
2
4
|
require 'rubygems'
|
3
5
|
require 'ansi256'
|
4
6
|
|
5
|
-
|
6
|
-
|
7
|
+
attrs = [
|
8
|
+
ARGV.delete('-b') && :bold,
|
9
|
+
ARGV.delete('-d') && :dim,
|
10
|
+
ARGV.delete('-i') && :italic,
|
11
|
+
ARGV.delete('-u') && :underline
|
12
|
+
].compact
|
7
13
|
|
8
|
-
if ARGV.
|
9
|
-
puts 'usage: ansi256 [-b] [-u] <[fg][/bg]> [message]'
|
14
|
+
if ARGV.empty?
|
15
|
+
puts 'usage: ansi256 [-b] [-d] [-i] [-u] <[fg][/bg]> [message]'
|
10
16
|
exit 1
|
11
17
|
end
|
12
18
|
|
13
|
-
fgbg, *
|
14
|
-
fg,
|
15
|
-
if
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
else
|
22
|
-
e.downcase.to_sym
|
23
|
-
end
|
19
|
+
fgbg, *rest = ARGV
|
20
|
+
fg, bg = fgbg.split('/').map do |e|
|
21
|
+
next if e.empty?
|
22
|
+
|
23
|
+
case e
|
24
|
+
when /^#?[0-9a-f]{6}$/i then e
|
25
|
+
when /^\d+$/ then e.to_i
|
26
|
+
else e.downcase.to_sym
|
24
27
|
end
|
25
|
-
|
28
|
+
end
|
26
29
|
|
27
|
-
|
28
|
-
msg = msg.fg(fg)
|
29
|
-
msg = msg.bg(bg)
|
30
|
-
msg = msg.
|
31
|
-
msg = msg.bold if b
|
30
|
+
output = lambda do |msg|
|
31
|
+
msg = msg.fg(fg) if fg
|
32
|
+
msg = msg.bg(bg) if bg
|
33
|
+
msg = attrs.reduce(msg) { |m, a| m.send(a) }
|
32
34
|
puts msg
|
33
35
|
end
|
34
36
|
|
35
|
-
if !
|
36
|
-
|
37
|
-
output
|
37
|
+
if !rest.empty?
|
38
|
+
rest.each do |m|
|
39
|
+
output.call(m)
|
38
40
|
end
|
39
41
|
else
|
40
|
-
while msg = $stdin.gets
|
41
|
-
output
|
42
|
+
while (msg = $stdin.gets)
|
43
|
+
output.call(msg.chomp)
|
42
44
|
end
|
43
45
|
end
|
data/lib/ansi256/code.rb
CHANGED
data/lib/ansi256/version.rb
CHANGED
data/lib/ansi256.rb
CHANGED
@@ -10,7 +10,7 @@ module Ansi256
|
|
10
10
|
wrap str, Ansi256.fg(code)
|
11
11
|
elsif NAMED_COLORS.include?(code)
|
12
12
|
"\e[#{CODE[code]}m"
|
13
|
-
elsif code.is_a?(
|
13
|
+
elsif code.is_a?(Integer) && (0..255).include?(code)
|
14
14
|
"\e[38;5;#{code}m"
|
15
15
|
elsif ansirgb = ansicode_for_rgb(code)
|
16
16
|
"\e[38;5;#{ansirgb}m"
|
@@ -24,7 +24,7 @@ module Ansi256
|
|
24
24
|
wrap str, Ansi256.bg(code)
|
25
25
|
elsif NAMED_COLORS.include?(code)
|
26
26
|
"\e[#{CODE[code] + 10}m"
|
27
|
-
elsif code.is_a?(
|
27
|
+
elsif code.is_a?(Integer) && (0..255).include?(code)
|
28
28
|
"\e[48;5;#{code}m"
|
29
29
|
elsif ansirgb = ansicode_for_rgb(code)
|
30
30
|
"\e[48;5;#{ansirgb}m"
|
data/test/test_ansi256.rb
CHANGED
@@ -3,7 +3,7 @@ $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
|
|
3
3
|
require 'ansi256'
|
4
4
|
require 'minitest/autorun'
|
5
5
|
|
6
|
-
class TestAnsi256 <
|
6
|
+
class TestAnsi256 < Minitest::Test
|
7
7
|
def cfmt col
|
8
8
|
col.to_s.rjust(5).fg(232).bg(col)
|
9
9
|
end
|
@@ -67,6 +67,8 @@ class TestAnsi256 < MiniTest::Unit::TestCase
|
|
67
67
|
def test_just_code
|
68
68
|
assert_equal "\e[0m", Ansi256.reset
|
69
69
|
assert_equal "\e[1m", Ansi256.bold
|
70
|
+
assert_equal "\e[2m", Ansi256.dim
|
71
|
+
assert_equal "\e[3m", Ansi256.italic
|
70
72
|
assert_equal "\e[4m", Ansi256.underline
|
71
73
|
|
72
74
|
assert_equal "\e[30m", Ansi256.black
|
metadata
CHANGED
@@ -1,62 +1,54 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ansi256
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.4.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Junegunn Choi
|
9
|
-
autorequire:
|
10
8
|
bindir: bin
|
11
9
|
cert_chain: []
|
12
|
-
date:
|
10
|
+
date: 2025-02-26 00:00:00.000000000 Z
|
13
11
|
dependencies:
|
14
12
|
- !ruby/object:Gem::Dependency
|
15
13
|
name: bundler
|
16
14
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
15
|
requirements:
|
19
|
-
- -
|
16
|
+
- - ">="
|
20
17
|
- !ruby/object:Gem::Version
|
21
|
-
version:
|
18
|
+
version: 2.2.33
|
22
19
|
type: :development
|
23
20
|
prerelease: false
|
24
21
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
22
|
requirements:
|
27
|
-
- -
|
23
|
+
- - ">="
|
28
24
|
- !ruby/object:Gem::Version
|
29
|
-
version:
|
25
|
+
version: 2.2.33
|
30
26
|
- !ruby/object:Gem::Dependency
|
31
27
|
name: rake
|
32
28
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
29
|
requirements:
|
35
|
-
- -
|
30
|
+
- - ">="
|
36
31
|
- !ruby/object:Gem::Version
|
37
32
|
version: '0'
|
38
33
|
type: :development
|
39
34
|
prerelease: false
|
40
35
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
36
|
requirements:
|
43
|
-
- -
|
37
|
+
- - ">="
|
44
38
|
- !ruby/object:Gem::Version
|
45
39
|
version: '0'
|
46
40
|
- !ruby/object:Gem::Dependency
|
47
41
|
name: minitest
|
48
42
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
43
|
requirements:
|
51
|
-
- -
|
44
|
+
- - ">="
|
52
45
|
- !ruby/object:Gem::Version
|
53
46
|
version: '0'
|
54
47
|
type: :development
|
55
48
|
prerelease: false
|
56
49
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
50
|
requirements:
|
59
|
-
- -
|
51
|
+
- - ">="
|
60
52
|
- !ruby/object:Gem::Version
|
61
53
|
version: '0'
|
62
54
|
description: Colorize text using 256-color ANSI codes
|
@@ -67,7 +59,7 @@ executables:
|
|
67
59
|
extensions: []
|
68
60
|
extra_rdoc_files: []
|
69
61
|
files:
|
70
|
-
- .gitignore
|
62
|
+
- ".gitignore"
|
71
63
|
- Gemfile
|
72
64
|
- LICENSE.txt
|
73
65
|
- README.md
|
@@ -82,27 +74,23 @@ files:
|
|
82
74
|
homepage: https://github.com/junegunn/ansi256
|
83
75
|
licenses:
|
84
76
|
- MIT
|
85
|
-
|
77
|
+
metadata: {}
|
86
78
|
rdoc_options: []
|
87
79
|
require_paths:
|
88
80
|
- lib
|
89
81
|
required_ruby_version: !ruby/object:Gem::Requirement
|
90
|
-
none: false
|
91
82
|
requirements:
|
92
|
-
- -
|
83
|
+
- - ">="
|
93
84
|
- !ruby/object:Gem::Version
|
94
85
|
version: '0'
|
95
86
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
96
|
-
none: false
|
97
87
|
requirements:
|
98
|
-
- -
|
88
|
+
- - ">="
|
99
89
|
- !ruby/object:Gem::Version
|
100
90
|
version: '0'
|
101
91
|
requirements: []
|
102
|
-
|
103
|
-
|
104
|
-
signing_key:
|
105
|
-
specification_version: 3
|
92
|
+
rubygems_version: 3.6.2
|
93
|
+
specification_version: 4
|
106
94
|
summary: Colorize text using 256-color ANSI codes
|
107
95
|
test_files:
|
108
96
|
- test/test_ansi256.rb
|