vedeu 0.6.12 → 0.6.13
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/bindings/application.rb +4 -0
- data/lib/vedeu/bindings/document.rb +4 -0
- data/lib/vedeu/bindings/focus.rb +4 -0
- data/lib/vedeu/bindings/menus.rb +4 -0
- data/lib/vedeu/bindings/movement.rb +4 -0
- data/lib/vedeu/bindings/refresh.rb +4 -0
- data/lib/vedeu/bindings/system.rb +4 -0
- data/lib/vedeu/bindings/visibility.rb +4 -0
- data/lib/vedeu/borders/dsl.rb +2 -3
- data/lib/vedeu/configuration/api.rb +26 -0
- data/lib/vedeu/configuration/configuration.rb +16 -0
- data/lib/vedeu/dsl/composition.rb +2 -3
- data/lib/vedeu/dsl/group.rb +2 -3
- data/lib/vedeu/dsl/interface.rb +2 -4
- data/lib/vedeu/dsl/keymap.rb +24 -21
- data/lib/vedeu/dsl/line.rb +4 -6
- data/lib/vedeu/dsl/presentation.rb +16 -12
- data/lib/vedeu/dsl/shared.rb +18 -14
- data/lib/vedeu/dsl/stream.rb +2 -3
- data/lib/vedeu/dsl/text.rb +6 -4
- data/lib/vedeu/dsl/view.rb +6 -8
- data/lib/vedeu/error.rb +12 -0
- data/lib/vedeu/geometry/area.rb +4 -2
- data/lib/vedeu/geometry/coordinate.rb +4 -4
- data/lib/vedeu/geometry/dimension.rb +6 -4
- data/lib/vedeu/geometry/dsl.rb +55 -43
- data/lib/vedeu/geometry/generic_coordinate.rb +4 -3
- data/lib/vedeu/geometry/geometry.rb +13 -11
- data/lib/vedeu/geometry/grid.rb +6 -5
- data/lib/vedeu/geometry/position.rb +12 -10
- data/lib/vedeu/input/key.rb +2 -3
- data/lib/vedeu/logging/log.rb +1 -1
- data/lib/vedeu/menus/menu.rb +2 -3
- data/lib/vedeu/models/views/view.rb +0 -2
- data/lib/vedeu/output/output.rb +10 -1
- data/lib/vedeu/output/renderers/file.rb +3 -3
- data/lib/vedeu/output/renderers/json.rb +2 -0
- data/lib/vedeu/runtime/main_loop.rb +4 -0
- data/lib/vedeu/templating/helpers.rb +4 -7
- data/lib/vedeu/terminal/buffer.rb +1 -2
- data/lib/vedeu/terminal/terminal.rb +4 -2
- data/lib/vedeu/version.rb +1 -1
- data/test/lib/vedeu/api/external_test.rb +14 -2
- data/test/lib/vedeu/bindings/visibility_test.rb +15 -0
- data/test/lib/vedeu/dsl/composition_test.rb +1 -1
- data/test/lib/vedeu/dsl/group_test.rb +1 -1
- data/test/lib/vedeu/dsl/interface_test.rb +3 -3
- data/test/lib/vedeu/dsl/line_test.rb +2 -2
- data/test/lib/vedeu/dsl/stream_test.rb +1 -1
- data/test/lib/vedeu/dsl/view_test.rb +3 -3
- data/test/lib/vedeu/error_test.rb +13 -0
- data/test/lib/vedeu/input/key_test.rb +1 -1
- data/test/lib/vedeu/menus/menu_test.rb +1 -1
- data/test/lib/vedeu/models/interface_test.rb +26 -0
- data/test/lib/vedeu/output/renderers/escape_sequence_test.rb +7 -0
- data/test/lib/vedeu/output/renderers/file_test.rb +7 -0
- data/test/lib/vedeu/output/renderers/html_test.rb +7 -0
- data/test/lib/vedeu/output/renderers/json_test.rb +7 -0
- data/test/lib/vedeu/output/renderers/null_test.rb +7 -0
- data/test/lib/vedeu/output/renderers/terminal_test.rb +11 -0
- data/test/lib/vedeu/output/renderers/text_test.rb +7 -0
- data/test/lib/vedeu/terminal/buffer_test.rb +31 -12
- data/test/lib/vedeu/terminal/terminal_test.rb +24 -21
- data/test/support/examples/material_colours_app.rb +2 -0
- data/test/test_helper.rb +2 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 31c6be7113f82b029855008aaaf699fbd567ae33
|
4
|
+
data.tar.gz: 1bf5c6c64eb63d6332af2645be09bf0103fc19e8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 24727ce127fde1301bddc57102f7814fde4fb73f020012cbe0bf5d1d13c7b4023a0457691f1815f6e4ee6f5d53160843a003b53ba9dc231b12b9df8b8ac34e87
|
7
|
+
data.tar.gz: 310d942055981700a8b3f7381291b0c1a29517c85531be676eee43ff877a6dba875f53b57a424d7863949c9f975b3dba66e766d811347e634fed7f074b8edae4
|
@@ -18,6 +18,8 @@ module Vedeu
|
|
18
18
|
|
19
19
|
private
|
20
20
|
|
21
|
+
# :nocov:
|
22
|
+
|
21
23
|
# See {file:docs/events/application.md#\_goto_}
|
22
24
|
def goto!
|
23
25
|
Vedeu.bind(:_goto_) do |controller, action, **args|
|
@@ -27,6 +29,8 @@ module Vedeu
|
|
27
29
|
Vedeu.bind_alias(:_action_, :_goto_)
|
28
30
|
end
|
29
31
|
|
32
|
+
# :nocov:
|
33
|
+
|
30
34
|
end # Application
|
31
35
|
|
32
36
|
end # Bindings
|
@@ -27,6 +27,8 @@ module Vedeu
|
|
27
27
|
|
28
28
|
private
|
29
29
|
|
30
|
+
# :nocov:
|
31
|
+
|
30
32
|
# See {file:docs/events/document.md#\_editor_execute_}
|
31
33
|
def editor_execute!
|
32
34
|
Vedeu.bind(:_editor_execute_) do |name|
|
@@ -86,6 +88,8 @@ module Vedeu
|
|
86
88
|
Vedeu.bind(:_editor_up_) { |name| Vedeu.documents.by_name(name).up }
|
87
89
|
end
|
88
90
|
|
91
|
+
# :nocov:
|
92
|
+
|
89
93
|
end # Document
|
90
94
|
|
91
95
|
end # Bindings
|
data/lib/vedeu/bindings/focus.rb
CHANGED
@@ -18,6 +18,8 @@ module Vedeu
|
|
18
18
|
|
19
19
|
private
|
20
20
|
|
21
|
+
# :nocov:
|
22
|
+
|
21
23
|
# See {file:docs/events/focus.md#\_focus_by_name_}
|
22
24
|
def focus_by_name!
|
23
25
|
Vedeu.bind(:_focus_by_name_) { |name| Vedeu.focus_by_name(name) }
|
@@ -33,6 +35,8 @@ module Vedeu
|
|
33
35
|
Vedeu.bind(:_focus_prev_) { Vedeu.focus_previous }
|
34
36
|
end
|
35
37
|
|
38
|
+
# :nocov:
|
39
|
+
|
36
40
|
end # Focus
|
37
41
|
|
38
42
|
end # Bindings
|
data/lib/vedeu/bindings/menus.rb
CHANGED
@@ -28,6 +28,8 @@ module Vedeu
|
|
28
28
|
|
29
29
|
private
|
30
30
|
|
31
|
+
# :nocov:
|
32
|
+
|
31
33
|
# See {file:docs/events/menu.md#\_menu_bottom_}
|
32
34
|
def menu_bottom!
|
33
35
|
Vedeu.bind(:_menu_bottom_) do |name|
|
@@ -88,6 +90,8 @@ module Vedeu
|
|
88
90
|
Vedeu.bind(:_menu_view_) { |name| Vedeu.menus.by_name(name).view }
|
89
91
|
end
|
90
92
|
|
93
|
+
# :nocov:
|
94
|
+
|
91
95
|
end # Menus
|
92
96
|
|
93
97
|
end # Bindings
|
@@ -21,6 +21,8 @@ module Vedeu
|
|
21
21
|
|
22
22
|
private
|
23
23
|
|
24
|
+
# :nocov:
|
25
|
+
|
24
26
|
# See {file:docs/events/movement.md#\_cursor_up_down_left_right_}
|
25
27
|
def directional!
|
26
28
|
%w(down left right up).each do |direction|
|
@@ -71,6 +73,8 @@ module Vedeu
|
|
71
73
|
end
|
72
74
|
end
|
73
75
|
|
76
|
+
# :nocov:
|
77
|
+
|
74
78
|
end # Movement
|
75
79
|
|
76
80
|
end # Bindings
|
@@ -18,6 +18,8 @@ module Vedeu
|
|
18
18
|
|
19
19
|
private
|
20
20
|
|
21
|
+
# :nocov:
|
22
|
+
|
21
23
|
# See {file:docs/events/refresh.md#\_refresh_}
|
22
24
|
def refresh!
|
23
25
|
Vedeu.bind(:_refresh_) do |name|
|
@@ -45,6 +47,8 @@ module Vedeu
|
|
45
47
|
end
|
46
48
|
end
|
47
49
|
|
50
|
+
# :nocov:
|
51
|
+
|
48
52
|
end # Refresh
|
49
53
|
|
50
54
|
end # Bindings
|
@@ -27,6 +27,8 @@ module Vedeu
|
|
27
27
|
|
28
28
|
private
|
29
29
|
|
30
|
+
# :nocov:
|
31
|
+
|
30
32
|
# See {file:docs/events/system.md#\_cleanup_}
|
31
33
|
def cleanup!
|
32
34
|
Vedeu.bind(:_cleanup_) do
|
@@ -104,6 +106,8 @@ module Vedeu
|
|
104
106
|
end
|
105
107
|
end
|
106
108
|
|
109
|
+
# :nocov:
|
110
|
+
|
107
111
|
end # System
|
108
112
|
|
109
113
|
end # Bindings
|
@@ -28,6 +28,8 @@ module Vedeu
|
|
28
28
|
|
29
29
|
private
|
30
30
|
|
31
|
+
# :nocov:
|
32
|
+
|
31
33
|
# See {file:docs/events/visibility.md#\_clear_group_}
|
32
34
|
def clear_group!
|
33
35
|
Vedeu.bind(:_clear_group_) do |name|
|
@@ -102,6 +104,8 @@ module Vedeu
|
|
102
104
|
end
|
103
105
|
end
|
104
106
|
|
107
|
+
# :nocov:
|
108
|
+
|
105
109
|
end # Visibility
|
106
110
|
|
107
111
|
end # Bindings
|
data/lib/vedeu/borders/dsl.rb
CHANGED
@@ -19,11 +19,10 @@ module Vedeu
|
|
19
19
|
# @param name [String] The name of the interface or view to
|
20
20
|
# which this border belongs.
|
21
21
|
# @param block [Proc]
|
22
|
-
# @raise [Vedeu::Error::
|
23
|
-
# The required block was not given.
|
22
|
+
# @raise [Vedeu::Error::RequiresBlock]
|
24
23
|
# @return [Vedeu::Borders::Border]
|
25
24
|
def self.border(name, &block)
|
26
|
-
fail Vedeu::Error::
|
25
|
+
fail Vedeu::Error::RequiresBlock unless block_given?
|
27
26
|
|
28
27
|
Vedeu::Borders::Border.build(enabled: true, name: name, &block).store
|
29
28
|
end
|
@@ -269,6 +269,19 @@ module Vedeu
|
|
269
269
|
options[:colour_mode] = value
|
270
270
|
end
|
271
271
|
|
272
|
+
# Sets the height of the terminal.
|
273
|
+
#
|
274
|
+
# Vedeu.configure do
|
275
|
+
# height 25
|
276
|
+
# # ...
|
277
|
+
# end
|
278
|
+
#
|
279
|
+
# @param height [Fixnum]
|
280
|
+
# @return [Fixnum]
|
281
|
+
def height(height = 25)
|
282
|
+
options[:height] = height
|
283
|
+
end
|
284
|
+
|
272
285
|
# Sets the location of the log file.
|
273
286
|
#
|
274
287
|
# Vedeu.configure do
|
@@ -452,6 +465,19 @@ module Vedeu
|
|
452
465
|
end
|
453
466
|
end
|
454
467
|
|
468
|
+
# Sets the width of the terminal.
|
469
|
+
#
|
470
|
+
# Vedeu.configure do
|
471
|
+
# width 80
|
472
|
+
# # ...
|
473
|
+
# end
|
474
|
+
#
|
475
|
+
# @param width [Fixnum]
|
476
|
+
# @return [Fixnum]
|
477
|
+
def width(width = 80)
|
478
|
+
options[:width] = width
|
479
|
+
end
|
480
|
+
|
455
481
|
private
|
456
482
|
|
457
483
|
# Returns the options set via the configuration API DSL or an
|
@@ -139,6 +139,13 @@ module Vedeu
|
|
139
139
|
instance.options[:drb_width]
|
140
140
|
end
|
141
141
|
|
142
|
+
# Returns the client defined height for the terminal.
|
143
|
+
#
|
144
|
+
# @return [Fixnum]
|
145
|
+
def height
|
146
|
+
instance.options[:height]
|
147
|
+
end
|
148
|
+
|
142
149
|
# Returns whether the application is interactive (required user
|
143
150
|
# input) or standalone (will run until terminates of natural
|
144
151
|
# causes.) Default is true; meaning the application will require
|
@@ -224,6 +231,13 @@ module Vedeu
|
|
224
231
|
instance.options[:terminal_mode]
|
225
232
|
end
|
226
233
|
|
234
|
+
# Returns the client defined width for the terminal.
|
235
|
+
#
|
236
|
+
# @return [Fixnum]
|
237
|
+
def width
|
238
|
+
instance.options[:width]
|
239
|
+
end
|
240
|
+
|
227
241
|
# @param value [void]
|
228
242
|
# @return [void]
|
229
243
|
def options=(value)
|
@@ -293,6 +307,7 @@ module Vedeu
|
|
293
307
|
drb_port: nil,
|
294
308
|
drb_height: 25,
|
295
309
|
drb_width: 80,
|
310
|
+
height: nil,
|
296
311
|
interactive: true,
|
297
312
|
log: nil,
|
298
313
|
log_only: [],
|
@@ -303,6 +318,7 @@ module Vedeu
|
|
303
318
|
stdout: nil,
|
304
319
|
stderr: nil,
|
305
320
|
terminal_mode: :raw,
|
321
|
+
width: nil,
|
306
322
|
}
|
307
323
|
end
|
308
324
|
|
@@ -71,11 +71,10 @@ module Vedeu
|
|
71
71
|
# # ...
|
72
72
|
# end
|
73
73
|
#
|
74
|
-
# @raise [Vedeu::Error::
|
75
|
-
# The required block was not given.
|
74
|
+
# @raise [Vedeu::Error::RequiresBlock]
|
76
75
|
# @return [Vedeu::Views::Views<Vedeu::Views::View>]
|
77
76
|
def view(name = '', &block)
|
78
|
-
fail Vedeu::Error::
|
77
|
+
fail Vedeu::Error::RequiresBlock unless block_given?
|
79
78
|
|
80
79
|
new_model = model.member.build(new_attributes(name), &block)
|
81
80
|
|
data/lib/vedeu/dsl/group.rb
CHANGED
@@ -54,11 +54,10 @@ module Vedeu
|
|
54
54
|
#
|
55
55
|
# @param name [String] The name of this group.
|
56
56
|
# @param block [Proc]
|
57
|
-
# @raise [Vedeu::Error::
|
58
|
-
# not given.
|
57
|
+
# @raise [Vedeu::Error::RequiresBlock]
|
59
58
|
# @return [Vedeu::Models::Group]
|
60
59
|
def self.group(name, &block)
|
61
|
-
fail Vedeu::Error::
|
60
|
+
fail Vedeu::Error::RequiresBlock unless block_given?
|
62
61
|
|
63
62
|
Vedeu::Models::Group.build(name: name, &block).store
|
64
63
|
end
|
data/lib/vedeu/dsl/interface.rb
CHANGED
@@ -31,13 +31,11 @@ module Vedeu
|
|
31
31
|
# execution lifetime.
|
32
32
|
# @param block [Proc] A set of attributes which define the
|
33
33
|
# features of the interface.
|
34
|
-
# @raise [Vedeu::Error::
|
35
|
-
# not given.
|
34
|
+
# @raise [Vedeu::Error::RequiresBlock]
|
36
35
|
# @return [Vedeu::Models::Interface]
|
37
36
|
# @todo More documentation required.
|
38
37
|
def interface(name, &block)
|
39
|
-
fail Vedeu::Error::
|
40
|
-
'block not given' unless block_given?
|
38
|
+
fail Vedeu::Error::RequiresBlock unless block_given?
|
41
39
|
fail Vedeu::Error::MissingRequired,
|
42
40
|
'name not given' unless present?(name)
|
43
41
|
|
data/lib/vedeu/dsl/keymap.rb
CHANGED
@@ -2,19 +2,20 @@ module Vedeu
|
|
2
2
|
|
3
3
|
module DSL
|
4
4
|
|
5
|
-
# You can define keymaps by name which matches a defined
|
6
|
-
# that interface is in focus, keys pressed as part
|
7
|
-
# affect that interface. This allows you
|
8
|
-
# for your application.
|
5
|
+
# You can define keymaps by name which matches a defined
|
6
|
+
# interface. When that interface is in focus, keys pressed as part
|
7
|
+
# of this definition will affect that interface. This allows you
|
8
|
+
# to form context driven behaviour for your application.
|
9
9
|
#
|
10
10
|
class Keymap
|
11
11
|
|
12
12
|
include Vedeu::Common
|
13
13
|
include Vedeu::DSL
|
14
14
|
|
15
|
-
# Define actions for keypresses for when specific interfaces are
|
16
|
-
# Unless an interface is specified, the key will be
|
17
|
-
# meaning its action will happen
|
15
|
+
# Define actions for keypresses for when specific interfaces are
|
16
|
+
# in focus. Unless an interface is specified, the key will be
|
17
|
+
# assumed to be global, meaning its action will happen
|
18
|
+
# regardless of the interface in focus.
|
18
19
|
#
|
19
20
|
# Vedeu.keymap 'some_interface' do
|
20
21
|
# key('s') { Vedeu.trigger(:save) }
|
@@ -44,13 +45,13 @@ module Vedeu
|
|
44
45
|
# end
|
45
46
|
# end
|
46
47
|
#
|
47
|
-
# @param name [String] The name of the interface which this
|
48
|
-
# to.
|
48
|
+
# @param name [String] The name of the interface which this
|
49
|
+
# keymap relates to.
|
49
50
|
# @param block [Proc]
|
50
|
-
# @raise [Vedeu::Error::
|
51
|
+
# @raise [Vedeu::Error::RequiresBlock]
|
51
52
|
# @return [Vedeu::Input::Keymap]
|
52
|
-
# @todo Try to remember why we need to pre-create the keymap in
|
53
|
-
# repository.
|
53
|
+
# @todo Try to remember why we need to pre-create the keymap in
|
54
|
+
# the repository.
|
54
55
|
def self.keymap(name, &block)
|
55
56
|
Vedeu::Input::Keymap.new(name: name).store
|
56
57
|
|
@@ -73,11 +74,12 @@ module Vedeu
|
|
73
74
|
# The key(s) pressed. Special keys can be found in
|
74
75
|
# {Vedeu::Input::Input#specials}. When more than one key is
|
75
76
|
# defined, then the extras are treated as aliases.
|
76
|
-
# @param block [Proc] The action to perform when this key is
|
77
|
-
# be a method call or event triggered.
|
77
|
+
# @param block [Proc] The action to perform when this key is
|
78
|
+
# pressed. Can be a method call or event triggered.
|
78
79
|
# @raise [Vedeu::Error::InvalidSyntax]
|
79
|
-
# When the required block is not given, the values parameter
|
80
|
-
# undefined, or when processing the collection, a member
|
80
|
+
# When the required block is not given, the values parameter
|
81
|
+
# is undefined, or when processing the collection, a member
|
82
|
+
# is undefined.
|
81
83
|
# @return [Array] A collection containing the keypress(es).
|
82
84
|
def key(*values, &block)
|
83
85
|
fail Vedeu::Error::InvalidSyntax,
|
@@ -99,12 +101,13 @@ module Vedeu
|
|
99
101
|
|
100
102
|
# Define the name of the keymap.
|
101
103
|
#
|
102
|
-
# To only allow certain keys to work with specific interfaces,
|
103
|
-
# same name as the interface.
|
104
|
+
# To only allow certain keys to work with specific interfaces,
|
105
|
+
# use the same name as the interface.
|
104
106
|
#
|
105
|
-
# When the name '_global_' is used, all keys in the keymap block
|
106
|
-
# available to all interfaces. Once a key has been
|
107
|
-
# '_global_' keymap, it cannot be used for a
|
107
|
+
# When the name '_global_' is used, all keys in the keymap block
|
108
|
+
# will be available to all interfaces. Once a key has been
|
109
|
+
# defined in the '_global_' keymap, it cannot be used for a
|
110
|
+
# specific interface.
|
108
111
|
#
|
109
112
|
# Vedeu.keymap do
|
110
113
|
# name 'some_interface'
|
data/lib/vedeu/dsl/line.rb
CHANGED
@@ -59,8 +59,7 @@ module Vedeu
|
|
59
59
|
# end
|
60
60
|
# end
|
61
61
|
#
|
62
|
-
# @raise [Vedeu::Error::
|
63
|
-
# provided.
|
62
|
+
# @raise [Vedeu::Error::RequiresBlock]
|
64
63
|
# @return [Vedeu::Views::Lines]
|
65
64
|
def line(value = '', &block)
|
66
65
|
if block_given?
|
@@ -73,7 +72,7 @@ module Vedeu
|
|
73
72
|
value: [build_stream(value)])
|
74
73
|
|
75
74
|
else
|
76
|
-
fail Vedeu::Error::
|
75
|
+
fail Vedeu::Error::RequiresBlock unless block_given?
|
77
76
|
|
78
77
|
end
|
79
78
|
|
@@ -100,12 +99,11 @@ module Vedeu
|
|
100
99
|
# end
|
101
100
|
#
|
102
101
|
# @param block [Proc]
|
103
|
-
# @raise [Vedeu::Error::
|
104
|
-
# not given.
|
102
|
+
# @raise [Vedeu::Error::RequiresBlock]
|
105
103
|
# @return [Vedeu::Views::Streams<Vedeu::Views::Stream>]
|
106
104
|
# @see Vedeu::DSL::Stream for subdirectives.
|
107
105
|
def streams(&block)
|
108
|
-
fail Vedeu::Error::
|
106
|
+
fail Vedeu::Error::RequiresBlock unless block_given?
|
109
107
|
|
110
108
|
model.add(model.member.build(attributes, &block))
|
111
109
|
end
|
@@ -2,18 +2,20 @@ module Vedeu
|
|
2
2
|
|
3
3
|
module DSL
|
4
4
|
|
5
|
-
# Provides colour and style helpers for use in the
|
6
|
-
# {Vedeu::DSL::
|
5
|
+
# Provides colour and style helpers for use in the
|
6
|
+
# {Vedeu::DSL::Interface}, {Vedeu::DSL::Line} and
|
7
|
+
# {Vedeu::DSL::Stream} classes.
|
7
8
|
#
|
8
9
|
module Presentation
|
9
10
|
|
10
|
-
# Define the background colour for an interface, line, or a
|
11
|
-
# called with a block, will create a new stream
|
12
|
-
# specified. When the block
|
13
|
-
# of the parent.
|
11
|
+
# Define the background colour for an interface, line, or a
|
12
|
+
# stream. When called with a block, will create a new stream
|
13
|
+
# with the background colour specified. When the block
|
14
|
+
# terminates, the background will return to that of the parent.
|
14
15
|
#
|
15
|
-
# @note The last defined background colour for a particular
|
16
|
-
# line or stream overrides previously defined
|
16
|
+
# @note The last defined background colour for a particular
|
17
|
+
# interface, line or stream overrides previously defined
|
18
|
+
# entries in the same block.
|
17
19
|
#
|
18
20
|
# @param value [String] A HTML/CSS value.
|
19
21
|
#
|
@@ -56,11 +58,13 @@ module Vedeu
|
|
56
58
|
alias_method :fgcolor=, :foreground
|
57
59
|
|
58
60
|
# Define either or both foreground and background colours for an
|
59
|
-
# interface, line or a stream. At least one attribute is
|
61
|
+
# interface, line or a stream. At least one attribute is
|
62
|
+
# required.
|
60
63
|
#
|
61
|
-
# @note Rejects invalid keys and empty/nil attributes. Also, the
|
62
|
-
# defined colour for a particular interface, line or
|
63
|
-
# previously defined entries in the same
|
64
|
+
# @note Rejects invalid keys and empty/nil attributes. Also, the
|
65
|
+
# last defined colour for a particular interface, line or
|
66
|
+
# stream overrides previously defined entries in the same
|
67
|
+
# block.
|
64
68
|
#
|
65
69
|
# @param attrs [Hash] See {Vedeu::Colours::Colour}
|
66
70
|
#
|