vedeu 0.8.16 → 0.8.17
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/TODO.md +8 -0
- data/examples/dsl_alignment.rb +5 -2
- data/examples/dsl_horizontal_alignment.rb +5 -2
- data/examples/dsl_vertical_alignment.rb +5 -2
- data/integrations/test_runner.sh +2 -3
- data/lib/vedeu.rb +31 -1
- data/lib/vedeu/borders/all.rb +19 -0
- data/lib/vedeu/borders/border.rb +1 -2
- data/lib/vedeu/borders/caption.rb +2 -0
- data/lib/vedeu/borders/refresh.rb +4 -17
- data/lib/vedeu/borders/repository.rb +0 -14
- data/lib/vedeu/borders/title.rb +9 -3
- data/lib/vedeu/buffers/all.rb +25 -0
- data/lib/vedeu/buffers/buffer.rb +2 -2
- data/lib/vedeu/buffers/refresh.rb +1 -15
- data/lib/vedeu/buffers/terminal.rb +0 -15
- data/lib/vedeu/buffers/view.rb +2 -2
- data/lib/vedeu/cells/empty.rb +4 -5
- data/lib/vedeu/coercers/all.rb +0 -5
- data/lib/vedeu/cursors/all.rb +88 -0
- data/lib/vedeu/cursors/cursor.rb +7 -92
- data/lib/vedeu/cursors/move.rb +44 -14
- data/lib/vedeu/cursors/refresh.rb +5 -17
- data/lib/vedeu/cursors/reposition.rb +2 -2
- data/lib/vedeu/distributed/all.rb +16 -0
- data/lib/vedeu/distributed/server.rb +0 -16
- data/lib/vedeu/dsl/dsl.rb +2 -2
- data/lib/vedeu/dsl/helpers/align.rb +1 -1
- data/lib/vedeu/dsl/helpers/attributes.rb +1 -1
- data/lib/vedeu/dsl/helpers/truncate.rb +1 -1
- data/lib/vedeu/dsl/helpers/wordwrap.rb +1 -1
- data/lib/vedeu/dsl/view.rb +1 -1
- data/lib/vedeu/dsl/views.rb +22 -6
- data/lib/vedeu/editor/all.rb +54 -0
- data/lib/vedeu/editor/cropper.rb +3 -5
- data/lib/vedeu/editor/cursor.rb +2 -4
- data/lib/vedeu/editor/document.rb +1 -1
- data/lib/vedeu/editor/editor.rb +2 -17
- data/lib/vedeu/editor/repository.rb +0 -45
- data/lib/vedeu/events/event.rb +1 -1
- data/lib/vedeu/geometries/all.rb +46 -1
- data/lib/vedeu/geometries/area/area.rb +2 -2
- data/lib/vedeu/geometries/dsl/grid.rb +16 -20
- data/lib/vedeu/geometries/geometry.rb +1 -1
- data/lib/vedeu/geometries/move.rb +2 -38
- data/lib/vedeu/geometries/repository.rb +0 -14
- data/lib/vedeu/groups/all.rb +23 -0
- data/lib/vedeu/groups/clear.rb +1 -10
- data/lib/vedeu/groups/group.rb +0 -12
- data/lib/vedeu/groups/refresh.rb +2 -11
- data/lib/vedeu/input/all.rb +35 -0
- data/lib/vedeu/input/capture.rb +2 -2
- data/lib/vedeu/input/mapper.rb +0 -35
- data/lib/vedeu/input/raw.rb +1 -1
- data/lib/vedeu/input/read.rb +1 -1
- data/lib/vedeu/interfaces/all.rb +24 -0
- data/lib/vedeu/interfaces/clear.rb +32 -46
- data/lib/vedeu/interfaces/interface.rb +0 -16
- data/lib/vedeu/menus/all.rb +44 -0
- data/lib/vedeu/menus/menu.rb +13 -8
- data/lib/vedeu/menus/repository.rb +0 -44
- data/lib/vedeu/models/all.rb +13 -0
- data/lib/vedeu/models/focus.rb +0 -13
- data/lib/vedeu/models/toggleable.rb +1 -1
- data/lib/vedeu/null/generic.rb +1 -1
- data/lib/vedeu/output/all.rb +7 -0
- data/lib/vedeu/output/compressor.rb +11 -6
- data/lib/vedeu/output/compressors/character.rb +2 -0
- data/lib/vedeu/output/refresh.rb +0 -7
- data/lib/vedeu/output/viewport.rb +2 -5
- data/lib/vedeu/plugins/plugin.rb +1 -1
- data/lib/vedeu/presentation/colour.rb +6 -1
- data/lib/vedeu/renderers/all.rb +1 -1
- data/lib/vedeu/repositories/repositories.rb +1 -1
- data/lib/vedeu/runtime/all.rb +28 -0
- data/lib/vedeu/runtime/application.rb +0 -18
- data/lib/vedeu/runtime/flags.rb +0 -7
- data/lib/vedeu/runtime/router.rb +0 -11
- data/lib/vedeu/runtime/traps.rb +2 -0
- data/lib/vedeu/templating/view_template.rb +2 -4
- data/lib/vedeu/terminal/all.rb +7 -0
- data/lib/vedeu/terminal/terminal.rb +0 -7
- data/lib/vedeu/version.rb +1 -1
- data/lib/vedeu/views/view.rb +3 -3
- data/test/lib/vedeu/cursors/cursor_test.rb +4 -4
- data/test/lib/vedeu/cursors/move_test.rb +2 -2
- data/test/lib/vedeu/presentation/colour_test.rb +26 -0
- data/test/support/colour_support.sh +3 -1
- data/test/support/examples/material_colours_app.rb +2 -28
- data/test/support/stats.sh +1 -1
- data/test/test_helper.rb +0 -1
- data/vedeu.gemspec +1 -1
- metadata +4 -6
- data/test/support/helpers/presentation_colour_test_class.rb +0 -31
data/lib/vedeu/runtime/flags.rb
CHANGED
data/lib/vedeu/runtime/router.rb
CHANGED
@@ -176,15 +176,4 @@ module Vedeu
|
|
176
176
|
def_delegators Vedeu::Runtime::Router,
|
177
177
|
:goto
|
178
178
|
|
179
|
-
# :nocov:
|
180
|
-
|
181
|
-
# See {file:docs/events/application.md#\_goto_}
|
182
|
-
Vedeu.bind(:_goto_) do |controller, action, **args|
|
183
|
-
Vedeu::Runtime::Router.goto(controller, action, **args)
|
184
|
-
end
|
185
|
-
|
186
|
-
# Vedeu.bind_alias(:_action_, :_goto_)
|
187
|
-
|
188
|
-
# :nocov:
|
189
|
-
|
190
179
|
end # Vedeu
|
data/lib/vedeu/runtime/traps.rb
CHANGED
@@ -72,15 +72,13 @@ module Vedeu
|
|
72
72
|
}
|
73
73
|
end
|
74
74
|
|
75
|
-
#
|
76
|
-
#
|
77
|
-
# @return (see Vedeu::Interfaces::Repository#by_name)
|
75
|
+
# @macro interface_by_name
|
78
76
|
def interface
|
79
77
|
Vedeu.interfaces.by_name(name)
|
80
78
|
end
|
81
79
|
alias interface? interface
|
82
80
|
|
83
|
-
# @
|
81
|
+
# @macro return_name
|
84
82
|
def name
|
85
83
|
options[:name]
|
86
84
|
end
|
data/lib/vedeu/terminal/all.rb
CHANGED
data/lib/vedeu/version.rb
CHANGED
data/lib/vedeu/views/view.rb
CHANGED
@@ -47,7 +47,7 @@ module Vedeu
|
|
47
47
|
alias cursor_visible? cursor_visible
|
48
48
|
|
49
49
|
# @!attribute [rw] name
|
50
|
-
# @
|
50
|
+
# @macro return_name
|
51
51
|
attr_accessor :name
|
52
52
|
|
53
53
|
# @!attribute [rw] wordwrap
|
@@ -146,7 +146,7 @@ module Vedeu
|
|
146
146
|
|
147
147
|
private
|
148
148
|
|
149
|
-
# @
|
149
|
+
# @macro buffer_by_name
|
150
150
|
def buffer
|
151
151
|
Vedeu.buffers.by_name(name)
|
152
152
|
end
|
@@ -166,7 +166,7 @@ module Vedeu
|
|
166
166
|
}
|
167
167
|
end
|
168
168
|
|
169
|
-
# @
|
169
|
+
# @macro interface_by_name
|
170
170
|
def interface
|
171
171
|
Vedeu.interfaces.by_name(name)
|
172
172
|
end
|
@@ -198,8 +198,8 @@ module Vedeu
|
|
198
198
|
|
199
199
|
it { subject.x.must_equal(6) }
|
200
200
|
it { subject.y.must_equal(6) }
|
201
|
-
it { subject.ox.must_equal(
|
202
|
-
it { subject.oy.must_equal(
|
201
|
+
it { subject.ox.must_equal(1) }
|
202
|
+
it { subject.oy.must_equal(1) }
|
203
203
|
end
|
204
204
|
|
205
205
|
describe '#move_right' do
|
@@ -242,7 +242,7 @@ module Vedeu
|
|
242
242
|
context 'when < 0' do
|
243
243
|
let(:ox) { -2 }
|
244
244
|
|
245
|
-
it { subject.must_equal(
|
245
|
+
it { subject.must_equal(1) }
|
246
246
|
end
|
247
247
|
end
|
248
248
|
|
@@ -254,7 +254,7 @@ module Vedeu
|
|
254
254
|
context 'when < 0' do
|
255
255
|
let(:oy) { -4 }
|
256
256
|
|
257
|
-
it { subject.must_equal(
|
257
|
+
it { subject.must_equal(1) }
|
258
258
|
end
|
259
259
|
end
|
260
260
|
|
@@ -44,13 +44,13 @@ module Vedeu
|
|
44
44
|
|
45
45
|
context 'when the cursor is visible' do
|
46
46
|
context 'when a valid direction is given' do
|
47
|
-
let(:direction) { :
|
47
|
+
let(:direction) { :move_right }
|
48
48
|
|
49
49
|
it { subject.must_be_instance_of(Vedeu::Cursors::Cursor) }
|
50
50
|
end
|
51
51
|
|
52
52
|
context 'when an invalid direction is given' do
|
53
|
-
let(:direction) { :
|
53
|
+
let(:direction) { :move_left }
|
54
54
|
|
55
55
|
it { subject.must_equal(nil) }
|
56
56
|
end
|
@@ -4,6 +4,32 @@ require 'test_helper'
|
|
4
4
|
|
5
5
|
module Vedeu
|
6
6
|
|
7
|
+
class ParentPresentationColourTestClass
|
8
|
+
|
9
|
+
include Vedeu::Presentation
|
10
|
+
|
11
|
+
attr_reader :colour
|
12
|
+
|
13
|
+
def initialize
|
14
|
+
@colour = { background: '#330000', foreground: '#00aadd' }
|
15
|
+
@parent = nil
|
16
|
+
end
|
17
|
+
|
18
|
+
end # ParentPresentationColourTestClass
|
19
|
+
|
20
|
+
class PresentationColourTestClass
|
21
|
+
|
22
|
+
include Vedeu::Presentation
|
23
|
+
|
24
|
+
attr_reader :parent
|
25
|
+
|
26
|
+
def initialize(attributes = {})
|
27
|
+
@colour = attributes[:colour]
|
28
|
+
@parent = attributes[:parent]
|
29
|
+
end
|
30
|
+
|
31
|
+
end # PresentationTestClass
|
32
|
+
|
7
33
|
module Presentation
|
8
34
|
|
9
35
|
describe Colour do
|
@@ -1,5 +1,7 @@
|
|
1
1
|
#!/bin/bash
|
2
|
-
|
2
|
+
|
3
|
+
set -euo pipefail
|
4
|
+
|
3
5
|
# Vedeu can use 24-bit color codes. To test whether your terminal supports
|
4
6
|
# this colour mode, running this file should output lots of beautiful colours.
|
5
7
|
# If the output is 'patchy' and not many colours show, then it is unlikely
|
@@ -31,23 +31,6 @@ class VedeuMaterialColoursApp
|
|
31
31
|
threaded false
|
32
32
|
end
|
33
33
|
|
34
|
-
class CursorView
|
35
|
-
def render
|
36
|
-
Vedeu.render do
|
37
|
-
view('cursor') do
|
38
|
-
line do
|
39
|
-
stream 'Cursor: ', foreground: '#ff8800'
|
40
|
-
stream "#{cursor_position}"
|
41
|
-
end
|
42
|
-
end
|
43
|
-
end
|
44
|
-
end
|
45
|
-
|
46
|
-
def cursor_position
|
47
|
-
Vedeu.trigger(:_cursor_position_, Vedeu.focus)
|
48
|
-
end
|
49
|
-
end
|
50
|
-
|
51
34
|
# Borders can be defined as standalone declarations.
|
52
35
|
Vedeu.border 'no_bottom' do
|
53
36
|
background '#000000'
|
@@ -230,7 +213,7 @@ class VedeuMaterialColoursApp
|
|
230
213
|
Vedeu.interface 'only_left' do
|
231
214
|
colour foreground: '#000000', background: '#cddc39'
|
232
215
|
border do
|
233
|
-
foreground '#
|
216
|
+
foreground '#ffffff'
|
234
217
|
show_top false
|
235
218
|
show_bottom false
|
236
219
|
show_right false
|
@@ -301,21 +284,17 @@ class VedeuMaterialColoursApp
|
|
301
284
|
end
|
302
285
|
|
303
286
|
Vedeu.keymap('_global_') do
|
304
|
-
key(:up)
|
287
|
+
key(:up) do
|
305
288
|
Vedeu.trigger(:_cursor_up_);
|
306
|
-
CursorView.new.render
|
307
289
|
end
|
308
290
|
key(:right) do
|
309
291
|
Vedeu.trigger(:_cursor_right_)
|
310
|
-
CursorView.new.render
|
311
292
|
end
|
312
293
|
key(:down) do
|
313
294
|
Vedeu.trigger(:_cursor_down_)
|
314
|
-
CursorView.new.render
|
315
295
|
end
|
316
296
|
key(:left) do
|
317
297
|
Vedeu.trigger(:_cursor_left_)
|
318
|
-
CursorView.new.render
|
319
298
|
end
|
320
299
|
key(:home) { Vedeu.trigger(:_cursor_top_) }
|
321
300
|
key(:end) { Vedeu.trigger(:_cursor_bottom_) }
|
@@ -350,19 +329,15 @@ class VedeuMaterialColoursApp
|
|
350
329
|
|
351
330
|
key('h') do
|
352
331
|
Vedeu.trigger(:_view_left_, Vedeu.focus)
|
353
|
-
CursorView.new.render
|
354
332
|
end
|
355
333
|
key('j') do
|
356
334
|
Vedeu.trigger(:_view_down_, Vedeu.focus)
|
357
|
-
CursorView.new.render
|
358
335
|
end
|
359
336
|
key('k') do
|
360
337
|
Vedeu.trigger(:_view_up_, Vedeu.focus)
|
361
|
-
CursorView.new.render
|
362
338
|
end
|
363
339
|
key('l') do
|
364
340
|
Vedeu.trigger(:_view_right_, Vedeu.focus)
|
365
|
-
CursorView.new.render
|
366
341
|
end
|
367
342
|
|
368
343
|
key('m') { Vedeu.trigger(:_maximise_, Vedeu.focus) }
|
@@ -623,7 +598,6 @@ class VedeuMaterialColoursApp
|
|
623
598
|
line 'style'
|
624
599
|
end
|
625
600
|
end
|
626
|
-
CursorView.new.render
|
627
601
|
end
|
628
602
|
|
629
603
|
Vedeu.focus_by_name 'main_interface'
|
data/test/support/stats.sh
CHANGED
data/test/test_helper.rb
CHANGED
data/vedeu.gemspec
CHANGED
@@ -25,7 +25,7 @@ Gem::Specification.new do |spec|
|
|
25
25
|
spec.add_development_dependency 'guard-minitest', '2.4.4'
|
26
26
|
spec.add_development_dependency 'guard-rubocop', '1.2.0'
|
27
27
|
spec.add_development_dependency 'minitest', '5.8.4'
|
28
|
-
spec.add_development_dependency 'minitest-reporters', '1.1.
|
28
|
+
spec.add_development_dependency 'minitest-reporters', '1.1.8'
|
29
29
|
spec.add_development_dependency 'mocha', '1.1.0'
|
30
30
|
spec.add_development_dependency 'rubocop', '0.37.2'
|
31
31
|
spec.add_development_dependency 'simplecov', '0.11.2'
|
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.
|
4
|
+
version: 0.8.17
|
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-02-
|
11
|
+
date: 2016-02-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: guard
|
@@ -72,14 +72,14 @@ dependencies:
|
|
72
72
|
requirements:
|
73
73
|
- - '='
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: 1.1.
|
75
|
+
version: 1.1.8
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - '='
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: 1.1.
|
82
|
+
version: 1.1.8
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: mocha
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -1068,7 +1068,6 @@ files:
|
|
1068
1068
|
- test/support/examples/view_templates_app/view_templates_app.rb
|
1069
1069
|
- test/support/examples/view_templates_app/wrap.erb
|
1070
1070
|
- test/support/helpers/model_test_class.rb
|
1071
|
-
- test/support/helpers/presentation_colour_test_class.rb
|
1072
1071
|
- test/support/stats.sh
|
1073
1072
|
- test/support/templates/html_renderer.vedeu
|
1074
1073
|
- test/support/ttyrec.rb
|
@@ -1333,7 +1332,6 @@ test_files:
|
|
1333
1332
|
- test/support/examples/view_templates_app/view_templates_app.rb
|
1334
1333
|
- test/support/examples/view_templates_app/wrap.erb
|
1335
1334
|
- test/support/helpers/model_test_class.rb
|
1336
|
-
- test/support/helpers/presentation_colour_test_class.rb
|
1337
1335
|
- test/support/stats.sh
|
1338
1336
|
- test/support/templates/html_renderer.vedeu
|
1339
1337
|
- test/support/ttyrec.rb
|
@@ -1,31 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Vedeu
|
4
|
-
|
5
|
-
class ParentPresentationColourTestClass
|
6
|
-
|
7
|
-
include Vedeu::Presentation
|
8
|
-
|
9
|
-
attr_reader :colour
|
10
|
-
|
11
|
-
def initialize
|
12
|
-
@colour = { background: '#330000', foreground: '#00aadd' }
|
13
|
-
@parent = nil
|
14
|
-
end
|
15
|
-
|
16
|
-
end # ParentPresentationColourTestClass
|
17
|
-
|
18
|
-
class PresentationColourTestClass
|
19
|
-
|
20
|
-
include Vedeu::Presentation
|
21
|
-
|
22
|
-
attr_reader :parent
|
23
|
-
|
24
|
-
def initialize(attributes = {})
|
25
|
-
@colour = attributes[:colour]
|
26
|
-
@parent = attributes[:parent]
|
27
|
-
end
|
28
|
-
|
29
|
-
end # PresentationTestClass
|
30
|
-
|
31
|
-
end # Vedeu
|