typr 1.1.4 → 1.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.
data/typr.gemspec CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = "typr"
5
- s.version = "1.1.4"
5
+ s.version = "1.3.0"
6
6
  s.date = "2026-07-25"
7
7
  s.homepage = "https://codeberg.org/typr/typr"
8
8
  s.licenses = ["MIT"]
@@ -10,8 +10,9 @@ Gem::Specification.new do |s|
10
10
  s.authors = ["Kilian Reitmayr"]
11
11
  s.summary = "Terminal UI Toolkit"
12
12
  s.email = ["reitmayr@protonmail.com"]
13
- s.files = Dir["lib/*.rb"] + ["LICENSE", "README.md", "CHANGELOG.md", "Gemfile", "typr.gemspec",
14
- "example/grid", "example/browser", "example/text", "example/top500.csv", "share/mimetypes"]
13
+ s.files = Dir["lib/*.rb"] - ["lib/curses.rb"] + ["LICENSE", "README.md", "CHANGELOG.md", "typr.gemspec",
14
+ "example/grid", "example/browser", "example/text", "example/top500.csv",
15
+ "share/mimetypes", "share/terminfo"]
15
16
  s.required_ruby_version = Gem::Requirement.new(">= 3.1")
16
17
  s.add_runtime_dependency("unicode-display_width", ["~> 3.1"])
17
18
  end
metadata CHANGED
@@ -1,11 +1,10 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: typr
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.4
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kilian Reitmayr
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
10
  date: 2026-07-25 00:00:00.000000000 Z
@@ -24,7 +23,6 @@ dependencies:
24
23
  - - "~>"
25
24
  - !ruby/object:Gem::Version
26
25
  version: '3.1'
27
- description:
28
26
  email:
29
27
  - reitmayr@protonmail.com
30
28
  executables: []
@@ -32,7 +30,6 @@ extensions: []
32
30
  extra_rdoc_files: []
33
31
  files:
34
32
  - CHANGELOG.md
35
- - Gemfile
36
33
  - LICENSE
37
34
  - README.md
38
35
  - example/browser
@@ -40,7 +37,6 @@ files:
40
37
  - example/text
41
38
  - example/top500.csv
42
39
  - lib/browser.rb
43
- - lib/curses.rb
44
40
  - lib/frontend.rb
45
41
  - lib/graphical.rb
46
42
  - lib/grid.rb
@@ -51,12 +47,12 @@ files:
51
47
  - lib/text.rb
52
48
  - lib/typr.rb
53
49
  - share/mimetypes
50
+ - share/terminfo
54
51
  - typr.gemspec
55
52
  homepage: https://codeberg.org/typr/typr
56
53
  licenses:
57
54
  - MIT
58
55
  metadata: {}
59
- post_install_message:
60
56
  rdoc_options: []
61
57
  require_paths:
62
58
  - lib
@@ -71,8 +67,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
71
67
  - !ruby/object:Gem::Version
72
68
  version: '0'
73
69
  requirements: []
74
- rubygems_version: 3.3.15
75
- signing_key:
70
+ rubygems_version: 3.6.9
76
71
  specification_version: 4
77
72
  summary: Terminal UI Toolkit
78
73
  test_files: []
data/Gemfile DELETED
@@ -1,10 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- source "https://rubygems.org"
4
-
5
- gemspec
6
-
7
- group :development, :test do
8
- gem "rspec", "~> 3.0"
9
- gem "rake"
10
- end
data/lib/curses.rb DELETED
@@ -1,120 +0,0 @@
1
- require 'ncursesw'
2
- require_relative 'frontend'
3
-
4
- module Visuals
5
-
6
- include Ncurses
7
- KEY_ESCAPE = 27
8
- KEY_RETURN = 10
9
- KEY_TAB = 9
10
- KEY_PAGEDOWN = KEY_NPAGE
11
- KEY_PAGEUP = KEY_PPAGE
12
-
13
- $colors = COLORS.keys
14
- $pairs = []
15
-
16
- %w[color pair].each{ |name| method = <<STR
17
- def %s_for obj;
18
- if id = $%ss.index( obj ) then return id
19
- else last = ( $%ss << obj.dup ).count - 1
20
- Ncurses.init_%s( last, *obj )
21
- return last
22
- end
23
- end
24
- STR
25
- eval( method % ([name]*4) )
26
- }
27
-
28
- def self.width; Ncurses.COLS end
29
- def self.height; Ncurses.LINES end
30
- def self.row; Ncurses.getcury $screen end
31
- def self.column; Ncurses.getcurx $screen end
32
-
33
- def self.exit
34
- Ncurses.echo
35
- Ncurses.nocbreak
36
- Ncurses.nl
37
- Ncurses.endwin
38
- end
39
-
40
- def read input
41
- case input
42
- when :key
43
- key = Ncurses.getch
44
- key = key.chr if key.between? 32, 126
45
- return key
46
- when :line
47
- Ncurses.echo
48
- Ncurses.curs_set 1
49
- str = Readline.readline
50
- Ncurses.curs_set 0
51
- Ncurses.noecho
52
- return str
53
- end
54
- end
55
-
56
- def move x=0,y=0; Ncurses.move y, x end
57
- def refresh; Ncurses.refresh end
58
- def clear type=:screen;
59
- case type
60
- when :screen; Ncurses.erase
61
- when :line; Ncurses.clrtoeol
62
- when :down; Ncurses.clrtobot
63
- end
64
- end
65
- def change; Ncurses.color_set pair_for( $color ), 0 end
66
- def show string; Ncurses.addstr string.to_s end
67
-
68
- def get_background; $color[1] end
69
- def get_foreground; $color[0] end
70
- def background color;
71
- $color[1] = (color ? color_for( color ) : $default[1]); change
72
- end
73
- def foreground color;
74
- $color[0] = (color ? color_for( color ) : $default[0]); change
75
- end
76
-
77
- def color c
78
- c = [c] unless c.is_a? Array and c.count == 2
79
- foreground c[0] if c[0]
80
- background c[1] if c[1]
81
- end
82
-
83
- def self.init args={}
84
- $creen = Ncurses.initscr
85
- Ncurses.cbreak
86
- Ncurses.noecho
87
- Ncurses.nl
88
- Ncurses.curs_set 0
89
- Ncurses.start_color
90
- Ncurses.stdscr.intrflush(false)
91
- Ncurses.stdscr.keypad(true)
92
-
93
- $default = [
94
- color_for( args[:foreground] || :grey80 ),
95
- color_for( args[:background] || :grey10 ) ]
96
- $color = $default.dup
97
-
98
- COLORS.each_with_index{ |c,i|
99
- $pairs << [ i, $default[1] ]
100
- Ncurses.init_color i, *c[1]
101
- Ncurses.init_pair i, i, $default[1] }
102
-
103
- Ncurses.bkgd Ncurses::COLOR_PAIR( pair_for $default )
104
-
105
- end
106
-
107
- end
108
-
109
- if __FILE__ == $0
110
- include Visuals
111
- Visuals.init
112
- characters = (32..126).map(&:chr).join
113
- loop do
114
- clear
115
- $colors.each_with_index{ |c,i|
116
- foreground c; move 0,i; show characters }
117
- refresh
118
- exit if read(:key) == KEY_ESCAPE
119
- end
120
- end