vedeu 0.8.7 → 0.8.8

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.
Files changed (81) hide show
  1. checksums.yaml +4 -4
  2. data/TODO.md +8 -0
  3. data/docs/dsl/by_method/buffer_update.md +3 -1
  4. data/docs/dsl/by_method/buffer_write.md +3 -1
  5. data/docs/dsl/by_method/cursor.md +3 -1
  6. data/docs/dsl/by_method/cursors.md +3 -1
  7. data/docs/dsl/by_method/direct_write.md +3 -1
  8. data/docs/dsl/by_method/log_stderr.md +4 -1
  9. data/docs/dsl/by_method/log_stdout.md +4 -1
  10. data/docs/dsl/by_method/log_timestamp.md +7 -1
  11. data/docs/dsl/by_method/render_output.md +3 -1
  12. data/docs/events/by_name/{geometry_down.md → aliases/geometry_down.md} +0 -0
  13. data/docs/events/by_name/{geometry_left.md → aliases/geometry_left.md} +0 -0
  14. data/docs/events/by_name/{geometry_right.md → aliases/geometry_right.md} +0 -0
  15. data/docs/events/by_name/{geometry_up.md → aliases/geometry_up.md} +0 -0
  16. data/docs/events/by_name/cursor_down.md +5 -0
  17. data/docs/events/by_name/cursor_left.md +3 -0
  18. data/docs/events/by_name/cursor_origin.md +3 -0
  19. data/docs/events/by_name/cursor_right.md +5 -0
  20. data/docs/events/by_name/cursor_top.md +3 -0
  21. data/docs/events/by_name/cursor_up.md +3 -0
  22. data/docs/events/by_name/hide_cursor.md +6 -1
  23. data/docs/events/by_name/maximise.md +2 -3
  24. data/docs/events/by_name/show_cursor.md +6 -1
  25. data/docs/events/by_name/unmaximise.md +5 -3
  26. data/docs/events/by_name/view_down.md +8 -0
  27. data/docs/events/by_name/view_left.md +8 -0
  28. data/docs/events/by_name/view_right.md +8 -0
  29. data/docs/events/by_name/view_up.md +8 -0
  30. data/docs/events/document.md +2 -1
  31. data/docs/events/focus.md +2 -1
  32. data/docs/events/menu.md +2 -1
  33. data/docs/events/movement.md +2 -1
  34. data/docs/events/refresh.md +2 -1
  35. data/docs/events/view.md +2 -1
  36. data/docs/events/visibility.md +2 -1
  37. data/examples/dsl_horizontal_alignment.rb +1 -1
  38. data/examples/dsl_vertical_alignment.rb +1 -1
  39. data/integrations/dsl_app_border_001.rb +63 -0
  40. data/integrations/dsl_app_border_002.rb +63 -0
  41. data/integrations/dsl_app_border_003.rb +63 -0
  42. data/integrations/dsl_app_border_004.rb +63 -0
  43. data/integrations/dsl_app_border_005.rb +63 -0
  44. data/integrations/expected/dsl_app_border_001.out +1 -0
  45. data/integrations/expected/dsl_app_border_002.out +1 -0
  46. data/integrations/expected/dsl_app_border_003.out +1 -0
  47. data/integrations/expected/dsl_app_border_004.out +1 -0
  48. data/integrations/expected/dsl_app_border_005.out +1 -0
  49. data/integrations/test_runner.sh +7 -0
  50. data/lib/vedeu.rb +2 -1
  51. data/lib/vedeu/borders/repository.rb +1 -5
  52. data/lib/vedeu/cursors/cursor.rb +29 -70
  53. data/lib/vedeu/cursors/move.rb +11 -4
  54. data/lib/vedeu/cursors/reposition.rb +2 -2
  55. data/lib/vedeu/cursors/repository.rb +7 -12
  56. data/lib/vedeu/dsl/elements.rb +0 -1
  57. data/lib/vedeu/error.rb +17 -5
  58. data/lib/vedeu/geometries/dsl/dsl.rb +2 -28
  59. data/lib/vedeu/geometries/dsl/grid.rb +2 -0
  60. data/lib/vedeu/geometries/geometry.rb +2 -22
  61. data/lib/vedeu/geometries/move.rb +45 -10
  62. data/lib/vedeu/geometries/repository.rb +0 -20
  63. data/lib/vedeu/input/capture.rb +2 -1
  64. data/lib/vedeu/logging/log.rb +25 -25
  65. data/lib/vedeu/renderers/file.rb +0 -5
  66. data/lib/vedeu/renderers/json.rb +1 -1
  67. data/lib/vedeu/renderers/options.rb +3 -1
  68. data/lib/vedeu/renderers/text.rb +0 -7
  69. data/lib/vedeu/runtime/bootstrap.rb +1 -1
  70. data/lib/vedeu/runtime/launcher.rb +8 -5
  71. data/lib/vedeu/version.rb +1 -1
  72. data/test/lib/vedeu/application/application_controller_test.rb +2 -4
  73. data/test/lib/vedeu/cursors/cursor_test.rb +9 -12
  74. data/test/lib/vedeu/cursors/move_test.rb +7 -3
  75. data/test/lib/vedeu/geometries/move_test.rb +22 -9
  76. data/test/lib/vedeu/interfaces/interface_test.rb +71 -73
  77. data/test/lib/vedeu/logging/log_test.rb +1 -1
  78. data/test/lib/vedeu/runtime/launcher_test.rb +5 -4
  79. data/test/support/examples/material_colours_app.rb +59 -8
  80. data/test/test_helper.rb +1 -0
  81. metadata +16 -6
