vedeu 0.6.29 → 0.6.30

Sign up to get free protection for your applications and to get access to all the features.
Files changed (97) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +1 -0
  3. data/Guardfile +6 -5
  4. data/README.md +50 -4
  5. data/Rakefile +16 -4
  6. data/docs/dsl.md +3 -3
  7. data/lib/vedeu/all.rb +6 -8
  8. data/lib/vedeu/bindings/all.rb +43 -13
  9. data/lib/vedeu/borders/border.rb +26 -3
  10. data/lib/vedeu/borders/refresh.rb +5 -0
  11. data/lib/vedeu/buffers/refresh.rb +10 -0
  12. data/lib/vedeu/cursors/cursor.rb +59 -0
  13. data/lib/vedeu/cursors/refresh.rb +5 -0
  14. data/lib/vedeu/distributed/server.rb +12 -0
  15. data/lib/vedeu/distributed/subprocess.rb +7 -2
  16. data/lib/vedeu/editor/editor.rb +5 -0
  17. data/lib/vedeu/editor/repository.rb +41 -0
  18. data/lib/vedeu/geometry/geometry.rb +19 -8
  19. data/lib/vedeu/geometry/repository.rb +25 -0
  20. data/lib/vedeu/groups/clear.rb +3 -0
  21. data/lib/vedeu/groups/group.rb +9 -0
  22. data/lib/vedeu/groups/refresh.rb +5 -0
  23. data/lib/vedeu/input/dsl.rb +4 -4
  24. data/lib/vedeu/input/mapper.rb +3 -0
  25. data/lib/vedeu/interfaces/all.rb +1 -0
  26. data/lib/vedeu/interfaces/dsl.rb +1 -1
  27. data/lib/vedeu/interfaces/interface.rb +12 -0
  28. data/lib/vedeu/logging/log.rb +3 -0
  29. data/lib/vedeu/menus/repository.rb +40 -0
  30. data/lib/vedeu/models/focus.rb +9 -0
  31. data/lib/vedeu/output/clear/interface.rb +9 -1
  32. data/lib/vedeu/output/refresh/refresh.rb +3 -0
  33. data/lib/vedeu/repositories/model.rb +1 -9
  34. data/lib/vedeu/runtime/application.rb +7 -0
  35. data/lib/vedeu/runtime/flags.rb +3 -0
  36. data/lib/vedeu/runtime/launcher.rb +2 -0
  37. data/lib/vedeu/runtime/router.rb +7 -0
  38. data/lib/vedeu/terminal/buffer.rb +11 -0
  39. data/lib/vedeu/terminal/terminal.rb +3 -0
  40. data/lib/vedeu/version.rb +1 -1
  41. data/test/lib/vedeu/bindings/all_test.rb +19 -0
  42. data/test/lib/vedeu/borders/border_test.rb +0 -4
  43. data/test/lib/vedeu/borders/refresh_test.rb +4 -0
  44. data/test/lib/vedeu/buffers/refresh_test.rb +5 -0
  45. data/test/lib/vedeu/cursors/cursor_test.rb +21 -0
  46. data/test/lib/vedeu/cursors/refresh_test.rb +4 -0
  47. data/test/lib/vedeu/distributed/server_test.rb +7 -0
  48. data/test/lib/vedeu/editor/editor_test.rb +4 -0
  49. data/test/lib/vedeu/editor/repository_test.rb +12 -0
  50. data/test/lib/vedeu/events/aliases_test.rb +0 -1
  51. data/test/lib/vedeu/geometry/geometry_test.rb +0 -3
  52. data/test/lib/vedeu/geometry/repository_test.rb +13 -0
  53. data/test/lib/vedeu/groups/clear_test.rb +4 -0
  54. data/test/lib/vedeu/groups/group_test.rb +6 -0
  55. data/test/lib/vedeu/groups/refresh_test.rb +4 -0
  56. data/test/lib/vedeu/input/dsl_test.rb +3 -3
  57. data/test/lib/vedeu/input/mapper_test.rb +4 -0
  58. data/test/lib/vedeu/interfaces/interface_test.rb +9 -0
  59. data/test/lib/vedeu/logging/log_test.rb +4 -0
  60. data/test/lib/vedeu/menus/repository_test.rb +13 -0
  61. data/test/lib/vedeu/models/focus_test.rb +6 -0
  62. data/test/lib/vedeu/output/clear/interface_test.rb +5 -0
  63. data/test/lib/vedeu/output/refresh/refresh_test.rb +4 -0
  64. data/test/lib/vedeu/repositories/model_test.rb +0 -15
  65. data/test/lib/vedeu/runtime/application_test.rb +5 -0
  66. data/test/lib/vedeu/runtime/flags_test.rb +4 -0
  67. data/test/lib/vedeu/runtime/router_test.rb +26 -0
  68. data/test/lib/vedeu/terminal/buffer_test.rb +8 -0
  69. data/test/lib/vedeu/terminal/terminal_test.rb +4 -0
  70. data/test/support/examples/material_colours_app.rb +24 -4
  71. data/test/test_helper.rb +23 -23
  72. metadata +4 -40
  73. data/lib/vedeu/bindings/application.rb +0 -41
  74. data/lib/vedeu/bindings/bindings.rb +0 -46
  75. data/lib/vedeu/bindings/cursors.rb +0 -101
  76. data/lib/vedeu/bindings/document.rb +0 -97
  77. data/lib/vedeu/bindings/drb.rb +0 -78
  78. data/lib/vedeu/bindings/focus.rb +0 -46
  79. data/lib/vedeu/bindings/menus.rb +0 -99
  80. data/lib/vedeu/bindings/movement.rb +0 -51
  81. data/lib/vedeu/bindings/refresh.rb +0 -74
  82. data/lib/vedeu/bindings/system.rb +0 -81
  83. data/lib/vedeu/bindings/view.rb +0 -50
  84. data/lib/vedeu/bindings/visibility.rb +0 -118
  85. data/test/lib/vedeu/bindings/application_test.rb +0 -39
  86. data/test/lib/vedeu/bindings/bindings_test.rb +0 -109
  87. data/test/lib/vedeu/bindings/cursors_test.rb +0 -24
  88. data/test/lib/vedeu/bindings/document_test.rb +0 -25
  89. data/test/lib/vedeu/bindings/drb_test.rb +0 -27
  90. data/test/lib/vedeu/bindings/focus_test.rb +0 -19
  91. data/test/lib/vedeu/bindings/menus_test.rb +0 -26
  92. data/test/lib/vedeu/bindings/movement_test.rb +0 -24
  93. data/test/lib/vedeu/bindings/refresh_test.rb +0 -22
  94. data/test/lib/vedeu/bindings/system_test.rb +0 -24
  95. data/test/lib/vedeu/bindings/view_test.rb +0 -19
  96. data/test/lib/vedeu/bindings/visibility_test.rb +0 -52
  97. data/test/support/all_seeds.sh +0 -9
