rbtext 0.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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 900615ce6538a03ee599ca779ff21b38a410beafc6ca4d0be682da20f2fce2eb
4
+ data.tar.gz: 4cf937b800c97cd5921f534bd8287d02ab03c4696909683d64c7dac648db3bec
5
+ SHA512:
6
+ metadata.gz: '098f8361c963b5f9a6039ba4dfd92ee2dbcff148c7be5190a0b30caf8f2241f7d4a9f37e5674a5cffeb3ff6e68e584cdaf8cf9504b0feb0d5ca4cef3d802eec8'
7
+ data.tar.gz: b437c0dd983b6366fe0b5b55da6dcae7f3b507a6e6ec70546d5169f1215d35b6db9ef38a72694d63bacd7fac84dd27c24301b13a444acdbfec3d9ba9c53c4506
@@ -0,0 +1,46 @@
1
+ module RBText
2
+ module Colors
3
+ def fg_color_codes
4
+ {
5
+ black: "30",
6
+ red: "31",
7
+ green: "32",
8
+ yellow: "33",
9
+ blue: "34",
10
+ magenta: "35",
11
+ cyan: "36",
12
+ light_gray: "37",
13
+ gray: "90",
14
+ light_red: "91",
15
+ light_green: "92",
16
+ light_yellow: "93",
17
+ light_blue: "94",
18
+ light_magenta: "95",
19
+ light_cyan: "96",
20
+ white: "97"
21
+ }
22
+ end
23
+
24
+ def bg_color_codes
25
+ bg_color_codes = {}
26
+
27
+ for c in self.fg_color_codes.keys do
28
+ bg_color_codes[c] = (self.fg_color_codes[c].to_i + 10).to_s
29
+ end
30
+
31
+ return bg_color_codes
32
+ end
33
+
34
+ def color(color, type: :fg)
35
+ if type == :fg
36
+ color_code = self.fg_color_codes[color.to_sym]
37
+ elsif type == :bg
38
+ color_code = self.bg_color_codes[color.to_sym]
39
+ end
40
+
41
+ return "\033[#{color_code}m"
42
+ end
43
+
44
+ module_function :fg_color_codes, :bg_color_codes, :color
45
+ end
46
+ end
@@ -0,0 +1,25 @@
1
+ module RBText
2
+ module Cursor
3
+ def up(num=1)
4
+ print "\033[#{num.to_i}A"
5
+ end
6
+
7
+ def down(num=1)
8
+ print "\033[#{num.to_i}B"
9
+ end
10
+
11
+ def left(num=1)
12
+ print "\033[#{num.to_i}D"
13
+ end
14
+
15
+ def right(num=1)
16
+ print "\033[#{num.to_i}C"
17
+ end
18
+
19
+ def beginning_of_line
20
+ print "\r"
21
+ end
22
+
23
+ module_function :up, :down, :left, :right, :beginning_of_line
24
+ end
25
+ end
@@ -0,0 +1,25 @@
1
+ module RBText
2
+ module Formatting
3
+ def reset
4
+ "\033[0m"
5
+ end
6
+
7
+ def bold
8
+ "\033[1m"
9
+ end
10
+
11
+ def faint
12
+ "\033[2m"
13
+ end
14
+
15
+ def italic
16
+ "\033[3m"
17
+ end
18
+
19
+ def underline
20
+ "\033[4m"
21
+ end
22
+
23
+ module_function :reset, :bold, :faint, :italic, :underline
24
+ end
25
+ end
@@ -0,0 +1,49 @@
1
+ module RBText
2
+ class Ftext
3
+ def initialize(str)
4
+ @original_text = str
5
+ @text = ""
6
+
7
+ str = str.split("_")
8
+
9
+ for x in str do
10
+ if x[0] == "." && x[x.length-1] == "." && x.split(":").length == 2
11
+ x = x.downcase.gsub(".", "").gsub("-","_")
12
+ x = x.split(":")
13
+
14
+ if x[0] == "cf" || x[0] == "c"
15
+ @text << RBText::Colors.color(x[1].to_sym)
16
+ elsif x[0] == "cb"
17
+ @text << RBText::Colors.color(x[1].to_sym, type: :bg)
18
+ elsif x[0] == "f"
19
+ if x[1] == "reset"
20
+ @text << RBText::Formatting.reset
21
+ elsif x[1] == "bold"
22
+ @text << RBText::Formatting.bold
23
+ elsif x[1] == "faint"
24
+ @text << RBText::Formatting.faint
25
+ elsif x[1] == "italic"
26
+ @text << RBText::Formatting.italic
27
+ elsif x[1] == "underline"
28
+ @text << RBText::Formatting.underline
29
+ end
30
+ end
31
+ else
32
+ @text << x
33
+ end
34
+ end
35
+ end
36
+
37
+ def to_s
38
+ @text
39
+ end
40
+
41
+ def normal_text
42
+ @original_text.gsub(/\_\.([a-z]){1,2}\:([a-z\-])+\.\_/, "")
43
+ end
44
+
45
+ def original_text
46
+ @original_text
47
+ end
48
+ end
49
+ end
data/lib/rbtext.rb ADDED
@@ -0,0 +1,7 @@
1
+ require_relative "rbtext/cursor.rb"
2
+ require_relative "rbtext/colors.rb"
3
+ require_relative "rbtext/formatting.rb"
4
+ require_relative "rbtext/ftext.rb"
5
+
6
+ module RBText
7
+ end
metadata ADDED
@@ -0,0 +1,46 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rbtext
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Matthias Lee
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2022-03-19 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: A gem for printing formatted text
14
+ email: matthias@matthiasclee.com
15
+ executables: []
16
+ extensions: []
17
+ extra_rdoc_files: []
18
+ files:
19
+ - lib/rbtext.rb
20
+ - lib/rbtext/colors.rb
21
+ - lib/rbtext/cursor.rb
22
+ - lib/rbtext/formatting.rb
23
+ - lib/rbtext/ftext.rb
24
+ homepage:
25
+ licenses: []
26
+ metadata: {}
27
+ post_install_message:
28
+ rdoc_options: []
29
+ require_paths:
30
+ - lib
31
+ required_ruby_version: !ruby/object:Gem::Requirement
32
+ requirements:
33
+ - - ">="
34
+ - !ruby/object:Gem::Version
35
+ version: '0'
36
+ required_rubygems_version: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ requirements: []
42
+ rubygems_version: 3.1.6
43
+ signing_key:
44
+ specification_version: 4
45
+ summary: RBText
46
+ test_files: []