vedeu 0.4.57 → 0.4.58
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/bin/vedeu_drb_server +1 -0
- data/examples/drb_app.rb +1 -0
- data/lib/vedeu/all.rb +95 -65
- data/lib/vedeu/api.rb +0 -45
- data/lib/vedeu/application.rb +1 -0
- data/lib/vedeu/{bindings/all.rb → bindings.rb} +0 -6
- data/lib/vedeu/bindings/system.rb +1 -1
- data/lib/vedeu/cli/generator/templates/application/config/configuration.erb +1 -0
- data/lib/vedeu/configuration/api.rb +47 -3
- data/lib/vedeu/configuration/configuration.rb +6 -7
- data/lib/vedeu/distributed/templates/default_configuration.vedeu +1 -0
- data/lib/vedeu/{dsl/all.rb → dsl.rb} +0 -16
- data/lib/vedeu/dsl/composition.rb +4 -4
- data/lib/vedeu/events/event_collection.rb +9 -0
- data/lib/vedeu/input/keys.rb +9 -0
- data/lib/vedeu/main_loop.rb +2 -2
- data/lib/vedeu/models/chars.rb +9 -0
- data/lib/vedeu/models/interface_collection.rb +9 -0
- data/lib/vedeu/models/lines.rb +9 -0
- data/lib/vedeu/models/streams.rb +9 -0
- data/lib/vedeu/{null/all.rb → null.rb} +2 -8
- data/lib/vedeu/output/{renderers/all.rb → renderers.rb} +0 -0
- data/lib/vedeu/{repositories/all.rb → repositories.rb} +9 -0
- data/lib/vedeu/repositories/collection.rb +0 -36
- data/lib/vedeu/terminal.rb +1 -54
- data/lib/vedeu/terminal_mode.rb +57 -0
- data/lib/vedeu/version.rb +1 -1
- data/test/lib/vedeu/configuration/api_test.rb +24 -0
- data/test/lib/vedeu/events/event_collection_test.rb +18 -0
- data/test/lib/vedeu/input/keys_test.rb +18 -0
- data/test/lib/vedeu/models/chars_test.rb +18 -0
- data/test/lib/vedeu/models/interface_collection_test.rb +18 -0
- data/test/lib/vedeu/models/lines_test.rb +18 -0
- data/test/lib/vedeu/models/streams_test.rb +18 -0
- data/test/lib/vedeu/repositories/collection_test.rb +0 -78
- data/test/lib/vedeu/terminal_mode_test.rb +72 -0
- data/test/lib/vedeu/terminal_test.rb +6 -67
- data/test/support/stats.sh +3 -0
- metadata +27 -9
- data/lib/vedeu/input/all.rb +0 -18
- data/test/support/colour_test.sh +0 -100
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 52a8757a96a4e695945e2c59065f847070891d3c
|
|
4
|
+
data.tar.gz: 6065e953ab86ba1b97d1989fdacf82d7cbcbbb92
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 30b4dbcbe0dd9a72aa9bde52d362cc6d0b8df74f4ce67143f0003cadfd5fada198db127c2d731ad1d73b8169603754adcc2d7150b0390859f661ed435ce395cd
|
|
7
|
+
data.tar.gz: 15c6d9d16e928e0c1bf8817bcee63fd759c46f17df16fd4b213625f7b7523917b322ca9ba7a4a676a550d132a26667e66fdfface9ad14e914d86b55579ec31db
|
data/bin/vedeu_drb_server
CHANGED
data/examples/drb_app.rb
CHANGED
data/lib/vedeu/all.rb
CHANGED
|
@@ -1,21 +1,34 @@
|
|
|
1
|
-
|
|
2
|
-
# load order is important
|
|
3
|
-
|
|
4
1
|
require 'vedeu/version'
|
|
2
|
+
require 'vedeu/launcher'
|
|
3
|
+
require 'vedeu/bootstrap'
|
|
5
4
|
require 'vedeu/exceptions'
|
|
5
|
+
require 'vedeu/log'
|
|
6
6
|
require 'vedeu/debug'
|
|
7
7
|
require 'vedeu/traps'
|
|
8
|
+
require 'vedeu/common'
|
|
9
|
+
require 'vedeu/terminal_mode'
|
|
10
|
+
require 'vedeu/terminal'
|
|
11
|
+
require 'vedeu/timer'
|
|
12
|
+
require 'vedeu/main_loop'
|
|
13
|
+
require 'vedeu/application'
|
|
14
|
+
require 'vedeu/repositories'
|
|
8
15
|
|
|
9
|
-
require 'vedeu/null
|
|
16
|
+
require 'vedeu/null'
|
|
17
|
+
require 'vedeu/null/border'
|
|
18
|
+
require 'vedeu/null/buffer'
|
|
19
|
+
require 'vedeu/null/generic'
|
|
20
|
+
require 'vedeu/null/geometry'
|
|
21
|
+
require 'vedeu/null/interface'
|
|
22
|
+
|
|
23
|
+
require 'vedeu/repositories/collection'
|
|
24
|
+
require 'vedeu/repositories/store'
|
|
25
|
+
require 'vedeu/repositories/registerable'
|
|
26
|
+
require 'vedeu/repositories/repository'
|
|
10
27
|
|
|
11
28
|
require 'vedeu/geometry/area'
|
|
12
29
|
require 'vedeu/geometry/coordinate'
|
|
13
30
|
require 'vedeu/geometry/dimension'
|
|
14
|
-
|
|
15
31
|
require 'vedeu/geometry/geometry'
|
|
16
|
-
require 'vedeu/repositories/store'
|
|
17
|
-
require 'vedeu/repositories/registerable'
|
|
18
|
-
require 'vedeu/repositories/repository'
|
|
19
32
|
require 'vedeu/geometry/geometries'
|
|
20
33
|
require 'vedeu/geometry/grid'
|
|
21
34
|
require 'vedeu/geometry/index_position'
|
|
@@ -23,95 +36,112 @@ require 'vedeu/geometry/position_index'
|
|
|
23
36
|
require 'vedeu/geometry/position'
|
|
24
37
|
require 'vedeu/geometry/position_validator'
|
|
25
38
|
|
|
26
|
-
require 'vedeu/
|
|
27
|
-
|
|
28
|
-
require 'vedeu/
|
|
29
|
-
require 'vedeu/
|
|
30
|
-
|
|
31
|
-
require 'vedeu/
|
|
32
|
-
|
|
33
|
-
# load order has not been fully established beyond this point
|
|
39
|
+
require 'vedeu/colours/colours'
|
|
40
|
+
require 'vedeu/colours/backgrounds'
|
|
41
|
+
require 'vedeu/colours/foregrounds'
|
|
42
|
+
require 'vedeu/colours/colour_translator'
|
|
43
|
+
require 'vedeu/colours/background'
|
|
44
|
+
require 'vedeu/colours/foreground'
|
|
45
|
+
require 'vedeu/colours/colour'
|
|
34
46
|
|
|
35
47
|
require 'vedeu/buffers/buffers'
|
|
36
48
|
require 'vedeu/buffers/buffer'
|
|
37
49
|
require 'vedeu/buffers/display_buffer'
|
|
38
50
|
|
|
39
|
-
require 'vedeu/configuration/cli'
|
|
40
|
-
require 'vedeu/configuration/api'
|
|
41
|
-
require 'vedeu/configuration/configuration'
|
|
42
|
-
|
|
43
|
-
require 'vedeu/repositories/all'
|
|
44
|
-
|
|
45
|
-
require 'vedeu/cursor/cursor'
|
|
46
51
|
require 'vedeu/cursor/cursors'
|
|
52
|
+
require 'vedeu/cursor/cursor'
|
|
47
53
|
require 'vedeu/cursor/move'
|
|
48
54
|
require 'vedeu/cursor/refresh_cursor'
|
|
49
55
|
require 'vedeu/cursor/reposition'
|
|
50
56
|
|
|
57
|
+
require 'vedeu/output/renderers'
|
|
58
|
+
|
|
59
|
+
require 'vedeu/events/event_collection'
|
|
60
|
+
require 'vedeu/events/events'
|
|
61
|
+
require 'vedeu/events/event'
|
|
62
|
+
require 'vedeu/events/trigger'
|
|
63
|
+
|
|
64
|
+
require 'vedeu/models/cell'
|
|
65
|
+
require 'vedeu/models/char'
|
|
66
|
+
require 'vedeu/models/escape'
|
|
67
|
+
require 'vedeu/models/stream'
|
|
68
|
+
require 'vedeu/models/interfaces'
|
|
69
|
+
require 'vedeu/models/composition'
|
|
70
|
+
require 'vedeu/models/focus'
|
|
71
|
+
require 'vedeu/models/groups'
|
|
72
|
+
require 'vedeu/models/group'
|
|
73
|
+
require 'vedeu/models/menus'
|
|
74
|
+
|
|
75
|
+
require 'vedeu/templating/helpers'
|
|
76
|
+
require 'vedeu/templating/directive'
|
|
77
|
+
require 'vedeu/templating/preprocessor'
|
|
78
|
+
require 'vedeu/templating/template'
|
|
79
|
+
|
|
80
|
+
require 'vedeu/application/controller'
|
|
81
|
+
require 'vedeu/application/helper'
|
|
82
|
+
require 'vedeu/application/view'
|
|
83
|
+
require 'vedeu/application/application_controller'
|
|
84
|
+
require 'vedeu/application/application_helper'
|
|
85
|
+
require 'vedeu/application/application_view'
|
|
86
|
+
|
|
87
|
+
require 'vedeu/cli/generator/all'
|
|
88
|
+
require 'vedeu/cli/main'
|
|
89
|
+
|
|
90
|
+
require 'vedeu/configuration/cli'
|
|
91
|
+
require 'vedeu/configuration/api'
|
|
92
|
+
require 'vedeu/configuration/configuration'
|
|
93
|
+
|
|
51
94
|
require 'vedeu/distributed/uri'
|
|
52
95
|
require 'vedeu/distributed/server'
|
|
53
96
|
require 'vedeu/distributed/client'
|
|
54
97
|
require 'vedeu/distributed/subprocess'
|
|
55
98
|
require 'vedeu/distributed/test_application'
|
|
56
99
|
|
|
57
|
-
require 'vedeu/dsl
|
|
58
|
-
|
|
59
|
-
require 'vedeu/
|
|
60
|
-
|
|
61
|
-
require 'vedeu/
|
|
62
|
-
require 'vedeu/
|
|
63
|
-
require 'vedeu/
|
|
64
|
-
|
|
65
|
-
require 'vedeu/
|
|
100
|
+
require 'vedeu/dsl'
|
|
101
|
+
require 'vedeu/dsl/use'
|
|
102
|
+
require 'vedeu/dsl/presentation'
|
|
103
|
+
require 'vedeu/dsl/border'
|
|
104
|
+
require 'vedeu/dsl/composition'
|
|
105
|
+
require 'vedeu/dsl/geometry'
|
|
106
|
+
require 'vedeu/dsl/group'
|
|
107
|
+
require 'vedeu/dsl/keymap'
|
|
108
|
+
require 'vedeu/dsl/text'
|
|
109
|
+
require 'vedeu/dsl/interface'
|
|
110
|
+
require 'vedeu/dsl/line'
|
|
111
|
+
require 'vedeu/dsl/menu'
|
|
112
|
+
require 'vedeu/dsl/stream'
|
|
113
|
+
require 'vedeu/dsl/view'
|
|
114
|
+
|
|
115
|
+
require 'vedeu/input/mapper'
|
|
116
|
+
require 'vedeu/input/key'
|
|
117
|
+
require 'vedeu/input/input'
|
|
118
|
+
require 'vedeu/input/keymaps'
|
|
119
|
+
require 'vedeu/input/keymap'
|
|
66
120
|
|
|
121
|
+
require 'vedeu/output/clear/named_group'
|
|
122
|
+
require 'vedeu/output/clear/named_interface'
|
|
67
123
|
require 'vedeu/output/esc'
|
|
68
|
-
require 'vedeu/colours/colour_translator'
|
|
69
|
-
require 'vedeu/colours/background'
|
|
70
|
-
require 'vedeu/colours/foreground'
|
|
71
124
|
require 'vedeu/output/presentation'
|
|
72
125
|
require 'vedeu/output/borders'
|
|
73
126
|
require 'vedeu/output/border'
|
|
74
|
-
require 'vedeu/colours/colour'
|
|
75
127
|
require 'vedeu/output/compressor'
|
|
76
|
-
|
|
77
|
-
require 'vedeu/output/clear/named_group'
|
|
78
|
-
require 'vedeu/output/clear/named_interface'
|
|
79
|
-
|
|
80
128
|
require 'vedeu/output/style'
|
|
81
129
|
require 'vedeu/output/text'
|
|
82
130
|
require 'vedeu/output/virtual_buffer'
|
|
83
131
|
require 'vedeu/output/html_char'
|
|
84
132
|
require 'vedeu/output/refresh_group'
|
|
85
133
|
require 'vedeu/output/refresh'
|
|
86
|
-
require 'vedeu/output/renderers/all'
|
|
87
134
|
require 'vedeu/output/output'
|
|
88
135
|
require 'vedeu/output/viewport'
|
|
89
136
|
require 'vedeu/output/virtual_terminal'
|
|
90
137
|
require 'vedeu/output/wordwrap'
|
|
91
138
|
|
|
92
|
-
require 'vedeu/
|
|
93
|
-
require 'vedeu/log'
|
|
94
|
-
require 'vedeu/common'
|
|
95
|
-
require 'vedeu/terminal'
|
|
96
|
-
require 'vedeu/timer'
|
|
97
|
-
|
|
98
|
-
require 'vedeu/templating/helpers'
|
|
99
|
-
require 'vedeu/templating/directive'
|
|
100
|
-
require 'vedeu/templating/preprocessor'
|
|
101
|
-
require 'vedeu/templating/template'
|
|
102
|
-
|
|
103
|
-
require 'vedeu/main_loop'
|
|
104
|
-
require 'vedeu/application'
|
|
105
|
-
require 'vedeu/launcher'
|
|
106
|
-
|
|
107
|
-
require 'vedeu/application/controller'
|
|
108
|
-
require 'vedeu/application/helper'
|
|
109
|
-
require 'vedeu/application/view'
|
|
110
|
-
require 'vedeu/application/application_controller'
|
|
111
|
-
require 'vedeu/application/application_helper'
|
|
112
|
-
require 'vedeu/application/application_view'
|
|
113
|
-
|
|
139
|
+
require 'vedeu/api'
|
|
114
140
|
|
|
115
|
-
require 'vedeu/
|
|
141
|
+
require 'vedeu/bindings/drb'
|
|
142
|
+
require 'vedeu/bindings/menus'
|
|
143
|
+
require 'vedeu/bindings/movement'
|
|
144
|
+
require 'vedeu/bindings/system'
|
|
145
|
+
require 'vedeu/bindings/visibility'
|
|
116
146
|
|
|
117
|
-
require 'vedeu/
|
|
147
|
+
require 'vedeu/bindings'
|
data/lib/vedeu/api.rb
CHANGED
|
@@ -1,48 +1,3 @@
|
|
|
1
|
-
require 'vedeu/colours/colours'
|
|
2
|
-
require 'vedeu/colours/backgrounds'
|
|
3
|
-
require 'vedeu/colours/foregrounds'
|
|
4
|
-
require 'vedeu/colours/colour_translator'
|
|
5
|
-
require 'vedeu/colours/background'
|
|
6
|
-
require 'vedeu/colours/foreground'
|
|
7
|
-
require 'vedeu/colours/colour'
|
|
8
|
-
|
|
9
|
-
require 'vedeu/buffers/buffers'
|
|
10
|
-
require 'vedeu/output/borders'
|
|
11
|
-
require 'vedeu/cursor/cursors'
|
|
12
|
-
require 'vedeu/common'
|
|
13
|
-
require 'vedeu/terminal'
|
|
14
|
-
require 'vedeu/timer'
|
|
15
|
-
require 'vedeu/output/renderers/all'
|
|
16
|
-
|
|
17
|
-
require 'vedeu/repositories/collection'
|
|
18
|
-
|
|
19
|
-
require 'vedeu/events/events'
|
|
20
|
-
require 'vedeu/events/event'
|
|
21
|
-
require 'vedeu/events/trigger'
|
|
22
|
-
|
|
23
|
-
require 'vedeu/repositories/all'
|
|
24
|
-
|
|
25
|
-
require 'vedeu/models/toggleable'
|
|
26
|
-
require 'vedeu/models/cell'
|
|
27
|
-
require 'vedeu/models/char'
|
|
28
|
-
require 'vedeu/models/escape'
|
|
29
|
-
require 'vedeu/models/stream'
|
|
30
|
-
require 'vedeu/models/line'
|
|
31
|
-
require 'vedeu/models/interfaces'
|
|
32
|
-
require 'vedeu/models/interface'
|
|
33
|
-
require 'vedeu/models/composition'
|
|
34
|
-
require 'vedeu/models/focus'
|
|
35
|
-
require 'vedeu/models/groups'
|
|
36
|
-
require 'vedeu/models/group'
|
|
37
|
-
require 'vedeu/models/menus'
|
|
38
|
-
require 'vedeu/models/menu'
|
|
39
|
-
|
|
40
|
-
require 'vedeu/input/all'
|
|
41
|
-
require 'vedeu/dsl/all'
|
|
42
|
-
require 'vedeu/application'
|
|
43
|
-
require 'vedeu/output/clear/named_group'
|
|
44
|
-
require 'vedeu/output/clear/named_interface'
|
|
45
|
-
|
|
46
1
|
module Vedeu
|
|
47
2
|
|
|
48
3
|
# Provides the API to Vedeu. Methods therein, and classes belonging to this
|
data/lib/vedeu/application.rb
CHANGED
|
@@ -194,7 +194,7 @@ module Vedeu
|
|
|
194
194
|
#
|
|
195
195
|
# @return [void]
|
|
196
196
|
def mode_switch!
|
|
197
|
-
Vedeu.bind(:_mode_switch_) { fail ModeSwitch }
|
|
197
|
+
Vedeu.bind(:_mode_switch_) { fail Vedeu::ModeSwitch }
|
|
198
198
|
end
|
|
199
199
|
|
|
200
200
|
# Will cause the named interface to refresh, or if a name is not given,
|
|
@@ -44,12 +44,17 @@ module Vedeu
|
|
|
44
44
|
#
|
|
45
45
|
# @example
|
|
46
46
|
# Vedeu.configure do
|
|
47
|
-
# interactive!
|
|
47
|
+
# interactive! # => same as `interactive true` or `standalone false`
|
|
48
48
|
# # ...
|
|
49
49
|
# end
|
|
50
50
|
#
|
|
51
51
|
# Vedeu.configure do
|
|
52
|
-
# interactive
|
|
52
|
+
# interactive true # => Allow user input.
|
|
53
|
+
# # ...
|
|
54
|
+
# end
|
|
55
|
+
#
|
|
56
|
+
# Vedeu.configure do
|
|
57
|
+
# interactive false # => Disallow user input.
|
|
53
58
|
# # ...
|
|
54
59
|
# end
|
|
55
60
|
#
|
|
@@ -65,7 +70,17 @@ module Vedeu
|
|
|
65
70
|
#
|
|
66
71
|
# @example
|
|
67
72
|
# Vedeu.configure do
|
|
68
|
-
# standalone!
|
|
73
|
+
# standalone! # => same as `standalone true` or `interactive false`
|
|
74
|
+
# # ...
|
|
75
|
+
# end
|
|
76
|
+
#
|
|
77
|
+
# Vedeu.configure do
|
|
78
|
+
# standalone true # => Disallow user input.
|
|
79
|
+
# # ...
|
|
80
|
+
# end
|
|
81
|
+
#
|
|
82
|
+
# Vedeu.configure do
|
|
83
|
+
# standalone false # => Allow user input.
|
|
69
84
|
# # ...
|
|
70
85
|
# end
|
|
71
86
|
#
|
|
@@ -360,6 +375,35 @@ module Vedeu
|
|
|
360
375
|
end
|
|
361
376
|
alias_method :compression!, :compression
|
|
362
377
|
|
|
378
|
+
# Sets the terminal mode. Valid values can be either ':raw' or ':cooked'.
|
|
379
|
+
#
|
|
380
|
+
# @example
|
|
381
|
+
# Vedeu.configure do
|
|
382
|
+
# terminal_mode :raw
|
|
383
|
+
# # ...
|
|
384
|
+
# end
|
|
385
|
+
#
|
|
386
|
+
# Vedeu.configure do
|
|
387
|
+
# terminal_mode :cooked
|
|
388
|
+
# # ...
|
|
389
|
+
# end
|
|
390
|
+
#
|
|
391
|
+
# @param mode [Symbol] Either ':raw' or ':cooked'.
|
|
392
|
+
# @raise [Vedeu::InvalidSyntax] When the mode is not ':raw' or ':cooked'.
|
|
393
|
+
# @return [Symbol]
|
|
394
|
+
# @see Vedeu::Config::API#raw!
|
|
395
|
+
# @see Vedeu::Config::API#cooked!
|
|
396
|
+
def terminal_mode(value)
|
|
397
|
+
if value == :raw || value == :cooked
|
|
398
|
+
options[:terminal_mode] = value
|
|
399
|
+
|
|
400
|
+
else
|
|
401
|
+
fail Vedeu::InvalidSyntax, 'Terminal mode can be set to either :raw or ' \
|
|
402
|
+
':cooked'
|
|
403
|
+
|
|
404
|
+
end
|
|
405
|
+
end
|
|
406
|
+
|
|
363
407
|
private
|
|
364
408
|
|
|
365
409
|
# Returns the options set via the configuration API DSL or an empty Hash
|
|
@@ -48,10 +48,10 @@ module Vedeu
|
|
|
48
48
|
end
|
|
49
49
|
alias_method :compression?, :compression
|
|
50
50
|
|
|
51
|
-
#
|
|
52
|
-
# options, override the defaults with those, and if command-line
|
|
53
|
-
# are provided at application invocation, override any options
|
|
54
|
-
# arguments provided.
|
|
51
|
+
# Provides the mechanism to configure Vedeu. If the client application
|
|
52
|
+
# sets options, override the defaults with those, and if command-line
|
|
53
|
+
# arguments are provided at application invocation, override any options
|
|
54
|
+
# with the arguments provided.
|
|
55
55
|
#
|
|
56
56
|
# @example
|
|
57
57
|
# Vedeu.configure
|
|
@@ -71,11 +71,10 @@ module Vedeu
|
|
|
71
71
|
end
|
|
72
72
|
|
|
73
73
|
# Returns the configuration singleton.
|
|
74
|
+
# Append configuration methods to access the configuration variable.
|
|
74
75
|
#
|
|
75
76
|
# @example
|
|
76
77
|
# Vedeu.configuration
|
|
77
|
-
# # ...
|
|
78
|
-
# end
|
|
79
78
|
#
|
|
80
79
|
# @return [Vedeu::Configuration]
|
|
81
80
|
def configuration
|
|
@@ -259,7 +258,7 @@ module Vedeu
|
|
|
259
258
|
# The Vedeu default options, which of course are influenced by environment
|
|
260
259
|
# variables also.
|
|
261
260
|
#
|
|
262
|
-
# @return [Hash]
|
|
261
|
+
# @return [Hash<Symbol => void>]
|
|
263
262
|
def defaults
|
|
264
263
|
{
|
|
265
264
|
base_path: base_path,
|