@@ -87,4 +87,9 @@ module Vedeu
87
87
 
88
88
  end # Editor
89
89
 
90
+ # See {file:docs/events/system.md#\_editor_}
91
+ Vedeu.bind(:_editor_) do |key|
92
+ Vedeu::Editor::Editor.keypress(name: Vedeu.focus, input: key)
93
+ end
94
+
90
95
  end # Vedeu
@@ -24,4 +24,45 @@ module Vedeu
24
24
  # @return [Vedeu::Editor::Repository]
25
25
  def_delegators Vedeu::Editor::Repository, :documents
26
26
 
27
+ # See {file:docs/events/document.md#\_editor_execute_}
28
+ Vedeu.bind(:_editor_execute_) do |name|
29
+ Vedeu.documents.by_name(name).execute
30
+ end
31
+
32
+ # See {file:docs/events/document.md#\_editor_delete_character_}
33
+ Vedeu.bind(:_editor_delete_character_) do |name|
34
+ Vedeu.documents.by_name(name).delete_character
35
+ end
36
+
37
+ # See {file:docs/events/document.md#\_editor_delete_line_}
38
+ Vedeu.bind(:_editor_delete_line_) do |name|
39
+ Vedeu.documents.by_name(name).delete_line
40
+ end
41
+
42
+ # See {file:docs/events/document.md#\_editor_down_}
43
+ Vedeu.bind(:_editor_down_) do |name|
44
+ Vedeu.documents.by_name(name).down
45
+ end
46
+
47
+ # See {file:docs/events/document.md#\_editor_insert_character_}
48
+ Vedeu.bind(:_editor_insert_character_) do |name, character|
49
+ Vedeu.documents.by_name(name).insert_character(character)
50
+ end
51
+
52
+ # See {file:docs/events/document.md#\_editor_insert_line_}
53
+ Vedeu.bind(:_editor_insert_line_) do |name|
54
+ Vedeu.documents.by_name(name).insert_line
55
+ end
56
+
57
+ # See {file:docs/events/document.md#\_editor_left_}
58
+ Vedeu.bind(:_editor_left_) { |name| Vedeu.documents.by_name(name).left }
59
+
60
+ # See {file:docs/events/document.md#\_editor_right_}
61
+ Vedeu.bind(:_editor_right_) do |name|
62
+ Vedeu.documents.by_name(name).right
63
+ end
64
+
65
+ # See {file:docs/events/document.md#\_editor_up_}
66
+ Vedeu.bind(:_editor_up_) { |name| Vedeu.documents.by_name(name).up }
67
+
27
68
  end # Vedeu
