ansi 1.4.1 → 1.4.2
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/.ruby +9 -7
- data/{LICENSE.rdoc → COPYING.rdoc} +170 -8
- data/HISTORY.rdoc +21 -0
- data/QED.rdoc +84 -27
- data/README.rdoc +11 -7
- data/lib/ansi.rb +4 -0
- data/lib/ansi.yml +9 -7
- data/lib/ansi/bbcode.rb +5 -10
- data/lib/ansi/chain.rb +50 -0
- data/lib/ansi/chart.rb +1 -0
- data/lib/ansi/code.rb +7 -8
- data/lib/ansi/columns.rb +85 -27
- data/lib/ansi/constants.rb +9 -2
- data/lib/ansi/core.rb +7 -1
- data/lib/ansi/diff.rb +88 -23
- data/lib/ansi/mixin.rb +2 -4
- data/lib/ansi/progressbar.rb +5 -2
- data/lib/ansi/terminal.rb +2 -2
- data/lib/ansi/terminal/curses.rb +2 -2
- data/lib/ansi/terminal/stty.rb +12 -5
- data/lib/ansi/terminal/termios.rb +11 -6
- data/lib/ansi/version.rb +2 -3
- data/qed/{10_core.rdoc → 02_core.rdoc} +0 -0
- data/qed/{09_diff.rb → 09_diff.rdoc} +0 -0
- data/qed/{02_bbcode.rdoc → 10_bbcode.rdoc} +0 -0
- data/qed/11_terminal.rdoc +8 -0
- data/qed/applique/ae.rb +1 -0
- metadata +22 -20
- data/NOTICE.rdoc +0 -156
- data/lib/ansi.rbz +0 -40
data/lib/ansi/mixin.rb
CHANGED
@@ -7,9 +7,8 @@ module ANSI
|
|
7
7
|
# Generally speaking the String#ansi method is the more
|
8
8
|
# elegant approach to modifying a string with codes
|
9
9
|
# via a method call. But in some cases this Mixin's design
|
10
|
-
# might be preferable.
|
11
|
-
#
|
12
|
-
# +colored+ gem.
|
10
|
+
# might be preferable. Indeed, it original intent was
|
11
|
+
# as a compatability layer for the +colored+ gem.
|
13
12
|
|
14
13
|
module Mixin
|
15
14
|
|
@@ -120,4 +119,3 @@ module ANSI
|
|
120
119
|
end
|
121
120
|
|
122
121
|
end
|
123
|
-
|
data/lib/ansi/progressbar.rb
CHANGED
@@ -25,7 +25,7 @@ module ANSI
|
|
25
25
|
@out = out
|
26
26
|
|
27
27
|
@bar_length = 80
|
28
|
-
@bar_mark = "
|
28
|
+
@bar_mark = "|"
|
29
29
|
@total_overflow = true
|
30
30
|
@current = 0
|
31
31
|
@previous = 0
|
@@ -54,6 +54,8 @@ module ANSI
|
|
54
54
|
def bar_mark=(mark)
|
55
55
|
@bar_mark = String(mark)[0..0]
|
56
56
|
end
|
57
|
+
alias_method :barmark=, :bar_mark=
|
58
|
+
alias_method :mark=, :bar_mark=
|
57
59
|
|
58
60
|
def total_overflow=(boolv)
|
59
61
|
@total_overflow = boolv ? true : false
|
@@ -272,7 +274,8 @@ module ANSI
|
|
272
274
|
#
|
273
275
|
def colorize(part, style)
|
274
276
|
return part unless style
|
275
|
-
[style].flatten.inject(part){ |pt, st| ANSI::Code.
|
277
|
+
#[style].flatten.inject(part){ |pt, st| ANSI::Code.ansi(pt, *st) }
|
278
|
+
ANSI::Code.ansi(part, *style)
|
276
279
|
end
|
277
280
|
|
278
281
|
end
|
data/lib/ansi/terminal.rb
CHANGED
@@ -30,12 +30,12 @@ module ANSI
|
|
30
30
|
|
31
31
|
# Get the width of the terminal window.
|
32
32
|
def terminal_width
|
33
|
-
terminal_size
|
33
|
+
terminal_size.first
|
34
34
|
end
|
35
35
|
|
36
36
|
# Get the height of the terminal window.
|
37
37
|
def terminal_height
|
38
|
-
terminal_size
|
38
|
+
terminal_size.last
|
39
39
|
end
|
40
40
|
|
41
41
|
end
|
data/lib/ansi/terminal/curses.rb
CHANGED
data/lib/ansi/terminal/stty.rb
CHANGED
@@ -1,9 +1,11 @@
|
|
1
1
|
module ANSI
|
2
2
|
|
3
3
|
module Terminal
|
4
|
-
|
5
4
|
module_function
|
6
5
|
|
6
|
+
#COLS_FALLBACK = 80
|
7
|
+
#ROWS_FALLBACK = 25
|
8
|
+
|
7
9
|
#CHARACTER_MODE = "stty" # For Debugging purposes only.
|
8
10
|
|
9
11
|
#
|
@@ -42,12 +44,17 @@ module ANSI
|
|
42
44
|
|
43
45
|
# A Unix savvy method to fetch the console columns, and rows.
|
44
46
|
def terminal_size
|
45
|
-
if /solaris/ =~ RUBY_PLATFORM
|
46
|
-
|
47
|
-
[$2, $1].map { |c| x.to_i }
|
47
|
+
if /solaris/ =~ RUBY_PLATFORM && (`stty` =~ /\brows = (\d+).*\bcolumns = (\d+)/)
|
48
|
+
w, r = [$2, $1]
|
48
49
|
else
|
49
|
-
`stty size`.split.
|
50
|
+
w, r = `stty size`.split.reverse
|
50
51
|
end
|
52
|
+
w = `tput cols` unless w # last ditch effort to at least get width
|
53
|
+
|
54
|
+
w = w.to_i if w
|
55
|
+
r = r.to_i if r
|
56
|
+
|
57
|
+
return w, r
|
51
58
|
end
|
52
59
|
|
53
60
|
end
|
@@ -29,18 +29,23 @@ module ANSI
|
|
29
29
|
|
30
30
|
# A Unix savvy method to fetch the console columns, and rows.
|
31
31
|
def terminal_size
|
32
|
-
if /solaris/ =~ RUBY_PLATFORM
|
33
|
-
|
34
|
-
[$2, $1].map { |c| x.to_i }
|
32
|
+
if /solaris/ =~ RUBY_PLATFORM && (`stty` =~ /\brows = (\d+).*\bcolumns = (\d+)/)
|
33
|
+
w, r = [$2, $1]
|
35
34
|
else
|
36
|
-
`stty size`.split.
|
35
|
+
w, r = `stty size`.split.reverse
|
37
36
|
end
|
37
|
+
w = `tput cols` unless w # last ditch effort to at least get width
|
38
|
+
|
39
|
+
w = w.to_i if w
|
40
|
+
r = r.to_i if r
|
41
|
+
|
42
|
+
return w, r
|
38
43
|
end
|
39
44
|
|
40
45
|
# Console screen width (taken from progress bar)
|
41
46
|
#
|
42
47
|
# NOTE: Don't know how portable #screen_width is.
|
43
|
-
# TODO: How to fit
|
48
|
+
# TODO: How to fit into system?
|
44
49
|
#
|
45
50
|
def screen_width(out=STDERR)
|
46
51
|
default_width = ENV['COLUMNS'] || 76
|
@@ -60,4 +65,4 @@ module ANSI
|
|
60
65
|
|
61
66
|
end
|
62
67
|
|
63
|
-
end
|
68
|
+
end
|
data/lib/ansi/version.rb
CHANGED
@@ -1,7 +1,6 @@
|
|
1
|
-
# ANSI module contains all the ANSI related classes.
|
2
1
|
module ANSI
|
3
2
|
# Returns Hash table of project metadata.
|
4
|
-
def self.
|
3
|
+
def self.metadata
|
5
4
|
@spec ||= (
|
6
5
|
require 'yaml'
|
7
6
|
YAML.load(File.new(File.dirname(__FILE__) + '/../ansi.yml'))
|
@@ -10,7 +9,7 @@ module ANSI
|
|
10
9
|
|
11
10
|
# Check metadata for missing constants.
|
12
11
|
def self.const_missing(name)
|
13
|
-
|
12
|
+
metadata[name.to_s.downcase] || super(name)
|
14
13
|
end
|
15
14
|
end
|
16
15
|
|
File without changes
|
File without changes
|
File without changes
|
data/qed/applique/ae.rb
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require 'ae'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ansi
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.4.
|
4
|
+
version: 1.4.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,11 +10,11 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2012-01-29 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: detroit
|
17
|
-
requirement: &
|
17
|
+
requirement: &31273700 !ruby/object:Gem::Requirement
|
18
18
|
none: false
|
19
19
|
requirements:
|
20
20
|
- - ! '>='
|
@@ -22,10 +22,10 @@ dependencies:
|
|
22
22
|
version: '0'
|
23
23
|
type: :development
|
24
24
|
prerelease: false
|
25
|
-
version_requirements: *
|
25
|
+
version_requirements: *31273700
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: qed
|
28
|
-
requirement: &
|
28
|
+
requirement: &31273100 !ruby/object:Gem::Requirement
|
29
29
|
none: false
|
30
30
|
requirements:
|
31
31
|
- - ! '>='
|
@@ -33,10 +33,10 @@ dependencies:
|
|
33
33
|
version: '0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
|
-
version_requirements: *
|
36
|
+
version_requirements: *31273100
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
38
|
name: lemon
|
39
|
-
requirement: &
|
39
|
+
requirement: &31272580 !ruby/object:Gem::Requirement
|
40
40
|
none: false
|
41
41
|
requirements:
|
42
42
|
- - ! '>='
|
@@ -44,13 +44,15 @@ dependencies:
|
|
44
44
|
version: '0'
|
45
45
|
type: :development
|
46
46
|
prerelease: false
|
47
|
-
version_requirements: *
|
48
|
-
description: ! 'The ANSI project is a collection of ANSI escape code related
|
49
|
-
|
47
|
+
version_requirements: *31272580
|
48
|
+
description: ! 'The ANSI project is a superlative collection of ANSI escape code related
|
49
|
+
libraries
|
50
50
|
|
51
|
-
ANSI
|
51
|
+
enabling ANSI colorization and stylization of console output. Byte for byte
|
52
52
|
|
53
|
-
|
53
|
+
ANSI is the best ANSI code library available for the Ruby programming
|
54
|
+
|
55
|
+
language.'
|
54
56
|
email:
|
55
57
|
- transfire@gmail.com
|
56
58
|
executables: []
|
@@ -59,12 +61,12 @@ extra_rdoc_files:
|
|
59
61
|
- HISTORY.rdoc
|
60
62
|
- README.rdoc
|
61
63
|
- QED.rdoc
|
62
|
-
-
|
63
|
-
- LICENSE.rdoc
|
64
|
+
- COPYING.rdoc
|
64
65
|
files:
|
65
66
|
- .ruby
|
66
67
|
- .yardopts
|
67
68
|
- lib/ansi/bbcode.rb
|
69
|
+
- lib/ansi/chain.rb
|
68
70
|
- lib/ansi/chart.rb
|
69
71
|
- lib/ansi/code.rb
|
70
72
|
- lib/ansi/columns.rb
|
@@ -84,18 +86,19 @@ files:
|
|
84
86
|
- lib/ansi/terminal.rb
|
85
87
|
- lib/ansi/version.rb
|
86
88
|
- lib/ansi.rb
|
87
|
-
- lib/ansi.rbz
|
88
89
|
- lib/ansi.yml
|
89
90
|
- qed/01_ansicode.rdoc
|
90
|
-
- qed/
|
91
|
+
- qed/02_core.rdoc
|
91
92
|
- qed/03_logger.rdoc
|
92
93
|
- qed/04_progressbar.rdoc
|
93
94
|
- qed/05_mixin.rdoc
|
94
95
|
- qed/06_string.rdoc
|
95
96
|
- qed/07_columns.rdoc
|
96
97
|
- qed/08_table.rdoc
|
97
|
-
- qed/09_diff.
|
98
|
-
- qed/
|
98
|
+
- qed/09_diff.rdoc
|
99
|
+
- qed/10_bbcode.rdoc
|
100
|
+
- qed/11_terminal.rdoc
|
101
|
+
- qed/applique/ae.rb
|
99
102
|
- qed/applique/output.rb
|
100
103
|
- test/case_ansicode.rb
|
101
104
|
- test/case_bbcode.rb
|
@@ -105,8 +108,7 @@ files:
|
|
105
108
|
- HISTORY.rdoc
|
106
109
|
- README.rdoc
|
107
110
|
- QED.rdoc
|
108
|
-
-
|
109
|
-
- LICENSE.rdoc
|
111
|
+
- COPYING.rdoc
|
110
112
|
homepage: http://rubyworks.github.com/ansi
|
111
113
|
licenses: []
|
112
114
|
post_install_message:
|
data/NOTICE.rdoc
DELETED
@@ -1,156 +0,0 @@
|
|
1
|
-
= COPYRIGHT NOTICES
|
2
|
-
|
3
|
-
== ANSI
|
4
|
-
|
5
|
-
Copyright:: (c) 2009 Rubyworks
|
6
|
-
License:: BSD-2-Clause
|
7
|
-
Website:: http://rubyworks.github.com/ansi
|
8
|
-
|
9
|
-
Copyright 2009 Rubyworks. All rights reserved.
|
10
|
-
|
11
|
-
Redistribution and use in source and binary forms, with or without modification, are
|
12
|
-
permitted provided that the following conditions are met:
|
13
|
-
|
14
|
-
1. Redistributions of source code must retain the above copyright notice, this list of
|
15
|
-
conditions and the following disclaimer.
|
16
|
-
|
17
|
-
2. Redistributions in binary form must reproduce the above copyright notice, this list
|
18
|
-
of conditions and the following disclaimer in the documentation and/or other materials
|
19
|
-
provided with the distribution.
|
20
|
-
|
21
|
-
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
22
|
-
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
23
|
-
FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS
|
24
|
-
OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
25
|
-
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
26
|
-
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
27
|
-
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
28
|
-
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
29
|
-
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
30
|
-
|
31
|
-
(http://spdx.org/licenses/BSD-2-Clause)
|
32
|
-
|
33
|
-
|
34
|
-
== ProgressBar
|
35
|
-
|
36
|
-
Copyright:: (C) 2001 Satoru Takabayashi
|
37
|
-
License:: Ruby License
|
38
|
-
Website:: http://0xcc.net/ruby-progressbar/
|
39
|
-
|
40
|
-
ProgressBar class is based on the original ProgressBar by Satoru Takabayashi.
|
41
|
-
|
42
|
-
Ruby/ProgressBar - a text progress bar library
|
43
|
-
|
44
|
-
Copyright (C) 2001-2005 Satoru Takabayashi <satoru@namazu.org>
|
45
|
-
All rights reserved.
|
46
|
-
This is free software with ABSOLUTELY NO WARRANTY.
|
47
|
-
|
48
|
-
You can redistribute it and/or modify it under the terms
|
49
|
-
of Ruby's license.
|
50
|
-
|
51
|
-
|
52
|
-
== HighLine (Terminal Extensions)
|
53
|
-
|
54
|
-
Copyright:: (c) 2006 Gray Productions
|
55
|
-
License:: Ruby License
|
56
|
-
Website:: http://highline.rubyforge.org/
|
57
|
-
|
58
|
-
The terminal extensions are based on HighLine's SystemExtensions
|
59
|
-
by James Edward Gray II.
|
60
|
-
|
61
|
-
Copyright 2006 Gray Productions
|
62
|
-
|
63
|
-
Distributed under the user's choice of the {GPL Version 2}[http://www.gnu.org/licenses/old-licenses/gpl-2.0.html]
|
64
|
-
(see GPL-2.0.txt for details) or the {Ruby software license}[http://www.ruby-lang.org/en/LICENSE.txt]
|
65
|
-
by James Edward Gray II and Greg Brown.
|
66
|
-
|
67
|
-
Please email James[mailto:james@grayproductions.net] with any questions.
|
68
|
-
|
69
|
-
|
70
|
-
== BBCode
|
71
|
-
|
72
|
-
Copyright:: (c) 2002 Thomas-Ivo Heinen
|
73
|
-
License:: Ruby License
|
74
|
-
|
75
|
-
BBCode module is a derivative of BBCode by Thomas-Ivo Heinen.
|
76
|
-
|
77
|
-
Copyright (c) 2002 Thomas-Ivo Heinen
|
78
|
-
|
79
|
-
This module is free software. You may use, modify, and/or redistribute this
|
80
|
-
software under the same terms as Ruby.
|
81
|
-
|
82
|
-
This program is distributed in the hope that it will be useful, but WITHOUT
|
83
|
-
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
84
|
-
FOR A PARTICULAR PURPOSE.
|
85
|
-
|
86
|
-
|
87
|
-
== Rainbow (XTerm Color Support)
|
88
|
-
|
89
|
-
Copyright:: (c) Marcin Kulik
|
90
|
-
License:: MIT
|
91
|
-
Website:: http://github.com/sickill/rainbow
|
92
|
-
|
93
|
-
Rainbox provided the bases for building the XTerm 256 color code
|
94
|
-
support into the ANSI::Code module.
|
95
|
-
|
96
|
-
Copyright (c) Marcin Kulik
|
97
|
-
|
98
|
-
Permission is hereby granted, free of charge, to any person obtaining
|
99
|
-
a copy of this software and associated documentation files (the
|
100
|
-
"Software"), to deal in the Software without restriction, including
|
101
|
-
without limitation the rights to use, copy, modify, merge, publish,
|
102
|
-
distribute, sublicense, and/or sell copies of the Software, and to
|
103
|
-
permit persons to whom the Software is furnished to do so, subject to
|
104
|
-
the following conditions:
|
105
|
-
|
106
|
-
The above copyright notice and this permission notice shall be
|
107
|
-
included in all copies or substantial portions of the Software.
|
108
|
-
|
109
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
110
|
-
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
111
|
-
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
112
|
-
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
113
|
-
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
114
|
-
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
115
|
-
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
116
|
-
|
117
|
-
|
118
|
-
== Paint
|
119
|
-
|
120
|
-
Copyright:: (c) 2011 Jan Lelis
|
121
|
-
Website:: https://github.com/janlelis/paint
|
122
|
-
|
123
|
-
Some of the latest ANSI code names, and inspiration to check out Rainbow
|
124
|
-
and include XTerm 256 color codes, came from Paint.
|
125
|
-
|
126
|
-
Copyright (c) 2011 Jan Lelis
|
127
|
-
|
128
|
-
Permission is hereby granted, free of charge, to any person obtaining
|
129
|
-
a copy of this software and associated documentation files (the
|
130
|
-
"Software"), to deal in the Software without restriction, including
|
131
|
-
without limitation the rights to use, copy, modify, merge, publish,
|
132
|
-
distribute, sublicense, and/or sell copies of the Software, and to
|
133
|
-
permit persons to whom the Software is furnished to do so, subject to
|
134
|
-
the following conditions:
|
135
|
-
|
136
|
-
The above copyright notice and this permission notice shall be
|
137
|
-
included in all copies or substantial portions of the Software.
|
138
|
-
|
139
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
140
|
-
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
141
|
-
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
142
|
-
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
143
|
-
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
144
|
-
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
145
|
-
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
146
|
-
|
147
|
-
|
148
|
-
== ANSIColor
|
149
|
-
|
150
|
-
Copyright:: (c) 2002 Florian Frank
|
151
|
-
Website:: http://flori.github.com/term-ansicolor
|
152
|
-
|
153
|
-
Albeit the code no long bares much if any resemblance to it, the ANSI Code
|
154
|
-
module (and subsequently the Constants module) originated with the
|
155
|
-
ANSIColor library by Florian Frank.
|
156
|
-
|