vedeu 0.7.4 → 0.8.0

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.
Files changed (277) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +3 -0
  3. data/docs/api.md +5 -1
  4. data/docs/borders.md +2 -26
  5. data/docs/dsl.md +4 -4
  6. data/docs/dsl_elements.md +100 -0
  7. data/docs/events/by_name/action.md +3 -0
  8. data/docs/events/by_name/cursor_hide.md +3 -0
  9. data/docs/events/by_name/cursor_reset.md +3 -0
  10. data/docs/events/by_name/cursor_show.md +3 -0
  11. data/docs/events/by_name/geometry_down.md +3 -0
  12. data/docs/events/by_name/geometry_left.md +3 -0
  13. data/docs/events/by_name/geometry_right.md +3 -0
  14. data/docs/events/by_name/geometry_up.md +3 -0
  15. data/docs/events/by_name/hide_view.md +3 -0
  16. data/docs/events/by_name/set_border_caption.md +13 -0
  17. data/docs/events/by_name/set_border_title.md +13 -0
  18. data/docs/events/by_name/show_view.md +3 -0
  19. data/docs/events/by_name/standalone.md +3 -0
  20. data/docs/events/by_name/toggle_view.md +3 -0
  21. data/docs/events/by_name/view_down.md +4 -0
  22. data/docs/events/by_name/view_left.md +4 -0
  23. data/docs/events/by_name/view_right.md +4 -0
  24. data/docs/events/by_name/view_up.md +4 -0
  25. data/examples/views/empty_template.rb +46 -0
  26. data/examples/views/expected/line.out +1 -0
  27. data/examples/views/expected/lines.out +1 -0
  28. data/examples/views/expected/lines_alignment.out +1 -0
  29. data/examples/views/line.rb +220 -0
  30. data/examples/views/lines.rb +281 -0
  31. data/examples/views/lines_alignment.rb +231 -0
  32. data/examples/views/lines_line_stream.rb +99 -0
  33. data/examples/views/lines_line_streams.rb +73 -0
  34. data/examples/views/lines_line_streams_stream.rb +83 -0
  35. data/examples/views/lines_line_streams_stream_stream.rb +53 -0
  36. data/examples/views/lines_streams.rb +50 -0
  37. data/examples/views/lines_streams_stream.rb +51 -0
  38. data/examples/views/runner.sh +27 -0
  39. data/lib/vedeu/all.rb +6 -2
  40. data/lib/vedeu/application/controller.rb +1 -1
  41. data/lib/vedeu/boolean.rb +35 -0
  42. data/lib/vedeu/borders/border.rb +3 -3
  43. data/lib/vedeu/borders/caption.rb +1 -1
  44. data/lib/vedeu/borders/dsl.rb +1 -20
  45. data/lib/vedeu/borders/title.rb +6 -8
  46. data/lib/vedeu/buffers/buffer.rb +2 -2
  47. data/lib/vedeu/buffers/refresh.rb +1 -1
  48. data/lib/vedeu/cells/border.rb +0 -11
  49. data/lib/vedeu/cells/empty.rb +4 -4
  50. data/lib/vedeu/{geometries/alignment → coercers}/alignment.rb +50 -53
  51. data/lib/vedeu/coercers/all.rb +16 -0
  52. data/lib/vedeu/coercers/colour.rb +78 -0
  53. data/lib/vedeu/coercers/colour_attributes.rb +122 -0
  54. data/lib/vedeu/coercers/horizontal_alignment.rb +28 -0
  55. data/lib/vedeu/coercers/vertical_alignment.rb +27 -0
  56. data/lib/vedeu/colours/all.rb +1 -0
  57. data/lib/vedeu/colours/background.rb +13 -2
  58. data/lib/vedeu/colours/colour.rb +16 -31
  59. data/lib/vedeu/colours/foreground.rb +13 -2
  60. data/lib/vedeu/colours/translator.rb +21 -59
  61. data/lib/vedeu/colours/validator.rb +84 -0
  62. data/lib/vedeu/common.rb +52 -0
  63. data/lib/vedeu/configuration/api.rb +4 -10
  64. data/lib/vedeu/configuration/configuration.rb +4 -4
  65. data/lib/vedeu/cursors/coordinate.rb +1 -1
  66. data/lib/vedeu/cursors/cursor.rb +1 -1
  67. data/lib/vedeu/cursors/dsl.rb +1 -28
  68. data/lib/vedeu/dsl/all.rb +7 -7
  69. data/lib/vedeu/dsl/attributes.rb +224 -0
  70. data/lib/vedeu/dsl/border.rb +127 -0
  71. data/lib/vedeu/dsl/cursors.rb +44 -0
  72. data/lib/vedeu/dsl/dsl.rb +9 -0
  73. data/lib/vedeu/dsl/elements.rb +335 -0
  74. data/lib/vedeu/dsl/geometry.rb +113 -0
  75. data/lib/vedeu/dsl/string/align.rb +127 -0
  76. data/lib/vedeu/dsl/string/all.rb +14 -0
  77. data/lib/vedeu/dsl/string/text.rb +107 -0
  78. data/lib/vedeu/dsl/string/truncate.rb +111 -0
  79. data/lib/vedeu/{output → dsl/string}/wordwrap.rb +10 -6
  80. data/lib/vedeu/dsl/view.rb +124 -248
  81. data/lib/vedeu/dsl/views.rb +244 -0
  82. data/lib/vedeu/editor/cursor.rb +1 -1
  83. data/lib/vedeu/editor/delete.rb +3 -1
  84. data/lib/vedeu/editor/insert.rb +22 -6
  85. data/lib/vedeu/editor/line.rb +15 -9
  86. data/lib/vedeu/editor/lines.rb +27 -18
  87. data/lib/vedeu/esc/actions.rb +73 -26
  88. data/lib/vedeu/esc/all.rb +2 -0
  89. data/lib/vedeu/esc/background.rb +219 -0
  90. data/lib/vedeu/esc/borders.rb +72 -26
  91. data/lib/vedeu/esc/colours.rb +26 -27
  92. data/lib/vedeu/esc/esc.rb +4 -4
  93. data/lib/vedeu/esc/foreground.rb +219 -0
  94. data/lib/vedeu/esc/mouse.rb +16 -13
  95. data/lib/vedeu/events/aliases.rb +2 -2
  96. data/lib/vedeu/events/event.rb +1 -1
  97. data/lib/vedeu/geometries/all.rb +0 -1
  98. data/lib/vedeu/geometries/area/dimension.rb +2 -2
  99. data/lib/vedeu/geometries/dsl/dsl.rb +3 -51
  100. data/lib/vedeu/geometries/dsl/validator.rb +4 -4
  101. data/lib/vedeu/geometries/geometry.rb +10 -10
  102. data/lib/vedeu/geometries/move.rb +4 -4
  103. data/lib/vedeu/groups/dsl.rb +1 -0
  104. data/lib/vedeu/groups/group.rb +1 -1
  105. data/lib/vedeu/input/all.rb +1 -0
  106. data/lib/vedeu/input/capture.rb +14 -10
  107. data/lib/vedeu/input/dsl.rb +20 -26
  108. data/lib/vedeu/input/key.rb +0 -6
  109. data/lib/vedeu/input/keymap.rb +4 -9
  110. data/lib/vedeu/input/keys.rb +13 -0
  111. data/lib/vedeu/input/mapper.rb +29 -14
  112. data/lib/vedeu/input/read.rb +4 -2
  113. data/lib/vedeu/interfaces/dsl.rb +23 -22
  114. data/lib/vedeu/interfaces/interface.rb +2 -2
  115. data/lib/vedeu/logging/debug.rb +33 -0
  116. data/lib/vedeu/logging/log.rb +42 -33
  117. data/lib/vedeu/menus/dsl.rb +7 -18
  118. data/lib/vedeu/menus/menu.rb +1 -1
  119. data/lib/vedeu/models/focus.rb +1 -1
  120. data/lib/vedeu/models/toggleable.rb +4 -4
  121. data/lib/vedeu/null/generic.rb +2 -2
  122. data/lib/vedeu/output/all.rb +0 -2
  123. data/lib/vedeu/output/compressor_cache.rb +1 -1
  124. data/lib/vedeu/output/output.rb +5 -20
  125. data/lib/vedeu/presentation/colour.rb +39 -7
  126. data/lib/vedeu/presentation/style.rb +25 -11
  127. data/lib/vedeu/renderers/html.rb +11 -11
  128. data/lib/vedeu/repositories/assemblage.rb +9 -0
  129. data/lib/vedeu/repositories/collection.rb +1 -0
  130. data/lib/vedeu/repositories/defaults.rb +4 -1
  131. data/lib/vedeu/repositories/model.rb +7 -37
  132. data/lib/vedeu/repositories/parent.rb +6 -6
  133. data/lib/vedeu/repositories/registerable.rb +16 -2
  134. data/lib/vedeu/repositories/repositories.rb +1 -1
  135. data/lib/vedeu/repositories/repository.rb +2 -12
  136. data/lib/vedeu/runtime/flags.rb +1 -1
  137. data/lib/vedeu/terminal/terminal.rb +7 -2
  138. data/lib/vedeu/version.rb +1 -1
  139. data/lib/vedeu/views/all.rb +4 -1
  140. data/lib/vedeu/views/char.rb +5 -4
  141. data/lib/vedeu/views/chars.rb +42 -0
  142. data/lib/vedeu/views/composition.rb +15 -30
  143. data/lib/vedeu/views/default_attributes.rb +74 -0
  144. data/lib/vedeu/views/html_char.rb +2 -2
  145. data/lib/vedeu/views/line.rb +27 -53
  146. data/lib/vedeu/views/lines.rb +31 -0
  147. data/lib/vedeu/views/stream.rb +31 -78
  148. data/lib/vedeu/views/streams.rb +42 -0
  149. data/lib/vedeu/views/value.rb +150 -0
  150. data/lib/vedeu/views/view.rb +32 -36
  151. data/lib/vedeu/views/{view_collection.rb → views.rb} +2 -2
  152. data/test/lib/vedeu/application/application_controller_test.rb +5 -0
  153. data/test/lib/vedeu/application/controller_test.rb +22 -28
  154. data/test/lib/vedeu/boolean_test.rb +57 -0
  155. data/test/lib/vedeu/borders/border_test.rb +130 -36
  156. data/test/lib/vedeu/borders/dsl_test.rb +63 -10
  157. data/test/lib/vedeu/borders/title_test.rb +16 -5
  158. data/test/lib/vedeu/buffers/buffer_test.rb +26 -10
  159. data/test/lib/vedeu/buffers/empty_test.rb +1 -1
  160. data/test/lib/vedeu/cells/border_test.rb +0 -6
  161. data/test/lib/vedeu/cells/clear_test.rb +2 -0
  162. data/test/lib/vedeu/cells/empty_test.rb +12 -2
  163. data/test/lib/vedeu/cells/escape_test.rb +7 -2
  164. data/test/lib/vedeu/{geometries/alignment → coercers}/alignment_test.rb +44 -19
  165. data/test/lib/vedeu/coercers/colour_attributes_test.rb +168 -0
  166. data/test/lib/vedeu/coercers/colour_test.rb +75 -0
  167. data/test/lib/vedeu/{geometries/alignment → coercers}/horizontal_alignment_test.rb +6 -6
  168. data/test/lib/vedeu/{geometries/alignment → coercers}/vertical_alignment_test.rb +6 -6
  169. data/test/lib/vedeu/colours/background_test.rb +17 -1
  170. data/test/lib/vedeu/colours/colour_test.rb +74 -2
  171. data/test/lib/vedeu/colours/foreground_test.rb +17 -1
  172. data/test/lib/vedeu/colours/repository_test.rb +1 -1
  173. data/test/lib/vedeu/colours/translator_test.rb +8 -1
  174. data/test/lib/vedeu/colours/validator_test.rb +60 -0
  175. data/test/lib/vedeu/common_test.rb +138 -0
  176. data/test/lib/vedeu/configuration/api_test.rb +96 -51
  177. data/test/lib/vedeu/cursors/coordinate_test.rb +58 -117
  178. data/test/lib/vedeu/cursors/cursor_test.rb +46 -17
  179. data/test/lib/vedeu/cursors/dsl_test.rb +19 -5
  180. data/test/lib/vedeu/distributed/client_test.rb +8 -3
  181. data/test/lib/vedeu/distributed/server_test.rb +8 -0
  182. data/test/lib/vedeu/distributed/test_application_test.rb +62 -19
  183. data/test/lib/vedeu/distributed/uri_test.rb +4 -2
  184. data/test/lib/vedeu/dsl/attributes_test.rb +212 -0
  185. data/test/lib/vedeu/dsl/border_test.rb +51 -0
  186. data/test/lib/vedeu/dsl/{lines_test.rb → cursors_test.rb} +2 -2
  187. data/test/lib/vedeu/dsl/dsl_test.rb +44 -0
  188. data/test/lib/vedeu/dsl/elements_test.rb +118 -0
  189. data/test/lib/vedeu/dsl/geometry_test.rb +35 -0
  190. data/test/lib/vedeu/dsl/presentation_test.rb +52 -11
  191. data/test/lib/vedeu/dsl/string/align_test.rb +147 -0
  192. data/test/lib/vedeu/dsl/string/text_test.rb +213 -0
  193. data/test/lib/vedeu/dsl/string/truncate_test.rb +97 -0
  194. data/test/lib/vedeu/{output → dsl/string}/wordwrap_test.rb +3 -3
  195. data/test/lib/vedeu/dsl/view_test.rb +30 -42
  196. data/test/lib/vedeu/dsl/views_test.rb +61 -0
  197. data/test/lib/vedeu/editor/cursor_test.rb +30 -12
  198. data/test/lib/vedeu/editor/document_test.rb +18 -10
  199. data/test/lib/vedeu/editor/line_test.rb +4 -1
  200. data/test/lib/vedeu/editor/lines_test.rb +11 -3
  201. data/test/lib/vedeu/esc/actions_test.rb +42 -4
  202. data/test/lib/vedeu/esc/background_test.rb +185 -0
  203. data/test/lib/vedeu/esc/borders_test.rb +37 -9
  204. data/test/lib/vedeu/esc/colours_test.rb +0 -59
  205. data/test/lib/vedeu/esc/foreground_test.rb +185 -0
  206. data/test/lib/vedeu/esc/mouse_test.rb +9 -4
  207. data/test/lib/vedeu/geometries/area/area_test.rb +34 -11
  208. data/test/lib/vedeu/geometries/dsl/dsl_test.rb +52 -61
  209. data/test/lib/vedeu/geometries/geometry_test.rb +62 -18
  210. data/test/lib/vedeu/geometries/position_test.rb +14 -7
  211. data/test/lib/vedeu/groups/dsl_test.rb +24 -15
  212. data/test/lib/vedeu/groups/group_test.rb +18 -8
  213. data/test/lib/vedeu/input/dsl_test.rb +33 -16
  214. data/test/lib/vedeu/input/key_test.rb +8 -1
  215. data/test/lib/vedeu/input/keymap_test.rb +4 -1
  216. data/test/lib/vedeu/input/keys_test.rb +16 -0
  217. data/test/lib/vedeu/interfaces/dsl_test.rb +24 -30
  218. data/test/lib/vedeu/interfaces/interface_test.rb +79 -24
  219. data/test/lib/vedeu/logging/ips_test.rb +10 -1
  220. data/test/lib/vedeu/menus/dsl_test.rb +24 -23
  221. data/test/lib/vedeu/menus/menu_test.rb +18 -8
  222. data/test/lib/vedeu/models/page_test.rb +5 -1
  223. data/test/lib/vedeu/models/row_test.rb +4 -0
  224. data/test/lib/vedeu/models/toggleable_test.rb +10 -6
  225. data/test/lib/vedeu/null/generic_test.rb +90 -1
  226. data/test/lib/vedeu/output/viewport_test.rb +11 -10
  227. data/test/lib/vedeu/plugins/plugin_test.rb +22 -9
  228. data/test/lib/vedeu/presentation/colour_test.rb +2 -1
  229. data/test/lib/vedeu/presentation/presentation_test.rb +13 -8
  230. data/test/lib/vedeu/presentation/style_test.rb +28 -13
  231. data/test/lib/vedeu/renderers/file_test.rb +4 -2
  232. data/test/lib/vedeu/renderers/options_test.rb +1 -1
  233. data/test/lib/vedeu/repositories/assemblage_test.rb +18 -0
  234. data/test/lib/vedeu/repositories/collection_test.rb +34 -10
  235. data/test/lib/vedeu/repositories/defaults_test.rb +6 -0
  236. data/test/lib/vedeu/repositories/model_test.rb +4 -13
  237. data/test/lib/vedeu/repositories/repository_test.rb +12 -5
  238. data/test/lib/vedeu/repositories/store_test.rb +9 -0
  239. data/test/lib/vedeu/runtime/flags_test.rb +6 -4
  240. data/test/lib/vedeu/runtime/launcher_test.rb +1 -1
  241. data/test/lib/vedeu/templating/helpers_test.rb +93 -65
  242. data/test/lib/vedeu/templating/view_template_test.rb +26 -26
  243. data/test/lib/vedeu/views/char_test.rb +36 -11
  244. data/test/lib/vedeu/views/chars_test.rb +71 -0
  245. data/test/lib/vedeu/views/composition_test.rb +17 -16
  246. data/test/lib/vedeu/views/default_attributes_test.rb +97 -0
  247. data/test/lib/vedeu/views/line_test.rb +20 -75
  248. data/test/lib/vedeu/views/lines_test.rb +47 -0
  249. data/test/lib/vedeu/views/stream_test.rb +38 -63
  250. data/test/lib/vedeu/views/streams_test.rb +9 -0
  251. data/test/lib/vedeu/views/value_test.rb +112 -0
  252. data/test/lib/vedeu/views/view_test.rb +67 -45
  253. data/test/lib/vedeu/views/views_test.rb +22 -0
  254. data/test/support/examples/material_colours_app.rb +2 -2
  255. data/test/support/helpers/model_test_class.rb +1 -0
  256. data/test/test_helper.rb +3 -1
  257. data/vedeu.gemspec +2 -2
  258. metadata +124 -58
  259. data/lib/vedeu/dsl/composition.rb +0 -150
  260. data/lib/vedeu/dsl/line.rb +0 -119
  261. data/lib/vedeu/dsl/lines.rb +0 -23
  262. data/lib/vedeu/dsl/shared.rb +0 -85
  263. data/lib/vedeu/dsl/stream.rb +0 -40
  264. data/lib/vedeu/dsl/streams.rb +0 -23
  265. data/lib/vedeu/dsl/text.rb +0 -98
  266. data/lib/vedeu/geometries/alignment/all.rb +0 -11
  267. data/lib/vedeu/geometries/alignment/horizontal_alignment.rb +0 -27
  268. data/lib/vedeu/geometries/alignment/vertical_alignment.rb +0 -27
  269. data/lib/vedeu/output/text.rb +0 -275
  270. data/test/lib/vedeu/dsl/composition_test.rb +0 -67
  271. data/test/lib/vedeu/dsl/line_test.rb +0 -85
  272. data/test/lib/vedeu/dsl/shared_test.rb +0 -66
  273. data/test/lib/vedeu/dsl/stream_test.rb +0 -30
  274. data/test/lib/vedeu/dsl/streams_test.rb +0 -13
  275. data/test/lib/vedeu/dsl/text_test.rb +0 -122
  276. data/test/lib/vedeu/output/text_test.rb +0 -156
  277. data/test/lib/vedeu/views/view_collection_test.rb +0 -13