@@ -39,10 +39,6 @@ module Vedeu
39
39
  # @return [String]
40
40
  attr_accessor :name
41
41
 
42
- # @!attribute [r] attributes
43
- # @return [Hash]
44
- attr_reader :attributes
45
-
46
42
  # @!attribute [w] height
47
43
  # @return [Fixnum]
48
44
  attr_writer :height
@@ -97,13 +93,28 @@ module Vedeu
97
93
  # @option attributes yn [Fixnum]
98
94
  # @return [Vedeu::Geometry::Geometry]
99
95
  def initialize(attributes = {})
100
- @attributes = defaults.merge!(attributes)
101
-
102
- @attributes.each do |key, value|
96
+ defaults.merge!(attributes).each do |key, value|
103
97
  instance_variable_set("@#{key}", value)
104
98
  end
105
99
  end
106
100
 
101
+ # @return [Hash]
102
+ def attributes
103
+ {
104
+ client: @client,
105
+ centred: @centred,
106
+ height: _height,
107
+ maximised: @maximised,
108
+ name: @name,
109
+ repository: @repository,
110
+ width: _width,
111
+ x: _x,
112
+ xn: _xn,
113
+ y: _y,
114
+ yn: _yn,
115
+ }
116
+ end
117
+
107
118
  # An object is equal when its values are the same.
108
119
  #
109
120
  # @param other [Vedeu::Geometry::Geometry]
@@ -232,7 +243,7 @@ module Vedeu
232
243
  # @option attrs yn [Fixnum]
233
244
  # @return [Hash<Symbol => Boolean, Fixnum>]
234
245
  def move_attributes(attrs = {})