@@ -27,6 +27,20 @@ class VedeuMaterialColoursApp
27
27
  Vedeu::Renderers::File.new(filename: '/tmp/material_colours.out'))
28
28
  end
29
29
 
30
+ class CursorView
31
+ def render
32
+ Vedeu.render do
33
+ view('cursor') do
34
+ line "#{cursor_position}"
35
+ end
36
+ end
37
+ end
38
+
39
+ def cursor_position
40
+ Vedeu.trigger(:_cursor_position_, Vedeu.focus)
41
+ end
42
+ end
43
+
30
44
  # Borders can be defined as standalone declarations.
31
45
  Vedeu.border 'no_bottom' do
32
46
  background '#000000'
@@ -270,11 +284,32 @@ class VedeuMaterialColoursApp
270
284
  zindex(0)
271
285
  end
272
286
 
287
+ Vedeu.interface 'cursor' do
288
+ geometry do
289
+ x 2
290
+ y 36
291
+ height 1
292
+ width 80
293
+ end
294
+ end
295
+
273
296
  Vedeu.keymap('_global_') do
274
- key(:up) { Vedeu.trigger(:_cursor_up_) }
275
- key(:right) { Vedeu.trigger(:_cursor_right_) }
276
- key(:down) { Vedeu.trigger(:_cursor_down_) }
277
- key(:left) { Vedeu.trigger(:_cursor_left_) }
297
+ key(:up) do
298
+ Vedeu.trigger(:_cursor_up_);
299
+ CursorView.new.render
300
+ end
301
+ key(:right) do
302
+ Vedeu.trigger(:_cursor_right_)
303
+ CursorView.new.render
304
+ end
305
+ key(:down) do
306
+ Vedeu.trigger(:_cursor_down_)
307
+ CursorView.new.render
308
+ end
309
+ key(:left) do
310
+ Vedeu.trigger(:_cursor_left_)
311
+ CursorView.new.render
312
+ end
278
313
  key(:home) { Vedeu.trigger(:_cursor_top_) }
279
314
  key(:end) { Vedeu.trigger(:_cursor_bottom_) }
280
315
 
@@ -298,10 +333,26 @@ class VedeuMaterialColoursApp
298
333
  key('3') { Vedeu.trigger(:_hide_interface_, 'other_interface') }
299
334
  key('4') { Vedeu.trigger(:_show_interface_, 'other_interface') }
300
335
 
