concolor 1.0.0 → 1.0.1
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 +4 -4
- data/README.md +62 -46
- data/lib/concolor/extension.rb +11 -1
- data/lib/concolor/mappers.rb +55 -4
- data/lib/concolor/string.rb +11 -10
- data/lib/concolor/version.rb +17 -1
- data/lib/concolor.rb +3 -0
- metadata +4 -7
- data/lib/concolor/mappers/bg_color.rb +0 -27
- data/lib/concolor/mappers/color.rb +0 -27
- data/lib/concolor/mappers/mode.rb +0 -20
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f42aa4a0c9aa77f70af7aaa9889cebc7d3f85384e5e509eb3c26c865bc2de573
|
4
|
+
data.tar.gz: ace991096094325ef9d0b23ebcd27053e2aba6a1d24bfdd40d517bef94739469
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9c8aead6bbcb153f25e7d203465b19b5bd295a6f0da0c73fc7a5c1b5da1ddfe6f5f35412a8956e5b8430f8aaaad53ff1ac52da8c6b57c593e486760714f73e1b
|
7
|
+
data.tar.gz: 20220bab5562b31a0d355ae680fcd982cb681f79d5dad575380e7fc0037048a7df8e4a37630b3a77fdd5fe3f422f6b97979c6f59408231b07503942c30285716
|
data/README.md
CHANGED
@@ -1,8 +1,28 @@
|
|
1
|
-
#
|
1
|
+
# Concolor
|
2
2
|
|
3
|
-
|
3
|
+
[](https://rubygems.org/gems/concolor) [](https://github.com/bf-rb/concolor/actions) [](https://bf-rb.github.io/concolor/v1.0.1/)
|
4
4
|
|
5
|
-
|
5
|
+
With `Concolor` you can change the fore- and background colors and text decorations when rendering text on terminals supporting ANSI escape codes. It adds the `concolor` method to `String` objects.
|
6
|
+
|
7
|
+
   
|
8
|
+
|
9
|
+
## Used technologies, API, tools, etc
|
10
|
+
|
11
|
+
[ruby-logo]: https://img.shields.io/badge/Ruby-cc342d.svg?style=flat&logo=ruby&logoColor=fff
|
12
|
+
[git-logo]: https://img.shields.io/badge/Git-000.svg?style=flat&logo=git&logoColor=f54d27
|
13
|
+
[github-actions-logo]: https://img.shields.io/badge/GitHub%20Actions-2671e5.svg?style=flat&logo=githubactions&logoColor=fff
|
14
|
+
[rubocop-logo]: https://img.shields.io/badge/RuboCop-f5f5f5.svg?style=flat&logo=rubocop&logoColor=000
|
15
|
+
[vs-code-logo]: https://img.shields.io/badge/VS%20Code-2c2c32.svg?style=flat&logo=visualstudiocode&logoColor=22a8f1
|
16
|
+
[docker-logo]: https://img.shields.io/badge/Docker-003f8c.svg?style=flat&logo=docker&logoColor=fff
|
17
|
+
[ruby-gems-logo]: https://img.shields.io/badge/Ruby%20Gems-e9573f.svg?style=flat&logo=rubygems&logoColor=fff
|
18
|
+
|
19
|
+
[![ruby-logo]](https://www.ruby-lang.org/) [![git-logo]](https://git-scm.com/) [![github-actions-logo]](https://docs.github.com/en/actions) [![rubocop-logo]](https://rubocop.org/) [![vs-code-logo]](https://code.visualstudio.com/) [![docker-logo]](https://www.docker.com/) [![ruby-gems-logo]](https://rubygems.org/)
|
20
|
+
|
21
|
+
## Development
|
22
|
+
|
23
|
+
Gem development information and current project status:
|
24
|
+
|
25
|
+
[](https://github.com/bf-rb/concolor/actions) [](https://github.com/bf-rb/concolor/issues) 
|
6
26
|
|
7
27
|
## Installation
|
8
28
|
|
@@ -27,49 +47,45 @@ puts 'Some text'.concolor(:bold, :red)
|
|
27
47
|
# "\033[31;1mSome text\033[0m"
|
28
48
|
```
|
29
49
|
|
30
|
-
### Foreground color
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
|
55
|
-
|
|
56
|
-
| `:
|
57
|
-
| `:
|
58
|
-
| `:
|
59
|
-
| `:
|
60
|
-
| `:
|
61
|
-
| `:
|
62
|
-
| `:
|
63
|
-
| `:
|
64
|
-
| `:
|
65
|
-
| `:
|
66
|
-
| `:
|
67
|
-
| `:
|
68
|
-
| `:
|
69
|
-
| `:bg_light_blue` |  | *104* |
|
70
|
-
| `:bg_light_magenta` |  | *105* |
|
71
|
-
| `:bg_light_cyan` |  | *106* |
|
72
|
-
| `:bg_white` |  | *107* |
|
50
|
+
### Foreground color & Background color
|
51
|
+
|
52
|
+
[#000000]: https://via.placeholder.com/15/000000/000000.png
|
53
|
+
[#CD0000]: https://via.placeholder.com/15/CD0000/CD0000.png
|
54
|
+
[#00CD00]: https://via.placeholder.com/15/00CD00/00CD00.png
|
55
|
+
[#CDCD00]: https://via.placeholder.com/15/CDCD00/CDCD00.png
|
56
|
+
[#1E90FF]: https://via.placeholder.com/15/1E90FF/1E90FF.png
|
57
|
+
[#CD00CD]: https://via.placeholder.com/15/CD00CD/CD00CD.png
|
58
|
+
[#00CDCD]: https://via.placeholder.com/15/00CDCD/00CDCD.png
|
59
|
+
[#E5E5E5]: https://via.placeholder.com/15/E5E5E5/E5E5E5.png
|
60
|
+
[#4C4C4C]: https://via.placeholder.com/15/4C4C4C/4C4C4C.png
|
61
|
+
[#FF0000]: https://via.placeholder.com/15/FF0000/FF0000.png
|
62
|
+
[#00FF00]: https://via.placeholder.com/15/00FF00/00FF00.png
|
63
|
+
[#FFFF00]: https://via.placeholder.com/15/FFFF00/FFFF00.png
|
64
|
+
[#4682B4]: https://via.placeholder.com/15/4682B4/4682B4.png
|
65
|
+
[#FF00FF]: https://via.placeholder.com/15/FF00FF/FF00FF.png
|
66
|
+
[#00FFFF]: https://via.placeholder.com/15/00FFFF/00FFFF.png
|
67
|
+
[#FFFFFF]: https://via.placeholder.com/15/FFFFFF/FFFFFF.png
|
68
|
+
|
69
|
+
|
70
|
+
| Foreground color | code | color | Background color | code |
|
71
|
+
| :--------------- | :--: | :--------: | :----------------- | :---: |
|
72
|
+
| `:default` | *29* | | `:bg_default` | *49* |
|
73
|
+
| `:black` | *30* | ![#000000] | `:bg_black` | *40* |
|
74
|
+
| `:red` | *31* | ![#CD0000] | `:bg_red` | *41* |
|
75
|
+
| `:green` | *32* | ![#00CD00] | `:bg_green` | *42* |
|
76
|
+
| `:yellow` | *33* | ![#CDCD00] | `:bg_yellow` | *43* |
|
77
|
+
| `:blue` | *34* | ![#1E90FF] | `:bg_blue` | *44* |
|
78
|
+
| `:magenta` | *35* | ![#CD00CD] | `:bg_magenta` | *45* |
|
79
|
+
| `:cyan` | *36* | ![#00CDCD] | `:bg_cyan` | *46* |
|
80
|
+
| `:light_gray` | *37* | ![#E5E5E5] | `:bg_light_gray` | *47* |
|
81
|
+
| `:dark_gray` | *90* | ![#4C4C4C] | `:bg_dark_gray` | *100* |
|
82
|
+
| `:light_red` | *91* | ![#FF0000] | `:bg_light_red` | *101* |
|
83
|
+
| `:light_green` | *92* | ![#00FF00] | `:bg_light_green` | *102* |
|
84
|
+
| `:light_yellow` | *93* | ![#FFFF00] | `:bg_light_yellow` | *103* |
|
85
|
+
| `:light_blue` | *94* | ![#4682B4] | `:bg_light_blue` | *104* |
|
86
|
+
| `:light_magenta` | *95* | ![#FF00FF] | `:bg_light_magenta`| *105* |
|
87
|
+
| `:light_cyan` | *96* | ![#00FFFF] | `:bg_light_cyan` | *106* |
|
88
|
+
| `:white` | *97* | ![#FFFFFF] | `:bg_white` | *107* |
|
73
89
|
|
74
90
|
### Mode (modifying the style of text)
|
75
91
|
|
data/lib/concolor/extension.rb
CHANGED
@@ -1,7 +1,17 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
module Concolor
|
4
|
-
# Extension module
|
4
|
+
# Extension module
|
5
|
+
#
|
6
|
+
# @example
|
7
|
+
# class CustomString < String
|
8
|
+
# include Concolor::Extension
|
9
|
+
# end
|
10
|
+
#
|
11
|
+
# CustomString.new('Some text').concolor(:bold, :red)
|
12
|
+
# # => "\033[31;1mSome text\033[0m"
|
13
|
+
#
|
14
|
+
# @since 0.0.1
|
5
15
|
module Extension
|
6
16
|
# @param options [Array<Symbol>]
|
7
17
|
# @return [Concolor::String]
|
data/lib/concolor/mappers.rb
CHANGED
@@ -1,10 +1,61 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
module Concolor
|
4
|
-
# ANSI
|
4
|
+
# ANSI escape codes mappers
|
5
|
+
#
|
6
|
+
# @since 1.0.1
|
5
7
|
module Mappers
|
6
|
-
|
7
|
-
|
8
|
-
|
8
|
+
COLORS = {
|
9
|
+
default: 39,
|
10
|
+
black: 30,
|
11
|
+
red: 31,
|
12
|
+
green: 32,
|
13
|
+
yellow: 33,
|
14
|
+
blue: 34,
|
15
|
+
magenta: 35,
|
16
|
+
cyan: 36,
|
17
|
+
light_gray: 37,
|
18
|
+
dark_gray: 90,
|
19
|
+
light_red: 91,
|
20
|
+
light_green: 92,
|
21
|
+
light_yellow: 93,
|
22
|
+
light_blue: 94,
|
23
|
+
light_magenta: 95,
|
24
|
+
light_cyan: 96,
|
25
|
+
white: 97
|
26
|
+
}.freeze
|
27
|
+
|
28
|
+
BG_COLORS = {
|
29
|
+
bg_default: 49,
|
30
|
+
bg_black: 40,
|
31
|
+
bg_red: 41,
|
32
|
+
bg_green: 42,
|
33
|
+
bg_yellow: 43,
|
34
|
+
bg_blue: 44,
|
35
|
+
bg_magenta: 45,
|
36
|
+
bg_cyan: 46,
|
37
|
+
bg_light_gray: 47,
|
38
|
+
bg_dark_gray: 100,
|
39
|
+
bg_light_red: 101,
|
40
|
+
bg_light_green: 102,
|
41
|
+
bg_light_yellow: 103,
|
42
|
+
bg_light_blue: 104,
|
43
|
+
bg_light_magenta: 105,
|
44
|
+
bg_light_cyan: 106,
|
45
|
+
bg_white: 107
|
46
|
+
}.freeze
|
47
|
+
|
48
|
+
MODES = {
|
49
|
+
reset: 0,
|
50
|
+
bold: 1,
|
51
|
+
faint: 2,
|
52
|
+
italic: 3,
|
53
|
+
underline: 4,
|
54
|
+
blink: 5,
|
55
|
+
blink_fast: 6,
|
56
|
+
reverse: 7,
|
57
|
+
hide: 8,
|
58
|
+
cross: 9
|
59
|
+
}.freeze
|
9
60
|
end
|
10
61
|
end
|
data/lib/concolor/string.rb
CHANGED
@@ -2,6 +2,8 @@
|
|
2
2
|
|
3
3
|
module Concolor
|
4
4
|
# Extension module for String class
|
5
|
+
#
|
6
|
+
# @since 1.0.1
|
5
7
|
class String
|
6
8
|
# @param str [String] some string object
|
7
9
|
# @param options [Array<Symbol>]
|
@@ -9,28 +11,26 @@ module Concolor
|
|
9
11
|
@str = str
|
10
12
|
parsed = parse_options!(options)
|
11
13
|
|
12
|
-
@color = ::Concolor::Mappers::
|
13
|
-
@bg_color = ::Concolor::Mappers::
|
14
|
+
@color = ::Concolor::Mappers::COLORS[parsed[:colors].first]
|
15
|
+
@bg_color = ::Concolor::Mappers::BG_COLORS[parsed[:bg_colors].first]
|
14
16
|
@modes = parsed[:modes].map do |mode|
|
15
|
-
Concolor::Mappers::
|
17
|
+
Concolor::Mappers::MODES[mode]
|
16
18
|
end
|
17
19
|
end
|
18
20
|
|
19
21
|
# To string
|
22
|
+
#
|
20
23
|
# @return [String]
|
21
24
|
def to_s
|
22
25
|
"\033[#{style}m#{@str}\033[0m"
|
23
26
|
end
|
24
27
|
|
25
|
-
# def [](key)
|
26
|
-
# self
|
27
|
-
# end
|
28
|
-
|
29
28
|
alias inspect to_s
|
30
29
|
|
31
30
|
private
|
32
31
|
|
33
32
|
# Parse options
|
33
|
+
#
|
34
34
|
# @param options [Array<Symbol>]
|
35
35
|
# @return [Hash] { colors: [...], bg_colors: [...], modes: [...] }
|
36
36
|
def parse_options!(options)
|
@@ -38,11 +38,11 @@ module Concolor
|
|
38
38
|
wrong = []
|
39
39
|
|
40
40
|
options.each do |opt|
|
41
|
-
if Concolor::Mappers::
|
41
|
+
if Concolor::Mappers::COLORS.key?(opt)
|
42
42
|
parsed[:colors].push(opt)
|
43
|
-
elsif Concolor::Mappers::
|
43
|
+
elsif Concolor::Mappers::MODES.key?(opt)
|
44
44
|
parsed[:modes].push(opt)
|
45
|
-
elsif Concolor::Mappers::
|
45
|
+
elsif Concolor::Mappers::BG_COLORS.key?(opt)
|
46
46
|
parsed[:bg_colors].push(opt)
|
47
47
|
else
|
48
48
|
wrong.push(opt)
|
@@ -55,6 +55,7 @@ module Concolor
|
|
55
55
|
end
|
56
56
|
|
57
57
|
# Get style string
|
58
|
+
#
|
58
59
|
# @return [String]
|
59
60
|
def style
|
60
61
|
[@color, @bg_color, @modes].flatten.compact.join(';')
|
data/lib/concolor/version.rb
CHANGED
@@ -2,15 +2,31 @@
|
|
2
2
|
|
3
3
|
module Concolor
|
4
4
|
# Gem version module
|
5
|
+
#
|
6
|
+
# @since 0.0.1
|
5
7
|
module Version
|
6
8
|
# x.0.0 changes that will break existing users code if they update
|
7
9
|
MAJOR = 1
|
8
10
|
# 0.x.0 changes, such as new functionality/features
|
9
11
|
MINOR = 0
|
10
12
|
# 0.0.x changes, such as small bug fixes
|
11
|
-
PATCH =
|
13
|
+
PATCH = 1
|
12
14
|
|
13
15
|
# Get current gem version
|
16
|
+
#
|
17
|
+
# @example
|
18
|
+
# Concolor::Version::CURRENT # => "1.0.1"
|
19
|
+
#
|
20
|
+
# @since 1.0.1
|
21
|
+
CURRENT = "#{MAJOR}.#{MINOR}.#{PATCH}"
|
22
|
+
|
23
|
+
# Get current gem version
|
24
|
+
#
|
25
|
+
# @deprecated use {CURRENT} instead.
|
26
|
+
#
|
27
|
+
# @example
|
28
|
+
# Concolor::Version.current # => "0.0.1"
|
29
|
+
#
|
14
30
|
# @return [String]
|
15
31
|
def self.current
|
16
32
|
"#{MAJOR}.#{MINOR}.#{PATCH}"
|
data/lib/concolor.rb
CHANGED
@@ -1,12 +1,15 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
# Base module
|
4
|
+
#
|
5
|
+
# @author {https://github.com/alexmercury Alex Merkulov}
|
4
6
|
module Concolor
|
5
7
|
autoload :Version, 'concolor/version'
|
6
8
|
autoload :Mappers, 'concolor/mappers'
|
7
9
|
autoload :String, 'concolor/string'
|
8
10
|
autoload :Extension, 'concolor/extension'
|
9
11
|
|
12
|
+
# @param klass [Class]
|
10
13
|
def self.auto_include_to(klass)
|
11
14
|
klass.send(:include, Concolor::Extension)
|
12
15
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: concolor
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alex Merkulov
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-05-17 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Colorize console text
|
14
14
|
email:
|
@@ -23,9 +23,6 @@ files:
|
|
23
23
|
- lib/concolor.rb
|
24
24
|
- lib/concolor/extension.rb
|
25
25
|
- lib/concolor/mappers.rb
|
26
|
-
- lib/concolor/mappers/bg_color.rb
|
27
|
-
- lib/concolor/mappers/color.rb
|
28
|
-
- lib/concolor/mappers/mode.rb
|
29
26
|
- lib/concolor/string.rb
|
30
27
|
- lib/concolor/version.rb
|
31
28
|
homepage: https://github.com/bf-rb/concolor
|
@@ -35,7 +32,7 @@ metadata:
|
|
35
32
|
homepage_uri: https://github.com/bf-rb/concolor
|
36
33
|
changelog_uri: https://github.com/bf-rb/concolor/blob/main/CHANGELOG.md
|
37
34
|
source_code_uri: https://github.com/bf-rb/concolor
|
38
|
-
documentation_uri: https://
|
35
|
+
documentation_uri: https://bf-rb.github.io/concolor/v1.0.1
|
39
36
|
bug_tracker_uri: https://github.com/bf-rb/concolor/issues
|
40
37
|
rubygems_mfa_required: 'true'
|
41
38
|
post_install_message:
|
@@ -53,7 +50,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
53
50
|
- !ruby/object:Gem::Version
|
54
51
|
version: '0'
|
55
52
|
requirements: []
|
56
|
-
rubygems_version: 3.
|
53
|
+
rubygems_version: 3.4.12
|
57
54
|
signing_key:
|
58
55
|
specification_version: 4
|
59
56
|
summary: Console colorize text
|
@@ -1,27 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Concolor
|
4
|
-
module Mappers
|
5
|
-
module BgColor
|
6
|
-
DATA = {
|
7
|
-
bg_default: 49,
|
8
|
-
bg_black: 40,
|
9
|
-
bg_red: 41,
|
10
|
-
bg_green: 42,
|
11
|
-
bg_yellow: 43,
|
12
|
-
bg_blue: 44,
|
13
|
-
bg_magenta: 45,
|
14
|
-
bg_cyan: 46,
|
15
|
-
bg_light_gray: 47,
|
16
|
-
bg_dark_gray: 100,
|
17
|
-
bg_light_red: 101,
|
18
|
-
bg_light_green: 102,
|
19
|
-
bg_light_yellow: 103,
|
20
|
-
bg_light_blue: 104,
|
21
|
-
bg_light_magenta: 105,
|
22
|
-
bg_light_cyan: 106,
|
23
|
-
bg_white: 107
|
24
|
-
}.freeze
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
@@ -1,27 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Concolor
|
4
|
-
module Mappers
|
5
|
-
module Color
|
6
|
-
DATA = {
|
7
|
-
default: 39,
|
8
|
-
black: 30,
|
9
|
-
red: 31,
|
10
|
-
green: 32,
|
11
|
-
yellow: 33,
|
12
|
-
blue: 34,
|
13
|
-
magenta: 35,
|
14
|
-
cyan: 36,
|
15
|
-
light_gray: 37,
|
16
|
-
dark_gray: 90,
|
17
|
-
light_red: 91,
|
18
|
-
light_green: 92,
|
19
|
-
light_yellow: 93,
|
20
|
-
light_blue: 94,
|
21
|
-
light_magenta: 95,
|
22
|
-
light_cyan: 96,
|
23
|
-
white: 97
|
24
|
-
}.freeze
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
@@ -1,20 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Concolor
|
4
|
-
module Mappers
|
5
|
-
module Mode
|
6
|
-
DATA = {
|
7
|
-
reset: 0,
|
8
|
-
bold: 1,
|
9
|
-
faint: 2,
|
10
|
-
italic: 3,
|
11
|
-
underline: 4,
|
12
|
-
blink: 5,
|
13
|
-
blink_fast: 6,
|
14
|
-
reverse: 7,
|
15
|
-
hide: 8,
|
16
|
-
cross: 9
|
17
|
-
}.freeze
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|