235
- @attributes.merge!(
246
+ attributes.merge!(
236
247
  centred: false,
237
248
  maximised: false,
238
249
  x: x,
@@ -25,4 +25,29 @@ module Vedeu
25
25
  # @return [Vedeu::Geometry::Repository]
26
26
  def_delegators Vedeu::Geometry::Repository, :geometries
27
27
 
28
+ # See {file:docs/events/view.md#\_maximise_}
29
+ Vedeu.bind(:_maximise_) do |name|
30
+ Vedeu.geometries.by_name(name).maximise
31
+ end
32
+
33
+ # See {file:docs/events/view.md#\_unmaximise_}
34
+ Vedeu.bind(:_unmaximise_) do |name|
35
+ Vedeu.geometries.by_name(name).unmaximise
36
+ end
37
+
38
+ %w(down left right up).each do |direction|
39
+ Vedeu.bind(:"_view_#{direction}_") do |name|
40
+ Vedeu.geometries.by_name(name).send("move_#{direction}")
41
+
42
+ Vedeu.trigger(:_clear_)
43
+ Vedeu.trigger(:_refresh_)
44
+ Vedeu.trigger(:_clear_view_, name)
45
+ Vedeu.trigger(:_refresh_view_, name)
46
+ end
47
+ end
48
+
49
+ %w(down left right up).each do |direction|
50
+ Vedeu.bind_alias(:"_geometry_#{direction}_", :"_view_#{direction}_")
51
+ end
52
+
28
53
  end # Vedeu
@@ -58,4 +58,7 @@ module Vedeu
58
58
  # @see Vedeu::Groups::Clear.render
59
59
  def_delegators Vedeu::Groups::Clear, :clear_by_group
60
60
 
61
+ # See {file:docs/events/visibility.md#\_clear_group_}
62
+ Vedeu.bind(:_clear_group_) { |name| Vedeu.clear_by_group(name) }
63
+
61
64
  end # Vedeu
@@ -179,4 +179,13 @@ module Vedeu
179
179
  # @see Vedeu::Toggleable::ClassMethods#toggle
180
180
  def_delegators Vedeu::Groups::Group, :hide_group, :show_group, :toggle_group
181
181
 
182
+ # See {file:docs/events/visibility.md#\_hide_group_}
183
+ Vedeu.bind(:_hide_group_) { |name| Vedeu.hide_group(name) }
184
+
185
+ # See {file:docs/events/visibility.md#\_show_group_}
186
+ Vedeu.bind(:_show_group_) { |name| Vedeu.show_group(name) }
187
+
188
+ # See {file:docs/events/visibility.md#\_toggle_group_}
189
+ Vedeu.bind(:_toggle_group_) { |name| Vedeu.toggle_group(name) }
190
+
182
191
  end # Vedeu
@@ -64,4 +64,9 @@ module Vedeu
64
64
 
65
65
  end # Groups
66
66
 
67
+ # See {file:docs/events/refresh.md#\_refresh_group_}
68
+ Vedeu.bind(:_refresh_group_) do |name|
69
+ Vedeu::Groups::Refresh.by_name(name)
70
+ end
71
+
67
72
  end # Vedeu
@@ -1,6 +1,6 @@
1
1
  module Vedeu
2
2
 
3
- module Keymaps
3
+ module Input
4
4
 
5
5
  # You can define keymaps by name which matches a defined
6
6
  # interface. When that interface is in focus, keys pressed as part
@@ -112,10 +112,10 @@ module Vedeu
112
112
 
113
113
  end # DSL
114
114
 
115
- end # Keymaps
115
+ end # Input
116
116
 
117
117
  # @!method keymap
118
- # @see Vedeu::Keymaps::DSL.keymap
119
- def_delegators Vedeu::Keymaps::DSL, :keymap
118
+ # @see Vedeu::Input::DSL.keymap
119
+ def_delegators Vedeu::Input::DSL, :keymap
120
120
 
121
121
  end # Vedeu
@@ -134,4 +134,7 @@ module Vedeu
134
134
  # @see Vedeu::Input::Mapper.keypress
135
135
  def_delegators Vedeu::Input::Mapper, :keypress
136
136
 
137
+ # See {file:docs/events/system.md#\_keypress_}
138
+ Vedeu.bind(:_keypress_) { |key| Vedeu.keypress(key) }
139
+
137
140
  end # Vedeu
@@ -1,5 +1,6 @@
1
1
  module Vedeu
2
2
 
3
+ # {include:file:docs/interfaces.md}
3
4
  module Interfaces
4
5
 
5
6
  end # Interfaces
@@ -193,7 +193,7 @@ module Vedeu
193
193
 
194
194
  # @param name [String|Symbol] The name of the interface to which
195
195
  # this keymap should belong.
196
- # @see Vedeu::Keymaps::DSL.keymap
196
+ # @see Vedeu::Input::DSL.keymap
197
197
  def keymap(name = model.name, &block)
198
198
  Vedeu.keymap(name, &block)
199
199
  end
@@ -134,4 +134,16 @@ module Vedeu
134
134
  def_delegators Vedeu::Interfaces::Interface, :hide_interface, :show_interface,
135
135
  :toggle_interface
136
136
 
137
+ # See {file:docs/events/visibility.md#\_hide_interface_}
138
+ Vedeu.bind(:_hide_interface_) { |name| Vedeu.hide_interface(name) }
139
+ Vedeu.bind_alias(:_hide_view_, :_hide_interface_)
140
+
141
+ # See {file:docs/events/visibility.md#\_show_interface_}
142
+ Vedeu.bind(:_show_interface_) { |name| Vedeu.show_interface(name) }
143
+ Vedeu.bind_alias(:_show_view_, :_show_interface_)
144
+
145
+ # See {file:docs/events/visibility.md#\_toggle_interface_}
146
+ Vedeu.bind(:_toggle_interface_) { |name| Vedeu.toggle_interface(name) }
147
+ Vedeu.bind_alias(:_toggle_view_, :_toggle_interface_)
148
+
137
149
  end # Vedeu
@@ -193,4 +193,7 @@ module Vedeu
193
193
  # @see Vedeu::Logging::Log.log_stderr
194
194
  def_delegators Vedeu::Logging::Log, :log, :log_stdout, :log_stderr
195
195
 
196
+ # See {file:docs/events/system.md#\_log_}
197
+ Vedeu.bind(:_log_) { |msg| Vedeu.log(type: :debug, message: msg) }
198
+
196
199
  end # Vedeu
@@ -24,4 +24,44 @@ module Vedeu
24
24
  # @return [Vedeu::Menus::Repository]
25
25
  def_delegators Vedeu::Menus::Repository, :menus
26
26
 
27
+ # See {file:docs/events/menu.md#\_menu_bottom_}
28
+ Vedeu.bind(:_menu_bottom_) do |name|
29
+ Vedeu.menus.by_name(name).bottom_item
30
+ end
31
+
32
+ # See {file:docs/events/menu.md#\_menu_current_}
33
+ Vedeu.bind(:_menu_current_) do |name|
34
+ Vedeu.menus.by_name(name).current_item
35
+ end
36
+
37
+ # See {file:docs/events/menu.md#\_menu_deselect_}
38
+ Vedeu.bind(:_menu_deselect_) do |name|
39
+ Vedeu.menus.by_name(name).deselect_item
40
+ end
41
+
42
+ # See {file:docs/events/menu.md#\_menu_items_}
43
+ Vedeu.bind(:_menu_items_) { |name| Vedeu.menus.by_name(name).items }
44
+
45
+ # See {file:docs/events/menu.md#\_menu_next_}
46
+ Vedeu.bind(:_menu_next_) { |name| Vedeu.menus.by_name(name).next_item }
47
+
48
+ # See {file:docs/events/menu.md#\_menu_prev_}
49
+ Vedeu.bind(:_menu_prev_) { |name| Vedeu.menus.by_name(name).prev_item }
50
+
51
+ # See {file:docs/events/menu.md#\_menu_selected_}
52
+ Vedeu.bind(:_menu_selected_) do |name|
53
+ Vedeu.menus.by_name(name).selected_item
54
+ end
55
+
56
+ # See {file:docs/events/menu.md#\_menu_select_}
57
+ Vedeu.bind(:_menu_select_) do |name|
58
+ Vedeu.menus.by_name(name).select_item
59
+ end
60
+
61
+ # See {file:docs/events/menu.md#\_menu_top_}
62
+ Vedeu.bind(:_menu_top_) { |name| Vedeu.menus.by_name(name).top_item }
63
+
64
+ # See {file:docs/events/menu.md#\_menu_view_}
65
+ Vedeu.bind(:_menu_view_) { |name| Vedeu.menus.by_name(name).view }
66
+
27
67
  end # Vedeu
@@ -261,4 +261,13 @@ module Vedeu
261
261
  def_delegators Vedeu::Models::Focus, :focus, :focus_by_name, :focussed?,
262
262
  :focus_next, :focus_previous
263
263
 
264
+ # See {file:docs/events/focus.md#\_focus_by_name_}
265
+ Vedeu.bind(:_focus_by_name_) { |name| Vedeu.focus_by_name(name) }
266
+
267
+ # See {file:docs/events/focus.md#\_focus_next_}
268
+ Vedeu.bind(:_focus_next_) { Vedeu.focus_next }
269
+
270
+ # See {file:docs/events/focus.md#\_focus_prev_}
271
+ Vedeu.bind(:_focus_prev_) { Vedeu.focus_previous }
272
+
264
273
  end # Vedeu
@@ -51,7 +51,7 @@ module Vedeu
51
51
 
52
52
  # @return [Array<Array<Vedeu::Views::Char>>]
53
53
  def render
54
- Vedeu.render_output(output) if interface.visible?
54
+ Vedeu.render_output(output)
55
55
  end
56
56
 
57
57
  protected
@@ -170,4 +170,12 @@ module Vedeu
170
170
  # @see Vedeu::Clear::Interface.clear_content_by_name
171
171
  def_delegators Vedeu::Clear::Interface, :clear_content_by_name
172
172
 
173
+ # See {file:docs/events/visibility.md#\_clear_view_}
174
+ Vedeu.bind(:_clear_view_) { |name| Vedeu.clear_by_name(name) }
175
+
176
+ # See {file:docs/events/visibility.md#\_clear_view_content_}
177
+ Vedeu.bind(:_clear_view_content_) do |name|
178
+ Vedeu.clear_content_by_name(name)
179
+ end
180
+
173
181
  end # Vedeu
@@ -30,4 +30,7 @@ module Vedeu
30
30
 
31
31
  end # Output
32
32
 
33
+ # See {file:docs/events/refresh.md#\_refresh_}
34
+ Vedeu.bind(:_refresh_) { Vedeu::Output::Refresh.all }
35
+
33
36
  end # Vedeu
@@ -43,14 +43,6 @@ module Vedeu
43
43
  model
44
44
  end
45
45
 
46
- # Fetch an instance of a repository's model by name.
47
- #
48
- # @param name [String|Symbol]
49
- # @return [void]
50
- def by_name(name)
51
- repository.by_name(name) if repository
52
- end
53
-
54
46
  # Provide a convenient way to define the child or children of
55
47
  # a model.
56
48
  #
@@ -131,7 +123,7 @@ module Vedeu
131
123
  when 'Geometry'.freeze then 'Vedeu::Geometry::DSL'.freeze
132
124
  when 'Group'.freeze then 'Vedeu::Groups::DSL'.freeze
133
125
  when 'Interface'.freeze then 'Vedeu::Interfaces::DSL'.freeze
134
- when 'Keymap'.freeze then 'Vedeu::Keymaps::DSL'.freeze
126
+ when 'Keymap'.freeze then 'Vedeu::Input::DSL'.freeze
135
127
  when 'Menu'.freeze then 'Vedeu::Menus::DSL'.freeze
136
128
  # when 'ModelTestClass' then 'Vedeu::Repositories::ModelTestClass::DSL'
137
129
  else
@@ -106,6 +106,7 @@ module Vedeu
106
106
 
107
107
  else
108
108
  Vedeu.trigger(:_standalone_)
109
+ Vedeu.refresh
109
110
 
110
111
  end
111
112
  end
@@ -136,4 +137,10 @@ module Vedeu
136
137
  # @see Vedeu::Runtime::Application.stop
137
138
  def_delegators Vedeu::Runtime::Application, :exit
138
139
 
140
+ # See {file:docs/events/system.md#\_exit_}
141
+ Vedeu.bind(:_exit_) { Vedeu.exit }
142
+
143
+ # See {file:docs/events/system.md#\_mode_switch_}
144
+ Vedeu.bind(:_mode_switch_) { fail Vedeu::Error::ModeSwitch }
145
+
139
146
  end # Vedeu
@@ -65,4 +65,7 @@ module Vedeu
65
65
  # @return [Boolean]
66
66
  def_delegators Vedeu::Runtime::Flags, :ready?, :ready!
67
67
 
68
+ # See {file:docs/events/system.md#\_initialize_}
69
+ Vedeu.bind(:_initialize_) { Vedeu.ready! }
70
+
68
71
  end # Vedeu
@@ -104,6 +104,8 @@ module Vedeu
104
104
  def terminate!
105
105
  Vedeu.log(type: :info, message: 'Exiting gracefully.'.freeze)
106
106
 
107
+ Vedeu.log(type: :info, message: "#{Vedeu.events.all.size}")
108
+
107
109
  $stdin = STDIN
108
110
  $stdout = STDOUT
109
111
  $stderr = STDERR
@@ -193,4 +193,11 @@ module Vedeu
193
193
  # @see Vedeu::Runtime::Router#goto
194
194
  def_delegators Vedeu::Runtime::Router, :goto
195
195
 
196
+ # See {file:docs/events/application.md#\_goto_}
197
+ Vedeu.bind(:_goto_) do |controller, action, **args|
198
+ Vedeu::Runtime::Router.goto(controller, action, **args)
199
+ end
200
+
201
+ # Vedeu.bind_alias(:_action_, :_goto_)
202
+
196
203
  end # Vedeu
@@ -145,4 +145,15 @@ module Vedeu
145
145
  def_delegators Vedeu::Terminal::Buffer, :clear
146
146
  def_delegators Vedeu::Terminal::Buffer, :refresh
147
147
 
148
+ # See {file:docs/events/visibility.md#\_clear_}
149
+ Vedeu.bind(:_clear_) { Vedeu.clear }
150
+
151
+ # See {file:docs/events/drb.md#\_drb_retrieve_output_}
152
+ Vedeu.bind(:_drb_retrieve_output_) { Vedeu::Terminal::Buffer.output }
153
+
154
+ # See {file:docs/events/drb.md#\_drb_store_output_}
155
+ Vedeu.bind(:_drb_store_output_) do |data|
156
+ Vedeu::Terminal::Buffer.write(data)
157
+ end
158
+
148
159
  end # Vedeu
@@ -224,4 +224,7 @@ module Vedeu
224
224
  # @see Vedeu::Terminal#width
225
225
  def_delegators Vedeu::Terminal, :height, :resize, :width
226
226
 
227
+ # See {file:docs/events/view.md#\_resize_}
228
+ Vedeu.bind(:_resize_, delay: 0.25) { Vedeu.resize }
229
+
227
230
  end # Vedeu
@@ -1,6 +1,6 @@
1
1
  module Vedeu
2
2
 
3
3
  # The current version of Vedeu.
4
- VERSION = '0.6.29'.freeze
4
+ VERSION = '0.6.30'.freeze
5
5
 
6
6
  end