vedeu 0.5.4 → 0.5.5
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/dsl.md +3 -3
- data/examples/borders_app.rb +2 -0
- data/examples/colours_app.rb +2 -0
- data/examples/configuration_app.rb +2 -0
- data/examples/drb_app.rb +2 -0
- data/examples/focus_app.rb +2 -0
- data/examples/hello_world.rb +2 -0
- data/examples/material_colours_app.rb +2 -0
- data/lib/vedeu.rb +2 -0
- data/lib/vedeu/all.rb +4 -13
- data/lib/vedeu/api.rb +7 -6
- data/lib/vedeu/borders/border.rb +1 -1
- data/lib/vedeu/borders/render_border.rb +18 -18
- data/lib/vedeu/buffers/buffer.rb +18 -28
- data/lib/vedeu/colours/colour.rb +1 -1
- data/lib/vedeu/colours/colour_translator.rb +1 -1
- data/lib/vedeu/cursor/cursor.rb +9 -6
- data/lib/vedeu/dsl/border.rb +1 -1
- data/lib/vedeu/dsl/composition.rb +5 -5
- data/lib/vedeu/dsl/geometry.rb +1 -1
- data/lib/vedeu/dsl/group.rb +1 -1
- data/lib/vedeu/dsl/interface.rb +69 -93
- data/lib/vedeu/dsl/keymap.rb +1 -1
- data/lib/vedeu/dsl/line.rb +11 -11
- data/lib/vedeu/dsl/shared.rb +81 -0
- data/lib/vedeu/dsl/stream.rb +3 -3
- data/lib/vedeu/dsl/view.rb +76 -64
- data/lib/vedeu/models/escape.rb +1 -1
- data/lib/vedeu/models/interface.rb +3 -57
- data/lib/vedeu/models/menu.rb +1 -1
- data/lib/vedeu/models/views/all.rb +22 -0
- data/lib/vedeu/models/views/char.rb +175 -0
- data/lib/vedeu/models/views/chars.rb +13 -0
- data/lib/vedeu/models/views/composition.rb +73 -0
- data/lib/vedeu/models/views/line.rb +111 -0
- data/lib/vedeu/models/views/lines.rb +13 -0
- data/lib/vedeu/models/views/stream.rb +122 -0
- data/lib/vedeu/models/views/streams.rb +13 -0
- data/lib/vedeu/models/views/view.rb +157 -0
- data/lib/vedeu/models/views/view_collection.rb +13 -0
- data/lib/vedeu/null/view.rb +67 -0
- data/lib/vedeu/output/clear/named_interface.rb +4 -4
- data/lib/vedeu/output/compressor.rb +6 -6
- data/lib/vedeu/output/html_char.rb +6 -6
- data/lib/vedeu/output/output.rb +3 -3
- data/lib/vedeu/output/presentation.rb +1 -1
- data/lib/vedeu/output/renderers/escape_sequence.rb +1 -1
- data/lib/vedeu/output/renderers/file.rb +1 -1
- data/lib/vedeu/output/renderers/html.rb +3 -3
- data/lib/vedeu/output/renderers/json.rb +4 -4
- data/lib/vedeu/output/renderers/null.rb +1 -1
- data/lib/vedeu/output/renderers/terminal.rb +5 -5
- data/lib/vedeu/output/renderers/text.rb +3 -3
- data/lib/vedeu/output/style.rb +1 -1
- data/lib/vedeu/output/text.rb +20 -15
- data/lib/vedeu/output/viewport.rb +16 -23
- data/lib/vedeu/output/virtual_buffer.rb +9 -8
- data/lib/vedeu/output/virtual_terminal.rb +11 -11
- data/lib/vedeu/output/wordwrap.rb +5 -5
- data/lib/vedeu/runtime/application.rb +1 -1
- data/lib/vedeu/runtime/main_loop.rb +1 -1
- data/lib/vedeu/templating/helpers.rb +11 -10
- data/lib/vedeu/templating/template.rb +1 -1
- data/lib/vedeu/templating/view_template.rb +6 -6
- data/lib/vedeu/version.rb +1 -2
- data/test/lib/vedeu/api_test.rb +30 -30
- data/test/lib/vedeu/buffers/buffer_test.rb +5 -139
- data/test/lib/vedeu/colours/colour_translator_test.rb +3 -3
- data/test/lib/vedeu/configuration/api_test.rb +3 -3
- data/test/lib/vedeu/cursor/refresh_cursor_test.rb +1 -1
- data/test/lib/vedeu/dsl/composition_test.rb +7 -7
- data/test/lib/vedeu/dsl/group_test.rb +2 -2
- data/test/lib/vedeu/dsl/interface_test.rb +31 -21
- data/test/lib/vedeu/dsl/keymap_test.rb +4 -4
- data/test/lib/vedeu/dsl/line_test.rb +8 -8
- data/test/lib/vedeu/dsl/stream_test.rb +4 -4
- data/test/lib/vedeu/dsl/text_test.rb +11 -11
- data/test/lib/vedeu/dsl/view_test.rb +24 -29
- data/test/lib/vedeu/geometry/grid_test.rb +4 -4
- data/test/lib/vedeu/input/key_test.rb +1 -1
- data/test/lib/vedeu/internal_api_test.rb +18 -18
- data/test/lib/vedeu/models/focus_test.rb +54 -54
- data/test/lib/vedeu/models/interface_test.rb +11 -105
- data/test/lib/vedeu/models/menu_test.rb +1 -1
- data/test/lib/vedeu/models/views/char_test.rb +257 -0
- data/test/lib/vedeu/models/views/chars_test.rb +22 -0
- data/test/lib/vedeu/models/views/composition_test.rb +61 -0
- data/test/lib/vedeu/models/views/line_test.rb +189 -0
- data/test/lib/vedeu/models/views/lines_test.rb +22 -0
- data/test/lib/vedeu/models/views/stream_test.rb +138 -0
- data/test/lib/vedeu/models/views/streams_test.rb +22 -0
- data/test/lib/vedeu/models/views/view_test.rb +40 -0
- data/test/lib/vedeu/null/view_test.rb +12 -0
- data/test/lib/vedeu/output/clear/named_interface_test.rb +4 -4
- data/test/lib/vedeu/output/compressor_test.rb +28 -28
- data/test/lib/vedeu/output/html_char_test.rb +2 -2
- data/test/lib/vedeu/output/presentation_test.rb +10 -14
- data/test/lib/vedeu/output/renderers/escape_sequence_test.rb +20 -4
- data/test/lib/vedeu/output/renderers/html_test.rb +4 -4
- data/test/lib/vedeu/output/renderers/json_test.rb +3 -3
- data/test/lib/vedeu/output/text_test.rb +10 -10
- data/test/lib/vedeu/output/viewport_test.rb +21 -23
- data/test/lib/vedeu/output/virtual_buffer_test.rb +1 -1
- data/test/lib/vedeu/output/virtual_terminal_test.rb +1 -1
- data/test/lib/vedeu/output/wordwrap_test.rb +9 -9
- data/test/lib/vedeu/repositories/repository_test.rb +2 -2
- data/test/lib/vedeu/templating/helpers_test.rb +6 -39
- data/test/lib/vedeu/templating/template_test.rb +2 -2
- data/test/lib/vedeu/templating/view_template_test.rb +91 -91
- data/test/lib/vedeu/terminal_test.rb +1 -1
- metadata +33 -27
- data/lib/vedeu/buffers/display_buffer.rb +0 -39
- data/lib/vedeu/models/char.rb +0 -170
- data/lib/vedeu/models/chars.rb +0 -9
- data/lib/vedeu/models/composition.rb +0 -66
- data/lib/vedeu/models/line.rb +0 -112
- data/lib/vedeu/models/lines.rb +0 -9
- data/lib/vedeu/models/stream.rb +0 -122
- data/lib/vedeu/models/streams.rb +0 -9
- data/test/lib/vedeu/buffers/display_buffer_test.rb +0 -61
- data/test/lib/vedeu/models/char_test.rb +0 -253
- data/test/lib/vedeu/models/chars_test.rb +0 -18
- data/test/lib/vedeu/models/composition_test.rb +0 -57
- data/test/lib/vedeu/models/line_test.rb +0 -189
- data/test/lib/vedeu/models/lines_test.rb +0 -18
- data/test/lib/vedeu/models/stream_test.rb +0 -141
- data/test/lib/vedeu/models/streams_test.rb +0 -18
@@ -0,0 +1,122 @@
|
|
1
|
+
module Vedeu
|
2
|
+
|
3
|
+
module Views
|
4
|
+
|
5
|
+
# Represents a character or collection of characters as part of a
|
6
|
+
# {Vedeu::Views::Line} which you wish to colour and style independently of
|
7
|
+
# the other characters in that line.
|
8
|
+
#
|
9
|
+
class Stream
|
10
|
+
|
11
|
+
include Vedeu::Model
|
12
|
+
include Vedeu::Presentation
|
13
|
+
|
14
|
+
collection Vedeu::Views::Chars
|
15
|
+
member Vedeu::Views::Char
|
16
|
+
|
17
|
+
# @!attribute [rw] parent
|
18
|
+
# @return [Vedeu::Views::Line]
|
19
|
+
attr_accessor :parent
|
20
|
+
|
21
|
+
# @!attribute [rw] value
|
22
|
+
# @return [String]
|
23
|
+
attr_accessor :value
|
24
|
+
alias_method :content, :value
|
25
|
+
alias_method :data, :value
|
26
|
+
alias_method :text, :value
|
27
|
+
|
28
|
+
# @!attribute [r] attributes
|
29
|
+
# @return [Hash]
|
30
|
+
attr_reader :attributes
|
31
|
+
|
32
|
+
# Returns a new instance of Vedeu::Views::Stream.
|
33
|
+
#
|
34
|
+
# @param attributes [Hash]
|
35
|
+
# @option attributes value [String]
|
36
|
+
# @option attributes parent [Vedeu::Views::Line]
|
37
|
+
# @option attributes colour [Vedeu::Colour]
|
38
|
+
# @option attributes style [Vedeu::Style]
|
39
|
+
# @return [Vedeu::Views::Stream]
|
40
|
+
def initialize(attributes = {})
|
41
|
+
@attributes = defaults.merge!(attributes)
|
42
|
+
|
43
|
+
@attributes.each do |key, value|
|
44
|
+
instance_variable_set("@#{key}", value)
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
# @param child [Vedeu::Views::Stream]
|
49
|
+
# @return [Vedeu::Views::Streams]
|
50
|
+
def add(child)
|
51
|
+
parent.add(child)
|
52
|
+
end
|
53
|
+
alias_method :<<, :add
|
54
|
+
|
55
|
+
# Returns an array of characters, each element is the escape sequences of
|
56
|
+
# colours and styles for this stream, the character itself, and the escape
|
57
|
+
# sequences of colours and styles for the parent of the stream
|
58
|
+
# ({Vedeu::Views::Line}).
|
59
|
+
#
|
60
|
+
# @return [Array]
|
61
|
+
def chars
|
62
|
+
return [] if empty?
|
63
|
+
|
64
|
+
@chars ||= value.chars.map do |char|
|
65
|
+
member.new(value: char,
|
66
|
+
parent: parent,
|
67
|
+
colour: colour,
|
68
|
+
style: style,
|
69
|
+
position: nil)
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
# Returns a boolean indicating whether the stream has content.
|
74
|
+
#
|
75
|
+
# @return [Boolean]
|
76
|
+
def empty?
|
77
|
+
value.empty?
|
78
|
+
end
|
79
|
+
|
80
|
+
# An object is equal when its values are the same.
|
81
|
+
#
|
82
|
+
# @param other [Vedeu::Views::Char]
|
83
|
+
# @return [Boolean]
|
84
|
+
def eql?(other)
|
85
|
+
self.class == other.class && value == other.value &&
|
86
|
+
colour == other.colour && style == other.style &&
|
87
|
+
parent == other.parent
|
88
|
+
end
|
89
|
+
alias_method :==, :eql?
|
90
|
+
|
91
|
+
# @return [NilClass|String]
|
92
|
+
def name
|
93
|
+
parent.name if parent
|
94
|
+
end
|
95
|
+
|
96
|
+
# Returns the size of the content in characters without formatting.
|
97
|
+
#
|
98
|
+
# @return [Fixnum]
|
99
|
+
def size
|
100
|
+
value.size
|
101
|
+
end
|
102
|
+
|
103
|
+
private
|
104
|
+
|
105
|
+
# The default values for a new instance of this class.
|
106
|
+
#
|
107
|
+
# @return [Hash]
|
108
|
+
def defaults
|
109
|
+
{
|
110
|
+
client: nil,
|
111
|
+
colour: nil,
|
112
|
+
parent: nil,
|
113
|
+
style: nil,
|
114
|
+
value: '',
|
115
|
+
}
|
116
|
+
end
|
117
|
+
|
118
|
+
end # Stream
|
119
|
+
|
120
|
+
end # Views
|
121
|
+
|
122
|
+
end # Vedeu
|
@@ -0,0 +1,157 @@
|
|
1
|
+
module Vedeu
|
2
|
+
|
3
|
+
module Views
|
4
|
+
|
5
|
+
# Represents a container for {Vedeu::Views::Line} and {Vedeu::Views::Stream}
|
6
|
+
# objects.
|
7
|
+
#
|
8
|
+
class View
|
9
|
+
|
10
|
+
include Vedeu::Model
|
11
|
+
include Vedeu::Presentation
|
12
|
+
|
13
|
+
collection Vedeu::Views::Lines
|
14
|
+
member Vedeu::Views::Line
|
15
|
+
|
16
|
+
# @!attribute [rw] client
|
17
|
+
# @return [Fixnum|Float]
|
18
|
+
attr_accessor :client
|
19
|
+
|
20
|
+
# @!attribute [rw] name
|
21
|
+
# @return [String]
|
22
|
+
attr_accessor :name
|
23
|
+
|
24
|
+
# @!attribute [rw] parent
|
25
|
+
# @return [Vedeu::Views::Composition]
|
26
|
+
attr_accessor :parent
|
27
|
+
|
28
|
+
# @!attribute [rw] zindex
|
29
|
+
# @return [Fixnum]
|
30
|
+
attr_accessor :zindex
|
31
|
+
|
32
|
+
# @!attribute [r] attributes
|
33
|
+
# @return [Hash]
|
34
|
+
attr_reader :attributes
|
35
|
+
|
36
|
+
# @!attribute [w] lines
|
37
|
+
# @return [Array<Vedeu::Views::Line>]
|
38
|
+
attr_writer :lines
|
39
|
+
|
40
|
+
# Return a new instance of Vedeu::Views::View.
|
41
|
+
#
|
42
|
+
# @param attributes [Hash]
|
43
|
+
# @option attributes client [Vedeu::Client]
|
44
|
+
# @option attributes colour [Vedeu::Colour]
|
45
|
+
# @option attributes lines [Vedeu::Views::Lines]
|
46
|
+
# @option attributes name [String]
|
47
|
+
# @option attributes parent [Vedeu::Views::Composition]
|
48
|
+
# @option attributes style [Vedeu::Style]
|
49
|
+
# @option attributes zindex [Fixnum]
|
50
|
+
# @return [Vedeu::Views::View]
|
51
|
+
def initialize(attributes = {})
|
52
|
+
@attributes = defaults.merge!(attributes)
|
53
|
+
|
54
|
+
@attributes.each do |key, value|
|
55
|
+
instance_variable_set("@#{key}", value)
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
# @param child [Vedeu::Views::Line]
|
60
|
+
# @return [void]
|
61
|
+
def add(child)
|
62
|
+
@lines = lines.add(child)
|
63
|
+
end
|
64
|
+
alias_method :<<, :add
|
65
|
+
|
66
|
+
# Override Ruby's Object#inspect method to provide a more helpful output.
|
67
|
+
#
|
68
|
+
# @return [String]
|
69
|
+
def inspect
|
70
|
+
"<Vedeu::Views::View name: '#{name}', zindex: '#{zindex}'>"
|
71
|
+
end
|
72
|
+
|
73
|
+
# @return [Vedeu::Views::Lines]
|
74
|
+
def lines
|
75
|
+
collection.coerce(@lines, self)
|
76
|
+
end
|
77
|
+
alias_method :value, :lines
|
78
|
+
|
79
|
+
# Returns a boolean indicating whether the interface has content.
|
80
|
+
#
|
81
|
+
# @return [Boolean]
|
82
|
+
def lines?
|
83
|
+
lines.any?
|
84
|
+
end
|
85
|
+
|
86
|
+
# @return [Array<Array<Vedeu::Views::Char>>]
|
87
|
+
def render
|
88
|
+
return [] unless visible?
|
89
|
+
|
90
|
+
output = [
|
91
|
+
Vedeu::Cursor.hide_cursor(name),
|
92
|
+
Vedeu::Clear::NamedInterface.render(name),
|
93
|
+
Vedeu::Viewport.render(self),
|
94
|
+
Vedeu.borders.by_name(name).render,
|
95
|
+
Vedeu::Cursor.show_cursor(name),
|
96
|
+
]
|
97
|
+
|
98
|
+
output
|
99
|
+
end
|
100
|
+
|
101
|
+
# Store the view and immediately refresh it; causing to be pushed to the
|
102
|
+
# Terminal. Called by {Vedeu::DSL::View.renders}.
|
103
|
+
#
|
104
|
+
# @return [Vedeu::Views::View]
|
105
|
+
def store_immediate
|
106
|
+
store_deferred
|
107
|
+
|
108
|
+
Vedeu::Refresh.by_name(name)
|
109
|
+
|
110
|
+
self
|
111
|
+
end
|
112
|
+
|
113
|
+
# When a name is given, the view is stored with this name. This view will
|
114
|
+
# be shown next time a refresh event is triggered with this name.
|
115
|
+
# Called by {Vedeu::DSL::View.views}.
|
116
|
+
#
|
117
|
+
# @raise [Vedeu::InvalidSyntax] The name is not defined.
|
118
|
+
# @return [Vedeu::Views::View]
|
119
|
+
def store_deferred
|
120
|
+
unless present?(name)
|
121
|
+
fail Vedeu::InvalidSyntax, 'Cannot store an interface without a name.'
|
122
|
+
end
|
123
|
+
|
124
|
+
Vedeu.buffers.by_name(name).add(self)
|
125
|
+
|
126
|
+
self
|
127
|
+
end
|
128
|
+
|
129
|
+
# Returns a boolean indicating whether the view is visible.
|
130
|
+
#
|
131
|
+
# @return [Boolean]
|
132
|
+
def visible?
|
133
|
+
Vedeu.interfaces.by_name(name).visible?
|
134
|
+
end
|
135
|
+
|
136
|
+
private
|
137
|
+
|
138
|
+
# The default values for a new instance of this class.
|
139
|
+
#
|
140
|
+
# @return [Hash]
|
141
|
+
def defaults
|
142
|
+
{
|
143
|
+
client: nil,
|
144
|
+
colour: Vedeu::Colour.coerce(background: :default,
|
145
|
+
foreground: :default),
|
146
|
+
name: '',
|
147
|
+
parent: nil,
|
148
|
+
style: :normal,
|
149
|
+
zindex: 0,
|
150
|
+
}
|
151
|
+
end
|
152
|
+
|
153
|
+
end # View
|
154
|
+
|
155
|
+
end # Views
|
156
|
+
|
157
|
+
end # Vedeu
|
@@ -0,0 +1,67 @@
|
|
1
|
+
require 'vedeu/output/presentation'
|
2
|
+
|
3
|
+
module Vedeu
|
4
|
+
|
5
|
+
module Null
|
6
|
+
|
7
|
+
# Provides a non-existent model to swallow messages.
|
8
|
+
#
|
9
|
+
class View
|
10
|
+
|
11
|
+
include Vedeu::Presentation
|
12
|
+
|
13
|
+
# @!attribute [r] name,
|
14
|
+
# @return [String]
|
15
|
+
attr_reader :name
|
16
|
+
|
17
|
+
# @!attribute [r] attributes
|
18
|
+
# @return [String]
|
19
|
+
attr_reader :attributes
|
20
|
+
|
21
|
+
# @!attribute [rw] visible
|
22
|
+
# @return [String]
|
23
|
+
attr_accessor :visible
|
24
|
+
alias_method :visible?, :visible
|
25
|
+
|
26
|
+
# Returns a new instance of Vedeu::Null::View.
|
27
|
+
#
|
28
|
+
# @param attributes [Hash<Symbol => void>]
|
29
|
+
# @option attributes name [String]
|
30
|
+
# @return [Vedeu::Null::View]
|
31
|
+
def initialize(attributes = {})
|
32
|
+
@attributes = attributes
|
33
|
+
@name = @attributes[:name]
|
34
|
+
@visible = @attributes[:visible]
|
35
|
+
end
|
36
|
+
|
37
|
+
# @return [NilClass]
|
38
|
+
def null
|
39
|
+
nil
|
40
|
+
end
|
41
|
+
alias_method :parent, :null
|
42
|
+
alias_method :zindex, :null
|
43
|
+
|
44
|
+
# @return [Boolean]
|
45
|
+
def null?
|
46
|
+
true
|
47
|
+
end
|
48
|
+
|
49
|
+
# Pretend to store this model in the repository.
|
50
|
+
#
|
51
|
+
# @return [Vedeu::Null::View]
|
52
|
+
def store
|
53
|
+
self
|
54
|
+
end
|
55
|
+
|
56
|
+
# The null interface should not be visible.
|
57
|
+
#
|
58
|
+
# @return [FalseClass]
|
59
|
+
def visible?
|
60
|
+
false
|
61
|
+
end
|
62
|
+
|
63
|
+
end # View
|
64
|
+
|
65
|
+
end # Null
|
66
|
+
|
67
|
+
end # Vedeu
|
@@ -56,7 +56,7 @@ module Vedeu
|
|
56
56
|
# then starting write space characters over the area which the interface
|
57
57
|
# occupies.
|
58
58
|
#
|
59
|
-
# @return [Array<Array<Vedeu::Char>>]
|
59
|
+
# @return [Array<Array<Vedeu::Views::Char>>]
|
60
60
|
def output
|
61
61
|
Vedeu.timer("Clearing: '#{name}'") do
|
62
62
|
@y = geometry.y
|
@@ -67,9 +67,9 @@ module Vedeu
|
|
67
67
|
|
68
68
|
@clear ||= Array.new(@height) do |iy|
|
69
69
|
Array.new(@width) do |ix|
|
70
|
-
Vedeu::Char.new(value: ' ',
|
71
|
-
|
72
|
-
|
70
|
+
Vedeu::Views::Char.new(value: ' ',
|
71
|
+
colour: @colour,
|
72
|
+
position: [@y + iy, @x + ix])
|
73
73
|
end
|
74
74
|
end
|
75
75
|
end
|
@@ -1,12 +1,12 @@
|
|
1
1
|
module Vedeu
|
2
2
|
|
3
|
-
# During the conversion of a Vedeu::Char object into a string of escape
|
3
|
+
# During the conversion of a Vedeu::Views::Char object into a string of escape
|
4
4
|
# sequences, this class removes multiple occurences of the same escape
|
5
5
|
# sequence, resulting in a smaller payload being sent to the renderer.
|
6
6
|
#
|
7
7
|
class Compressor
|
8
8
|
|
9
|
-
# @param output [Array<Array<Vedeu::Char>>]
|
9
|
+
# @param output [Array<Array<Vedeu::Views::Char>>]
|
10
10
|
# @return [String]
|
11
11
|
def self.render(output)
|
12
12
|
new(output).render
|
@@ -14,7 +14,7 @@ module Vedeu
|
|
14
14
|
|
15
15
|
# Returns a new instance of Vedeu::Compressor.
|
16
16
|
#
|
17
|
-
# @param output [Array<Array<Vedeu::Char>>]
|
17
|
+
# @param output [Array<Array<Vedeu::Views::Char>>]
|
18
18
|
# @return [Vedeu::Compressor]
|
19
19
|
def initialize(output)
|
20
20
|
@output = output
|
@@ -38,7 +38,7 @@ module Vedeu
|
|
38
38
|
protected
|
39
39
|
|
40
40
|
# @!attribute [r] output
|
41
|
-
# @return [Array<Array<Vedeu::Char>>]
|
41
|
+
# @return [Array<Array<Vedeu::Views::Char>>]
|
42
42
|
attr_reader :output
|
43
43
|
|
44
44
|
private
|
@@ -62,7 +62,7 @@ module Vedeu
|
|
62
62
|
out
|
63
63
|
end
|
64
64
|
|
65
|
-
# @param char [Vedeu::Char]
|
65
|
+
# @param char [Vedeu::Views::Char]
|
66
66
|
# @return [String]
|
67
67
|
def colour_for(char)
|
68
68
|
return '' if char.colour == @colour
|
@@ -71,7 +71,7 @@ module Vedeu
|
|
71
71
|
@colour.to_s
|
72
72
|
end
|
73
73
|
|
74
|
-
# @param char [Vedeu::Char]
|
74
|
+
# @param char [Vedeu::Views::Char]
|
75
75
|
# @return [String]
|
76
76
|
def style_for(char)
|
77
77
|
return '' if char.style == @style
|