301
- key('a') { Vedeu.trigger(:_view_left_, 'main_interface') }
302
- key('s') { Vedeu.trigger(:_view_down_, 'main_interface') }
303
- key('d') { Vedeu.trigger(:_view_up_, 'main_interface') }
304
- key('f') { Vedeu.trigger(:_view_right_, 'main_interface') }
336
+ key('a') do
337
+ Vedeu.trigger(:_view_left_, 'main_interface')
338
+
339
+ CursorView.new.render
340
+ end
341
+ key('s') do
342
+ Vedeu.trigger(:_view_down_, 'main_interface')
343
+
344
+ CursorView.new.render
345
+ end
346
+ key('d') do
347
+ Vedeu.trigger(:_view_up_, 'main_interface')
348
+
349
+ CursorView.new.render
350
+ end
351
+ key('f') do
352
+ Vedeu.trigger(:_view_right_, 'main_interface')
353
+
354
+ CursorView.new.render
355
+ end
305
356
 
306
357
  key('w') { Vedeu.trigger(:_toggle_group_, :my_group) }
307
358
  key('e') { Vedeu.trigger(:_hide_group_, :my_group) }
@@ -35,6 +35,7 @@ if ENV['SIMPLECOV'].to_i == 1 || ENV['CONSOLE_COVERAGE'].to_i == 1
35
35
  add_group 'renderers', 'vedeu/renderers'
36
36
  add_group 'repositories', 'vedeu/repositories'
37
37
  add_group 'runtime', 'vedeu/runtime'
38
+ add_group 'support', 'vedeu/support'
38
39
  add_group 'templating', 'vedeu/templating'
39
40
  add_group 'terminal', 'vedeu/terminal'
40
41
  add_group 'views', 'vedeu/views'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vedeu
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.7
4
+ version: 0.8.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gavin Laking
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-01-20 00:00:00.000000000 Z
11
+ date: 2016-01-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: guard
@@ -372,6 +372,10 @@ files:
372
372
  - docs/events.md
373
373
  - docs/events/application.md
374
374
  - docs/events/by_name/action.md
375
+ - docs/events/by_name/aliases/geometry_down.md
376
+ - docs/events/by_name/aliases/geometry_left.md
377
+ - docs/events/by_name/aliases/geometry_right.md
378
+ - docs/events/by_name/aliases/geometry_up.md
375
379
  - docs/events/by_name/cleanup.md
376
380
  - docs/events/by_name/clear.md
377
381
  - docs/events/by_name/clear_group.md
@@ -411,10 +415,6 @@ files:
411
415
  - docs/events/by_name/focus_by_name.md
412
416
  - docs/events/by_name/focus_next.md
413
417
  - docs/events/by_name/focus_prev.md
414
- - docs/events/by_name/geometry_down.md
415
- - docs/events/by_name/geometry_left.md
416
- - docs/events/by_name/geometry_right.md
417
- - docs/events/by_name/geometry_up.md
418
418
  - docs/events/by_name/goto.md
419
419
  - docs/events/by_name/hide_cursor.md
420
420
  - docs/events/by_name/hide_group.md
@@ -521,6 +521,11 @@ files:
521
521
  - integrations/dsl_app_020.rb
522
522
  - integrations/dsl_app_021.rb
523
523
  - integrations/dsl_app_022.rb
524
+ - integrations/dsl_app_border_001.rb
525
+ - integrations/dsl_app_border_002.rb
526
+ - integrations/dsl_app_border_003.rb
527
+ - integrations/dsl_app_border_004.rb
528
+ - integrations/dsl_app_border_005.rb
524
529
  - integrations/expected/342_streams.out
525
530
  - integrations/expected/dsl_app_001.out
526
531
  - integrations/expected/dsl_app_002.out
@@ -540,6 +545,11 @@ files:
540
545
  - integrations/expected/dsl_app_016.out
541
546
  - integrations/expected/dsl_app_021.out
542
547
  - integrations/expected/dsl_app_022.out
548
+ - integrations/expected/dsl_app_border_001.out
549
+ - integrations/expected/dsl_app_border_002.out
550
+ - integrations/expected/dsl_app_border_003.out
551
+ - integrations/expected/dsl_app_border_004.out
552
+ - integrations/expected/dsl_app_border_005.out
543
553
  - integrations/support/test_interface.rb
544
554
  - integrations/support/test_interface_021.rb
545
555
  - integrations/support/test_interface_022.rb