vedeu 0.6.71 → 0.7.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/docs/api.md +1 -1
- data/lib/vedeu/all.rb +1 -0
- data/lib/vedeu/borders/border.rb +66 -55
- data/lib/vedeu/borders/caption.rb +10 -20
- data/lib/vedeu/borders/dsl.rb +57 -13
- data/lib/vedeu/borders/refresh.rb +123 -64
- data/lib/vedeu/borders/set_attribute.rb +1 -3
- data/lib/vedeu/borders/title.rb +68 -25
- data/lib/vedeu/cells/all.rb +23 -0
- data/lib/vedeu/cells/border.rb +72 -0
- data/lib/vedeu/cells/borders/all.rb +18 -0
- data/lib/vedeu/cells/borders/bottom_horizontal.rb +28 -0
- data/lib/vedeu/cells/borders/bottom_left.rb +34 -0
- data/lib/vedeu/cells/borders/bottom_right.rb +34 -0
- data/lib/vedeu/cells/borders/horizontal.rb +28 -0
- data/lib/vedeu/cells/borders/left_vertical.rb +28 -0
- data/lib/vedeu/cells/borders/right_vertical.rb +28 -0
- data/lib/vedeu/cells/borders/top_horizontal.rb +28 -0
- data/lib/vedeu/cells/borders/top_left.rb +34 -0
- data/lib/vedeu/cells/borders/top_right.rb +34 -0
- data/lib/vedeu/cells/borders/vertical.rb +28 -0
- data/lib/vedeu/cells/char.rb +24 -0
- data/lib/vedeu/cells/clear.rb +29 -0
- data/lib/vedeu/cells/empty.rb +78 -0
- data/lib/vedeu/cells/escape.rb +24 -0
- data/lib/vedeu/cells/html.rb +19 -0
- data/lib/vedeu/cells/json.rb +19 -0
- data/lib/vedeu/colours/colour.rb +6 -6
- data/lib/vedeu/common.rb +9 -0
- data/lib/vedeu/cursors/move.rb +2 -3
- data/lib/vedeu/editor/insert.rb +1 -1
- data/lib/vedeu/editor/item.rb +2 -3
- data/lib/vedeu/input/mouse.rb +1 -1
- data/lib/vedeu/interfaces/clear.rb +3 -4
- data/lib/vedeu/output/compressor.rb +1 -0
- data/lib/vedeu/presentation/colour.rb +3 -0
- data/lib/vedeu/repositories/defaults.rb +10 -1
- data/lib/vedeu/templating/decoder.rb +1 -1
- data/lib/vedeu/templating/encoder.rb +1 -1
- data/lib/vedeu/templating/template.rb +2 -2
- data/lib/vedeu/templating/view_template.rb +1 -1
- data/lib/vedeu/terminal/terminal.rb +9 -0
- data/lib/vedeu/version.rb +1 -1
- data/lib/vedeu/views/html_char.rb +1 -1
- data/test/lib/vedeu/application/application_controller_test.rb +2 -2
- data/test/lib/vedeu/application/controller_test.rb +4 -4
- data/test/lib/vedeu/borders/border_test.rb +10 -2
- data/test/lib/vedeu/borders/caption_test.rb +29 -13
- data/test/lib/vedeu/borders/dsl_test.rb +44 -25
- data/test/lib/vedeu/borders/refresh_test.rb +2 -2
- data/test/lib/vedeu/borders/title_test.rb +17 -15
- data/test/lib/vedeu/buffers/buffer_test.rb +8 -8
- data/test/lib/vedeu/buffers/refresh_test.rb +10 -10
- data/test/lib/vedeu/buffers/terminal_test.rb +6 -6
- data/test/lib/vedeu/cells/border_test.rb +72 -0
- data/test/lib/vedeu/cells/borders/bottom_horizontal_test.rb +22 -0
- data/test/lib/vedeu/cells/borders/bottom_left_test.rb +36 -0
- data/test/lib/vedeu/cells/borders/bottom_right_test.rb +36 -0
- data/test/lib/vedeu/cells/borders/horizontal_test.rb +22 -0
- data/test/lib/vedeu/cells/borders/left_vertical_test.rb +22 -0
- data/test/lib/vedeu/cells/borders/right_vertical_test.rb +22 -0
- data/test/lib/vedeu/cells/borders/top_horizontal_test.rb +22 -0
- data/test/lib/vedeu/cells/borders/top_left_test.rb +36 -0
- data/test/lib/vedeu/cells/borders/top_right_test.rb +36 -0
- data/test/lib/vedeu/cells/borders/vertical_test.rb +22 -0
- data/test/lib/vedeu/cells/char_test.rb +22 -0
- data/test/lib/vedeu/cells/clear_test.rb +34 -0
- data/test/lib/vedeu/cells/empty_test.rb +55 -0
- data/test/lib/vedeu/cells/escape_test.rb +13 -0
- data/test/lib/vedeu/cells/html_test.rb +13 -0
- data/test/lib/vedeu/cells/json_test.rb +13 -0
- data/test/lib/vedeu/colours/colour_test.rb +2 -6
- data/test/lib/vedeu/colours/translator_test.rb +4 -4
- data/test/lib/vedeu/common_test.rb +10 -0
- data/test/lib/vedeu/configuration/api_test.rb +24 -24
- data/test/lib/vedeu/cursors/cursor_test.rb +4 -4
- data/test/lib/vedeu/cursors/dsl_test.rb +16 -16
- data/test/lib/vedeu/cursors/reposition_test.rb +2 -2
- data/test/lib/vedeu/cursors/repository_test.rb +2 -2
- data/test/lib/vedeu/distributed/client_test.rb +2 -2
- data/test/lib/vedeu/distributed/server_test.rb +8 -8
- data/test/lib/vedeu/distributed/subprocess_test.rb +2 -2
- data/test/lib/vedeu/distributed/test_application_test.rb +2 -2
- data/test/lib/vedeu/dsl/line_test.rb +2 -2
- data/test/lib/vedeu/dsl/presentation_test.rb +4 -4
- data/test/lib/vedeu/editor/cursor_test.rb +2 -2
- data/test/lib/vedeu/editor/document_test.rb +4 -4
- data/test/lib/vedeu/editor/editor_test.rb +20 -20
- data/test/lib/vedeu/events/aliases_test.rb +2 -2
- data/test/lib/vedeu/events/repository_test.rb +2 -2
- data/test/lib/vedeu/geometries/area/area_test.rb +2 -2
- data/test/lib/vedeu/geometries/geometry_test.rb +2 -2
- data/test/lib/vedeu/geometries/move_test.rb +2 -2
- data/test/lib/vedeu/geometries/position_test.rb +2 -2
- data/test/lib/vedeu/groups/clear_test.rb +2 -2
- data/test/lib/vedeu/groups/group_test.rb +4 -4
- data/test/lib/vedeu/groups/refresh_test.rb +2 -2
- data/test/lib/vedeu/input/capture_test.rb +42 -40
- data/test/lib/vedeu/input/mouse_test.rb +13 -11
- data/test/lib/vedeu/input/read_test.rb +10 -10
- data/test/lib/vedeu/interfaces/clear_test.rb +15 -6
- data/test/lib/vedeu/interfaces/dsl_test.rb +14 -14
- data/test/lib/vedeu/interfaces/interface_test.rb +12 -9
- data/test/lib/vedeu/logging/debug_test.rb +2 -2
- data/test/lib/vedeu/logging/lockless_log_device_test.rb +2 -2
- data/test/lib/vedeu/logging/log_test.rb +4 -4
- data/test/lib/vedeu/logging/mono_logger_test.rb +8 -8
- data/test/lib/vedeu/logging/timer_test.rb +2 -2
- data/test/lib/vedeu/menus/menu_test.rb +4 -4
- data/test/lib/vedeu/models/cell_test.rb +2 -2
- data/test/lib/vedeu/models/focus_test.rb +6 -6
- data/test/lib/vedeu/models/toggleable_test.rb +10 -10
- data/test/lib/vedeu/null/generic_test.rb +2 -2
- data/test/lib/vedeu/output/output_test.rb +8 -8
- data/test/lib/vedeu/output/refresh_test.rb +2 -2
- data/test/lib/vedeu/output/viewport_test.rb +2 -2
- data/test/lib/vedeu/plugins/plugin_test.rb +4 -4
- data/test/lib/vedeu/presentation/background_test.rb +2 -2
- data/test/lib/vedeu/presentation/foreground_test.rb +2 -2
- data/test/lib/vedeu/presentation/style_test.rb +2 -2
- data/test/lib/vedeu/renderers/all_test.rb +2 -2
- data/test/lib/vedeu/renderers/file_test.rb +6 -6
- data/test/lib/vedeu/renderers/terminal_test.rb +2 -2
- data/test/lib/vedeu/repositories/collection_test.rb +2 -2
- data/test/lib/vedeu/repositories/defaults_test.rb +35 -0
- data/test/lib/vedeu/repositories/registerable_test.rb +2 -2
- data/test/lib/vedeu/runtime/bootstrap_test.rb +2 -2
- data/test/lib/vedeu/runtime/flags_test.rb +2 -2
- data/test/lib/vedeu/runtime/launcher_test.rb +4 -4
- data/test/lib/vedeu/runtime/main_loop_test.rb +2 -2
- data/test/lib/vedeu/runtime/router_test.rb +12 -12
- data/test/lib/vedeu/terminal/mode_test.rb +4 -4
- data/test/lib/vedeu/terminal/terminal_test.rb +19 -9
- data/test/lib/vedeu/views/char_test.rb +2 -2
- data/test/lib/vedeu/views/composition_test.rb +2 -2
- data/test/lib/vedeu/views/line_test.rb +2 -2
- data/test/lib/vedeu/views/stream_test.rb +2 -2
- data/test/lib/vedeu/views/view_test.rb +4 -4
- data/vedeu.gemspec +1 -1
- metadata +57 -4
@@ -12,9 +12,7 @@ module Vedeu
|
|
12
12
|
|
13
13
|
include Vedeu::Common
|
14
14
|
|
15
|
-
# @param
|
16
|
-
# @param attribute [Symbol]
|
17
|
-
# @param value [String]
|
15
|
+
# @param (see #initialize)
|
18
16
|
# @return [Vedeu::Borders::Border]
|
19
17
|
def self.update(name, attribute, value)
|
20
18
|
new(name, attribute, value).update
|
data/lib/vedeu/borders/title.rb
CHANGED
@@ -6,33 +6,38 @@ module Vedeu
|
|
6
6
|
# title is longer than the interface is wide, and pad with a space
|
7
7
|
# either side.
|
8
8
|
#
|
9
|
+
# The title is displayed within the top border of the interface/
|
10
|
+
# view.
|
11
|
+
#
|
9
12
|
# @api private
|
10
13
|
#
|
11
14
|
class Title
|
12
15
|
|
13
|
-
|
14
|
-
|
15
|
-
#
|
16
|
-
# @return
|
17
|
-
def self.render(value = '',
|
18
|
-
new(value,
|
16
|
+
include Vedeu::Common
|
17
|
+
|
18
|
+
# @param (see #initialize)
|
19
|
+
# @return (see #render)
|
20
|
+
def self.render(name, value = '', horizontal = [])
|
21
|
+
new(name, value, horizontal).render
|
19
22
|
end
|
20
23
|
|
21
24
|
# Returns a new instance of Vedeu::Borders::Title or
|
22
25
|
# Vedeu::Borders::Caption.
|
23
26
|
#
|
24
|
-
# @param
|
27
|
+
# @param name [String|Symbol]
|
25
28
|
# @param value [String|Vedeu::Borders::Title|
|
29
|
+
# @param horizontal [Array<Vedeu::Cells::Horizontal>]
|
26
30
|
# Vedeu::Borders::Caption]
|
27
31
|
# @return [Vedeu::Borders::Title|Vedeu::Borders::Caption]
|
28
|
-
def initialize(value = '',
|
29
|
-
@
|
30
|
-
@
|
32
|
+
def initialize(name, value = '', horizontal = [])
|
33
|
+
@name = name
|
34
|
+
@value = value
|
35
|
+
@horizontal = horizontal
|
31
36
|
end
|
32
37
|
|
33
38
|
# An object is equal when its values are the same.
|
34
39
|
#
|
35
|
-
# @param other [Vedeu::Borders::Title]
|
40
|
+
# @param other [Vedeu::Borders::Title|Vedeu::Borders::Caption]
|
36
41
|
# @return [Boolean]
|
37
42
|
def eql?(other)
|
38
43
|
self.class == other.class && value == other.value
|
@@ -43,16 +48,13 @@ module Vedeu
|
|
43
48
|
# {Vedeu::Borders::Border#build_horizontal} on the top border to
|
44
49
|
# include the title if given.
|
45
50
|
#
|
46
|
-
# @return [Array<Vedeu::
|
51
|
+
# @return [Array<Vedeu::Cells::Horizontal|Vedeu::Cells::Char>]
|
47
52
|
def render
|
48
|
-
return
|
53
|
+
return horizontal if empty?
|
49
54
|
|
50
|
-
|
51
|
-
next if index == start_index || index > size
|
55
|
+
horizontal[start_index..(start_index + (size - 1))] = chars
|
52
56
|
|
53
|
-
|
54
|
-
char.value = characters[index - 1]
|
55
|
-
end
|
57
|
+
horizontal
|
56
58
|
end
|
57
59
|
|
58
60
|
# Convert the value to a string.
|
@@ -74,13 +76,39 @@ module Vedeu
|
|
74
76
|
|
75
77
|
protected
|
76
78
|
|
77
|
-
# @!attribute [r]
|
78
|
-
# @return [Array<Vedeu::
|
79
|
+
# @!attribute [r] horizontal
|
80
|
+
# @return [Array<Vedeu::Cells::Horizontal>] An array of border
|
79
81
|
# characters.
|
80
|
-
attr_reader :
|
82
|
+
attr_reader :horizontal
|
83
|
+
|
84
|
+
# @!attribute [r] name
|
85
|
+
# @return [String|Symbol]
|
86
|
+
attr_reader :name
|
81
87
|
|
82
88
|
private
|
83
89
|
|
90
|
+
# @param char [String]
|
91
|
+
# @param x [Fixnum]
|
92
|
+
# @return [Hash<Symbol => void>]
|
93
|
+
def attributes(char, x)
|
94
|
+
@_attributes ||= border.attributes
|
95
|
+
|
96
|
+
@_attributes.merge!(position: Vedeu::Geometries::Position.new(y, x),
|
97
|
+
value: char)
|
98
|
+
end
|
99
|
+
|
100
|
+
# @return [Vedeu::Borders::Border]
|
101
|
+
def border
|
102
|
+
@_border ||= Vedeu.borders.by_name(name)
|
103
|
+
end
|
104
|
+
|
105
|
+
# @return [Array<Vedeu::Cells::Horizontal|Vedeu::Cells::Char>]
|
106
|
+
def chars
|
107
|
+
characters.each_with_index.map do |char, index|
|
108
|
+
Vedeu::Cells::Char.new(attributes(char, x + index))
|
109
|
+
end
|
110
|
+
end
|
111
|
+
|
84
112
|
# Return the padded, truncated value as an Array of String.
|
85
113
|
#
|
86
114
|
# @return [Array<String>]
|
@@ -95,6 +123,11 @@ module Vedeu
|
|
95
123
|
value.empty?
|
96
124
|
end
|
97
125
|
|
126
|
+
# @return [Vedeu::Geometries::Geometry]
|
127
|
+
def geometry
|
128
|
+
@_geometry ||= Vedeu.geometries.by_name(name)
|
129
|
+
end
|
130
|
+
|
98
131
|
# Pads the value with a single whitespace either side.
|
99
132
|
#
|
100
133
|
# @example
|
@@ -120,7 +153,7 @@ module Vedeu
|
|
120
153
|
|
121
154
|
# @return [Fixnum]
|
122
155
|
def start_index
|
123
|
-
|
156
|
+
1
|
124
157
|
end
|
125
158
|
|
126
159
|
# Truncates the value to the width of the interface, minus
|
@@ -138,14 +171,24 @@ module Vedeu
|
|
138
171
|
#
|
139
172
|
# @return [String]
|
140
173
|
def truncate
|
141
|
-
|
174
|
+
@_truncate ||= value.chomp.slice(0...(width - 4))
|
142
175
|
end
|
143
176
|
|
144
|
-
# Return the size of the horizontal border given
|
177
|
+
# Return the size of the horizontal border given.
|
145
178
|
#
|
146
179
|
# @return [Fixnum]
|
147
180
|
def width
|
148
|
-
|
181
|
+
horizontal.size
|
182
|
+
end
|
183
|
+
|
184
|
+
# @return [Fixnum]
|
185
|
+
def x
|
186
|
+
@_x ||= geometry.bx + start_index
|
187
|
+
end
|
188
|
+
|
189
|
+
# @return [Fixnum]
|
190
|
+
def y
|
191
|
+
@_y ||= geometry.y
|
149
192
|
end
|
150
193
|
|
151
194
|
end # Title
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module Vedeu
|
2
|
+
|
3
|
+
# Each available character space in the visible terminal is
|
4
|
+
# represented in Vedeu as a cell of some type. Each type of cell
|
5
|
+
# has specific behaviour when handled (including being rendered) by
|
6
|
+
# Vedeu.
|
7
|
+
#
|
8
|
+
# @api private
|
9
|
+
#
|
10
|
+
module Cells
|
11
|
+
|
12
|
+
end # Cells
|
13
|
+
|
14
|
+
end # Vedeu
|
15
|
+
|
16
|
+
require 'vedeu/cells/empty'
|
17
|
+
require 'vedeu/cells/border'
|
18
|
+
require 'vedeu/cells/borders/all'
|
19
|
+
require 'vedeu/cells/char'
|
20
|
+
require 'vedeu/cells/clear'
|
21
|
+
require 'vedeu/cells/escape'
|
22
|
+
require 'vedeu/cells/html'
|
23
|
+
require 'vedeu/cells/json'
|
@@ -0,0 +1,72 @@
|
|
1
|
+
module Vedeu
|
2
|
+
|
3
|
+
module Cells
|
4
|
+
|
5
|
+
# Provides the character/escape sequence to draw one cell of a
|
6
|
+
# border with a custom value, colour and style.
|
7
|
+
#
|
8
|
+
# @api private
|
9
|
+
#
|
10
|
+
class Border < Vedeu::Cells::Empty
|
11
|
+
|
12
|
+
extend Forwardable
|
13
|
+
include Vedeu::Presentation
|
14
|
+
|
15
|
+
def_delegators :geometry,
|
16
|
+
:x,
|
17
|
+
:xn,
|
18
|
+
:y,
|
19
|
+
:yn
|
20
|
+
|
21
|
+
# @return [Hash<Symbol => void>]
|
22
|
+
def attributes
|
23
|
+
{
|
24
|
+
colour: colour,
|
25
|
+
name: @name,
|
26
|
+
style: style,
|
27
|
+
}
|
28
|
+
end
|
29
|
+
|
30
|
+
# @return [Boolean]
|
31
|
+
def cell?
|
32
|
+
false
|
33
|
+
end
|
34
|
+
|
35
|
+
# @param value [String|Symbol]
|
36
|
+
# @return [Vedeu::Cells::Border]
|
37
|
+
def name=(value)
|
38
|
+
@name = value
|
39
|
+
|
40
|
+
self
|
41
|
+
end
|
42
|
+
|
43
|
+
# @return [Vedeu::Borders::Border|Vedeu::Interfaces::Interface]
|
44
|
+
def named_parent
|
45
|
+
if border
|
46
|
+
border
|
47
|
+
|
48
|
+
elsif interface
|
49
|
+
interface
|
50
|
+
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
# @return [String]
|
55
|
+
def value
|
56
|
+
return '' unless present?(@value)
|
57
|
+
|
58
|
+
Vedeu::EscapeSequences::Esc.border { @value }
|
59
|
+
end
|
60
|
+
|
61
|
+
private
|
62
|
+
|
63
|
+
# @return [Hash<Symbol => Hash<void>>]
|
64
|
+
def defaults
|
65
|
+
super
|
66
|
+
end
|
67
|
+
|
68
|
+
end # Border
|
69
|
+
|
70
|
+
end # Cells
|
71
|
+
|
72
|
+
end # Vedeu
|
@@ -0,0 +1,18 @@
|
|
1
|
+
module Vedeu
|
2
|
+
|
3
|
+
module Cells
|
4
|
+
|
5
|
+
end # Cells
|
6
|
+
|
7
|
+
end # Vedeu
|
8
|
+
|
9
|
+
require 'vedeu/cells/borders/horizontal'
|
10
|
+
require 'vedeu/cells/borders/bottom_horizontal'
|
11
|
+
require 'vedeu/cells/borders/bottom_left'
|
12
|
+
require 'vedeu/cells/borders/bottom_right'
|
13
|
+
require 'vedeu/cells/borders/top_horizontal'
|
14
|
+
require 'vedeu/cells/borders/top_left'
|
15
|
+
require 'vedeu/cells/borders/top_right'
|
16
|
+
require 'vedeu/cells/borders/vertical'
|
17
|
+
require 'vedeu/cells/borders/left_vertical'
|
18
|
+
require 'vedeu/cells/borders/right_vertical'
|
@@ -0,0 +1,28 @@
|
|
1
|
+
module Vedeu
|
2
|
+
|
3
|
+
module Cells
|
4
|
+
|
5
|
+
# Provides the character/escape sequence to draw one cell of the
|
6
|
+
# bottom horizontal border with a custom value, colour and style.
|
7
|
+
#
|
8
|
+
# @api private
|
9
|
+
#
|
10
|
+
class BottomHorizontal < Vedeu::Cells::Horizontal
|
11
|
+
|
12
|
+
# @return [Symbol]
|
13
|
+
def type
|
14
|
+
:bottom_horizontal
|
15
|
+
end
|
16
|
+
|
17
|
+
private
|
18
|
+
|
19
|
+
# @return [Hash<Symbol => String>]
|
20
|
+
def defaults
|
21
|
+
super.merge!(value: Vedeu::EscapeSequences::Borders.horizontal)
|
22
|
+
end
|
23
|
+
|
24
|
+
end # BottomHorizontal
|
25
|
+
|
26
|
+
end # Cells
|
27
|
+
|
28
|
+
end # Vedeu
|
@@ -0,0 +1,34 @@
|
|
1
|
+
module Vedeu
|
2
|
+
|
3
|
+
module Cells
|
4
|
+
|
5
|
+
# Provides the character/escape sequence to draw the bottom left
|
6
|
+
# border with a custom value, colour and style.
|
7
|
+
#
|
8
|
+
# @api private
|
9
|
+
#
|
10
|
+
class BottomLeft < Vedeu::Cells::Border
|
11
|
+
|
12
|
+
# @return [Vedeu::Geometries::Position]
|
13
|
+
def position
|
14
|
+
@position = defaults[:position]
|
15
|
+
end
|
16
|
+
|
17
|
+
# @return [Symbol]
|
18
|
+
def type
|
19
|
+
:bottom_left
|
20
|
+
end
|
21
|
+
|
22
|
+
private
|
23
|
+
|
24
|
+
# @return [Hash<Symbol => String>]
|
25
|
+
def defaults
|
26
|
+
super.merge!(position: Vedeu::Geometries::Position.coerce([yn, x]),
|
27
|
+
value: Vedeu::EscapeSequences::Borders.bottom_left)
|
28
|
+
end
|
29
|
+
|
30
|
+
end # BottomLeft
|
31
|
+
|
32
|
+
end # Cells
|
33
|
+
|
34
|
+
end # Vedeu
|
@@ -0,0 +1,34 @@
|
|
1
|
+
module Vedeu
|
2
|
+
|
3
|
+
module Cells
|
4
|
+
|
5
|
+
# Provides the character/escape sequence to draw the bottom right
|
6
|
+
# border with a custom value, colour and style.
|
7
|
+
#
|
8
|
+
# @api private
|
9
|
+
#
|
10
|
+
class BottomRight < Vedeu::Cells::Border
|
11
|
+
|
12
|
+
# @return [Vedeu::Geometries::Position]
|
13
|
+
def position
|
14
|
+
@position = defaults[:position]
|
15
|
+
end
|
16
|
+
|
17
|
+
# @return [Symbol]
|
18
|
+
def type
|
19
|
+
:bottom_right
|
20
|
+
end
|
21
|
+
|
22
|
+
private
|
23
|
+
|
24
|
+
# @return [Hash<Symbol => String>]
|
25
|
+
def defaults
|
26
|
+
super.merge!(position: Vedeu::Geometries::Position.coerce([yn, xn]),
|
27
|
+
value: Vedeu::EscapeSequences::Borders.bottom_right)
|
28
|
+
end
|
29
|
+
|
30
|
+
end # BottomRight
|
31
|
+
|
32
|
+
end # Cells
|
33
|
+
|
34
|
+
end # Vedeu
|
@@ -0,0 +1,28 @@
|
|
1
|
+
module Vedeu
|
2
|
+
|
3
|
+
module Cells
|
4
|
+
|
5
|
+
# Provides the character/escape sequence to draw one cell of a
|
6
|
+
# horizontal border with a custom value, colour and style.
|
7
|
+
#
|
8
|
+
# @api private
|
9
|
+
#
|
10
|
+
class Horizontal < Vedeu::Cells::Border
|
11
|
+
|
12
|
+
# @return [Symbol]
|
13
|
+
def type
|
14
|
+
:horizontal
|
15
|
+
end
|
16
|
+
|
17
|
+
private
|
18
|
+
|
19
|
+
# @return [Hash<Symbol => String>]
|
20
|
+
def defaults
|
21
|
+
super.merge!(value: Vedeu::EscapeSequences::Borders.horizontal)
|
22
|
+
end
|
23
|
+
|
24
|
+
end # Horizontal
|
25
|
+
|
26
|
+
end # Cells
|
27
|
+
|
28
|
+
end # Vedeu
|
@@ -0,0 +1,28 @@
|
|
1
|
+
module Vedeu
|
2
|
+
|
3
|
+
module Cells
|
4
|
+
|
5
|
+
# Provides the character/escape sequence to draw one cell of the
|
6
|
+
# left vertical border with a custom value, colour and style.
|
7
|
+
#
|
8
|
+
# @api private
|
9
|
+
#
|
10
|
+
class LeftVertical < Vedeu::Cells::Vertical
|
11
|
+
|
12
|
+
# @return [Symbol]
|
13
|
+
def type
|
14
|
+
:left_vertical
|
15
|
+
end
|
16
|
+
|
17
|
+
private
|
18
|
+
|
19
|
+
# @return [Hash<Symbol => String>]
|
20
|
+
def defaults
|
21
|
+
super.merge!(value: Vedeu::EscapeSequences::Borders.vertical)
|
22
|
+
end
|
23
|
+
|
24
|
+
end # LeftVertical
|
25
|
+
|
26
|
+
end # Cells
|
27
|
+
|
28
|
+
end # Vedeu
|