ansi 1.2.5 → 1.3.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.ruby +34 -31
- data/HISTORY.rdoc +18 -0
- data/LICENSE/BSD-2-Clause.txt +25 -0
- data/LICENSE/GPL-2.0.txt +339 -0
- data/LICENSE/MIT.txt +21 -0
- data/LICENSE/RUBY.txt +60 -0
- data/NOTICE.rdoc +116 -4
- data/README.rdoc +6 -12
- data/lib/ansi.rb +6 -0
- data/lib/ansi.rbz +40 -0
- data/lib/ansi.yml +34 -31
- data/lib/ansi/bbcode.rb +3 -0
- data/lib/ansi/chart.rb +95 -0
- data/lib/ansi/code.rb +189 -260
- data/lib/ansi/constants.rb +18 -0
- data/lib/ansi/core.rb +24 -0
- data/lib/ansi/diff.rb +98 -61
- data/lib/ansi/string.rb +7 -8
- data/lib/ansi/terminal.rb +3 -3
- data/qed/01_ansicode.rdoc +0 -7
- data/qed/09_diff.rb +5 -5
- data/qed/10_core.rdoc +11 -0
- data/test/case_ansicode.rb +20 -10
- data/test/case_bbcode.rb +7 -8
- data/test/case_mixin.rb +14 -7
- data/test/case_progressbar.rb +2 -2
- metadata +26 -27
- data/LICENSE +0 -205
- data/Rakefile +0 -4
data/LICENSE/MIT.txt
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
MIT License
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
4
|
+
a copy of this software and associated documentation files (the
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
9
|
+
the following conditions:
|
10
|
+
|
11
|
+
The above copyright notice and this permission notice shall be
|
12
|
+
included in all copies or substantial portions of the Software.
|
13
|
+
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
21
|
+
|
data/LICENSE/RUBY.txt
ADDED
@@ -0,0 +1,60 @@
|
|
1
|
+
The Ruby License
|
2
|
+
|
3
|
+
Ruby is copyrighted free software by <COPYRIGHT HOLDER>.
|
4
|
+
You can redistribute it and/or modify it under either the terms of the GPL
|
5
|
+
(see COPYING.txt file), or the conditions below:
|
6
|
+
|
7
|
+
1. You may make and give away verbatim copies of the source form of the
|
8
|
+
software without restriction, provided that you duplicate all of the
|
9
|
+
original copyright notices and associated disclaimers.
|
10
|
+
|
11
|
+
2. You may modify your copy of the software in any way, provided that
|
12
|
+
you do at least ONE of the following:
|
13
|
+
|
14
|
+
a) place your modifications in the Public Domain or otherwise
|
15
|
+
make them Freely Available, such as by posting said
|
16
|
+
modifications to Usenet or an equivalent medium, or by allowing
|
17
|
+
the author to include your modifications in the software.
|
18
|
+
|
19
|
+
b) use the modified software only within your corporation or
|
20
|
+
organization.
|
21
|
+
|
22
|
+
c) rename any non-standard executables so the names do not conflict
|
23
|
+
with standard executables, which must also be provided.
|
24
|
+
|
25
|
+
d) make other distribution arrangements with the author.
|
26
|
+
|
27
|
+
3. You may distribute the software in object code or executable
|
28
|
+
form, provided that you do at least ONE of the following:
|
29
|
+
|
30
|
+
a) distribute the executables and library files of the software,
|
31
|
+
together with instructions (in the manual page or equivalent)
|
32
|
+
on where to get the original distribution.
|
33
|
+
|
34
|
+
b) accompany the distribution with the machine-readable source of
|
35
|
+
the software.
|
36
|
+
|
37
|
+
c) give non-standard executables non-standard names, with
|
38
|
+
instructions on where to get the original software distribution.
|
39
|
+
|
40
|
+
d) make other distribution arrangements with the author.
|
41
|
+
|
42
|
+
4. You may modify and include the part of the software into any other
|
43
|
+
software (possibly commercial). But some files in the distribution
|
44
|
+
are not written by the author, so that they are not under this terms.
|
45
|
+
|
46
|
+
They are gc.c(partly), utils.c(partly), regex.[ch], st.[ch] and some
|
47
|
+
files under the ./missing directory. See each file for the copying
|
48
|
+
condition.
|
49
|
+
|
50
|
+
5. The scripts and library files supplied as input to or produced as
|
51
|
+
output from the software do not automatically fall under the
|
52
|
+
copyright of the software, but belong to whomever generated them,
|
53
|
+
and may be sold commercially, and may be aggregated with this
|
54
|
+
software.
|
55
|
+
|
56
|
+
6. THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
|
57
|
+
IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
|
58
|
+
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
59
|
+
PURPOSE.
|
60
|
+
|
data/NOTICE.rdoc
CHANGED
@@ -1,18 +1,130 @@
|
|
1
1
|
= COPYRIGHT NOTICES
|
2
2
|
|
3
|
+
== ANSI
|
4
|
+
|
5
|
+
Copyright:: (c) 2004 Rubyworks, Thomas Sawyer
|
6
|
+
License:: BSD-2-Clause
|
7
|
+
Website:: http://rubyworks.github.com/ansi
|
8
|
+
|
9
|
+
Copyright 2004 Thomas Sawyer. 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 <COPYRIGHT HOLDER> ``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 <COPYRIGHT HOLDER> OR
|
24
|
+
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
|
+
The views and conclusions contained in the software and documentation are those of the
|
32
|
+
authors and should not be interpreted as representing official policies, either expressed
|
33
|
+
or implied, of <copyright holder>.
|
34
|
+
|
35
|
+
|
3
36
|
== ProgressBar
|
4
37
|
|
38
|
+
Copyright:: (C) 2001 Satoru Takabayashi
|
39
|
+
License:: Ruby License
|
40
|
+
Website:: http://0xcc.net/ruby-progressbar/
|
41
|
+
|
5
42
|
ProgressBar class is based on the original ProgressBar by Satoru Takabayashi.
|
6
43
|
|
7
|
-
|
44
|
+
Ruby/ProgressBar - a text progress bar library
|
45
|
+
|
46
|
+
Copyright (C) 2001-2005 Satoru Takabayashi <satoru@namazu.org>
|
47
|
+
All rights reserved.
|
48
|
+
This is free software with ABSOLUTELY NO WARRANTY.
|
49
|
+
|
50
|
+
You can redistribute it and/or modify it under the terms
|
51
|
+
of Ruby's license.
|
52
|
+
|
8
53
|
|
54
|
+
== HighLine (Terminal Extensions)
|
9
55
|
|
10
|
-
|
56
|
+
Copyright:: (c) 2006 Gray Productions
|
57
|
+
License:: Ruby License
|
58
|
+
Website:: http://highline.rubyforge.org/
|
11
59
|
|
12
60
|
The terminal extensions are based on HighLine's SystemExtensions
|
13
61
|
by James Edward Gray II.
|
14
62
|
|
15
|
-
Copyright 2006 Gray Productions
|
63
|
+
Copyright 2006 Gray Productions
|
64
|
+
|
65
|
+
Distributed under the user's choice of the {GPL Version 2}[http://www.gnu.org/licenses/old-licenses/gpl-2.0.html]
|
66
|
+
(see GPL-2.0.txt for details) or the {Ruby software license}[http://www.ruby-lang.org/en/LICENSE.txt]
|
67
|
+
by James Edward Gray II and Greg Brown.
|
68
|
+
|
69
|
+
Please email James[mailto:james@grayproductions.net] with any questions.
|
70
|
+
|
71
|
+
|
72
|
+
== BBCode
|
73
|
+
|
74
|
+
Copyright:: (c) 2002 Thomas-Ivo Heinen
|
75
|
+
License:: Ruby License
|
76
|
+
|
77
|
+
BBCode module is a derivative of BBCode by Thomas-Ivo Heinen.
|
78
|
+
|
79
|
+
Copyright (c) 2002 Thomas-Ivo Heinen
|
80
|
+
|
81
|
+
This module is free software. You may use, modify, and/or redistribute this
|
82
|
+
software under the same terms as Ruby.
|
83
|
+
|
84
|
+
This program is distributed in the hope that it will be useful, but WITHOUT
|
85
|
+
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
86
|
+
FOR A PARTICULAR PURPOSE.
|
87
|
+
|
88
|
+
|
89
|
+
== Rainbow (XTerm Color Support)
|
90
|
+
|
91
|
+
Copyright:: (c) Marcin Kulik
|
92
|
+
License:: MIT
|
93
|
+
Website:: http://github.com/sickill/rainbow
|
94
|
+
|
95
|
+
Rainbox provided the bases for building the XTerm 256 color code
|
96
|
+
support into the ANSI::Code module.
|
97
|
+
|
98
|
+
Copyright (c) Marcin Kulik
|
99
|
+
|
100
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
101
|
+
a copy of this software and associated documentation files (the
|
102
|
+
"Software"), to deal in the Software without restriction, including
|
103
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
104
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
105
|
+
permit persons to whom the Software is furnished to do so, subject to
|
106
|
+
the following conditions:
|
107
|
+
|
108
|
+
The above copyright notice and this permission notice shall be
|
109
|
+
included in all copies or substantial portions of the Software.
|
110
|
+
|
111
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
112
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
113
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
114
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
115
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
116
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
117
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
118
|
+
|
119
|
+
|
120
|
+
= ACKNOWLEDGEMENTS
|
121
|
+
|
122
|
+
== ANSIColor
|
123
|
+
|
124
|
+
Copyright:: (c) 2002 Florian Frank
|
125
|
+
Website:: http://flori.github.com/term-ansicolor
|
16
126
|
|
17
|
-
|
127
|
+
Albeit the code no long bares any resemblance to it, the ANSI Code module
|
128
|
+
(and subsequently the Constants module) originated with the ANSIColor
|
129
|
+
library by Florian Frank.
|
18
130
|
|
data/README.rdoc
CHANGED
@@ -37,26 +37,21 @@ Please see HISTORY file.
|
|
37
37
|
There are a number of modules and classes provided by the ANSI
|
38
38
|
package. To get a good understanding of them it is best to pursue
|
39
39
|
the QED documents[http://github.com/rubyworks/ansi/tree/master/qed/]
|
40
|
-
or the API documentation[http://rubyworks.github.com/ansi/
|
40
|
+
or the API documentation[http://rubyworks.github.com/ansi/api/index.html].
|
41
41
|
|
42
42
|
At the heart of all the provided libraries lies the ANSI::Code module
|
43
43
|
which defines ANSI codes as constants and methods. For example:
|
44
44
|
|
45
45
|
require 'ansi/code'
|
46
46
|
|
47
|
-
|
48
|
-
|
49
|
-
red + "Hello" + blue + "World"
|
47
|
+
ANSI.red + "Hello" + ANSI.blue + "World"
|
50
48
|
=> "\e[31mHello\e[34mWorld"
|
51
49
|
|
52
50
|
Or in block form.
|
53
51
|
|
54
|
-
red{ "Hello" } + blue{ "World" }
|
52
|
+
ANSI.red{ "Hello" } + ANSI.blue{ "World" }
|
55
53
|
=> "\e[31mHello\e[0m\e[34mWorld\e[0m"
|
56
54
|
|
57
|
-
Rather than include +ANSI::Code+, these methods can also be called as module
|
58
|
-
methods. Either as <code>ANSI::Code.red</code> or just <code>ANSI.red</code>.
|
59
|
-
|
60
55
|
The methods defined by this module are used throughout the rest of
|
61
56
|
the system.
|
62
57
|
|
@@ -77,11 +72,10 @@ then download[http://github.com/rubyworks/ansi/download] the tarball package and
|
|
77
72
|
Windows users use 'ruby setup.rb all'.
|
78
73
|
|
79
74
|
|
80
|
-
== LICENSE
|
75
|
+
== LICENSE & COPYRIGHT
|
81
76
|
|
82
77
|
Copyright (c) 2004 Thomas Sawyer
|
83
78
|
|
84
|
-
This program is distributed under the terms of the
|
85
|
-
|
86
|
-
See LICENSE file for details.
|
79
|
+
This program is distributed under the terms of the BSD 2-clause license.
|
87
80
|
|
81
|
+
See NOTICE.rdoc file and LICENSE directory for details.
|
data/lib/ansi.rb
CHANGED
@@ -14,6 +14,7 @@ module ANSI
|
|
14
14
|
end
|
15
15
|
end
|
16
16
|
|
17
|
+
require 'ansi/core'
|
17
18
|
require 'ansi/code'
|
18
19
|
require 'ansi/bbcode'
|
19
20
|
require 'ansi/columns'
|
@@ -25,3 +26,8 @@ require 'ansi/string'
|
|
25
26
|
require 'ansi/table'
|
26
27
|
require 'ansi/terminal'
|
27
28
|
|
29
|
+
# Kernel method
|
30
|
+
def ansi(string, *codes)
|
31
|
+
ANSI::Code.ansi(string, *codes)
|
32
|
+
end
|
33
|
+
|
data/lib/ansi.rbz
ADDED
@@ -0,0 +1,40 @@
|
|
1
|
+
# ANSI Module provides a Bezel interface as follows:
|
2
|
+
#
|
3
|
+
# ANSI = lib('ansi', '1.2.6')
|
4
|
+
#
|
5
|
+
# module MyAPP
|
6
|
+
# include ANSI
|
7
|
+
# end
|
8
|
+
#
|
9
|
+
# Examples
|
10
|
+
#
|
11
|
+
# def hello_world
|
12
|
+
# puts ansi("Hello World", :red)
|
13
|
+
# end
|
14
|
+
#
|
15
|
+
# # automatically included with ANSI 1.3.
|
16
|
+
# def ansi(string, *codes)
|
17
|
+
# ANSI::Code.ansi(string, *codes)
|
18
|
+
# end
|
19
|
+
#
|
20
|
+
# Or
|
21
|
+
#
|
22
|
+
# def hello_world
|
23
|
+
# puts "Hello World".ansi(:red)
|
24
|
+
# end
|
25
|
+
#
|
26
|
+
# NOTE: Core extensions need stable interfaces!
|
27
|
+
#
|
28
|
+
module ANSI; end
|
29
|
+
|
30
|
+
import 'ansi/code'
|
31
|
+
import 'ansi/bbcode'
|
32
|
+
import 'ansi/columns'
|
33
|
+
import 'ansi/diff'
|
34
|
+
import 'ansi/logger'
|
35
|
+
import 'ansi/mixin'
|
36
|
+
import 'ansi/progressbar'
|
37
|
+
import 'ansi/string'
|
38
|
+
import 'ansi/table'
|
39
|
+
import 'ansi/terminal'
|
40
|
+
|
data/lib/ansi.yml
CHANGED
@@ -1,44 +1,47 @@
|
|
1
1
|
---
|
2
|
-
spec_version: 1.0.0
|
3
|
-
replaces: []
|
4
|
-
|
5
|
-
loadpath:
|
6
|
-
- lib
|
7
2
|
name: ansi
|
8
|
-
|
9
|
-
|
10
|
-
conflicts: []
|
11
|
-
|
12
|
-
engine_check: []
|
13
|
-
|
3
|
+
version: 1.3.0
|
14
4
|
title: ANSI
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
home: http://rubyworks.github.com/ansi
|
21
|
-
work: http://github.com/rubyworks/ansi
|
22
|
-
maintainers: []
|
23
|
-
|
5
|
+
summary: ANSI codes at your fingertips!
|
6
|
+
description: The ANSI project is a collection of ANSI escape code related libraries enabling ANSI code based colorization and stylization of output. It is very nice for beautifying shell output.
|
7
|
+
loadpath:
|
8
|
+
- lib
|
9
|
+
manifest: Manifest
|
24
10
|
requires:
|
25
|
-
-
|
11
|
+
- name: detroit
|
12
|
+
version: 0+
|
13
|
+
group:
|
26
14
|
- build
|
27
|
-
|
15
|
+
- name: qed
|
28
16
|
version: 0+
|
29
|
-
|
17
|
+
group:
|
30
18
|
- test
|
31
|
-
|
19
|
+
- name: lemon
|
32
20
|
version: 0+
|
33
|
-
|
34
|
-
|
21
|
+
group:
|
22
|
+
- test
|
23
|
+
conflicts: []
|
24
|
+
|
25
|
+
replaces: []
|
26
|
+
|
27
|
+
engine_check: []
|
28
|
+
|
29
|
+
organization: RubyWorks
|
30
|
+
contact: rubyworks-mailinglist@googlegroups.com
|
31
|
+
created: 2004-08-01
|
32
|
+
copyright: Copyright (c) 2009 Thomas Sawyer
|
35
33
|
licenses:
|
36
34
|
- Apache 2.0
|
37
|
-
copyright: Copyright (c) 2009 Thomas Sawyer
|
38
35
|
authors:
|
39
36
|
- Thomas Sawyer
|
40
37
|
- Florian Frank
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
38
|
+
maintainers: []
|
39
|
+
|
40
|
+
resources:
|
41
|
+
home: http://rubyworks.github.com/ansi
|
42
|
+
work: http://github.com/rubyworks/ansi
|
43
|
+
api: http://rubyworks.github.com/ansi/rdoc
|
44
|
+
mail: http://groups.google.com/group/rubyworks-mailinglist
|
45
|
+
repositories:
|
46
|
+
public: git://github.com/rubyworks/ansi.git
|
47
|
+
spec_version: 1.0.0
|
data/lib/ansi/bbcode.rb
CHANGED
data/lib/ansi/chart.rb
ADDED
@@ -0,0 +1,95 @@
|
|
1
|
+
module ANSI
|
2
|
+
|
3
|
+
# Table of codes used throughout the system.
|
4
|
+
#
|
5
|
+
# @see http://en.wikipedia.org/wiki/ANSI_escape_code
|
6
|
+
CHART = {
|
7
|
+
:clear => 0,
|
8
|
+
:reset => 0,
|
9
|
+
:bright => 1,
|
10
|
+
:bold => 1,
|
11
|
+
:faint => 2,
|
12
|
+
:dark => 2,
|
13
|
+
:italic => 3,
|
14
|
+
:underline => 4,
|
15
|
+
:underscore => 4,
|
16
|
+
:blink => 5,
|
17
|
+
:slow_blink => 5,
|
18
|
+
:rapid => 6,
|
19
|
+
:rapid_blink => 6,
|
20
|
+
:inverse => 7,
|
21
|
+
:reverse => 7,
|
22
|
+
:negative => 7,
|
23
|
+
:concealed => 8,
|
24
|
+
:swap => 7,
|
25
|
+
:conceal => 8,
|
26
|
+
:concealed => 8,
|
27
|
+
:hide => 9,
|
28
|
+
:strike => 9,
|
29
|
+
|
30
|
+
:default_font => 10,
|
31
|
+
:font_default => 10,
|
32
|
+
:font0 => 10,
|
33
|
+
:font1 => 11,
|
34
|
+
:font2 => 12,
|
35
|
+
:font3 => 13,
|
36
|
+
:font4 => 14,
|
37
|
+
:font5 => 15,
|
38
|
+
:font6 => 16,
|
39
|
+
:font7 => 17,
|
40
|
+
:font8 => 18,
|
41
|
+
:font9 => 19,
|
42
|
+
:fraktur => 20,
|
43
|
+
:bright_off => 21,
|
44
|
+
:bold_off => 21,
|
45
|
+
:double_underline => 21,
|
46
|
+
:clean => 22,
|
47
|
+
:italic_off => 23,
|
48
|
+
:fraktur_off => 23,
|
49
|
+
:underline_off => 24,
|
50
|
+
:blink_off => 25,
|
51
|
+
:inverse_off => 26,
|
52
|
+
:positive => 26,
|
53
|
+
:conceal_off => 27,
|
54
|
+
:show => 27,
|
55
|
+
:reveal => 27,
|
56
|
+
:crossed_off => 29,
|
57
|
+
:crossed_out_off => 29,
|
58
|
+
|
59
|
+
:black => 30,
|
60
|
+
:red => 31,
|
61
|
+
:green => 32,
|
62
|
+
:yellow => 33,
|
63
|
+
:blue => 34,
|
64
|
+
:magenta => 35,
|
65
|
+
:cyan => 36,
|
66
|
+
:white => 37,
|
67
|
+
|
68
|
+
:on_black => 40,
|
69
|
+
:on_red => 41,
|
70
|
+
:on_green => 42,
|
71
|
+
:on_yellow => 43,
|
72
|
+
:on_blue => 44,
|
73
|
+
:on_magenta => 45,
|
74
|
+
:on_cyan => 46,
|
75
|
+
:on_white => 47,
|
76
|
+
|
77
|
+
:frame => 51,
|
78
|
+
:encircle => 52,
|
79
|
+
:overline => 53,
|
80
|
+
:frame_off => 54,
|
81
|
+
:encircle_off => 54,
|
82
|
+
:overline_off => 55,
|
83
|
+
}
|
84
|
+
|
85
|
+
#
|
86
|
+
SPECIAL_CHART = {
|
87
|
+
:save => "\e[s", # Save current cursor positon.
|
88
|
+
:restore => "\e[u", # Restore saved cursor positon.
|
89
|
+
:clear_line => "\e[K", # Clear to the end of the current line.
|
90
|
+
:clr => "\e[K", # Clear to the end of the current line.
|
91
|
+
:clear_screen => "\e[2J", # Clear the screen and move cursor to home.
|
92
|
+
:cls => "\e[2J", # Clear the screen and move cursor to home.
|
93
|
+
}
|
94
|
+
|
95
|
+
end
|