vedeu 0.8.20 → 0.8.21
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/docs/dsl/by_method/geometry/align_centre.md +3 -0
- data/docs/dsl/by_method/geometry/columns.md +12 -1
- data/docs/dsl/by_method/geometry/height.md +9 -0
- data/docs/dsl/by_method/geometry/horizontal_alignment.md +3 -1
- data/docs/dsl/by_method/geometry/rows.md +12 -1
- data/docs/dsl/by_method/geometry/vertical_alignment.md +3 -1
- data/docs/dsl/by_method/geometry/width.md +9 -0
- data/docs/dsl/by_method/geometry/x.md +11 -1
- data/docs/dsl/by_method/geometry/xn.md +14 -1
- data/docs/dsl/by_method/geometry/y.md +11 -1
- data/docs/dsl/by_method/geometry/yn.md +12 -1
- data/docs/dsl/by_method/geometry/zindex.md +18 -0
- data/docs/dsl/by_method/template_for.md +10 -0
- data/docs/dsl/by_method/use.md +21 -0
- data/integrations/342_streams.rb +3 -1
- data/integrations/dsl_app_001.rb +3 -1
- data/integrations/dsl_app_002.rb +3 -1
- data/integrations/dsl_app_003.rb +3 -1
- data/integrations/dsl_app_004.rb +3 -1
- data/integrations/dsl_app_005.rb +3 -1
- data/integrations/dsl_app_006.rb +3 -1
- data/integrations/dsl_app_007.rb +3 -1
- data/integrations/dsl_app_008.rb +3 -1
- data/integrations/dsl_app_009.rb +3 -1
- data/integrations/dsl_app_010.rb +3 -1
- data/integrations/dsl_app_011.rb +3 -1
- data/integrations/dsl_app_012.rb +3 -1
- data/integrations/dsl_app_013.rb +3 -1
- data/integrations/dsl_app_014.rb +3 -1
- data/integrations/dsl_app_015.rb +3 -1
- data/integrations/dsl_app_016.rb +3 -1
- data/integrations/dsl_app_017.rb +3 -1
- data/integrations/dsl_app_018.rb +3 -1
- data/integrations/dsl_app_019.rb +3 -1
- data/integrations/dsl_app_020.rb +3 -1
- data/integrations/dsl_app_021.rb +3 -1
- data/integrations/dsl_app_022.rb +3 -1
- data/integrations/dsl_app_border_001.rb +3 -1
- data/integrations/dsl_app_border_002.rb +3 -1
- data/integrations/dsl_app_border_003.rb +3 -1
- data/integrations/dsl_app_border_004.rb +3 -1
- data/integrations/dsl_app_border_005.rb +3 -1
- data/integrations/dsl_app_border_006.rb +3 -1
- data/integrations/dsl_app_border_007.rb +3 -1
- data/integrations/dsl_app_border_008.rb +3 -1
- data/integrations/dsl_app_border_009.rb +3 -1
- data/integrations/dsl_app_border_010.rb +3 -1
- data/integrations/dsl_app_border_011.rb +3 -1
- data/integrations/test_runner.rb +20 -10
- data/lib/vedeu/borders/border.rb +3 -0
- data/lib/vedeu/borders/dsl.rb +1 -1
- data/lib/vedeu/borders/refresh.rb +1 -1
- data/lib/vedeu/borders/repository.rb +0 -2
- data/lib/vedeu/buffers/buffer.rb +1 -0
- data/lib/vedeu/buffers/repository.rb +0 -2
- data/lib/vedeu/buffers/view.rb +3 -3
- data/lib/vedeu/cells/empty.rb +3 -0
- data/lib/vedeu/colours/background.rb +3 -8
- data/lib/vedeu/colours/foreground.rb +3 -8
- data/lib/vedeu/configuration/api.rb +1 -1
- data/lib/vedeu/configuration/configuration.rb +3 -2
- data/lib/vedeu/cursors/cursor.rb +1 -1
- data/lib/vedeu/cursors/repository.rb +0 -2
- data/lib/vedeu/dsl/border.rb +1 -1
- data/lib/vedeu/dsl/dsl.rb +1 -1
- data/lib/vedeu/dsl/elements.rb +4 -4
- data/lib/vedeu/dsl/geometry.rb +2 -2
- data/lib/vedeu/dsl/helpers/attributes.rb +1 -1
- data/lib/vedeu/dsl/use.rb +1 -21
- data/lib/vedeu/dsl/view.rb +3 -13
- data/lib/vedeu/dsl/views.rb +15 -18
- data/lib/vedeu/editor/lines.rb +1 -1
- data/lib/vedeu/editor/repository.rb +0 -2
- data/lib/vedeu/esc/background.rb +17 -17
- data/lib/vedeu/esc/colours.rb +2 -2
- data/lib/vedeu/esc/esc.rb +1 -1
- data/lib/vedeu/esc/foreground.rb +17 -17
- data/lib/vedeu/events/event.rb +1 -3
- data/lib/vedeu/events/repository.rb +0 -2
- data/lib/vedeu/geometries/dsl/dsl.rb +18 -183
- data/lib/vedeu/geometries/move.rb +34 -49
- data/lib/vedeu/geometries/position.rb +1 -1
- data/lib/vedeu/geometries/repository.rb +0 -2
- data/lib/vedeu/groups/dsl.rb +1 -1
- data/lib/vedeu/groups/repository.rb +0 -2
- data/lib/vedeu/input/dsl.rb +2 -3
- data/lib/vedeu/input/key.rb +1 -1
- data/lib/vedeu/input/repository.rb +0 -2
- data/lib/vedeu/interfaces/dsl.rb +2 -3
- data/lib/vedeu/interfaces/interface.rb +3 -0
- data/lib/vedeu/interfaces/null.rb +3 -0
- data/lib/vedeu/interfaces/repository.rb +0 -2
- data/lib/vedeu/logging/debug.rb +1 -1
- data/lib/vedeu/logging/log.rb +19 -5
- data/lib/vedeu/logging/timer.rb +2 -2
- data/lib/vedeu/menus/dsl.rb +2 -3
- data/lib/vedeu/menus/repository.rb +0 -2
- data/lib/vedeu/models/page.rb +1 -1
- data/lib/vedeu/models/row.rb +1 -1
- data/lib/vedeu/output/compressor_cache.rb +10 -4
- data/lib/vedeu/output/compressors/simple.rb +7 -3
- data/lib/vedeu/output/write.rb +3 -0
- data/lib/vedeu/presentation/colour.rb +1 -1
- data/lib/vedeu/presentation/position.rb +1 -1
- data/lib/vedeu/presentation/presentation.rb +0 -4
- data/lib/vedeu/presentation/styles.rb +1 -1
- data/lib/vedeu/renderers/all.rb +4 -4
- data/lib/vedeu/repositories/assemblage.rb +2 -2
- data/lib/vedeu/repositories/model.rb +2 -6
- data/lib/vedeu/repositories/registerable.rb +10 -0
- data/lib/vedeu/repositories/store.rb +1 -1
- data/lib/vedeu/runtime/application.rb +3 -3
- data/lib/vedeu/runtime/launcher.rb +1 -1
- data/lib/vedeu/templating/helpers.rb +4 -4
- data/lib/vedeu/terminal/terminal.rb +2 -2
- data/lib/vedeu/version.rb +1 -1
- data/lib/vedeu/views/composition.rb +3 -0
- data/lib/vedeu/views/line.rb +3 -0
- data/lib/vedeu/views/stream.rb +3 -0
- data/lib/vedeu/views/view.rb +3 -0
- data/lib/vedeu.rb +3 -0
- data/test/lib/vedeu/borders/repository_test.rb +0 -2
- data/test/lib/vedeu/buffers/repository_test.rb +0 -2
- data/test/lib/vedeu/cursors/repository_test.rb +0 -2
- data/test/lib/vedeu/dsl/border_test.rb +26 -16
- data/test/lib/vedeu/editor/repository_test.rb +0 -2
- data/test/lib/vedeu/events/repository_test.rb +0 -2
- data/test/lib/vedeu/geometries/repository_test.rb +0 -4
- data/test/lib/vedeu/groups/repository_test.rb +0 -2
- data/test/lib/vedeu/input/repository_test.rb +0 -2
- data/test/lib/vedeu/interfaces/repository_test.rb +0 -2
- data/test/lib/vedeu/menus/repository_test.rb +0 -2
- data/test/lib/vedeu/presentation/colour_test.rb +6 -0
- data/test/lib/vedeu/presentation/position_test.rb +2 -0
- data/test/lib/vedeu/presentation/presentation_test.rb +10 -1
- data/test/lib/vedeu/presentation/styles_test.rb +6 -0
- data/test/lib/vedeu/repositories/registerable_test.rb +11 -1
- data/test/support/examples/material_colours_app.rb +0 -93
- metadata +5 -2
data/lib/vedeu/esc/foreground.rb
CHANGED
@@ -12,7 +12,7 @@ module Vedeu
|
|
12
12
|
|
13
13
|
extend self
|
14
14
|
|
15
|
-
# @
|
15
|
+
# @macro param_block
|
16
16
|
# @return [String]
|
17
17
|
def black(&block)
|
18
18
|
if block_given?
|
@@ -24,7 +24,7 @@ module Vedeu
|
|
24
24
|
end
|
25
25
|
end
|
26
26
|
|
27
|
-
# @
|
27
|
+
# @macro param_block
|
28
28
|
# @return [String]
|
29
29
|
def red(&block)
|
30
30
|
if block_given?
|
@@ -36,7 +36,7 @@ module Vedeu
|
|
36
36
|
end
|
37
37
|
end
|
38
38
|
|
39
|
-
# @
|
39
|
+
# @macro param_block
|
40
40
|
# @return [String]
|
41
41
|
def green(&block)
|
42
42
|
if block_given?
|
@@ -48,7 +48,7 @@ module Vedeu
|
|
48
48
|
end
|
49
49
|
end
|
50
50
|
|
51
|
-
# @
|
51
|
+
# @macro param_block
|
52
52
|
# @return [String]
|
53
53
|
def yellow(&block)
|
54
54
|
if block_given?
|
@@ -60,7 +60,7 @@ module Vedeu
|
|
60
60
|
end
|
61
61
|
end
|
62
62
|
|
63
|
-
# @
|
63
|
+
# @macro param_block
|
64
64
|
# @return [String]
|
65
65
|
def blue(&block)
|
66
66
|
if block_given?
|
@@ -72,7 +72,7 @@ module Vedeu
|
|
72
72
|
end
|
73
73
|
end
|
74
74
|
|
75
|
-
# @
|
75
|
+
# @macro param_block
|
76
76
|
# @return [String]
|
77
77
|
def magenta(&block)
|
78
78
|
if block_given?
|
@@ -84,7 +84,7 @@ module Vedeu
|
|
84
84
|
end
|
85
85
|
end
|
86
86
|
|
87
|
-
# @
|
87
|
+
# @macro param_block
|
88
88
|
# @return [String]
|
89
89
|
def cyan(&block)
|
90
90
|
if block_given?
|
@@ -96,7 +96,7 @@ module Vedeu
|
|
96
96
|
end
|
97
97
|
end
|
98
98
|
|
99
|
-
# @
|
99
|
+
# @macro param_block
|
100
100
|
# @return [String]
|
101
101
|
def light_grey(&block)
|
102
102
|
if block_given?
|
@@ -108,7 +108,7 @@ module Vedeu
|
|
108
108
|
end
|
109
109
|
end
|
110
110
|
|
111
|
-
# @
|
111
|
+
# @macro param_block
|
112
112
|
# @return [String]
|
113
113
|
def default(&block)
|
114
114
|
if block_given?
|
@@ -120,7 +120,7 @@ module Vedeu
|
|
120
120
|
end
|
121
121
|
end
|
122
122
|
|
123
|
-
# @
|
123
|
+
# @macro param_block
|
124
124
|
# @return [String]
|
125
125
|
def dark_grey(&block)
|
126
126
|
if block_given?
|
@@ -132,7 +132,7 @@ module Vedeu
|
|
132
132
|
end
|
133
133
|
end
|
134
134
|
|
135
|
-
# @
|
135
|
+
# @macro param_block
|
136
136
|
# @return [String]
|
137
137
|
def light_red(&block)
|
138
138
|
if block_given?
|
@@ -144,7 +144,7 @@ module Vedeu
|
|
144
144
|
end
|
145
145
|
end
|
146
146
|
|
147
|
-
# @
|
147
|
+
# @macro param_block
|
148
148
|
# @return [String]
|
149
149
|
def light_green(&block)
|
150
150
|
if block_given?
|
@@ -156,7 +156,7 @@ module Vedeu
|
|
156
156
|
end
|
157
157
|
end
|
158
158
|
|
159
|
-
# @
|
159
|
+
# @macro param_block
|
160
160
|
# @return [String]
|
161
161
|
def light_yellow(&block)
|
162
162
|
if block_given?
|
@@ -168,7 +168,7 @@ module Vedeu
|
|
168
168
|
end
|
169
169
|
end
|
170
170
|
|
171
|
-
# @
|
171
|
+
# @macro param_block
|
172
172
|
# @return [String]
|
173
173
|
def light_blue(&block)
|
174
174
|
if block_given?
|
@@ -180,7 +180,7 @@ module Vedeu
|
|
180
180
|
end
|
181
181
|
end
|
182
182
|
|
183
|
-
# @
|
183
|
+
# @macro param_block
|
184
184
|
# @return [String]
|
185
185
|
def light_magenta(&block)
|
186
186
|
if block_given?
|
@@ -192,7 +192,7 @@ module Vedeu
|
|
192
192
|
end
|
193
193
|
end
|
194
194
|
|
195
|
-
# @
|
195
|
+
# @macro param_block
|
196
196
|
# @return [String]
|
197
197
|
def light_cyan(&block)
|
198
198
|
if block_given?
|
@@ -204,7 +204,7 @@ module Vedeu
|
|
204
204
|
end
|
205
205
|
end
|
206
206
|
|
207
|
-
# @
|
207
|
+
# @macro param_block
|
208
208
|
# @return [String]
|
209
209
|
def white(&block)
|
210
210
|
if block_given?
|
data/lib/vedeu/events/event.rb
CHANGED
@@ -52,9 +52,7 @@ module Vedeu
|
|
52
52
|
# execution of the triggered event to only execute once the
|
53
53
|
# debounce has expired. Subsequent triggers before debounce
|
54
54
|
# expiry are ignored.
|
55
|
-
# @
|
56
|
-
# This block could be a method call, or the triggering of
|
57
|
-
# another event, or sequence of either/both.
|
55
|
+
# @macro param_block
|
58
56
|
#
|
59
57
|
# @example
|
60
58
|
# Vedeu.bind :my_event do |some, args|
|
@@ -123,45 +123,14 @@ module Vedeu
|
|
123
123
|
model
|
124
124
|
end
|
125
125
|
|
126
|
-
#
|
127
|
-
# terminal.
|
128
|
-
#
|
129
|
-
# Vedeu.geometry :some_interface do
|
130
|
-
# # `height` is a positive integer, e.g. 30
|
131
|
-
# align_bottom 30
|
132
|
-
#
|
133
|
-
# # this is the same as:
|
134
|
-
# # vertical_alignment(:bottom, 30)
|
135
|
-
#
|
136
|
-
# # or you can use: (see notes)
|
137
|
-
# # align(vertical: :bottom, height: 30)
|
138
|
-
#
|
139
|
-
# # ... some code
|
140
|
-
# end
|
141
|
-
#
|
126
|
+
# {include:file:docs/dsl/by_method/geometry/align_bottom.md}
|
142
127
|
# @param height [Fixnum] The number of lines/rows.
|
143
128
|
# @return [Vedeu::Geometries::Geometry]
|
144
129
|
def align_bottom(height = nil)
|
145
130
|
vertical_alignment(:bottom, height)
|
146
131
|
end
|
147
132
|
|
148
|
-
#
|
149
|
-
#
|
150
|
-
# Vedeu.geometry :some_interface do
|
151
|
-
# # `width` is a positive integer, e.g. 30
|
152
|
-
# align_centre 30
|
153
|
-
#
|
154
|
-
# # this is the same as:
|
155
|
-
# # horizontal_alignment(:centre, 30)
|
156
|
-
#
|
157
|
-
# # or you can use: (see notes)
|
158
|
-
# # align(horizontal: :centre, width: 30)
|
159
|
-
#
|
160
|
-
# # ... some code
|
161
|
-
# end
|
162
|
-
#
|
163
|
-
# # Also allows `align_center` if preferred.
|
164
|
-
#
|
133
|
+
# {include:file:docs/dsl/by_method/geometry/align_centre.md}
|
165
134
|
# @param width [Fixnum] The number of characters/columns.
|
166
135
|
# @return [Vedeu::Geometries::Geometry]
|
167
136
|
def align_centre(width = nil)
|
@@ -169,103 +138,35 @@ module Vedeu
|
|
169
138
|
end
|
170
139
|
alias align_center align_centre
|
171
140
|
|
172
|
-
#
|
173
|
-
#
|
174
|
-
# Vedeu.geometry :some_interface do
|
175
|
-
# # `width` is a positive integer, e.g. 30
|
176
|
-
# align_left 30
|
177
|
-
#
|
178
|
-
# # this is the same as:
|
179
|
-
# # horizontal_alignment(:left, 30)
|
180
|
-
#
|
181
|
-
# # or you can use: (see notes)
|
182
|
-
# # align(horizontal: :left, width: 30)
|
183
|
-
#
|
184
|
-
# # ... some code
|
185
|
-
# end
|
186
|
-
#
|
141
|
+
# {include:file:docs/dsl/by_method/geometry/align_left.md}
|
187
142
|
# @param width [Fixnum] The number of characters/columns.
|
188
143
|
# @return [Vedeu::Geometries::Geometry]
|
189
144
|
def align_left(width = nil)
|
190
145
|
horizontal_alignment(:left, width)
|
191
146
|
end
|
192
147
|
|
193
|
-
#
|
194
|
-
# terminal.
|
195
|
-
#
|
196
|
-
# Vedeu.geometry :some_interface do
|
197
|
-
# # `height` is a positive integer, e.g. 30
|
198
|
-
# align_middle 30
|
199
|
-
#
|
200
|
-
# # this is the same as:
|
201
|
-
# # vertical_alignment(:middle, 30)
|
202
|
-
#
|
203
|
-
# # or you can use: (see notes)
|
204
|
-
# # align(vertical: :middle, height: 30)
|
205
|
-
#
|
206
|
-
# # ... some code
|
207
|
-
# end
|
208
|
-
#
|
148
|
+
# {include:file:docs/dsl/by_method/geometry/align_middle.md}
|
209
149
|
# @param height [Fixnum] The number of lines/rows.
|
210
150
|
# @return [Vedeu::Geometries::Geometry]
|
211
151
|
def align_middle(height = nil)
|
212
152
|
vertical_alignment(:middle, height)
|
213
153
|
end
|
214
154
|
|
215
|
-
#
|
216
|
-
#
|
217
|
-
# Vedeu.geometry :some_interface do
|
218
|
-
# # `width` is a positive integer, e.g. 30
|
219
|
-
# align_right 30
|
220
|
-
#
|
221
|
-
# # this is the same as:
|
222
|
-
# # horizontal_alignment(:right, 30)
|
223
|
-
#
|
224
|
-
# # or you can use: (see notes)
|
225
|
-
# # align(horizontal: :right, width: 30)
|
226
|
-
#
|
227
|
-
# # ... some code
|
228
|
-
# end
|
229
|
-
#
|
155
|
+
# {include:file:docs/dsl/by_method/geometry/align_right.md}
|
230
156
|
# @param width [Fixnum] The number of characters/columns.
|
231
157
|
# @return [Vedeu::Geometries::Geometry]
|
232
158
|
def align_right(width = nil)
|
233
159
|
horizontal_alignment(:right, width)
|
234
160
|
end
|
235
161
|
|
236
|
-
#
|
237
|
-
# terminal.
|
238
|
-
#
|
239
|
-
# Vedeu.geometry :some_interface do
|
240
|
-
# # `height` is a positive integer, e.g. 30
|
241
|
-
# align_top 30
|
242
|
-
#
|
243
|
-
# # this is the same as:
|
244
|
-
# # vertical_alignment(:top, 30)
|
245
|
-
#
|
246
|
-
# # or you can use: (see notes)
|
247
|
-
# # align(vertical: :top, height: 30)
|
248
|
-
#
|
249
|
-
# # ... some code
|
250
|
-
# end
|
251
|
-
#
|
162
|
+
# {include:file:docs/dsl/by_method/geometry/align_top.md}
|
252
163
|
# @param height [Fixnum] The number of lines/rows.
|
253
164
|
# @return [Vedeu::Geometries::Geometry]
|
254
165
|
def align_top(height = nil)
|
255
166
|
vertical_alignment(:top, height)
|
256
167
|
end
|
257
168
|
|
258
|
-
#
|
259
|
-
# specified.
|
260
|
-
#
|
261
|
-
# Vedeu.geometry :main_interface do
|
262
|
-
# # ... some code
|
263
|
-
# width columns(9) # Vedeu.width # => 92 (for example)
|
264
|
-
# # 92 / 12 = 7
|
265
|
-
# # 7 * 9 = 63
|
266
|
-
# # Therefore, width is 63 characters.
|
267
|
-
# end
|
268
|
-
#
|
169
|
+
# {include:file:docs/dsl/by_method/geometry/columns.md}
|
269
170
|
# @param value [Fixnum]
|
270
171
|
# @macro raise_out_of_range
|
271
172
|
# @return [Fixnum|Vedeu::Error::OutOfRange]
|
@@ -273,14 +174,7 @@ module Vedeu
|
|
273
174
|
Vedeu::Geometries::Grid.columns(value)
|
274
175
|
end
|
275
176
|
|
276
|
-
#
|
277
|
-
# will be. This value will be ignored when `y` and `yn` are set.
|
278
|
-
#
|
279
|
-
# Vedeu.geometry :some_interface do
|
280
|
-
# height 8
|
281
|
-
# # ... some code
|
282
|
-
# end
|
283
|
-
#
|
177
|
+
# {include:file:docs/dsl/by_method/geometry/height.md}
|
284
178
|
# @param value [Fixnum]
|
285
179
|
# @return [Fixnum]
|
286
180
|
def height(value)
|
@@ -288,17 +182,7 @@ module Vedeu
|
|
288
182
|
end
|
289
183
|
alias height= height
|
290
184
|
|
291
|
-
#
|
292
|
-
# specified.
|
293
|
-
#
|
294
|
-
# Vedeu.geometry :main_interface do
|
295
|
-
# # ... some code
|
296
|
-
# height rows(3) # Vedeu.height # => 38 (for example)
|
297
|
-
# # 38 / 12 = 3
|
298
|
-
# # 3 * 3 = 9
|
299
|
-
# # Therefore, height is 9 characters.
|
300
|
-
# end
|
301
|
-
#
|
185
|
+
# {include:file:docs/dsl/by_method/geometry/rows.md}
|
302
186
|
# @param value [Fixnum]
|
303
187
|
# @macro raise_out_of_range
|
304
188
|
# @return [Fixnum]
|
@@ -306,14 +190,7 @@ module Vedeu
|
|
306
190
|
Vedeu::Geometries::Grid.rows(value)
|
307
191
|
end
|
308
192
|
|
309
|
-
#
|
310
|
-
# will be. This value will be ignored when `x` and `xn` are set.
|
311
|
-
#
|
312
|
-
# Vedeu.geometry :some_interface do
|
313
|
-
# width 25
|
314
|
-
# # ... some code
|
315
|
-
# end
|
316
|
-
#
|
193
|
+
# {include:file:docs/dsl/by_method/geometry/width.md}
|
317
194
|
# @param value [Fixnum] The number of characters/columns.
|
318
195
|
# @return [Fixnum]
|
319
196
|
def width(value)
|
@@ -321,19 +198,9 @@ module Vedeu
|
|
321
198
|
end
|
322
199
|
alias width= width
|
323
200
|
|
324
|
-
#
|
325
|
-
#
|
326
|
-
# Vedeu.geometry :some_interface do
|
327
|
-
# x 7 # start on column 7.
|
328
|
-
#
|
329
|
-
# # start on column 8, if :other_interface changes position
|
330
|
-
# # then :some_interface will too.
|
331
|
-
# x { use(:other_interface).east }
|
332
|
-
# # ... some code
|
333
|
-
# end
|
334
|
-
#
|
201
|
+
# {include:file:docs/dsl/by_method/geometry/x.md}
|
335
202
|
# @param value [Fixnum]
|
336
|
-
# @
|
203
|
+
# @macro param_block
|
337
204
|
# @return [Fixnum]
|
338
205
|
def x(value = 1, &block)
|
339
206
|
return model.x = block if block_given?
|
@@ -342,20 +209,9 @@ module Vedeu
|
|
342
209
|
end
|
343
210
|
alias x= x
|
344
211
|
|
345
|
-
#
|
346
|
-
# This value will override `width`.
|
347
|
-
#
|
348
|
-
# Vedeu.geometry :some_interface do
|
349
|
-
# xn 37 # end at column 37.
|
350
|
-
#
|
351
|
-
# # when :other_interface changes position,
|
352
|
-
# # :some_interface will too.
|
353
|
-
# xn { use(:other_interface).right }
|
354
|
-
# # ... some code
|
355
|
-
# end
|
356
|
-
#
|
212
|
+
# {include:file:docs/dsl/by_method/geometry/xn.md}
|
357
213
|
# @param value [Fixnum]
|
358
|
-
# @
|
214
|
+
# @macro param_block
|
359
215
|
# @return [Fixnum]
|
360
216
|
def xn(value = 1, &block)
|
361
217
|
return model.xn = block if block_given?
|
@@ -364,19 +220,9 @@ module Vedeu
|
|
364
220
|
end
|
365
221
|
alias xn= xn
|
366
222
|
|
367
|
-
#
|
368
|
-
#
|
369
|
-
# Vedeu.geometry :some_interface do
|
370
|
-
# y 4 # start at row 4
|
371
|
-
#
|
372
|
-
# # start on row/line 3, when :other_interface changes
|
373
|
-
# # position, :some_interface will too.
|
374
|
-
# y { use(:other_interface).north }
|
375
|
-
# # ... some code
|
376
|
-
# end
|
377
|
-
#
|
223
|
+
# {include:file:docs/dsl/by_method/geometry/y.md}
|
378
224
|
# @param value [Fixnum]
|
379
|
-
# @
|
225
|
+
# @macro param_block
|
380
226
|
# @return [Fixnum]
|
381
227
|
def y(value = 1, &block)
|
382
228
|
return model.y = block if block_given?
|
@@ -385,20 +231,9 @@ module Vedeu
|
|
385
231
|
end
|
386
232
|
alias y= y
|
387
233
|
|
388
|
-
#
|
389
|
-
# This value will override `height`.
|
390
|
-
#
|
391
|
-
# Vedeu.geometry :some_interface do
|
392
|
-
# yn 24 # end at row 24.
|
393
|
-
#
|
394
|
-
# # if :other_interface changes position, :some_interface
|
395
|
-
# # will too.
|
396
|
-
# yn { use(:other_interface).bottom }
|
397
|
-
# # ... some code
|
398
|
-
# end
|
399
|
-
#
|
234
|
+
# {include:file:docs/dsl/by_method/geometry/yn.md}
|
400
235
|
# @param value [Fixnum]
|
401
|
-
# @
|
236
|
+
# @macro param_block
|
402
237
|
# @return [Fixnum]
|
403
238
|
def yn(value = 1, &block)
|
404
239
|
return model.yn = block if block_given?
|
@@ -76,13 +76,35 @@ module Vedeu
|
|
76
76
|
direction != :none
|
77
77
|
end
|
78
78
|
|
79
|
-
# Moves the geometry
|
79
|
+
# Moves the geometry in the direction given by the offset also
|
80
|
+
# given.
|
80
81
|
#
|
81
|
-
# @return [Hash<Symbol => Fixnum]
|
82
|
-
def
|
82
|
+
# @return [Hash<Symbol => Hash<Symbol => Fixnum>>]
|
83
|
+
def movement
|
83
84
|
{
|
84
|
-
|
85
|
-
|
85
|
+
down: {
|
86
|
+
y: y + offset,
|
87
|
+
yn: yn + offset,
|
88
|
+
},
|
89
|
+
left: {
|
90
|
+
x: x - offset,
|
91
|
+
xn: xn - offset,
|
92
|
+
},
|
93
|
+
none: {},
|
94
|
+
origin: {
|
95
|
+
x: 1,
|
96
|
+
xn: (xn - x + 1),
|
97
|
+
y: 1,
|
98
|
+
yn: (yn - y + 1),
|
99
|
+
},
|
100
|
+
right: {
|
101
|
+
x: x + offset,
|
102
|
+
xn: xn + offset,
|
103
|
+
},
|
104
|
+
up: {
|
105
|
+
y: y - offset,
|
106
|
+
yn: yn - offset,
|
107
|
+
},
|
86
108
|
}
|
87
109
|
end
|
88
110
|
|
@@ -97,46 +119,19 @@ module Vedeu
|
|
97
119
|
}[direction]
|
98
120
|
end
|
99
121
|
|
122
|
+
# @return [Hash<Symbol => Hash<Symbol => Fixnum>>]
|
123
|
+
def directional_move
|
124
|
+
movement.fetch(direction, {})
|
125
|
+
end
|
126
|
+
|
100
127
|
# @macro geometry_by_name
|
101
128
|
def geometry
|
102
129
|
@geometry ||= Vedeu.geometries.by_name(name)
|
103
130
|
end
|
104
131
|
|
105
|
-
# Moves the geometry left by the offset.
|
106
|
-
#
|
107
|
-
# @return [Hash<Symbol => Fixnum]
|
108
|
-
def left
|
109
|
-
{
|
110
|
-
x: x - offset,
|
111
|
-
xn: xn - offset,
|
112
|
-
}
|
113
|
-
end
|
114
|
-
|
115
132
|
# @return [Hash<Symbol => Boolean|String|Symbol>]
|
116
133
|
def new_attributes
|
117
|
-
geometry.attributes.merge!(unalign_unmaximise)
|
118
|
-
end
|
119
|
-
|
120
|
-
# Moves the geometry to the top left of the terminal.
|
121
|
-
#
|
122
|
-
# @return [Hash<Symbol => Fixnum]
|
123
|
-
def origin
|
124
|
-
{
|
125
|
-
x: 1,
|
126
|
-
xn: (xn - x + 1),
|
127
|
-
y: 1,
|
128
|
-
yn: (yn - y + 1),
|
129
|
-
}
|
130
|
-
end
|
131
|
-
|
132
|
-
# Moves the geometry right by the offset.
|
133
|
-
#
|
134
|
-
# @return [Hash<Symbol => Fixnum]
|
135
|
-
def right
|
136
|
-
{
|
137
|
-
x: x + offset,
|
138
|
-
xn: xn + offset,
|
139
|
-
}
|
134
|
+
geometry.attributes.merge!(unalign_unmaximise)
|
140
135
|
end
|
141
136
|
|
142
137
|
# @return [Hash<Symbol => Boolean|Symbol]
|
@@ -145,17 +140,7 @@ module Vedeu
|
|
145
140
|
horizontal_alignment: :none,
|
146
141
|
maximised: false,
|
147
142
|
vertical_alignment: :none,
|
148
|
-
}
|
149
|
-
end
|
150
|
-
|
151
|
-
# Moves the geometry up by the offset.
|
152
|
-
#
|
153
|
-
# @return [Hash<Symbol => Fixnum]
|
154
|
-
def up
|
155
|
-
{
|
156
|
-
y: y - offset,
|
157
|
-
yn: yn - offset,
|
158
|
-
}
|
143
|
+
}.merge(directional_move)
|
159
144
|
end
|
160
145
|
|
161
146
|
# Refresh the cursor after moving.
|
@@ -111,7 +111,7 @@ module Vedeu
|
|
111
111
|
# the aforementioned, call the block and then reposition to this
|
112
112
|
# location.
|
113
113
|
#
|
114
|
-
# @
|
114
|
+
# @macro param_block
|
115
115
|
# @return [String]
|
116
116
|
# @yieldreturn [String] Returns the block wrapped in position
|
117
117
|
# escape sequences.
|
data/lib/vedeu/groups/dsl.rb
CHANGED
data/lib/vedeu/input/dsl.rb
CHANGED
@@ -58,7 +58,7 @@ module Vedeu
|
|
58
58
|
# This is also used when defining the '_global_' keymap.
|
59
59
|
#
|
60
60
|
# @macro param_name
|
61
|
-
# @
|
61
|
+
# @macro param_block
|
62
62
|
# @macro raise_requires_block
|
63
63
|
# @macro raise_missing_required
|
64
64
|
# @return [Vedeu::Input::Keymap]
|
@@ -79,8 +79,7 @@ module Vedeu
|
|
79
79
|
# The key(s) pressed. Special keys can be found in
|
80
80
|
# {Vedeu::Input::Input#specials}. When more than one key is
|
81
81
|
# defined, then the extras are treated as aliases.
|
82
|
-
# @
|
83
|
-
# pressed. Can be a method call or event triggered.
|
82
|
+
# @macro param_block
|
84
83
|
# @macro raise_invalid_syntax
|
85
84
|
# @return [Array] A collection containing the keys minus any
|
86
85
|
# invalid or nil keys.
|
data/lib/vedeu/input/key.rb
CHANGED
data/lib/vedeu/interfaces/dsl.rb
CHANGED
@@ -30,8 +30,7 @@ module Vedeu
|
|
30
30
|
# end
|
31
31
|
#
|
32
32
|
# @macro param_name
|
33
|
-
# @
|
34
|
-
# features of the interface.
|
33
|
+
# @macro param_block
|
35
34
|
# @macro raise_requires_block
|
36
35
|
# @macro raise_missing_required
|
37
36
|
# @return [Vedeu::Interfaces::Interface]
|
@@ -104,7 +103,7 @@ module Vedeu
|
|
104
103
|
|
105
104
|
# Returns the client object which called the DSL method.
|
106
105
|
#
|
107
|
-
# @
|
106
|
+
# @macro param_block
|
108
107
|
# @return [Object]
|
109
108
|
def client(&block)
|
110
109
|
eval('self', block.binding) if block_given?
|
@@ -11,6 +11,9 @@ module Vedeu
|
|
11
11
|
|
12
12
|
include Vedeu::Repositories::Model
|
13
13
|
include Vedeu::Presentation
|
14
|
+
include Vedeu::Presentation::Colour
|
15
|
+
include Vedeu::Presentation::Position
|
16
|
+
include Vedeu::Presentation::Styles
|
14
17
|
include Vedeu::Toggleable
|
15
18
|
|
16
19
|
# @!attribute [rw] client
|