@@ -0,0 +1,99 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'bundler/setup'
4
+ require 'vedeu'
5
+
6
+ class DSLApp
7
+
8
+ Vedeu.bind(:_initialize_) { Vedeu.trigger(:_refresh_) }
9
+
10
+ Vedeu.configure do
11
+ debug!
12
+ log '/tmp/vedeu_views_dsl.log'
13
+ run_once!
14
+ standalone!
15
+ end
16
+
17
+ Vedeu.interface :test1_interface do
18
+ border do
19
+ title 'Test 1'
20
+ end
21
+ geometry do
22
+ x 4
23
+ y 3
24
+ xn 34
25
+ yn 8
26
+ end
27
+ end
28
+
29
+ Vedeu.interface :test2_interface do
30
+ border do
31
+ title 'Test 2'
32
+ end
33
+ geometry do
34
+ x 36
35
+ y 3
36
+ xn 66
37
+ yn 8
38
+ end
39
+ end
40
+
41
+ Vedeu.interface :test3_interface do
42
+ border do
43
+ title 'Test 3'
44
+ end
45
+ geometry do
46
+ x 4
47
+ y 10
48
+ xn 34
49
+ yn 15
50
+ end
51
+ end
52
+
53
+ Vedeu.keymap '_global_' do
54
+ key('q') { Vedeu.exit }
55
+ end
56
+
57
+ # vedeu/dsl/line.rb:98:in `streams': wrong number of arguments (1 for 0)
58
+ Vedeu.render do
59
+ # view(:test1_interface) do
60
+ # lines do
61
+ # line do
62
+ # stream 'view->lines->line->stream'
63
+ # end
64
+ # end
65
+ # end
66
+
67
+ view(:test2_interface) do
68
+ lines do
69
+ line do
70
+ stream do
71
+ text 'v->ls->line->stream->text 1'
72
+ # text 'view->lines->line->stream->text 2' # doesn't show
73
+ end
74
+ end
75
+ end
76
+ end
77
+
78
+ view(:test3_interface) do
79
+ lines do
80
+ line do
81
+ stream do
82
+ text 'v->ls->line->stream 1->text 1'
83
+ end
84
+ # below doesn't render at all
85
+ stream do
86
+ text 'v->ls->line->stream 2->text 1'
87
+ end
88
+ end
89
+ end
90
+ end
91
+ end
92
+
93
+ def self.start(argv = ARGV)
94
+ Vedeu::Launcher.execute!(argv)
95
+ end
96
+
97
+ end # EditorApp
98
+
99
+ DSLApp.start
@@ -0,0 +1,73 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'bundler/setup'
4
+ require 'vedeu'
5
+
6
+ class DSLApp
7
+
8
+ Vedeu.bind(:_initialize_) { Vedeu.trigger(:_refresh_) }
9
+
10
+ Vedeu.configure do
11
+ debug!
12
+ log '/tmp/vedeu_views_dsl.log'
13
+ run_once!
14
+ standalone!
15
+ end
16
+
17
+ Vedeu.interface :test1_interface do
18
+ border do
19
+ title 'Test 1'
20
+ end
21
+ geometry do
22
+ x 4
23
+ y 3
24
+ xn 34
25
+ yn 8
26
+ end
27
+ end
28
+
29
+ Vedeu.interface :test2_interface do
30
+ border do
31
+ title 'Test 2'
32
+ end
33
+ geometry do
34
+ x 36
35
+ y 3
36
+ xn 66
37
+ yn 8
38
+ end
39
+ end
40
+
41
+ Vedeu.keymap '_global_' do
42
+ key('q') { Vedeu.exit }
43
+ end
44
+
45
+ Vedeu.render do
46
+ view(:test1_interface) do
47
+ lines do
48
+ line do
49
+ streams do
50
+ end
51
+ end
52
+ end
53
+ end
54
+
55
+ view(:test2_interface) do
56
+ lines do
57
+ line do
58
+ streams do
59
+ text 'v->ls->line->streams->text 1'
60
+ text 'v->ls->line->streams->text 2' # doesn't show
61
+ end
62
+ end
63
+ end
64
+ end
65
+ end
66
+
67
+ def self.start(argv = ARGV)
68
+ Vedeu::Launcher.execute!(argv)
69
+ end
70
+
71
+ end # EditorApp
72
+
73
+ DSLApp.start
@@ -0,0 +1,83 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'bundler/setup'
4
+ require 'vedeu'
5
+
6
+ class DSLApp
7
+
8
+ Vedeu.bind(:_initialize_) { Vedeu.trigger(:_refresh_) }
9
+
10
+ Vedeu.configure do
11
+ debug!
12
+ log '/tmp/vedeu_views_dsl.log'
13
+ run_once!
14
+ standalone!
15
+ end
16
+
17
+ Vedeu.interface :test1_interface do
18
+ border do
19
+ title 'Test 1'
20
+ end
21
+ geometry do
22
+ x 4
23
+ y 3
24
+ xn 34
25
+ yn 8
26
+ end
27
+ end
28
+
29
+ Vedeu.interface :test2_interface do
30
+ border do
31
+ title 'Test 2'
32
+ end
33
+ geometry do
34
+ x 36
35
+ y 3
36
+ xn 66
37
+ yn 8
38
+ end
39
+ end
40
+
41
+ Vedeu.keymap '_global_' do
42
+ key('q') { Vedeu.exit }
43
+ end
44
+
45
+ # vedeu/dsl/stream.rb:16:in `stream': wrong number of arguments (1 for 0)
46
+ Vedeu.render do
47
+ # view(:test1_interface) do
48
+ # lines do
49
+ # line do
50
+ # streams do
51
+ # stream 'test 1'
52
+ # end
53
+ # end
54
+ # end
55
+ # end
56
+
57
+ view(:test2_interface) do
58
+ lines do
59
+ line do
60
+ streams do
61
+ stream do
62
+ text 'v->ls->l->ss->s 1->text 1'
63
+ # below does not render
64
+ text 'v->ls->l->ss->s 1->text 2'
65
+ end
66
+ # below does not render
67
+ stream do
68
+ text 'v->ls->l->ss->s 2->text 1'
69
+ text 'v->ls->l->ss->s 2->text 2'
70
+ end
71
+ end
72
+ end
73
+ end
74
+ end
75
+ end
76
+
77
+ def self.start(argv = ARGV)
78
+ Vedeu::Launcher.execute!(argv)
79
+ end
80
+
81
+ end # EditorApp
82
+
83
+ DSLApp.start
@@ -0,0 +1,53 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'bundler/setup'
4
+ require 'vedeu'
5
+
6
+ class DSLApp
7
+
8
+ Vedeu.bind(:_initialize_) { Vedeu.trigger(:_refresh_) }
9
+
10
+ Vedeu.configure do
11
+ debug!
12
+ log '/tmp/vedeu_views_dsl.log'
13
+ run_once!
14
+ standalone!
15
+ end
16
+
17
+ Vedeu.interface :main_interface do
18
+ border do
19
+ title 'Test 1'
20
+ end
21
+ geometry do
22
+ x 4
23
+ y 3
24
+ xn 34
25
+ yn 8
26
+ end
27
+ end
28
+
29
+ Vedeu.keymap '_global_' do
30
+ key('q') { Vedeu.exit }
31
+ end
32
+
33
+ # vedeu/dsl/stream.rb:16:in `stream': wrong number of arguments (1 for 0)
34
+ Vedeu.render do
35
+ view(:main_interface) do
36
+ lines do
37
+ line do
38
+ streams do
39
+ stream 'v->ls->l->streams->stream 1'
40
+ stream 'v->ls->l->streams->stream 2'
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
46
+
47
+ def self.start(argv = ARGV)
48
+ Vedeu::Launcher.execute!(argv)
49
+ end
50
+
51
+ end # EditorApp
52
+
53
+ DSLApp.start
@@ -0,0 +1,50 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'bundler/setup'
4
+ require 'vedeu'
5
+
6
+ class DSLApp
7
+
8
+ Vedeu.bind(:_initialize_) { Vedeu.trigger(:_refresh_) }
9
+
10
+ Vedeu.configure do
11
+ debug!
12
+ log '/tmp/vedeu_views_dsl.log'
13
+ run_once!
14
+ standalone!
15
+ end
16
+
17
+ Vedeu.interface :test1_interface do
18
+ border do
19
+ title 'Test 1'
20
+ end
21
+ geometry do
22
+ x 4
23
+ y 3
24
+ xn 34
25
+ yn 8
26
+ end
27
+ end
28
+
29
+ Vedeu.keymap '_global_' do
30
+ key('q') { Vedeu.exit }
31
+ end
32
+
33
+ Vedeu.render do
34
+ view(:test1_interface) do
35
+ lines do
36
+ streams do
37
+ text 'view->lines->streams->text 1'
38
+ text 'view->lines->streams->text 2'
39
+ end
40
+ end
41
+ end
42
+ end
43
+
44
+ def self.start(argv = ARGV)
45
+ Vedeu::Launcher.execute!(argv)
46
+ end
47
+
48
+ end # EditorApp
49
+
50
+ DSLApp.start
@@ -0,0 +1,51 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'bundler/setup'
4
+ require 'vedeu'
5
+
6
+ class DSLApp
7
+
8
+ Vedeu.bind(:_initialize_) { Vedeu.trigger(:_refresh_) }
9
+
10
+ Vedeu.configure do
11
+ debug!
12
+ log '/tmp/vedeu_views_dsl.log'
13
+ run_once!
14
+ standalone!
15
+ end
16
+
17
+ Vedeu.interface :test1_interface do
18
+ border do
19
+ title 'Test 1'
20
+ end
21
+ geometry do
22
+ x 4
23
+ y 3
24
+ xn 34
25
+ yn 8
26
+ end
27
+ end
28
+
29
+ Vedeu.keymap '_global_' do
30
+ key('q') { Vedeu.exit }
31
+ end
32
+
33
+ # vedeu/dsl/stream.rb:16:in `stream': wrong number of arguments (1 for 0)
34
+ Vedeu.render do
35
+ view(:test1_interface) do
36
+ lines do
37
+ streams do
38
+ stream 'view->lines->streams->stream 1'
39
+ stream 'view->lines->streams->stream 2'
40
+ end
41
+ end
42
+ end
43
+ end
44
+
45
+ def self.start(argv = ARGV)
46
+ Vedeu::Launcher.execute!(argv)
47
+ end
48
+
49
+ end # EditorApp
50
+
51
+ DSLApp.start
@@ -0,0 +1,27 @@
1
+ #!/bin/bash
2
+
3
+ set -e
4
+
5
+ function test_output() {
6
+ "$@"
7
+ local status=$?
8
+ if [ $status -ne 0 ]; then
9
+ echo "Error with $1" >&2
10
+ fi
11
+ return $status
12
+ }
13
+
14
+ test_output ./line.rb
15
+ test_output diff -q /tmp/line.out ./expected/line.out
16
+ du -b /tmp/line.out | cut -f1
17
+ du -b ./expected/line.out | cut -f1
18
+
19
+ test_output ./lines.rb
20
+ test_output diff -q /tmp/lines.out ./expected/lines.out
21
+ du -b /tmp/lines.out | cut -f1
22
+ du -b ./expected/lines.out | cut -f1
23
+
24
+ test_output ./lines_alignment.rb
25
+ test_output diff -q /tmp/lines_alignment.out ./expected/lines_alignment.out
26
+ du -b /tmp/lines_alignment.out | cut -f1
27
+ du -b ./expected/lines_alignment.out | cut -f1
data/lib/vedeu/all.rb CHANGED
@@ -1,12 +1,16 @@
1
+ require 'vedeu/boolean'
1
2
  require 'vedeu/common'
2
3
  require 'vedeu/error'
3
4
  require 'vedeu/version'
4
5
 
6
+ require 'vedeu/coercers/all'
7
+ require 'vedeu/repositories/all'
8
+
9
+ require 'vedeu/esc/all'
5
10
  require 'vedeu/colours/all'
6
11
  require 'vedeu/configuration/all'
7
- require 'vedeu/repositories/all'
8
12
  require 'vedeu/events/all'
9
- require 'vedeu/esc/all'
13
+
10
14
  require 'vedeu/logging/all'
11
15
  require 'vedeu/runtime/all'
12
16
  require 'vedeu/terminal/all'