vedeu 0.6.30 → 0.6.31
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/.codeclimate.yml +0 -3
- data/lib/vedeu/all.rb +0 -3
- data/lib/vedeu/borders/border.rb +3 -7
- data/lib/vedeu/borders/refresh.rb +4 -0
- data/lib/vedeu/buffers/refresh.rb +4 -0
- data/lib/vedeu/cursors/cursor.rb +46 -36
- data/lib/vedeu/cursors/refresh.rb +4 -0
- data/lib/vedeu/distributed/server.rb +4 -0
- data/lib/vedeu/editor/editor.rb +4 -0
- data/lib/vedeu/editor/repository.rb +4 -0
- data/lib/vedeu/events/event.rb +6 -1
- data/lib/vedeu/geometry/all.rb +1 -1
- data/lib/vedeu/geometry/coordinate.rb +138 -36
- data/lib/vedeu/geometry/dimension.rb +7 -0
- data/lib/vedeu/geometry/repository.rb +4 -0
- data/lib/vedeu/groups/clear.rb +4 -0
- data/lib/vedeu/groups/group.rb +4 -0
- data/lib/vedeu/groups/refresh.rb +4 -0
- data/lib/vedeu/input/mapper.rb +18 -0
- data/lib/vedeu/interfaces/interface.rb +4 -0
- data/lib/vedeu/logging/log.rb +6 -2
- data/lib/vedeu/menus/repository.rb +4 -0
- data/lib/vedeu/models/focus.rb +4 -0
- data/lib/vedeu/output/clear/interface.rb +4 -0
- data/lib/vedeu/output/refresh/refresh.rb +4 -0
- data/lib/vedeu/runtime/application.rb +10 -0
- data/lib/vedeu/runtime/flags.rb +4 -0
- data/lib/vedeu/runtime/launcher.rb +0 -2
- data/lib/vedeu/runtime/router.rb +4 -0
- data/lib/vedeu/terminal/buffer.rb +4 -0
- data/lib/vedeu/terminal/terminal.rb +4 -0
- data/lib/vedeu/version.rb +1 -1
- data/test/lib/vedeu/borders/border_test.rb +0 -1
- data/test/lib/vedeu/geometry/coordinate.rb +167 -0
- data/test/lib/vedeu/input/mapper_test.rb +2 -0
- data/test/lib/vedeu/output/presentation/styles_test.rb +0 -1
- data/test/lib/vedeu/runtime/application_test.rb +1 -0
- data/test/test_helper.rb +1 -1
- data/vedeu.gemspec +1 -1
- metadata +6 -15
- data/lib/vedeu/bindings/all.rb +0 -64
- data/lib/vedeu/geometry/generic_coordinate.rb +0 -169
- data/lib/vedeu/options.rb +0 -22
- data/test/lib/vedeu/bindings/all_test.rb +0 -19
- data/test/lib/vedeu/geometry/coordinate_test.rb +0 -135
- data/test/lib/vedeu/geometry/generic_coordinate_test.rb +0 -45
- data/test/lib/vedeu/options_test.rb +0 -57
|
@@ -137,6 +137,13 @@ module Vedeu
|
|
|
137
137
|
|
|
138
138
|
# Fetch the ending coordinate.
|
|
139
139
|
#
|
|
140
|
+
# 1) if an end value was given, use that.
|
|
141
|
+
# 2) if a start value wasn't given, but a width or height was,
|
|
142
|
+
# use the width or height
|
|
143
|
+
# 3) if a start value was given and a width or height was given,
|
|
144
|
+
# add the width or height to the start and minus 1.
|
|
145
|
+
# 4) otherwise, use the terminal default width or height
|
|
146
|
+
#
|
|
140
147
|
# @return [Fixnum]
|
|
141
148
|
def _dn
|
|
142
149
|
if dn
|
|
@@ -25,6 +25,8 @@ module Vedeu
|
|
|
25
25
|
# @return [Vedeu::Geometry::Repository]
|
|
26
26
|
def_delegators Vedeu::Geometry::Repository, :geometries
|
|
27
27
|
|
|
28
|
+
# :nocov:
|
|
29
|
+
|
|
28
30
|
# See {file:docs/events/view.md#\_maximise_}
|
|
29
31
|
Vedeu.bind(:_maximise_) do |name|
|
|
30
32
|
Vedeu.geometries.by_name(name).maximise
|
|
@@ -50,4 +52,6 @@ module Vedeu
|
|
|
50
52
|
Vedeu.bind_alias(:"_geometry_#{direction}_", :"_view_#{direction}_")
|
|
51
53
|
end
|
|
52
54
|
|
|
55
|
+
# :nocov:
|
|
56
|
+
|
|
53
57
|
end # Vedeu
|
data/lib/vedeu/groups/clear.rb
CHANGED
|
@@ -58,7 +58,11 @@ module Vedeu
|
|
|
58
58
|
# @see Vedeu::Groups::Clear.render
|
|
59
59
|
def_delegators Vedeu::Groups::Clear, :clear_by_group
|
|
60
60
|
|
|
61
|
+
# :nocov:
|
|
62
|
+
|
|
61
63
|
# See {file:docs/events/visibility.md#\_clear_group_}
|
|
62
64
|
Vedeu.bind(:_clear_group_) { |name| Vedeu.clear_by_group(name) }
|
|
63
65
|
|
|
66
|
+
# :nocov:
|
|
67
|
+
|
|
64
68
|
end # Vedeu
|
data/lib/vedeu/groups/group.rb
CHANGED
|
@@ -179,6 +179,8 @@ 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
|
+
# :nocov:
|
|
183
|
+
|
|
182
184
|
# See {file:docs/events/visibility.md#\_hide_group_}
|
|
183
185
|
Vedeu.bind(:_hide_group_) { |name| Vedeu.hide_group(name) }
|
|
184
186
|
|
|
@@ -188,4 +190,6 @@ module Vedeu
|
|
|
188
190
|
# See {file:docs/events/visibility.md#\_toggle_group_}
|
|
189
191
|
Vedeu.bind(:_toggle_group_) { |name| Vedeu.toggle_group(name) }
|
|
190
192
|
|
|
193
|
+
# :nocov:
|
|
194
|
+
|
|
191
195
|
end # Vedeu
|
data/lib/vedeu/groups/refresh.rb
CHANGED
data/lib/vedeu/input/mapper.rb
CHANGED
|
@@ -134,7 +134,25 @@ module Vedeu
|
|
|
134
134
|
# @see Vedeu::Input::Mapper.keypress
|
|
135
135
|
def_delegators Vedeu::Input::Mapper, :keypress
|
|
136
136
|
|
|
137
|
+
# :nocov:
|
|
138
|
+
|
|
137
139
|
# See {file:docs/events/system.md#\_keypress_}
|
|
138
140
|
Vedeu.bind(:_keypress_) { |key| Vedeu.keypress(key) }
|
|
139
141
|
|
|
142
|
+
# See {file:docs/events/drb.md#\_drb_input_}
|
|
143
|
+
Vedeu.bind(:_drb_input_) do |data, type|
|
|
144
|
+
Vedeu.log(type: :drb, message: "Sending input (#{type})".freeze)
|
|
145
|
+
|
|
146
|
+
case type
|
|
147
|
+
when :command then Vedeu.trigger(:_command_, data)
|
|
148
|
+
when :keypress then Vedeu.trigger(:_keypress_, data)
|
|
149
|
+
else Vedeu.trigger(:_keypress_, data)
|
|
150
|
+
end
|
|
151
|
+
end
|
|
152
|
+
|
|
153
|
+
# See {file:docs/events/system.md#\_command_}
|
|
154
|
+
Vedeu.bind(:_command_) { |command| Vedeu.trigger(:command, command) }
|
|
155
|
+
|
|
156
|
+
# :nocov:
|
|
157
|
+
|
|
140
158
|
end # Vedeu
|
|
@@ -134,6 +134,8 @@ module Vedeu
|
|
|
134
134
|
def_delegators Vedeu::Interfaces::Interface, :hide_interface, :show_interface,
|
|
135
135
|
:toggle_interface
|
|
136
136
|
|
|
137
|
+
# :nocov:
|
|
138
|
+
|
|
137
139
|
# See {file:docs/events/visibility.md#\_hide_interface_}
|
|
138
140
|
Vedeu.bind(:_hide_interface_) { |name| Vedeu.hide_interface(name) }
|
|
139
141
|
Vedeu.bind_alias(:_hide_view_, :_hide_interface_)
|
|
@@ -146,4 +148,6 @@ module Vedeu
|
|
|
146
148
|
Vedeu.bind(:_toggle_interface_) { |name| Vedeu.toggle_interface(name) }
|
|
147
149
|
Vedeu.bind_alias(:_toggle_view_, :_toggle_interface_)
|
|
148
150
|
|
|
151
|
+
# :nocov:
|
|
152
|
+
|
|
149
153
|
end # Vedeu
|
data/lib/vedeu/logging/log.rb
CHANGED
|
@@ -168,8 +168,8 @@ module Vedeu
|
|
|
168
168
|
# @return [String]
|
|
169
169
|
def timestamp
|
|
170
170
|
@now = Time.now.to_f
|
|
171
|
-
@time
|
|
172
|
-
@last
|
|
171
|
+
@time ||= 0.0
|
|
172
|
+
@last ||= @now
|
|
173
173
|
|
|
174
174
|
unless @last == @time
|
|
175
175
|
@time += (@now - @last).round(4)
|
|
@@ -193,7 +193,11 @@ 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
|
+
# :nocov:
|
|
197
|
+
|
|
196
198
|
# See {file:docs/events/system.md#\_log_}
|
|
197
199
|
Vedeu.bind(:_log_) { |msg| Vedeu.log(type: :debug, message: msg) }
|
|
198
200
|
|
|
201
|
+
# :nocov:
|
|
202
|
+
|
|
199
203
|
end # Vedeu
|
|
@@ -24,6 +24,8 @@ module Vedeu
|
|
|
24
24
|
# @return [Vedeu::Menus::Repository]
|
|
25
25
|
def_delegators Vedeu::Menus::Repository, :menus
|
|
26
26
|
|
|
27
|
+
# :nocov:
|
|
28
|
+
|
|
27
29
|
# See {file:docs/events/menu.md#\_menu_bottom_}
|
|
28
30
|
Vedeu.bind(:_menu_bottom_) do |name|
|
|
29
31
|
Vedeu.menus.by_name(name).bottom_item
|
|
@@ -64,4 +66,6 @@ module Vedeu
|
|
|
64
66
|
# See {file:docs/events/menu.md#\_menu_view_}
|
|
65
67
|
Vedeu.bind(:_menu_view_) { |name| Vedeu.menus.by_name(name).view }
|
|
66
68
|
|
|
69
|
+
# :nocov:
|
|
70
|
+
|
|
67
71
|
end # Vedeu
|
data/lib/vedeu/models/focus.rb
CHANGED
|
@@ -261,6 +261,8 @@ module Vedeu
|
|
|
261
261
|
def_delegators Vedeu::Models::Focus, :focus, :focus_by_name, :focussed?,
|
|
262
262
|
:focus_next, :focus_previous
|
|
263
263
|
|
|
264
|
+
# :nocov:
|
|
265
|
+
|
|
264
266
|
# See {file:docs/events/focus.md#\_focus_by_name_}
|
|
265
267
|
Vedeu.bind(:_focus_by_name_) { |name| Vedeu.focus_by_name(name) }
|
|
266
268
|
|
|
@@ -270,4 +272,6 @@ module Vedeu
|
|
|
270
272
|
# See {file:docs/events/focus.md#\_focus_prev_}
|
|
271
273
|
Vedeu.bind(:_focus_prev_) { Vedeu.focus_previous }
|
|
272
274
|
|
|
275
|
+
# :nocov:
|
|
276
|
+
|
|
273
277
|
end # Vedeu
|
|
@@ -170,6 +170,8 @@ 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
|
+
# :nocov:
|
|
174
|
+
|
|
173
175
|
# See {file:docs/events/visibility.md#\_clear_view_}
|
|
174
176
|
Vedeu.bind(:_clear_view_) { |name| Vedeu.clear_by_name(name) }
|
|
175
177
|
|
|
@@ -178,4 +180,6 @@ module Vedeu
|
|
|
178
180
|
Vedeu.clear_content_by_name(name)
|
|
179
181
|
end
|
|
180
182
|
|
|
183
|
+
# :nocov:
|
|
184
|
+
|
|
181
185
|
end # Vedeu
|
|
@@ -137,10 +137,20 @@ module Vedeu
|
|
|
137
137
|
# @see Vedeu::Runtime::Application.stop
|
|
138
138
|
def_delegators Vedeu::Runtime::Application, :exit
|
|
139
139
|
|
|
140
|
+
# :nocov:
|
|
141
|
+
|
|
140
142
|
# See {file:docs/events/system.md#\_exit_}
|
|
141
143
|
Vedeu.bind(:_exit_) { Vedeu.exit }
|
|
142
144
|
|
|
143
145
|
# See {file:docs/events/system.md#\_mode_switch_}
|
|
144
146
|
Vedeu.bind(:_mode_switch_) { fail Vedeu::Error::ModeSwitch }
|
|
145
147
|
|
|
148
|
+
# See {file:docs/events/system.md#\_cleanup_}
|
|
149
|
+
Vedeu.bind(:_cleanup_) do
|
|
150
|
+
Vedeu.trigger(:_drb_stop_)
|
|
151
|
+
Vedeu.trigger(:cleanup)
|
|
152
|
+
end
|
|
153
|
+
|
|
154
|
+
# :nocov:
|
|
155
|
+
|
|
146
156
|
end # Vedeu
|
data/lib/vedeu/runtime/flags.rb
CHANGED
data/lib/vedeu/runtime/router.rb
CHANGED
|
@@ -193,6 +193,8 @@ module Vedeu
|
|
|
193
193
|
# @see Vedeu::Runtime::Router#goto
|
|
194
194
|
def_delegators Vedeu::Runtime::Router, :goto
|
|
195
195
|
|
|
196
|
+
# :nocov:
|
|
197
|
+
|
|
196
198
|
# See {file:docs/events/application.md#\_goto_}
|
|
197
199
|
Vedeu.bind(:_goto_) do |controller, action, **args|
|
|
198
200
|
Vedeu::Runtime::Router.goto(controller, action, **args)
|
|
@@ -200,4 +202,6 @@ module Vedeu
|
|
|
200
202
|
|
|
201
203
|
# Vedeu.bind_alias(:_action_, :_goto_)
|
|
202
204
|
|
|
205
|
+
# :nocov:
|
|
206
|
+
|
|
203
207
|
end # Vedeu
|
|
@@ -145,6 +145,8 @@ module Vedeu
|
|
|
145
145
|
def_delegators Vedeu::Terminal::Buffer, :clear
|
|
146
146
|
def_delegators Vedeu::Terminal::Buffer, :refresh
|
|
147
147
|
|
|
148
|
+
# :nocov:
|
|
149
|
+
|
|
148
150
|
# See {file:docs/events/visibility.md#\_clear_}
|
|
149
151
|
Vedeu.bind(:_clear_) { Vedeu.clear }
|
|
150
152
|
|
|
@@ -156,4 +158,6 @@ module Vedeu
|
|
|
156
158
|
Vedeu::Terminal::Buffer.write(data)
|
|
157
159
|
end
|
|
158
160
|
|
|
161
|
+
# :nocov:
|
|
162
|
+
|
|
159
163
|
end # Vedeu
|
|
@@ -224,7 +224,11 @@ module Vedeu
|
|
|
224
224
|
# @see Vedeu::Terminal#width
|
|
225
225
|
def_delegators Vedeu::Terminal, :height, :resize, :width
|
|
226
226
|
|
|
227
|
+
# :nocov:
|
|
228
|
+
|
|
227
229
|
# See {file:docs/events/view.md#\_resize_}
|
|
228
230
|
Vedeu.bind(:_resize_, delay: 0.25) { Vedeu.resize }
|
|
229
231
|
|
|
232
|
+
# :nocov:
|
|
233
|
+
|
|
230
234
|
end # Vedeu
|
data/lib/vedeu/version.rb
CHANGED
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
|
|
3
|
+
module Vedeu
|
|
4
|
+
|
|
5
|
+
module Geometry
|
|
6
|
+
|
|
7
|
+
describe Coordinate do
|
|
8
|
+
|
|
9
|
+
let(:described) { Vedeu::Geometry::Coordinate }
|
|
10
|
+
let(:instance) { described.new(attributes) }
|
|
11
|
+
let(:attributes) {
|
|
12
|
+
{
|
|
13
|
+
name: _name,
|
|
14
|
+
offset: offset,
|
|
15
|
+
type: type,
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
let(:_name) {}
|
|
19
|
+
let(:offset) {}
|
|
20
|
+
let(:type) {}
|
|
21
|
+
|
|
22
|
+
describe '#initialize' do
|
|
23
|
+
it { instance.must_be_instance_of(described) }
|
|
24
|
+
it { instance.instance_variable_get('@name').must_equal(_name) }
|
|
25
|
+
it { instance.instance_variable_get('@offset').must_equal(offset) }
|
|
26
|
+
it { instance.instance_variable_get('@type').must_equal(type) }
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
describe '#dn' do
|
|
30
|
+
subject { instance.dn }
|
|
31
|
+
|
|
32
|
+
# it { skip }
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
describe '#position' do
|
|
36
|
+
subject { instance.position }
|
|
37
|
+
|
|
38
|
+
# it { skip }
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
# let(:described) { Vedeu::Geometry::Coordinate }
|
|
42
|
+
# let(:instance) { described.new(_name, oy, ox) }
|
|
43
|
+
# let(:_name) { 'coordinate' }
|
|
44
|
+
# let(:oy) { 0 }
|
|
45
|
+
# let(:ox) { 0 }
|
|
46
|
+
# let(:height) { 6 }
|
|
47
|
+
# let(:width) { 6 }
|
|
48
|
+
# let(:x) { 7 }
|
|
49
|
+
# let(:y) { 5 }
|
|
50
|
+
# let(:border) { Vedeu::Borders::Border.new(name: _name, enabled: true) }
|
|
51
|
+
# let(:geometry) {
|
|
52
|
+
# Vedeu::Geometry::Geometry.new(name: _name,
|
|
53
|
+
# height: height,
|
|
54
|
+
# width: width,
|
|
55
|
+
# x: x,
|
|
56
|
+
# y: y)
|
|
57
|
+
# }
|
|
58
|
+
|
|
59
|
+
# before do
|
|
60
|
+
# Vedeu.borders.stubs(:by_name).returns(border)
|
|
61
|
+
# Vedeu.geometries.stubs(:by_name).returns(geometry)
|
|
62
|
+
# end
|
|
63
|
+
|
|
64
|
+
# describe '#initialize' do
|
|
65
|
+
# it { instance.must_be_instance_of(described) }
|
|
66
|
+
# it { instance.instance_variable_get('@name').must_equal(_name) }
|
|
67
|
+
# it { instance.instance_variable_get('@oy').must_equal(oy) }
|
|
68
|
+
# it { instance.instance_variable_get('@ox').must_equal(ox) }
|
|
69
|
+
# end
|
|
70
|
+
|
|
71
|
+
# describe '#yn' do
|
|
72
|
+
# subject { instance.yn }
|
|
73
|
+
|
|
74
|
+
# context 'when the height is <= to 0' do
|
|
75
|
+
# let(:height) { 0 }
|
|
76
|
+
|
|
77
|
+
# it { subject.must_equal(0) }
|
|
78
|
+
# end
|
|
79
|
+
|
|
80
|
+
# context 'when the height is > 0' do
|
|
81
|
+
# it { subject.must_equal(9) }
|
|
82
|
+
# end
|
|
83
|
+
# end
|
|
84
|
+
|
|
85
|
+
# describe '#xn' do
|
|
86
|
+
# subject { instance.xn }
|
|
87
|
+
|
|
88
|
+
# context 'when the width is <= to 0' do
|
|
89
|
+
# let(:width) { 0 }
|
|
90
|
+
|
|
91
|
+
# it { subject.must_equal(0) }
|
|
92
|
+
# end
|
|
93
|
+
|
|
94
|
+
# context 'when the width is > 0' do
|
|
95
|
+
# it { subject.must_equal(11) }
|
|
96
|
+
# end
|
|
97
|
+
# end
|
|
98
|
+
|
|
99
|
+
# describe '#y' do
|
|
100
|
+
# let(:oy) { 0 }
|
|
101
|
+
|
|
102
|
+
# subject { instance.y }
|
|
103
|
+
|
|
104
|
+
# it { subject.must_be_instance_of(Fixnum) }
|
|
105
|
+
|
|
106
|
+
# context 'with a negative index' do
|
|
107
|
+
# let(:oy) { -3 }
|
|
108
|
+
|
|
109
|
+
# it { subject.must_equal(6) }
|
|
110
|
+
# end
|
|
111
|
+
|
|
112
|
+
# context 'with an index greater than the maximum index for y' do
|
|
113
|
+
# let(:oy) { 9 }
|
|
114
|
+
|
|
115
|
+
# it { subject.must_equal(9) }
|
|
116
|
+
|
|
117
|
+
# context 'but the height is negative' do
|
|
118
|
+
# let(:height) { -2 }
|
|
119
|
+
|
|
120
|
+
# it { subject.must_equal(1) }
|
|
121
|
+
# end
|
|
122
|
+
# end
|
|
123
|
+
|
|
124
|
+
# context 'with an index within range' do
|
|
125
|
+
# let(:oy) { 3 }
|
|
126
|
+
|
|
127
|
+
# it { subject.must_equal(8) }
|
|
128
|
+
# end
|
|
129
|
+
# end
|
|
130
|
+
|
|
131
|
+
# describe '#x' do
|
|
132
|
+
# let(:ox) { 0 }
|
|
133
|
+
|
|
134
|
+
# subject { instance.x }
|
|
135
|
+
|
|
136
|
+
# it { subject.must_be_instance_of(Fixnum) }
|
|
137
|
+
|
|
138
|
+
# context 'with a negative index' do
|
|
139
|
+
# let(:ox) { -3 }
|
|
140
|
+
|
|
141
|
+
# it { subject.must_equal(8) }
|
|
142
|
+
# end
|
|
143
|
+
|
|
144
|
+
# context 'with an index greater than the maximum index for x' do
|
|
145
|
+
# let(:ox) { 9 }
|
|
146
|
+
|
|
147
|
+
# it { subject.must_equal(11) }
|
|
148
|
+
|
|
149
|
+
# context 'but the width is negative' do
|
|
150
|
+
# let(:width) { -2 }
|
|
151
|
+
|
|
152
|
+
# it { subject.must_equal(3) }
|
|
153
|
+
# end
|
|
154
|
+
# end
|
|
155
|
+
|
|
156
|
+
# context 'with an index within range' do
|
|
157
|
+
# let(:ox) { 3 }
|
|
158
|
+
|
|
159
|
+
# it { subject.must_equal(10) }
|
|
160
|
+
# end
|
|
161
|
+
# end
|
|
162
|
+
|
|
163
|
+
end # Coordinate
|
|
164
|
+
|
|
165
|
+
end # Geometry
|
|
166
|
+
|
|
167
|
+
end # Vedeu
|