rbtext 0.2.0 → 0.3.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c0e5451aa3736ffcedad724b7bac7ab81d041b0fdd6689dda38fc3f700bb7429
4
- data.tar.gz: 4795dd7dde116fa9ae34f5da44d55238ac18e829b56de491f652c55a327c5623
3
+ metadata.gz: aeaa3d4a31eb6b39b6351a8ebeb376210ad717d62d9bf00490fc588cd27356f4
4
+ data.tar.gz: f201309c0bc1818511cbaa2e3435a6f27ac1a4446dcc73a3d5b2689aaae62102
5
5
  SHA512:
6
- metadata.gz: 6ea9d2ea58d11bef5ce07ca67c364e22411be909b56c1637f643a77691b48e5bb5f4f0609670859e1f07f0b86bd9b4a298b7f7cd11f333e51f245f3480c2a37f
7
- data.tar.gz: 7ea1e21507a58eeee386e0c30dd0af7c4473b0d4a45716455aa33cd8209f0a6bab0d246341ab1dcc1047e219303f57579f3f2629f2963fbd98926ef7d3aa40e8
6
+ metadata.gz: 7efedf2c0528c5624716c58adbdbfaa6d6e709cf5f03e955d3320a326861330cc1465b863cb1084a4879a4a8d7ed812356c862c092cfe5506244d05e9471c154
7
+ data.tar.gz: 86ffbe26056a8de1437fa2ecd20c0b9cdb4ca04de03e82d868e8bf016965edded9aa08733cd3d33555cb9335448987dd539f6f7d10b1e83f994e897e636c4ddb
data/bin/ftext CHANGED
@@ -1,6 +1,8 @@
1
1
  #!/usr/bin/ruby
2
2
  require_relative '../lib/rbtext.rb'
3
3
 
4
+ params = (ARGV[1..ARGV.length-1]).to_a
5
+
4
6
  if $stdin.tty? && ARGV[0]
5
7
  txt = ARGV[0].to_s
6
8
  elsif $stdin.tty?
@@ -18,13 +20,15 @@ else
18
20
  end
19
21
 
20
22
  (0..lines.length-1).each do |l|
21
- txt << "#{"_.f:reset._" if ARGV[1] != "--noreset"}_.#{args[l]}._"+lines[l]
23
+ txt << "#{"_.f:reset._" if !params.include?("--noreset")}_.#{args[l]}._"+lines[l].gsub("_", "\0004")
22
24
  end
23
25
 
24
26
  txt = txt.join
25
27
  else
26
- txt = ARGF.readlines.join
28
+ txt = ARGF.readlines.join.gsub("_", "\0004")
27
29
  end
28
30
  end
29
31
 
30
- print R::Ft.new(txt)
32
+ out = R::Ft.new(txt).to_s.gsub("\0004", "_")
33
+ print out.dump.sub("\"", "").reverse.sub("\"", "").reverse if params.include?("--dump")
34
+ print out if !params.include?("--dump")
data/lib/rbtext/cursor.rb CHANGED
@@ -7,7 +7,9 @@ module RBText
7
7
  :right,
8
8
  :beginning_of_line,
9
9
  :go_to_pos,
10
- :pos
10
+ :pos,
11
+ :show,
12
+ :hide
11
13
  ]
12
14
 
13
15
  def up(num=1)
@@ -53,6 +55,14 @@ module RBText
53
55
  print "\r"
54
56
  end
55
57
 
58
+ def show
59
+ print "\033[?25h"
60
+ end
61
+
62
+ def hide
63
+ print "\033[?25l"
64
+ end
65
+
56
66
  @@methods.each do |method|
57
67
  module_function method
58
68
  end
data/lib/rbtext/ftext.rb CHANGED
@@ -4,7 +4,7 @@ module RBText
4
4
  @original_text = str
5
5
  @text = ""
6
6
 
7
- str = str.split("_")
7
+ str = str.gsub("_.", "\0001").gsub("._", "\0002").gsub("_", "\0000").gsub("\0001", "_.").gsub("\0002", "._").split("_").map{|x|x.gsub("\0000", "_")}
8
8
 
9
9
  for x in str do
10
10
  if x[0] == "." && x[x.length-1] == "." && x.split(":").length == 2
@@ -77,6 +77,14 @@ module RBText
77
77
  def [](num)
78
78
  self.to_s[num]
79
79
  end
80
+
81
+ def *(n)
82
+ self.to_s*n
83
+ end
84
+
85
+ def include?(i)
86
+ self.to_s.include?(i)
87
+ end
80
88
  end
81
89
 
82
90
  class Ft < RBText::Ftext
data/lib/rbtext/screen.rb CHANGED
@@ -5,7 +5,8 @@ module RBText
5
5
  :clear_line,
6
6
  :size,
7
7
  :height,
8
- :width
8
+ :width,
9
+ :bell
9
10
  ]
10
11
 
11
12
  def clear
@@ -28,6 +29,10 @@ module RBText
28
29
  self.size[1]
29
30
  end
30
31
 
32
+ def bell
33
+ print "\a"
34
+ end
35
+
31
36
  @@methods.each do |method|
32
37
  module_function method
33
38
  end
@@ -0,0 +1,36 @@
1
+ require 'rbtext/colors'
2
+ require 'rbtext/formatting'
3
+
4
+ class String
5
+ def color(color, type: :fg)
6
+ RBText::Colors.color(color, type: type) + self + RBText::Colors.color(:reset, type: type)
7
+ end
8
+
9
+ def num_color(color, type: :fg)
10
+ RBText::Colors.num_color(color, type: type) + self + RBText::Colors.color(:reset, type: type)
11
+ end
12
+
13
+ def bold
14
+ RBText::Formatting.bold + self + RBText::Formatting.reset
15
+ end
16
+
17
+ def faint
18
+ RBText::Formatting.faint + self + RBText::Formatting.reset
19
+ end
20
+
21
+ def italic
22
+ RBText::Formatting.italic + self + RBText::Formatting.reset
23
+ end
24
+
25
+ def underline
26
+ RBText::Formatting.underline + self + RBText::Formatting.reset
27
+ end
28
+
29
+ def blinking
30
+ RBText::Formatting.blinking + self + RBText::Formatting.reset
31
+ end
32
+
33
+ def strikethrough
34
+ RBText::Formatting.strikethrough + self + RBText::Formatting.reset
35
+ end
36
+ end
data/lib/rbtext.rb CHANGED
@@ -7,7 +7,7 @@ require "io/console"
7
7
 
8
8
  module RBText
9
9
  @ver_1 = 0
10
- @ver_2 = 2
10
+ @ver_2 = 3
11
11
  @ver_3 = 0
12
12
  @ver_4 = ""
13
13
 
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rbtext
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matthias Lee
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-03-30 00:00:00.000000000 Z
11
+ date: 2022-04-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: io
14
+ name: io-console
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.0.1
19
+ version: 0.5.6
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 0.0.1
26
+ version: 0.5.6
27
27
  description: A gem for printing formatted text
28
28
  email: matthias@matthiasclee.com
29
29
  executables:
@@ -38,6 +38,7 @@ files:
38
38
  - lib/rbtext/formatting.rb
39
39
  - lib/rbtext/ftext.rb
40
40
  - lib/rbtext/screen.rb
41
+ - lib/rbtext/string_methods.rb
41
42
  homepage: https://github.com/Matthiasclee/RBText
42
43
  licenses:
43
44
  - AGPL-3.0