vedeu 0.1.6 → 0.1.7
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/README.md +10 -15
- data/deps.md +93 -96
- data/lib/vedeu.rb +1 -6
- data/lib/vedeu/api/line.rb +0 -4
- data/lib/vedeu/api/view.rb +0 -1
- data/lib/vedeu/application.rb +1 -3
- data/lib/vedeu/instrumentation.rb +1 -1
- data/lib/vedeu/models/colour.rb +3 -2
- data/lib/vedeu/models/geometry.rb +16 -0
- data/lib/vedeu/models/interface.rb +9 -1
- data/lib/vedeu/output/render_interface.rb +3 -0
- data/lib/vedeu/output/text_adaptor.rb +2 -0
- data/lib/vedeu/output/view.rb +17 -24
- data/lib/vedeu/support/esc.rb +1 -21
- data/test/lib/vedeu/api/base_test.rb +0 -11
- data/test/lib/vedeu/api/grid_test.rb +10 -0
- data/test/lib/vedeu/api/line_test.rb +0 -11
- data/test/lib/vedeu/api/stream_test.rb +0 -11
- data/test/lib/vedeu/api/view_test.rb +1 -4
- data/test/lib/vedeu/models/composition_test.rb +3 -0
- data/test/lib/vedeu/output/view_test.rb +0 -27
- data/test/lib/vedeu/support/esc_test.rb +1 -21
- data/vedeu.gemspec +1 -1
- metadata +2 -20
- data/lib/vedeu/output/dsl_parser.rb +0 -19
- data/lib/vedeu/output/erb_parser.rb +0 -59
- data/lib/vedeu/output/json_parser.rb +0 -23
- data/lib/vedeu/output/menu_parser.rb +0 -51
- data/lib/vedeu/output/raw_parser.rb +0 -42
- data/lib/vedeu/support/helpers.rb +0 -66
- data/test/lib/vedeu/output/dsl_parser_test.rb +0 -19
- data/test/lib/vedeu/output/erb_parser_test.rb +0 -242
- data/test/lib/vedeu/output/json_parser_test.rb +0 -17
- data/test/lib/vedeu/output/menu_parser_test.rb +0 -46
- data/test/lib/vedeu/output/raw_parser_test.rb +0 -74
- data/test/lib/vedeu/support/helpers_test.rb +0 -71
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f08172957be2fc1e8da242d1e5169f2ef6f9f6c3
|
4
|
+
data.tar.gz: c6692d292848d90ee1544ef5c0ebf41086f66637
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2e5009a40a5c90ca3b4bd2cb36481ae2dfa5af09df0146c29ce80cdcd6045ea81e905181576a5011986132ca72854323c55688a22c38a2622c6a52af729c5d9d
|
7
|
+
data.tar.gz: 7af3be17bd322e76965c62d13253e2f3044fe4f7145e82b38ea32993228f61b4c2596b78710606d15ac2656f542a2a1b44f09ca556b38ceca50852d546810eb7
|
data/README.md
CHANGED
@@ -116,7 +116,9 @@ Note: not setting a width or height will set the values to the terminal's report
|
|
116
116
|
event :event_name do |arg1, arg2|
|
117
117
|
end
|
118
118
|
|
119
|
-
One can define events which perform work or trigger other events. Vedeu has
|
119
|
+
One can define events which perform work or trigger other events. Vedeu has built-in events which are namespaced with underscores as to hopefully not cause a collision with events you wish to create:
|
120
|
+
|
121
|
+
- `:_clear_` Clears the whole terminal space.
|
120
122
|
|
121
123
|
- `:_exit_` when triggered, Vedeu will attempt to exit.
|
122
124
|
|
@@ -124,6 +126,12 @@ One can define events which perform work or trigger other events. Vedeu has 3 bu
|
|
124
126
|
|
125
127
|
- `:_mode_switch_` when triggered (after the user presses `escape`), Vedeu switches from a "raw mode" terminal to a "cooked mode" terminal. The idea here being that the raw mode is for single keypress actions, whilst cooked mode allows the user to enter more elaborate commands- such as commands with arguments.
|
126
128
|
|
129
|
+
- `:_refresh_` triggering this event will cause all interfaces to refresh.
|
130
|
+
|
131
|
+
- `:_refresh_group_(group_name)_` will refresh all interfaces belonging to this group. E.g. `_refresh_group_home_` will refresh all interfaces with the group of `home`.
|
132
|
+
|
133
|
+
- `:_refresh_(interface_name)_` will refresh the interface with this name. E.g. `_refresh_widget_` will refresh the interface `widget`.
|
134
|
+
|
127
135
|
Note: Overriding or adding additional events to the Vedeu event namespace may cause unpredictable results.
|
128
136
|
|
129
137
|
|
@@ -160,7 +168,7 @@ Like colours, they can be defined in either interfaces, for specific lines or wi
|
|
160
168
|
| hide_cursor | `\e[?25l` |
|
161
169
|
| negative | `\e[7m` |
|
162
170
|
| positive | `\e[27m` |
|
163
|
-
| reset | `\e[0m` |
|
171
|
+
| reset | `\e[0m` |
|
164
172
|
| normal | `\e[24m\e[21m\e[27m` |
|
165
173
|
| dim | `\e[2m` |
|
166
174
|
| show_cursor | `\e[?25h` |
|
@@ -168,19 +176,6 @@ Like colours, they can be defined in either interfaces, for specific lines or wi
|
|
168
176
|
| underline_off | `\e[24m` |
|
169
177
|
|
170
178
|
|
171
|
-
### Templates
|
172
|
-
|
173
|
-
The following helpers are available in to the ERBParser.
|
174
|
-
|
175
|
-
foreground (alias: `fg`)
|
176
|
-
|
177
|
-
background (alias: `bg`)
|
178
|
-
|
179
|
-
colour
|
180
|
-
|
181
|
-
style
|
182
|
-
|
183
|
-
|
184
179
|
## Contributing
|
185
180
|
|
186
181
|
1. Fork it ( http://github.com/gavinlaking/vedeu/fork )
|
data/deps.md
CHANGED
@@ -2,9 +2,42 @@
|
|
2
2
|
By class
|
3
3
|
----------------------------------------------------------------------
|
4
4
|
|
5
|
+
StandardError
|
6
|
+
API::InterfaceNotSpecified
|
7
|
+
EntityNotFound
|
8
|
+
InvalidHeight
|
9
|
+
InvalidWidth
|
10
|
+
ModeSwitch
|
11
|
+
OutOfRange
|
12
|
+
XOutOfBounds
|
13
|
+
YOutOfBounds
|
14
|
+
|
15
|
+
API::Base
|
16
|
+
API::Stream
|
17
|
+
|
18
|
+
API::Grid
|
19
|
+
Terminal
|
20
|
+
|
21
|
+
API::Interface
|
22
|
+
API::Grid
|
23
|
+
Geometry
|
24
|
+
Interface
|
25
|
+
InterfaceStore
|
26
|
+
Terminal
|
27
|
+
|
28
|
+
API::Line
|
29
|
+
API::Base
|
30
|
+
API::Stream
|
31
|
+
|
32
|
+
API::Stream
|
33
|
+
API::Base
|
34
|
+
|
35
|
+
API::View
|
36
|
+
API::Line
|
37
|
+
InterfaceStore
|
38
|
+
|
5
39
|
Application
|
6
40
|
Input
|
7
|
-
Process
|
8
41
|
Terminal
|
9
42
|
|
10
43
|
ClearInterface
|
@@ -12,31 +45,34 @@ ClearInterface
|
|
12
45
|
Collection
|
13
46
|
|
14
47
|
Colour
|
15
|
-
|
48
|
+
Background
|
49
|
+
ColourTranslator
|
50
|
+
Foreground
|
51
|
+
ColourTranslator
|
16
52
|
|
17
53
|
Composition
|
18
54
|
InterfaceCollection
|
19
55
|
|
20
56
|
Configuration
|
21
57
|
|
58
|
+
DSLParser
|
59
|
+
|
22
60
|
Geometry
|
23
61
|
Esc
|
24
62
|
Terminal
|
25
63
|
|
26
|
-
ERBParser
|
27
|
-
|
28
64
|
Esc
|
29
|
-
ColourTranslator
|
30
65
|
|
31
66
|
Events
|
32
67
|
|
33
|
-
RawParser
|
34
|
-
TextAdaptor
|
35
|
-
|
36
68
|
Input
|
37
|
-
|
69
|
+
Events
|
38
70
|
Terminal
|
39
71
|
|
72
|
+
Instrumentation
|
73
|
+
Log
|
74
|
+
Trace
|
75
|
+
|
40
76
|
Interface
|
41
77
|
ClearInterface
|
42
78
|
Colour
|
@@ -50,13 +86,6 @@ Interface
|
|
50
86
|
InterfaceCollection
|
51
87
|
InterfaceStore
|
52
88
|
|
53
|
-
API::Interface
|
54
|
-
Geometry
|
55
|
-
Interface
|
56
|
-
InterfaceStore
|
57
|
-
|
58
|
-
JSONParser
|
59
|
-
|
60
89
|
Launcher
|
61
90
|
Application
|
62
91
|
Configuration
|
@@ -71,27 +100,16 @@ LineCollection
|
|
71
100
|
Line
|
72
101
|
|
73
102
|
Menu
|
74
|
-
|
75
|
-
MenuParser
|
76
|
-
|
77
|
-
Parser
|
78
|
-
Composition
|
79
|
-
ERBParser
|
80
|
-
RawParser
|
81
|
-
JSONParser
|
82
|
-
MenuParser
|
103
|
+
Events
|
83
104
|
|
84
105
|
InterfaceStore
|
85
106
|
Interface
|
86
107
|
|
87
|
-
Process
|
88
|
-
Parser
|
89
|
-
Queue
|
90
|
-
|
91
108
|
Queue
|
92
109
|
|
93
110
|
RenderInterface
|
94
|
-
|
111
|
+
Line
|
112
|
+
Stream
|
95
113
|
|
96
114
|
Stream
|
97
115
|
Colour
|
@@ -104,27 +122,21 @@ StreamCollection
|
|
104
122
|
Style
|
105
123
|
Esc
|
106
124
|
|
107
|
-
Template
|
108
|
-
Helpers
|
109
|
-
|
110
125
|
Terminal
|
111
126
|
Esc
|
112
127
|
Application
|
113
128
|
|
114
129
|
TextAdaptor
|
115
130
|
|
131
|
+
View
|
132
|
+
Composition
|
133
|
+
DSLParser
|
134
|
+
|
116
135
|
ColourTranslator
|
117
136
|
|
118
137
|
Wordwrap
|
119
138
|
|
120
139
|
|
121
|
-
----------------------------------------------------------------------
|
122
|
-
Orphans
|
123
|
-
----------------------------------------------------------------------
|
124
|
-
|
125
|
-
Wordwrap - orphaned
|
126
|
-
Menu - orphaned
|
127
|
-
|
128
140
|
----------------------------------------------------------------------
|
129
141
|
Grouped
|
130
142
|
----------------------------------------------------------------------
|
@@ -136,63 +148,48 @@ API::Interface
|
|
136
148
|
|
137
149
|
Launcher
|
138
150
|
Application
|
151
|
+
Events
|
139
152
|
Input
|
140
|
-
|
153
|
+
Events
|
141
154
|
Terminal
|
142
155
|
Esc
|
143
|
-
ColourTranslator
|
144
|
-
Process
|
145
|
-
Parser
|
146
|
-
Composition
|
147
|
-
InterfaceCollection
|
148
|
-
InterfaceStore
|
149
|
-
Interface
|
150
|
-
ClearInterface
|
151
|
-
Colour
|
152
|
-
Esc
|
153
|
-
ColourTranslator
|
154
|
-
Geometry
|
155
|
-
Esc
|
156
|
-
ColourTranslator
|
157
|
-
Terminal
|
158
|
-
Esc
|
159
|
-
ColourTranslator
|
160
|
-
LineCollection
|
161
|
-
Collection
|
162
|
-
Line
|
163
|
-
Colour
|
164
|
-
Esc
|
165
|
-
ColourTranslator
|
166
|
-
StreamCollection
|
167
|
-
Collection
|
168
|
-
Stream
|
169
|
-
Colour
|
170
|
-
Esc
|
171
|
-
ColourTranslator
|
172
|
-
Style
|
173
|
-
Esc
|
174
|
-
ColourTranslator
|
175
|
-
Style
|
176
|
-
Esc
|
177
|
-
ColourTranslator
|
178
|
-
|
179
|
-
Queue
|
180
|
-
RenderInterface
|
181
|
-
ClearInterface
|
182
|
-
Style
|
183
|
-
Esc
|
184
|
-
ColourTranslator
|
185
|
-
Terminal
|
186
|
-
Esc
|
187
|
-
ColourTranslator
|
188
|
-
ERBParser
|
189
|
-
Template
|
190
|
-
RawParser
|
191
|
-
TextAdaptor
|
192
|
-
JSONParser
|
193
|
-
MenuParser
|
194
|
-
Queue
|
195
|
-
Terminal
|
196
|
-
Esc
|
197
|
-
ColourTranslator
|
198
156
|
Configuration
|
157
|
+
|
158
|
+
View
|
159
|
+
Composition
|
160
|
+
InterfaceCollection
|
161
|
+
InterfaceStore
|
162
|
+
Interface
|
163
|
+
ClearInterface
|
164
|
+
Colour
|
165
|
+
Background
|
166
|
+
Foreground
|
167
|
+
Geometry
|
168
|
+
Esc
|
169
|
+
Terminal
|
170
|
+
Esc
|
171
|
+
LineCollection
|
172
|
+
Collection
|
173
|
+
Line
|
174
|
+
Colour
|
175
|
+
Background
|
176
|
+
Foreground
|
177
|
+
StreamCollection
|
178
|
+
Collection
|
179
|
+
Stream
|
180
|
+
Colour
|
181
|
+
Background
|
182
|
+
Foreground
|
183
|
+
Style
|
184
|
+
Esc
|
185
|
+
Style
|
186
|
+
Esc
|
187
|
+
Queue
|
188
|
+
RenderInterface
|
189
|
+
Line
|
190
|
+
Stream
|
191
|
+
Style
|
192
|
+
Esc
|
193
|
+
Terminal
|
194
|
+
Esc
|
195
|
+
DSLParser
|
data/lib/vedeu.rb
CHANGED
@@ -47,6 +47,7 @@ module Vedeu
|
|
47
47
|
on(:_exit_) { fail StopIteration }
|
48
48
|
on(:_log_) { |message| Vedeu.log(message) }
|
49
49
|
on(:_mode_switch_) { fail ModeSwitch }
|
50
|
+
on(:_clear_) { Terminal.output(Esc.string('clear')) }
|
50
51
|
|
51
52
|
on(:_keypress_) do |key|
|
52
53
|
trigger(:key, key)
|
@@ -70,11 +71,5 @@ module Vedeu
|
|
70
71
|
end
|
71
72
|
|
72
73
|
extend API
|
73
|
-
|
74
|
-
private
|
75
|
-
|
76
|
-
def self.root_path
|
77
|
-
File.expand_path('../..', __FILE__)
|
78
|
-
end
|
79
74
|
# :nocov:
|
80
75
|
end
|
data/lib/vedeu/api/line.rb
CHANGED
data/lib/vedeu/api/view.rb
CHANGED
data/lib/vedeu/application.rb
CHANGED
@@ -18,7 +18,7 @@ module Vedeu
|
|
18
18
|
Terminal.open(mode) do
|
19
19
|
Terminal.set_cursor_mode
|
20
20
|
|
21
|
-
Vedeu.events.trigger(:
|
21
|
+
Vedeu.events.trigger(:_clear_)
|
22
22
|
|
23
23
|
runner { main_sequence }
|
24
24
|
end
|
@@ -40,8 +40,6 @@ module Vedeu
|
|
40
40
|
|
41
41
|
def main_sequence
|
42
42
|
Input.capture
|
43
|
-
|
44
|
-
Vedeu.events.trigger(:refresh)
|
45
43
|
end
|
46
44
|
|
47
45
|
def interactive?
|
data/lib/vedeu/models/colour.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
require 'virtus'
|
2
2
|
|
3
|
+
require 'vedeu/output/colour_translator'
|
3
4
|
require 'vedeu/support/esc'
|
4
5
|
|
5
6
|
module Vedeu
|
@@ -7,7 +8,7 @@ module Vedeu
|
|
7
8
|
def coerce(value)
|
8
9
|
return '' if value.nil? || value.empty?
|
9
10
|
|
10
|
-
|
11
|
+
["\e[48;5;", ColourTranslator.translate(value), 'm'].join
|
11
12
|
end
|
12
13
|
end
|
13
14
|
|
@@ -15,7 +16,7 @@ module Vedeu
|
|
15
16
|
def coerce(value)
|
16
17
|
return '' if value.nil? || value.empty?
|
17
18
|
|
18
|
-
|
19
|
+
["\e[38;5;", ColourTranslator.translate(value), 'm'].join
|
19
20
|
end
|
20
21
|
end
|
21
22
|
|
@@ -25,6 +25,10 @@ module Vedeu
|
|
25
25
|
end
|
26
26
|
end
|
27
27
|
|
28
|
+
def north(value = 1)
|
29
|
+
top - value
|
30
|
+
end
|
31
|
+
|
28
32
|
def left
|
29
33
|
if centred
|
30
34
|
centre_x - (width / 2)
|
@@ -33,14 +37,26 @@ module Vedeu
|
|
33
37
|
end
|
34
38
|
end
|
35
39
|
|
40
|
+
def west(value = 1)
|
41
|
+
left - value
|
42
|
+
end
|
43
|
+
|
36
44
|
def bottom
|
37
45
|
top + height
|
38
46
|
end
|
39
47
|
|
48
|
+
def south(value = 1)
|
49
|
+
bottom + value
|
50
|
+
end
|
51
|
+
|
40
52
|
def right
|
41
53
|
left + width
|
42
54
|
end
|
43
55
|
|
56
|
+
def east(value = 1)
|
57
|
+
right + value
|
58
|
+
end
|
59
|
+
|
44
60
|
def position
|
45
61
|
{
|
46
62
|
y: top,
|