ansi-sys 0.8.0 → 0.8.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.
- data/ChangeLog +6 -0
- data/History.txt +5 -1
- data/bin/ansi-to-html +4 -6
- data/lib/ansisys.rb +10 -9
- data/website/index.html +1 -1
- metadata +2 -2
data/ChangeLog
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
* 2007-11-18 zunda <zunda at freeshell.org>
|
2
|
+
- (0.8.1)
|
3
|
+
- lib/ansisys.rb: modified Characters#echo_on, Characters#each_char,
|
4
|
+
Terminal#render to take kcode as an argument
|
5
|
+
- bin/ansi-to-html: modified accordingly
|
6
|
+
|
1
7
|
* 2007-11-16 zunda <zunda at freeshell.org>
|
2
8
|
- (0.8.0)
|
3
9
|
- bin/ansi-to-html: modified to guess character codes of the inputs
|
data/History.txt
CHANGED
data/bin/ansi-to-html
CHANGED
@@ -22,18 +22,16 @@ terminal = AnsiSys::Terminal.new
|
|
22
22
|
# Print out the HTML while reading
|
23
23
|
puts "<html>\n<head>\n<style>\n#{style}</style>\n</head>\n<body>"
|
24
24
|
srcs.each do |src|
|
25
|
-
prev_kcode = $KCODE
|
26
25
|
data = File.open(src){|f| f.read}
|
27
26
|
case NKF.guess(data)
|
28
27
|
when NKF::EUC
|
29
|
-
|
28
|
+
kcode = 'e'
|
30
29
|
when NKF::SJIS
|
31
|
-
|
30
|
+
kcode = 's'
|
32
31
|
when NKF::UTF8
|
33
|
-
|
32
|
+
kcode = 'u'
|
34
33
|
end
|
35
|
-
puts terminal.echo(data).render(:html, max_col, nil, colors)
|
34
|
+
puts terminal.echo(data).render(:html, max_col, nil, colors, nil, nil, kcode)
|
36
35
|
terminal.echo("\e[2J\e[m")
|
37
|
-
$KCODE = prev_kcode
|
38
36
|
end
|
39
37
|
puts "</body>\n</html>"
|
data/lib/ansisys.rb
CHANGED
@@ -12,7 +12,7 @@ module AnsiSys
|
|
12
12
|
module VERSION #:nodoc:
|
13
13
|
MAJOR = 0
|
14
14
|
MINOR = 8
|
15
|
-
TINY =
|
15
|
+
TINY = 1
|
16
16
|
|
17
17
|
STRING = [MAJOR, MINOR, TINY].join('.')
|
18
18
|
end
|
@@ -98,8 +98,8 @@ module AnsiSys
|
|
98
98
|
|
99
99
|
# echo the string onto the _screen_ with initial cursor as _cursor_
|
100
100
|
# _cursor_ position will be changed as the string is echoed
|
101
|
-
def echo_on(screen, cursor)
|
102
|
-
each_char do |c|
|
101
|
+
def echo_on(screen, cursor, kcode = nil)
|
102
|
+
each_char(kcode) do |c|
|
103
103
|
w = width(c)
|
104
104
|
cursor.fit!(w)
|
105
105
|
screen.write(c, w, cursor.cur_col, cursor.cur_row, @sgr.dup)
|
@@ -110,8 +110,8 @@ module AnsiSys
|
|
110
110
|
|
111
111
|
private
|
112
112
|
# iterator on each character
|
113
|
-
def each_char(&block)
|
114
|
-
@string.scan(
|
113
|
+
def each_char(kcode, &block)
|
114
|
+
@string.scan(Regexp.new('.', nil, kcode)).each do |c|
|
115
115
|
yield(c)
|
116
116
|
end
|
117
117
|
end
|
@@ -595,8 +595,9 @@ module AnsiSys
|
|
595
595
|
# renders the echoed data as _format_ of :html or :text.
|
596
596
|
# _max_col_, _max_row_ can be specified as Integer.
|
597
597
|
# _colors_ can be Screen.default_css_colors(_inverted_, _bright_).
|
598
|
-
def render(format = :html, max_col = 80, max_row = nil, colors = Screen.default_css_colors, css_class =
|
599
|
-
|
598
|
+
def render(format = :html, max_col = 80, max_row = nil, colors = Screen.default_css_colors, css_class = nil, css_style = nil, kcode = nil)
|
599
|
+
css_class ||= 'screen'
|
600
|
+
screens = populate(format, max_col, max_row, colors, kcode)
|
600
601
|
separator = case format
|
601
602
|
when :html
|
602
603
|
"\n"
|
@@ -676,7 +677,7 @@ module AnsiSys
|
|
676
677
|
end
|
677
678
|
|
678
679
|
private
|
679
|
-
def populate(format = :html, max_col = 80, max_row = nil, colors = Screen.default_css_colors)
|
680
|
+
def populate(format = :html, max_col = 80, max_row = nil, colors = Screen.default_css_colors, kcode = nil)
|
680
681
|
@cursor = Cursor.new(1, 1, max_col, max_row)
|
681
682
|
@stored_cursor = nil
|
682
683
|
@screens = [Screen.new(colors, max_col, max_row)]
|
@@ -685,7 +686,7 @@ module AnsiSys
|
|
685
686
|
@stream.each do |type, payload|
|
686
687
|
case type
|
687
688
|
when :string
|
688
|
-
Characters.new(payload, @sgr).echo_on(@screens[-1], @cursor)
|
689
|
+
Characters.new(payload, @sgr).echo_on(@screens[-1], @cursor, kcode)
|
689
690
|
when :code
|
690
691
|
unless Lexer::PARAMETER_AND_LETTER =~ payload
|
691
692
|
raise AnsiSysError, "Invalid code: #{payload.inspect}"
|
data/website/index.html
CHANGED
@@ -33,7 +33,7 @@
|
|
33
33
|
<h1>Ruby-ANSI.SYS</h1>
|
34
34
|
<div id="version" class="clickable" onclick='document.location = "http://rubyforge.org/projects/ansi-sys"; return false'>
|
35
35
|
<p>Get Version</p>
|
36
|
-
<a href="http://rubyforge.org/projects/ansi-sys" class="numbers">0.8.
|
36
|
+
<a href="http://rubyforge.org/projects/ansi-sys" class="numbers">0.8.1</a>
|
37
37
|
</div>
|
38
38
|
<h2>What</h2>
|
39
39
|
|
metadata
CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.2
|
|
3
3
|
specification_version: 1
|
4
4
|
name: ansi-sys
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.8.
|
7
|
-
date: 2007-11-
|
6
|
+
version: 0.8.1
|
7
|
+
date: 2007-11-18 00:00:00 -10:00
|
8
8
|
summary: Ruby-ANSI.SYS is a library to render texts with ANSI escape sequences.
|
9
9
|
require_paths:
|
10
10
|
- lib
|