vedeu 0.4.62 → 0.4.63
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/lib/vedeu/all.rb +6 -5
- data/lib/vedeu/api.rb +5 -128
- data/lib/vedeu/application/application_controller.rb +0 -2
- data/lib/vedeu/application/application_helper.rb +0 -2
- data/lib/vedeu/application/application_view.rb +0 -2
- data/lib/vedeu/application/controller.rb +1 -1
- data/lib/vedeu/bindings/application.rb +12 -4
- data/lib/vedeu/bindings/system.rb +4 -4
- data/lib/vedeu/bindings/visibility.rb +6 -2
- data/lib/vedeu/buffers/buffer.rb +1 -1
- data/lib/vedeu/buffers/display_buffer.rb +2 -2
- data/lib/vedeu/cli/generator/templates/application/Gemfile +1 -1
- data/lib/vedeu/cli/generator/templates/application/application.erb +1 -1
- data/lib/vedeu/cli/generator/templates/application/config/configuration.erb +2 -2
- data/lib/vedeu/cli/generator/view.rb +2 -2
- data/lib/vedeu/colours/colour.rb +1 -1
- data/lib/vedeu/colours/colour_translator.rb +2 -2
- data/lib/vedeu/configuration/api.rb +1 -1
- data/lib/vedeu/configuration/configuration.rb +1 -1
- data/lib/vedeu/cursor/refresh_cursor.rb +1 -1
- data/lib/vedeu/distributed/server.rb +1 -1
- data/lib/vedeu/dsl/border.rb +1 -1
- data/lib/vedeu/dsl/geometry.rb +7 -6
- data/lib/vedeu/dsl/view.rb +3 -3
- data/lib/vedeu/events/event.rb +1 -1
- data/lib/vedeu/events/trigger.rb +1 -1
- data/lib/vedeu/exceptions.rb +14 -0
- data/lib/vedeu/geometry/dimension.rb +1 -1
- data/lib/vedeu/geometry/geometry.rb +2 -2
- data/lib/vedeu/geometry/position_validator.rb +1 -1
- data/lib/vedeu/input/input.rb +6 -5
- data/lib/vedeu/input/keymap.rb +3 -3
- data/lib/vedeu/input/mapper.rb +3 -3
- data/lib/vedeu/internal_api.rb +147 -0
- data/lib/vedeu/models/char.rb +2 -2
- data/lib/vedeu/models/focus.rb +1 -1
- data/lib/vedeu/models/line.rb +1 -1
- data/lib/vedeu/models/stream.rb +1 -1
- data/lib/vedeu/output/esc.rb +1 -1
- data/lib/vedeu/output/presentation.rb +9 -9
- data/lib/vedeu/output/refresh.rb +1 -1
- data/lib/vedeu/output/renderers.rb +1 -1
- data/lib/vedeu/output/text.rb +1 -1
- data/lib/vedeu/output/viewport.rb +1 -1
- data/lib/vedeu/repositories.rb +1 -1
- data/lib/vedeu/repositories/repository.rb +4 -4
- data/lib/vedeu/{application.rb → runtime/application.rb} +0 -0
- data/lib/vedeu/{bootstrap.rb → runtime/bootstrap.rb} +0 -0
- data/lib/vedeu/{launcher.rb → runtime/launcher.rb} +1 -1
- data/lib/vedeu/{main_loop.rb → runtime/main_loop.rb} +1 -1
- data/lib/vedeu/{router.rb → runtime/router.rb} +57 -4
- data/lib/vedeu/terminal.rb +1 -1
- data/lib/vedeu/version.rb +1 -1
- data/test/lib/vedeu/api_test.rb +1 -15
- data/test/lib/vedeu/bindings/application_test.rb +3 -3
- data/test/lib/vedeu/internal_api_test.rb +25 -0
- data/test/lib/vedeu/output/clear/named_group_test.rb +8 -7
- data/test/lib/vedeu/output/presentation_test.rb +45 -0
- data/test/lib/vedeu/output/renderers_test.rb +14 -4
- data/test/lib/vedeu/{application_test.rb → runtime/application_test.rb} +0 -0
- data/test/lib/vedeu/{bootstrap_test.rb → runtime/bootstrap_test.rb} +11 -0
- data/test/lib/vedeu/{launcher_test.rb → runtime/launcher_test.rb} +0 -0
- data/test/lib/vedeu/{main_loop_test.rb → runtime/main_loop_test.rb} +0 -0
- data/test/lib/vedeu/{router_test.rb → runtime/router_test.rb} +13 -1
- metadata +20 -17
|
@@ -80,7 +80,7 @@ module Vedeu
|
|
|
80
80
|
# Fetch the border by name.
|
|
81
81
|
#
|
|
82
82
|
# @note
|
|
83
|
-
# Vedeu::Border is used in this way because
|
|
83
|
+
# Vedeu::Border is used in this way because when there is not a border
|
|
84
84
|
# defined, it will fallback to a Vedeu::Null::Border which uses
|
|
85
85
|
# Vedeu::Geometry to determine it's dimensions based on the name also.
|
|
86
86
|
# When a Vedeu::Geometry cannot be found, this falls back to a
|
|
@@ -182,7 +182,7 @@ module Vedeu
|
|
|
182
182
|
|
|
183
183
|
end
|
|
184
184
|
rescue NoMethodError # raised when #join is called on NilClass.
|
|
185
|
-
Vedeu.log(type: :
|
|
185
|
+
Vedeu.log(type: :drb, message: 'Attempted to #join on DRb.thread.')
|
|
186
186
|
end
|
|
187
187
|
|
|
188
188
|
protected
|
data/lib/vedeu/dsl/border.rb
CHANGED
data/lib/vedeu/dsl/geometry.rb
CHANGED
|
@@ -140,7 +140,7 @@ module Vedeu
|
|
|
140
140
|
end
|
|
141
141
|
|
|
142
142
|
# Specify the number of characters/rows/lines tall the interface will be.
|
|
143
|
-
# This value will be ignored
|
|
143
|
+
# This value will be ignored when `y` and `yn` are set.
|
|
144
144
|
#
|
|
145
145
|
# Vedeu.geometry 'some_interface' do
|
|
146
146
|
# height 8
|
|
@@ -172,7 +172,7 @@ module Vedeu
|
|
|
172
172
|
end
|
|
173
173
|
|
|
174
174
|
# Specify the number of characters/columns wide the interface will be.
|
|
175
|
-
# This value will be ignored
|
|
175
|
+
# This value will be ignored when `x` and `xn` are set.
|
|
176
176
|
#
|
|
177
177
|
# Vedeu.geometry 'some_interface' do
|
|
178
178
|
# width 25
|
|
@@ -210,9 +210,10 @@ module Vedeu
|
|
|
210
210
|
# Vedeu.geometry 'some_interface' do
|
|
211
211
|
# xn 37 # end at column 37.
|
|
212
212
|
#
|
|
213
|
-
# xn { use('other_interface').right } #
|
|
214
|
-
#
|
|
215
|
-
#
|
|
213
|
+
# xn { use('other_interface').right } # when `other_interface`
|
|
214
|
+
# # changes position,
|
|
215
|
+
# # ... some code # `some_interface` will too.
|
|
216
|
+
# end
|
|
216
217
|
#
|
|
217
218
|
# @param value [Fixnum]
|
|
218
219
|
# @param block [Proc]
|
|
@@ -228,7 +229,7 @@ module Vedeu
|
|
|
228
229
|
# Vedeu.geometry 'some_interface' do
|
|
229
230
|
# y 4 # start at row 4
|
|
230
231
|
#
|
|
231
|
-
# y { use('other_interface').north } # start on row/line 3,
|
|
232
|
+
# y { use('other_interface').north } # start on row/line 3, when
|
|
232
233
|
# # ... some code # `other_interface` changes
|
|
233
234
|
# end # position, `some_interface`
|
|
234
235
|
# # will too.
|
data/lib/vedeu/dsl/view.rb
CHANGED
|
@@ -9,8 +9,8 @@ module Vedeu
|
|
|
9
9
|
# Both of these approaches require that you have defined an interface (or
|
|
10
10
|
# 'visible area') first. You can find out how to define an interface with
|
|
11
11
|
# Vedeu here. The examples in 'Immediate Render' and 'Deferred View' use
|
|
12
|
-
# these interface definitions: (Note:
|
|
13
|
-
# terminal is at least 70 characters in width and 5 lines in height.)
|
|
12
|
+
# these interface definitions: (Note: should you use these examples, ensure
|
|
13
|
+
# your terminal is at least 70 characters in width and 5 lines in height.)
|
|
14
14
|
#
|
|
15
15
|
# Vedeu.interface 'main' do
|
|
16
16
|
# geometry do
|
|
@@ -111,7 +111,7 @@ module Vedeu
|
|
|
111
111
|
|
|
112
112
|
# Directly write a view buffer to the terminal. Using this method means
|
|
113
113
|
# that the refresh event does not need to be triggered after creating
|
|
114
|
-
# the views, though can be later triggered
|
|
114
|
+
# the views, though can be later triggered when needed.
|
|
115
115
|
#
|
|
116
116
|
# Vedeu.renders do
|
|
117
117
|
# view 'some_interface' do
|
data/lib/vedeu/events/event.rb
CHANGED
data/lib/vedeu/events/trigger.rb
CHANGED
data/lib/vedeu/exceptions.rb
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
module Vedeu
|
|
2
2
|
|
|
3
|
+
# Raised with Vedeu attempts to access a client application controller that
|
|
4
|
+
# does not exist.
|
|
5
|
+
#
|
|
6
|
+
class ControllerNotFound < StandardError
|
|
7
|
+
|
|
8
|
+
end # ControllerNotFound
|
|
9
|
+
|
|
10
|
+
# Raised with Vedeu attempts to access a client application controller's
|
|
11
|
+
# action that does not exist.
|
|
12
|
+
#
|
|
13
|
+
class ActionNotFound < StandardError
|
|
14
|
+
|
|
15
|
+
end # ActionNotFound
|
|
16
|
+
|
|
3
17
|
# Raised with Vedeu attempts to access a named model that does not exist.
|
|
4
18
|
#
|
|
5
19
|
class ModelNotFound < StandardError
|
|
@@ -123,9 +123,9 @@ module Vedeu
|
|
|
123
123
|
work
|
|
124
124
|
end
|
|
125
125
|
|
|
126
|
-
# Will unmaximise the named interface geometry. Previously,
|
|
126
|
+
# Will unmaximise the named interface geometry. Previously, when a geometry
|
|
127
127
|
# was maximised, then triggering the unmaximise event will return it to its
|
|
128
|
-
# usual defined size (terminal size permitting:
|
|
128
|
+
# usual defined size (terminal size permitting: when the terminal has been
|
|
129
129
|
# resized, then the new geometry size should adapt).
|
|
130
130
|
#
|
|
131
131
|
# @example
|
data/lib/vedeu/input/input.rb
CHANGED
|
@@ -22,8 +22,9 @@ module Vedeu
|
|
|
22
22
|
@reader = reader
|
|
23
23
|
end
|
|
24
24
|
|
|
25
|
-
# Triggers either a ':_command_' event with the command
|
|
26
|
-
# cooked mode, or
|
|
25
|
+
# Triggers either a ':_command_' event with the command when the reader is
|
|
26
|
+
# in cooked mode, or when in raw mode, the keypress event with the key(s)
|
|
27
|
+
# pressed.
|
|
27
28
|
#
|
|
28
29
|
# @return [Array|String|Symbol]
|
|
29
30
|
def capture
|
|
@@ -52,8 +53,8 @@ module Vedeu
|
|
|
52
53
|
end
|
|
53
54
|
alias_method :command, :input
|
|
54
55
|
|
|
55
|
-
# Returns the translated (
|
|
56
|
-
# Symbol.
|
|
56
|
+
# Returns the translated (when possible) keypress(es) as either a String or
|
|
57
|
+
# a Symbol.
|
|
57
58
|
#
|
|
58
59
|
# @return [String|Symbol]
|
|
59
60
|
def keypress
|
|
@@ -62,7 +63,7 @@ module Vedeu
|
|
|
62
63
|
specials.fetch(key, key)
|
|
63
64
|
end
|
|
64
65
|
|
|
65
|
-
# Translates (
|
|
66
|
+
# Translates (when possible) entered escape sequences into symbols
|
|
66
67
|
# representing the key which was pressed.
|
|
67
68
|
#
|
|
68
69
|
# @return [Hash]
|
data/lib/vedeu/input/keymap.rb
CHANGED
|
@@ -52,8 +52,8 @@ module Vedeu
|
|
|
52
52
|
keys.any? { |key| key.input == input }
|
|
53
53
|
end
|
|
54
54
|
|
|
55
|
-
#
|
|
56
|
-
#
|
|
55
|
+
# When the given input is registered with this keymap, this method triggers
|
|
56
|
+
# the action associated with the key.
|
|
57
57
|
#
|
|
58
58
|
# @param input [String|Symbol]
|
|
59
59
|
# @return [Array|FalseClass]
|
|
@@ -87,7 +87,7 @@ module Vedeu
|
|
|
87
87
|
def valid?(key)
|
|
88
88
|
return true unless key_defined?(key.input)
|
|
89
89
|
|
|
90
|
-
Vedeu.log(type: :
|
|
90
|
+
Vedeu.log(type: :input,
|
|
91
91
|
message: "Keymap '#{name}' already defines '#{key.input}'.")
|
|
92
92
|
|
|
93
93
|
false
|
data/lib/vedeu/input/mapper.rb
CHANGED
|
@@ -5,7 +5,7 @@ module Vedeu
|
|
|
5
5
|
class Mapper
|
|
6
6
|
|
|
7
7
|
# Takes a key as a keypress and sends it to registered keymaps. If found,
|
|
8
|
-
# the associated action is fired,
|
|
8
|
+
# the associated action is fired, otherwise, we move to the next keymap or
|
|
9
9
|
# return false.
|
|
10
10
|
#
|
|
11
11
|
# @example
|
|
@@ -21,7 +21,7 @@ module Vedeu
|
|
|
21
21
|
new(key, name).keypress
|
|
22
22
|
end
|
|
23
23
|
|
|
24
|
-
# Checks a key is valid; i.e. not already registered to a keymap.
|
|
24
|
+
# Checks a key is valid; i.e. not already registered to a keymap. When the
|
|
25
25
|
# key is registered, then the key is invalid and cannot be used again.
|
|
26
26
|
#
|
|
27
27
|
# @param (see #initialize)
|
|
@@ -51,7 +51,7 @@ module Vedeu
|
|
|
51
51
|
def keypress
|
|
52
52
|
return false unless key
|
|
53
53
|
|
|
54
|
-
Vedeu.log(type: :
|
|
54
|
+
Vedeu.log(type: :input, message: "Key detected: #{key.inspect}")
|
|
55
55
|
|
|
56
56
|
return true if key_defined? && keymap.use(key)
|
|
57
57
|
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
module Vedeu
|
|
2
|
+
|
|
3
|
+
# Vedeu's internal API methods provide convenient ways to access Vedeu's
|
|
4
|
+
# internals. They are not supposed to be used by client applications as they
|
|
5
|
+
# have limited value there.
|
|
6
|
+
#
|
|
7
|
+
module InternalAPI
|
|
8
|
+
|
|
9
|
+
extend Forwardable
|
|
10
|
+
|
|
11
|
+
module_function
|
|
12
|
+
|
|
13
|
+
# Manipulate the repository of background colours.
|
|
14
|
+
#
|
|
15
|
+
# @example
|
|
16
|
+
# Vedeu.background_colours
|
|
17
|
+
#
|
|
18
|
+
# @!method background_colours
|
|
19
|
+
# @return [Vedeu::Backgrounds]
|
|
20
|
+
def_delegators Vedeu::Backgrounds, :background_colours
|
|
21
|
+
|
|
22
|
+
# Manipulate the repository of borders.
|
|
23
|
+
#
|
|
24
|
+
# @example
|
|
25
|
+
# Vedeu.borders
|
|
26
|
+
#
|
|
27
|
+
# @!method borders
|
|
28
|
+
# @return [Vedeu::Borders]
|
|
29
|
+
def_delegators Vedeu::Borders, :borders
|
|
30
|
+
|
|
31
|
+
# Manipulate the repository of buffers.
|
|
32
|
+
#
|
|
33
|
+
# @example
|
|
34
|
+
# Vedeu.buffers
|
|
35
|
+
#
|
|
36
|
+
# @!method buffers
|
|
37
|
+
# @return [Vedeu::Buffers]
|
|
38
|
+
def_delegators Vedeu::Buffers, :buffers
|
|
39
|
+
|
|
40
|
+
# Manipulate the repository of cursors.
|
|
41
|
+
#
|
|
42
|
+
# @example
|
|
43
|
+
# Vedeu.cursors
|
|
44
|
+
#
|
|
45
|
+
# @!method cursors
|
|
46
|
+
# @return [Vedeu::Cursors]
|
|
47
|
+
def_delegators Vedeu::Cursors, :cursors
|
|
48
|
+
|
|
49
|
+
# Manipulate the repository of events.
|
|
50
|
+
#
|
|
51
|
+
# @example
|
|
52
|
+
# Vedeu.events
|
|
53
|
+
#
|
|
54
|
+
# @!method events
|
|
55
|
+
# @return [Vedeu::Events]
|
|
56
|
+
def_delegators Vedeu::Events, :events
|
|
57
|
+
|
|
58
|
+
# Manipulate the repository of foreground colours.
|
|
59
|
+
#
|
|
60
|
+
# @example
|
|
61
|
+
# Vedeu.foreground_colours
|
|
62
|
+
#
|
|
63
|
+
# @!method foreground_colours
|
|
64
|
+
# @return [Vedeu::Foregrounds]
|
|
65
|
+
def_delegators Vedeu::Foregrounds, :foreground_colours
|
|
66
|
+
|
|
67
|
+
# Manipulate the repository of geometries.
|
|
68
|
+
#
|
|
69
|
+
# @example
|
|
70
|
+
# Vedeu.geometries
|
|
71
|
+
#
|
|
72
|
+
# @!method geometries
|
|
73
|
+
# @return [Vedeu::Geometries]
|
|
74
|
+
def_delegators Vedeu::Geometries, :geometries
|
|
75
|
+
|
|
76
|
+
# Manipulate the repository of groups.
|
|
77
|
+
#
|
|
78
|
+
# @example
|
|
79
|
+
# Vedeu.groups
|
|
80
|
+
#
|
|
81
|
+
# @!method groups
|
|
82
|
+
# @return [Vedeu::Groups]
|
|
83
|
+
def_delegators Vedeu::Groups, :groups
|
|
84
|
+
|
|
85
|
+
# Manipulate the repository of interfaces.
|
|
86
|
+
#
|
|
87
|
+
# @example
|
|
88
|
+
# Vedeu.interfaces
|
|
89
|
+
#
|
|
90
|
+
# @!method interfaces
|
|
91
|
+
# @return [Vedeu::Interfaces]
|
|
92
|
+
def_delegators Vedeu::Interfaces, :interfaces
|
|
93
|
+
|
|
94
|
+
# Manipulate the repository of keymaps.
|
|
95
|
+
#
|
|
96
|
+
# @example
|
|
97
|
+
# Vedeu.keymaps
|
|
98
|
+
#
|
|
99
|
+
# @!method keymaps
|
|
100
|
+
# @return [Vedeu::Keymaps]
|
|
101
|
+
def_delegators Vedeu::Keymaps, :keymaps
|
|
102
|
+
|
|
103
|
+
# Manipulate the repository of menus.
|
|
104
|
+
#
|
|
105
|
+
# @example
|
|
106
|
+
# Vedeu.menus
|
|
107
|
+
#
|
|
108
|
+
# @!method menus
|
|
109
|
+
# @return [Vedeu::Menus]
|
|
110
|
+
def_delegators Vedeu::Menus, :menus
|
|
111
|
+
|
|
112
|
+
# @example
|
|
113
|
+
# Vedeu.renderer
|
|
114
|
+
# Vedeu.renderers
|
|
115
|
+
#
|
|
116
|
+
# @!method renderer
|
|
117
|
+
# @see Vedeu::Renderers#renderer
|
|
118
|
+
# @!method renderers
|
|
119
|
+
# @see Vedeu::Renderers#renderers
|
|
120
|
+
def_delegators Vedeu::Renderers, :renderer, :renderers
|
|
121
|
+
|
|
122
|
+
# Instruct the terminal to resize. This will happen automatically as the
|
|
123
|
+
# terminal recieves SIGWINCH signals.
|
|
124
|
+
#
|
|
125
|
+
# @example
|
|
126
|
+
# Vedeu.resize
|
|
127
|
+
#
|
|
128
|
+
# @!method resize
|
|
129
|
+
# @see Vedeu::Terminal#resize
|
|
130
|
+
def_delegators Vedeu::Terminal, :resize
|
|
131
|
+
|
|
132
|
+
# Measure the execution time of the code in the given block.
|
|
133
|
+
#
|
|
134
|
+
# @example
|
|
135
|
+
# Vedeu.timer do
|
|
136
|
+
# # ... some code here ...
|
|
137
|
+
# end
|
|
138
|
+
#
|
|
139
|
+
# @!method timer
|
|
140
|
+
# @see Vedeu::Timer.timer
|
|
141
|
+
def_delegators Vedeu::Timer, :timer
|
|
142
|
+
|
|
143
|
+
end # InternalAPI
|
|
144
|
+
|
|
145
|
+
extend InternalAPI
|
|
146
|
+
|
|
147
|
+
end # Vedeu
|
data/lib/vedeu/models/char.rb
CHANGED
|
@@ -101,14 +101,14 @@ module Vedeu
|
|
|
101
101
|
end
|
|
102
102
|
end
|
|
103
103
|
|
|
104
|
-
# Returns the x position for the Char
|
|
104
|
+
# Returns the x position for the Char when set.
|
|
105
105
|
#
|
|
106
106
|
# @return [Fixnum|NilClass]
|
|
107
107
|
def x
|
|
108
108
|
position.x if position
|
|
109
109
|
end
|
|
110
110
|
|
|
111
|
-
# Returns the y position for the Char
|
|
111
|
+
# Returns the y position for the Char when set.
|
|
112
112
|
#
|
|
113
113
|
# @return [Fixnum|NilClass]
|
|
114
114
|
def y
|
data/lib/vedeu/models/focus.rb
CHANGED
|
@@ -188,7 +188,7 @@ module Vedeu
|
|
|
188
188
|
private
|
|
189
189
|
|
|
190
190
|
# Return the name of the interface in focus after triggering the refresh
|
|
191
|
-
# event for that interface. Returns false
|
|
191
|
+
# event for that interface. Returns false when the storage is empty.
|
|
192
192
|
#
|
|
193
193
|
# @return [String|FalseClass]
|
|
194
194
|
def update
|
data/lib/vedeu/models/line.rb
CHANGED
data/lib/vedeu/models/stream.rb
CHANGED
data/lib/vedeu/output/esc.rb
CHANGED
|
@@ -22,7 +22,7 @@ module Vedeu
|
|
|
22
22
|
end
|
|
23
23
|
|
|
24
24
|
# Return the escape sequence string from the list of recognised sequence
|
|
25
|
-
# 'commands', or an empty string
|
|
25
|
+
# 'commands', or an empty string when the 'command' cannot be found.
|
|
26
26
|
#
|
|
27
27
|
# @param value [String|Symbol]
|
|
28
28
|
# @return [String]
|
|
@@ -5,7 +5,7 @@ module Vedeu
|
|
|
5
5
|
#
|
|
6
6
|
module Presentation
|
|
7
7
|
|
|
8
|
-
#
|
|
8
|
+
# When the background colour for the model exists, return it, otherwise
|
|
9
9
|
# returns the parent background colour, or an empty Vedeu::Background.
|
|
10
10
|
#
|
|
11
11
|
# @return [Vedeu::Background]
|
|
@@ -51,7 +51,7 @@ module Vedeu
|
|
|
51
51
|
@colour = attributes[:colour] = Vedeu::Colour.coerce(value)
|
|
52
52
|
end
|
|
53
53
|
|
|
54
|
-
#
|
|
54
|
+
# When the foreground colour for the model exists, return it, otherwise
|
|
55
55
|
# returns the parent foreground colour, or an empty Vedeu::Foreground.
|
|
56
56
|
#
|
|
57
57
|
# @return [Vedeu::Foreground]
|
|
@@ -75,8 +75,8 @@ module Vedeu
|
|
|
75
75
|
background: colour.background)
|
|
76
76
|
end
|
|
77
77
|
|
|
78
|
-
#
|
|
79
|
-
# an empty Vedeu::Background.
|
|
78
|
+
# When a parent colour is available, returns the parent background colour,
|
|
79
|
+
# otherwise an empty Vedeu::Background.
|
|
80
80
|
#
|
|
81
81
|
# @return [Vedeu::Background]
|
|
82
82
|
def parent_background
|
|
@@ -89,15 +89,15 @@ module Vedeu
|
|
|
89
89
|
end
|
|
90
90
|
end
|
|
91
91
|
|
|
92
|
-
# Returns the parent colour
|
|
92
|
+
# Returns the parent colour when available or NilClass.
|
|
93
93
|
#
|
|
94
94
|
# @return [String|NilClass]
|
|
95
95
|
def parent_colour
|
|
96
96
|
parent.colour if parent
|
|
97
97
|
end
|
|
98
98
|
|
|
99
|
-
#
|
|
100
|
-
# an empty Vedeu::Foreground.
|
|
99
|
+
# When a parent colour is available, returns the parent foreground colour,
|
|
100
|
+
# otherwise an empty Vedeu::Foreground.
|
|
101
101
|
#
|
|
102
102
|
# @return [Vedeu::Foreground]
|
|
103
103
|
def parent_foreground
|
|
@@ -110,7 +110,7 @@ module Vedeu
|
|
|
110
110
|
end
|
|
111
111
|
end
|
|
112
112
|
|
|
113
|
-
# Returns the parent style
|
|
113
|
+
# Returns the parent style when available or NilClass.
|
|
114
114
|
#
|
|
115
115
|
# @return [String|NilClass]
|
|
116
116
|
def parent_style
|
|
@@ -142,7 +142,7 @@ module Vedeu
|
|
|
142
142
|
@style = Vedeu::Style.coerce(value)
|
|
143
143
|
end
|
|
144
144
|
|
|
145
|
-
# Converts the colours and styles to escape sequences, and
|
|
145
|
+
# Converts the colours and styles to escape sequences, and when the parent
|
|
146
146
|
# model has previously set the colour and style, reverts back to that for
|
|
147
147
|
# consistent formatting.
|
|
148
148
|
#
|