vedeu 0.6.71 → 0.7.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.
- 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
|