gli 2.11.0 → 2.20.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (92) hide show
  1. checksums.yaml +5 -5
  2. data/.circleci/config.yml +28 -0
  3. data/.gitignore +3 -3
  4. data/.tool-versions +1 -0
  5. data/Gemfile +0 -2
  6. data/README.rdoc +29 -19
  7. data/Rakefile +15 -37
  8. data/bin/ci +29 -0
  9. data/bin/gli +24 -54
  10. data/bin/rake +29 -0
  11. data/bin/setup +5 -0
  12. data/exe/gli +68 -0
  13. data/gli.gemspec +20 -24
  14. data/gli.rdoc +9 -9
  15. data/lib/gli/app.rb +31 -8
  16. data/lib/gli/app_support.rb +15 -3
  17. data/lib/gli/command.rb +24 -2
  18. data/lib/gli/command_finder.rb +42 -25
  19. data/lib/gli/command_support.rb +7 -6
  20. data/lib/gli/commands/doc.rb +9 -3
  21. data/lib/gli/commands/help.rb +2 -1
  22. data/lib/gli/commands/help_modules/arg_name_formatter.rb +2 -2
  23. data/lib/gli/commands/help_modules/command_help_format.rb +19 -1
  24. data/lib/gli/commands/help_modules/full_synopsis_formatter.rb +3 -2
  25. data/lib/gli/commands/help_modules/global_help_format.rb +1 -1
  26. data/lib/gli/commands/help_modules/options_formatter.rb +4 -6
  27. data/lib/gli/commands/initconfig.rb +3 -6
  28. data/lib/gli/commands/rdoc_document_listener.rb +2 -1
  29. data/lib/gli/commands/scaffold.rb +71 -142
  30. data/lib/gli/dsl.rb +2 -1
  31. data/lib/gli/flag.rb +23 -2
  32. data/lib/gli/gli_option_parser.rb +66 -15
  33. data/lib/gli/option_parser_factory.rb +9 -2
  34. data/lib/gli/options.rb +2 -2
  35. data/lib/gli/switch.rb +4 -0
  36. data/lib/gli/terminal.rb +6 -2
  37. data/lib/gli/version.rb +1 -1
  38. data/lib/gli.rb +1 -0
  39. data/object-model.dot +29 -0
  40. data/object-model.png +0 -0
  41. data/test/apps/todo/Gemfile +1 -1
  42. data/test/apps/todo/bin/todo +12 -6
  43. data/test/apps/todo/lib/todo/commands/create.rb +42 -41
  44. data/test/apps/todo/lib/todo/commands/list.rb +48 -36
  45. data/test/apps/todo/lib/todo/commands/ls.rb +25 -24
  46. data/test/apps/todo/lib/todo/commands/make.rb +42 -39
  47. data/test/apps/todo/todo.gemspec +1 -2
  48. data/test/apps/todo_legacy/todo.gemspec +1 -2
  49. data/test/apps/todo_plugins/commands/third.rb +2 -0
  50. data/test/integration/gli_cli_test.rb +69 -0
  51. data/test/integration/gli_powered_app_test.rb +52 -0
  52. data/test/integration/scaffold_test.rb +30 -0
  53. data/test/integration/test_helper.rb +52 -0
  54. data/test/unit/command_finder_test.rb +54 -0
  55. data/test/{tc_command.rb → unit/command_test.rb} +20 -7
  56. data/test/unit/compound_command_test.rb +17 -0
  57. data/test/{tc_doc.rb → unit/doc_test.rb} +38 -51
  58. data/test/{tc_flag.rb → unit/flag_test.rb} +19 -25
  59. data/test/{tc_gli.rb → unit/gli_test.rb} +78 -50
  60. data/test/{tc_help.rb → unit/help_test.rb} +54 -113
  61. data/test/{tc_options.rb → unit/options_test.rb} +4 -4
  62. data/test/unit/subcommand_parsing_test.rb +263 -0
  63. data/test/unit/subcommands_test.rb +245 -0
  64. data/test/{config.yaml → unit/support/gli_test_config.yml} +1 -0
  65. data/test/unit/switch_test.rb +49 -0
  66. data/test/{tc_terminal.rb → unit/terminal_test.rb} +28 -3
  67. data/test/unit/test_helper.rb +13 -0
  68. data/test/unit/verbatim_wrapper_test.rb +24 -0
  69. metadata +85 -141
  70. data/.ruby-gemset +0 -1
  71. data/.ruby-version +0 -1
  72. data/.travis.yml +0 -12
  73. data/ObjectModel.graffle +0 -1191
  74. data/bin/report_on_rake_results +0 -10
  75. data/bin/test_all_rubies.sh +0 -6
  76. data/features/gli_executable.feature +0 -90
  77. data/features/gli_init.feature +0 -232
  78. data/features/step_definitions/gli_executable_steps.rb +0 -18
  79. data/features/step_definitions/gli_init_steps.rb +0 -11
  80. data/features/step_definitions/todo_steps.rb +0 -100
  81. data/features/support/env.rb +0 -55
  82. data/features/todo.feature +0 -546
  83. data/features/todo_legacy.feature +0 -128
  84. data/test/option_test_helper.rb +0 -13
  85. data/test/tc_compound_command.rb +0 -22
  86. data/test/tc_subcommand_parsing.rb +0 -104
  87. data/test/tc_subcommands.rb +0 -259
  88. data/test/tc_switch.rb +0 -55
  89. data/test/tc_verbatim_wrapper.rb +0 -36
  90. data/test/test_helper.rb +0 -20
  91. /data/test/{init_simplecov.rb → unit/init_simplecov.rb} +0 -0
  92. /data/test/{fake_std_out.rb → unit/support/fake_std_out.rb} +0 -0
data/ObjectModel.graffle DELETED
@@ -1,1191 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
- <plist version="1.0">
4
- <dict>
5
- <key>ActiveLayerIndex</key>
6
- <integer>0</integer>
7
- <key>ApplicationVersion</key>
8
- <array>
9
- <string>com.omnigroup.OmniGraffle.MacAppStore</string>
10
- <string>138.33</string>
11
- </array>
12
- <key>AutoAdjust</key>
13
- <true/>
14
- <key>BackgroundGraphic</key>
15
- <dict>
16
- <key>Bounds</key>
17
- <string>{{0, 0}, {576, 733}}</string>
18
- <key>Class</key>
19
- <string>SolidGraphic</string>
20
- <key>ID</key>
21
- <integer>2</integer>
22
- <key>Style</key>
23
- <dict>
24
- <key>shadow</key>
25
- <dict>
26
- <key>Draws</key>
27
- <string>NO</string>
28
- </dict>
29
- <key>stroke</key>
30
- <dict>
31
- <key>Draws</key>
32
- <string>NO</string>
33
- </dict>
34
- </dict>
35
- </dict>
36
- <key>CanvasOrigin</key>
37
- <string>{0, 0}</string>
38
- <key>ColumnAlign</key>
39
- <integer>1</integer>
40
- <key>ColumnSpacing</key>
41
- <real>36</real>
42
- <key>CreationDate</key>
43
- <string>2012-03-23 19:22:12 +0000</string>
44
- <key>Creator</key>
45
- <string>David Copeland</string>
46
- <key>DisplayScale</key>
47
- <string>1 0/72 in = 1 0/72 in</string>
48
- <key>GraphDocumentVersion</key>
49
- <integer>8</integer>
50
- <key>GraphicsList</key>
51
- <array>
52
- <dict>
53
- <key>Bounds</key>
54
- <string>{{20, 518}, {99, 61}}</string>
55
- <key>Class</key>
56
- <string>ShapedGraphic</string>
57
- <key>ID</key>
58
- <integer>66</integer>
59
- <key>Shape</key>
60
- <string>NoteShape</string>
61
- <key>Style</key>
62
- <dict/>
63
- <key>Text</key>
64
- <dict>
65
- <key>Text</key>
66
- <string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf320
67
- {\fonttbl\f0\fswiss\fcharset0 Helvetica;}
68
- {\colortbl;\red255\green255\blue255;}
69
- \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
70
-
71
- \f0\fs24 \cf0 top most commands point to App as the parent}</string>
72
- <key>VerticalPad</key>
73
- <integer>0</integer>
74
- </dict>
75
- </dict>
76
- <dict>
77
- <key>Bounds</key>
78
- <string>{{114.5, 503.3269}, {45, 24}}</string>
79
- <key>Class</key>
80
- <string>ShapedGraphic</string>
81
- <key>FitText</key>
82
- <string>YES</string>
83
- <key>Flow</key>
84
- <string>Resize</string>
85
- <key>FontInfo</key>
86
- <dict>
87
- <key>Color</key>
88
- <dict>
89
- <key>w</key>
90
- <string>0</string>
91
- </dict>
92
- <key>Font</key>
93
- <string>Helvetica</string>
94
- <key>Size</key>
95
- <real>12</real>
96
- </dict>
97
- <key>ID</key>
98
- <integer>65</integer>
99
- <key>Line</key>
100
- <dict>
101
- <key>ID</key>
102
- <integer>64</integer>
103
- <key>Position</key>
104
- <real>0.31400206685066223</real>
105
- <key>RotationType</key>
106
- <integer>0</integer>
107
- </dict>
108
- <key>Shape</key>
109
- <string>Rectangle</string>
110
- <key>Style</key>
111
- <dict>
112
- <key>shadow</key>
113
- <dict>
114
- <key>Draws</key>
115
- <string>NO</string>
116
- </dict>
117
- <key>stroke</key>
118
- <dict>
119
- <key>Draws</key>
120
- <string>NO</string>
121
- </dict>
122
- </dict>
123
- <key>Text</key>
124
- <dict>
125
- <key>Text</key>
126
- <string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf320
127
- {\fonttbl\f0\fswiss\fcharset0 Helvetica;}
128
- {\colortbl;\red255\green255\blue255;}
129
- \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
130
-
131
- \f0\fs24 \cf0 parent}</string>
132
- </dict>
133
- <key>Wrap</key>
134
- <string>NO</string>
135
- </dict>
136
- <dict>
137
- <key>Class</key>
138
- <string>LineGraphic</string>
139
- <key>Head</key>
140
- <dict>
141
- <key>ID</key>
142
- <integer>43</integer>
143
- </dict>
144
- <key>ID</key>
145
- <integer>64</integer>
146
- <key>OrthogonalBarAutomatic</key>
147
- <true/>
148
- <key>OrthogonalBarPoint</key>
149
- <string>{0, 0}</string>
150
- <key>OrthogonalBarPosition</key>
151
- <real>57.505828857421875</real>
152
- <key>Points</key>
153
- <array>
154
- <string>{137, 568}</string>
155
- <string>{106.76401, 430.48834}</string>
156
- </array>
157
- <key>Style</key>
158
- <dict>
159
- <key>stroke</key>
160
- <dict>
161
- <key>HeadArrow</key>
162
- <string>0</string>
163
- <key>LineType</key>
164
- <integer>2</integer>
165
- <key>Pattern</key>
166
- <integer>1</integer>
167
- <key>TailArrow</key>
168
- <string>Diamond</string>
169
- </dict>
170
- </dict>
171
- <key>Tail</key>
172
- <dict>
173
- <key>ID</key>
174
- <integer>63</integer>
175
- </dict>
176
- </dict>
177
- <dict>
178
- <key>Bounds</key>
179
- <string>{{92, 568}, {90, 36}}</string>
180
- <key>Class</key>
181
- <string>ShapedGraphic</string>
182
- <key>ID</key>
183
- <integer>63</integer>
184
- <key>Magnets</key>
185
- <array>
186
- <string>{0, 1}</string>
187
- <string>{0, -1}</string>
188
- <string>{1, 0}</string>
189
- <string>{-1, 0}</string>
190
- </array>
191
- <key>Shape</key>
192
- <string>Rectangle</string>
193
- <key>Style</key>
194
- <dict/>
195
- <key>Text</key>
196
- <dict>
197
- <key>Text</key>
198
- <string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf320
199
- {\fonttbl\f0\fswiss\fcharset0 Helvetica;}
200
- {\colortbl;\red255\green255\blue255;}
201
- \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
202
-
203
- \f0\b\fs24 \cf0 App}</string>
204
- <key>VerticalPad</key>
205
- <integer>0</integer>
206
- </dict>
207
- </dict>
208
- <dict>
209
- <key>Bounds</key>
210
- <string>{{208, 288}, {80, 47}}</string>
211
- <key>Class</key>
212
- <string>ShapedGraphic</string>
213
- <key>ID</key>
214
- <integer>62</integer>
215
- <key>Shape</key>
216
- <string>NoteShape</string>
217
- <key>Style</key>
218
- <dict/>
219
- <key>Text</key>
220
- <dict>
221
- <key>Text</key>
222
- <string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf320
223
- {\fonttbl\f0\fswiss\fcharset0 Helvetica;}
224
- {\colortbl;\red255\green255\blue255;}
225
- \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
226
-
227
- \f0\fs24 \cf0 nil if this is a global option}</string>
228
- <key>VerticalPad</key>
229
- <integer>0</integer>
230
- </dict>
231
- </dict>
232
- <dict>
233
- <key>Class</key>
234
- <string>LineGraphic</string>
235
- <key>Head</key>
236
- <dict>
237
- <key>ID</key>
238
- <integer>38</integer>
239
- </dict>
240
- <key>ID</key>
241
- <integer>61</integer>
242
- <key>Points</key>
243
- <array>
244
- <string>{294.97458, 380.63699}</string>
245
- <string>{451.53046, 215.36313}</string>
246
- </array>
247
- <key>Style</key>
248
- <dict>
249
- <key>stroke</key>
250
- <dict>
251
- <key>HeadArrow</key>
252
- <string>UMLInheritance</string>
253
- <key>LineType</key>
254
- <integer>1</integer>
255
- <key>TailArrow</key>
256
- <string>0</string>
257
- </dict>
258
- </dict>
259
- <key>Tail</key>
260
- <dict>
261
- <key>ID</key>
262
- <integer>55</integer>
263
- </dict>
264
- </dict>
265
- <dict>
266
- <key>Class</key>
267
- <string>LineGraphic</string>
268
- <key>Head</key>
269
- <dict>
270
- <key>ID</key>
271
- <integer>38</integer>
272
- </dict>
273
- <key>ID</key>
274
- <integer>60</integer>
275
- <key>Points</key>
276
- <array>
277
- <string>{474.81839, 387.50204}</string>
278
- <string>{459.18158, 215.49792}</string>
279
- </array>
280
- <key>Style</key>
281
- <dict>
282
- <key>stroke</key>
283
- <dict>
284
- <key>HeadArrow</key>
285
- <string>UMLInheritance</string>
286
- <key>LineType</key>
287
- <integer>1</integer>
288
- <key>TailArrow</key>
289
- <string>0</string>
290
- </dict>
291
- </dict>
292
- <key>Tail</key>
293
- <dict>
294
- <key>ID</key>
295
- <integer>58</integer>
296
- </dict>
297
- </dict>
298
- <dict>
299
- <key>Class</key>
300
- <string>TableGroup</string>
301
- <key>Graphics</key>
302
- <array>
303
- <dict>
304
- <key>Bounds</key>
305
- <string>{{388, 388}, {175, 14}}</string>
306
- <key>Class</key>
307
- <string>ShapedGraphic</string>
308
- <key>FitText</key>
309
- <string>Vertical</string>
310
- <key>Flow</key>
311
- <string>Resize</string>
312
- <key>ID</key>
313
- <integer>58</integer>
314
- <key>Shape</key>
315
- <string>Rectangle</string>
316
- <key>Style</key>
317
- <dict>
318
- <key>fill</key>
319
- <dict>
320
- <key>GradientCenter</key>
321
- <string>{-0.29411799, -0.26470599}</string>
322
- </dict>
323
- </dict>
324
- <key>Text</key>
325
- <dict>
326
- <key>Text</key>
327
- <string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf320
328
- {\fonttbl\f0\fswiss\fcharset0 Helvetica;}
329
- {\colortbl;\red255\green255\blue255;}
330
- \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
331
-
332
- \f0\b\fs24 \cf0 Switch}</string>
333
- <key>VerticalPad</key>
334
- <integer>0</integer>
335
- </dict>
336
- <key>TextPlacement</key>
337
- <integer>0</integer>
338
- </dict>
339
- </array>
340
- <key>ID</key>
341
- <integer>57</integer>
342
- </dict>
343
- <dict>
344
- <key>Class</key>
345
- <string>TableGroup</string>
346
- <key>Graphics</key>
347
- <array>
348
- <dict>
349
- <key>Bounds</key>
350
- <string>{{200.5, 381}, {175, 14}}</string>
351
- <key>Class</key>
352
- <string>ShapedGraphic</string>
353
- <key>FitText</key>
354
- <string>Vertical</string>
355
- <key>Flow</key>
356
- <string>Resize</string>
357
- <key>ID</key>
358
- <integer>55</integer>
359
- <key>Shape</key>
360
- <string>Rectangle</string>
361
- <key>Style</key>
362
- <dict>
363
- <key>fill</key>
364
- <dict>
365
- <key>GradientCenter</key>
366
- <string>{-0.29411799, -0.26470599}</string>
367
- </dict>
368
- </dict>
369
- <key>Text</key>
370
- <dict>
371
- <key>Text</key>
372
- <string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf320
373
- {\fonttbl\f0\fswiss\fcharset0 Helvetica;}
374
- {\colortbl;\red255\green255\blue255;}
375
- \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
376
-
377
- \f0\b\fs24 \cf0 Flag}</string>
378
- <key>VerticalPad</key>
379
- <integer>0</integer>
380
- </dict>
381
- <key>TextPlacement</key>
382
- <integer>0</integer>
383
- </dict>
384
- <dict>
385
- <key>Bounds</key>
386
- <string>{{200.5, 395}, {175, 14}}</string>
387
- <key>Class</key>
388
- <string>ShapedGraphic</string>
389
- <key>FitText</key>
390
- <string>Vertical</string>
391
- <key>Flow</key>
392
- <string>Resize</string>
393
- <key>ID</key>
394
- <integer>56</integer>
395
- <key>Shape</key>
396
- <string>Rectangle</string>
397
- <key>Style</key>
398
- <dict>
399
- <key>fill</key>
400
- <dict>
401
- <key>GradientCenter</key>
402
- <string>{-0.29411799, -0.26470599}</string>
403
- </dict>
404
- </dict>
405
- <key>Text</key>
406
- <dict>
407
- <key>Align</key>
408
- <integer>0</integer>
409
- <key>Text</key>
410
- <string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf320
411
- {\fonttbl\f0\fswiss\fcharset0 Helvetica;}
412
- {\colortbl;\red255\green255\blue255;}
413
- \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720
414
-
415
- \f0\fs24 \cf0 argument name}</string>
416
- <key>VerticalPad</key>
417
- <integer>0</integer>
418
- </dict>
419
- <key>TextPlacement</key>
420
- <integer>0</integer>
421
- </dict>
422
- </array>
423
- <key>GridH</key>
424
- <array>
425
- <integer>55</integer>
426
- <integer>56</integer>
427
- <array/>
428
- </array>
429
- <key>ID</key>
430
- <integer>54</integer>
431
- </dict>
432
- <dict>
433
- <key>Bounds</key>
434
- <string>{{258.604, 256.57898}, {127, 24}}</string>
435
- <key>Class</key>
436
- <string>ShapedGraphic</string>
437
- <key>FitText</key>
438
- <string>YES</string>
439
- <key>Flow</key>
440
- <string>Resize</string>
441
- <key>FontInfo</key>
442
- <dict>
443
- <key>Color</key>
444
- <dict>
445
- <key>w</key>
446
- <string>0</string>
447
- </dict>
448
- <key>Font</key>
449
- <string>Helvetica</string>
450
- <key>Size</key>
451
- <real>12</real>
452
- </dict>
453
- <key>ID</key>
454
- <integer>53</integer>
455
- <key>Line</key>
456
- <dict>
457
- <key>ID</key>
458
- <integer>52</integer>
459
- <key>Position</key>
460
- <real>0.36914369463920593</real>
461
- <key>RotationType</key>
462
- <integer>0</integer>
463
- </dict>
464
- <key>Shape</key>
465
- <string>Rectangle</string>
466
- <key>Style</key>
467
- <dict>
468
- <key>shadow</key>
469
- <dict>
470
- <key>Draws</key>
471
- <string>NO</string>
472
- </dict>
473
- <key>stroke</key>
474
- <dict>
475
- <key>Draws</key>
476
- <string>NO</string>
477
- </dict>
478
- </dict>
479
- <key>Text</key>
480
- <dict>
481
- <key>Text</key>
482
- <string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf320
483
- {\fonttbl\f0\fswiss\fcharset0 Helvetica;}
484
- {\colortbl;\red255\green255\blue255;}
485
- \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
486
-
487
- \f0\fs24 \cf0 associated_command}</string>
488
- </dict>
489
- <key>Wrap</key>
490
- <string>NO</string>
491
- </dict>
492
- <dict>
493
- <key>Class</key>
494
- <string>LineGraphic</string>
495
- <key>Head</key>
496
- <dict>
497
- <key>ID</key>
498
- <integer>42</integer>
499
- </dict>
500
- <key>ID</key>
501
- <integer>52</integer>
502
- <key>Points</key>
503
- <array>
504
- <string>{442.28226, 215.20296}</string>
505
- <string>{116.72269, 359.79709}</string>
506
- </array>
507
- <key>Style</key>
508
- <dict>
509
- <key>stroke</key>
510
- <dict>
511
- <key>HeadArrow</key>
512
- <string>Diamond</string>
513
- <key>LineType</key>
514
- <integer>1</integer>
515
- <key>Pattern</key>
516
- <integer>1</integer>
517
- <key>TailArrow</key>
518
- <string>0</string>
519
- </dict>
520
- </dict>
521
- <key>Tail</key>
522
- <dict>
523
- <key>ID</key>
524
- <integer>38</integer>
525
- </dict>
526
- </dict>
527
- <dict>
528
- <key>Bounds</key>
529
- <string>{{11.5, 458.71945}, {45, 24}}</string>
530
- <key>Class</key>
531
- <string>ShapedGraphic</string>
532
- <key>FitText</key>
533
- <string>YES</string>
534
- <key>Flow</key>
535
- <string>Resize</string>
536
- <key>FontInfo</key>
537
- <dict>
538
- <key>Color</key>
539
- <dict>
540
- <key>w</key>
541
- <string>0</string>
542
- </dict>
543
- <key>Font</key>
544
- <string>Helvetica</string>
545
- <key>Size</key>
546
- <real>12</real>
547
- </dict>
548
- <key>ID</key>
549
- <integer>51</integer>
550
- <key>Line</key>
551
- <dict>
552
- <key>ID</key>
553
- <integer>49</integer>
554
- <key>Position</key>
555
- <real>0.31400206685066223</real>
556
- <key>RotationType</key>
557
- <integer>0</integer>
558
- </dict>
559
- <key>Shape</key>
560
- <string>Rectangle</string>
561
- <key>Style</key>
562
- <dict>
563
- <key>shadow</key>
564
- <dict>
565
- <key>Draws</key>
566
- <string>NO</string>
567
- </dict>
568
- <key>stroke</key>
569
- <dict>
570
- <key>Draws</key>
571
- <string>NO</string>
572
- </dict>
573
- </dict>
574
- <key>Text</key>
575
- <dict>
576
- <key>Text</key>
577
- <string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf320
578
- {\fonttbl\f0\fswiss\fcharset0 Helvetica;}
579
- {\colortbl;\red255\green255\blue255;}
580
- \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
581
-
582
- \f0\fs24 \cf0 parent}</string>
583
- </dict>
584
- <key>Wrap</key>
585
- <string>NO</string>
586
- </dict>
587
- <dict>
588
- <key>Class</key>
589
- <string>LineGraphic</string>
590
- <key>Head</key>
591
- <dict>
592
- <key>ID</key>
593
- <integer>43</integer>
594
- </dict>
595
- <key>ID</key>
596
- <integer>49</integer>
597
- <key>OrthogonalBarAutomatic</key>
598
- <true/>
599
- <key>OrthogonalBarPoint</key>
600
- <string>{0, 0}</string>
601
- <key>OrthogonalBarPosition</key>
602
- <real>-1</real>
603
- <key>Points</key>
604
- <array>
605
- <string>{62.860363, 430.30048}</string>
606
- <string>{34, 452}</string>
607
- <string>{74, 497}</string>
608
- <string>{92.555122, 430.48163}</string>
609
- </array>
610
- <key>Style</key>
611
- <dict>
612
- <key>stroke</key>
613
- <dict>
614
- <key>HeadArrow</key>
615
- <string>0</string>
616
- <key>LineType</key>
617
- <integer>2</integer>
618
- <key>Pattern</key>
619
- <integer>1</integer>
620
- <key>TailArrow</key>
621
- <string>Diamond</string>
622
- </dict>
623
- </dict>
624
- <key>Tail</key>
625
- <dict>
626
- <key>ID</key>
627
- <integer>43</integer>
628
- </dict>
629
- </dict>
630
- <dict>
631
- <key>Class</key>
632
- <string>LineGraphic</string>
633
- <key>Head</key>
634
- <dict>
635
- <key>ID</key>
636
- <integer>35</integer>
637
- </dict>
638
- <key>ID</key>
639
- <integer>46</integer>
640
- <key>Points</key>
641
- <array>
642
- <string>{106.2841, 359.6062}</string>
643
- <string>{290.28815, 124.3938}</string>
644
- </array>
645
- <key>Style</key>
646
- <dict>
647
- <key>stroke</key>
648
- <dict>
649
- <key>HeadArrow</key>
650
- <string>UMLInheritance</string>
651
- <key>LineType</key>
652
- <integer>1</integer>
653
- <key>TailArrow</key>
654
- <string>0</string>
655
- </dict>
656
- </dict>
657
- <key>Tail</key>
658
- <dict>
659
- <key>ID</key>
660
- <integer>42</integer>
661
- </dict>
662
- </dict>
663
- <dict>
664
- <key>Class</key>
665
- <string>LineGraphic</string>
666
- <key>Head</key>
667
- <dict>
668
- <key>ID</key>
669
- <integer>10</integer>
670
- </dict>
671
- <key>ID</key>
672
- <integer>44</integer>
673
- <key>Points</key>
674
- <array>
675
- <string>{100.5, 359.5}</string>
676
- <string>{100.5, 107}</string>
677
- </array>
678
- <key>Style</key>
679
- <dict>
680
- <key>stroke</key>
681
- <dict>
682
- <key>HeadArrow</key>
683
- <string>UMLInheritance</string>
684
- <key>LineType</key>
685
- <integer>1</integer>
686
- <key>TailArrow</key>
687
- <string>0</string>
688
- </dict>
689
- </dict>
690
- <key>Tail</key>
691
- <dict>
692
- <key>ID</key>
693
- <integer>42</integer>
694
- </dict>
695
- </dict>
696
- <dict>
697
- <key>Bounds</key>
698
- <string>{{55.5, 71}, {90, 36}}</string>
699
- <key>Class</key>
700
- <string>ShapedGraphic</string>
701
- <key>ID</key>
702
- <integer>10</integer>
703
- <key>Magnets</key>
704
- <array>
705
- <string>{0, 1}</string>
706
- <string>{0, -1}</string>
707
- <string>{1, 0}</string>
708
- <string>{-1, 0}</string>
709
- </array>
710
- <key>Shape</key>
711
- <string>Rectangle</string>
712
- <key>Style</key>
713
- <dict/>
714
- <key>Text</key>
715
- <dict>
716
- <key>Text</key>
717
- <string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf320
718
- {\fonttbl\f0\fswiss\fcharset0 Helvetica;}
719
- {\colortbl;\red255\green255\blue255;}
720
- \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
721
-
722
- \f0\b\fs24 \cf0 DSL}</string>
723
- <key>VerticalPad</key>
724
- <integer>0</integer>
725
- </dict>
726
- </dict>
727
- <dict>
728
- <key>Class</key>
729
- <string>TableGroup</string>
730
- <key>Graphics</key>
731
- <array>
732
- <dict>
733
- <key>Bounds</key>
734
- <string>{{13, 360}, {175, 14}}</string>
735
- <key>Class</key>
736
- <string>ShapedGraphic</string>
737
- <key>FitText</key>
738
- <string>Vertical</string>
739
- <key>Flow</key>
740
- <string>Resize</string>
741
- <key>ID</key>
742
- <integer>42</integer>
743
- <key>Shape</key>
744
- <string>Rectangle</string>
745
- <key>Style</key>
746
- <dict>
747
- <key>fill</key>
748
- <dict>
749
- <key>GradientCenter</key>
750
- <string>{-0.29411799, -0.26470599}</string>
751
- </dict>
752
- </dict>
753
- <key>Text</key>
754
- <dict>
755
- <key>Text</key>
756
- <string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf320
757
- {\fonttbl\f0\fswiss\fcharset0 Helvetica;}
758
- {\colortbl;\red255\green255\blue255;}
759
- \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
760
-
761
- \f0\b\fs24 \cf0 Command}</string>
762
- <key>VerticalPad</key>
763
- <integer>0</integer>
764
- </dict>
765
- <key>TextPlacement</key>
766
- <integer>0</integer>
767
- </dict>
768
- <dict>
769
- <key>Bounds</key>
770
- <string>{{13, 374}, {175, 56}}</string>
771
- <key>Class</key>
772
- <string>ShapedGraphic</string>
773
- <key>FitText</key>
774
- <string>Vertical</string>
775
- <key>Flow</key>
776
- <string>Resize</string>
777
- <key>ID</key>
778
- <integer>43</integer>
779
- <key>Shape</key>
780
- <string>Rectangle</string>
781
- <key>Style</key>
782
- <dict>
783
- <key>fill</key>
784
- <dict>
785
- <key>GradientCenter</key>
786
- <string>{-0.29411799, -0.26470599}</string>
787
- </dict>
788
- </dict>
789
- <key>Text</key>
790
- <dict>
791
- <key>Align</key>
792
- <integer>0</integer>
793
- <key>Text</key>
794
- <string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf320
795
- {\fonttbl\f0\fswiss\fcharset0 Helvetica;}
796
- {\colortbl;\red255\green255\blue255;}
797
- \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720
798
-
799
- \f0\fs24 \cf0 name\
800
- description\
801
- long_description\
802
- aliases}</string>
803
- <key>VerticalPad</key>
804
- <integer>0</integer>
805
- </dict>
806
- <key>TextPlacement</key>
807
- <integer>0</integer>
808
- </dict>
809
- </array>
810
- <key>GridH</key>
811
- <array>
812
- <integer>42</integer>
813
- <integer>43</integer>
814
- <array/>
815
- </array>
816
- <key>ID</key>
817
- <integer>41</integer>
818
- </dict>
819
- <dict>
820
- <key>Class</key>
821
- <string>LineGraphic</string>
822
- <key>Head</key>
823
- <dict>
824
- <key>ID</key>
825
- <integer>35</integer>
826
- </dict>
827
- <key>ID</key>
828
- <integer>40</integer>
829
- <key>Points</key>
830
- <array>
831
- <string>{447.65482, 186.72136}</string>
832
- <string>{354.61505, 124.27872}</string>
833
- </array>
834
- <key>Style</key>
835
- <dict>
836
- <key>stroke</key>
837
- <dict>
838
- <key>HeadArrow</key>
839
- <string>UMLInheritance</string>
840
- <key>LineType</key>
841
- <integer>1</integer>
842
- <key>TailArrow</key>
843
- <string>0</string>
844
- </dict>
845
- </dict>
846
- <key>Tail</key>
847
- <dict>
848
- <key>ID</key>
849
- <integer>37</integer>
850
- </dict>
851
- </dict>
852
- <dict>
853
- <key>Class</key>
854
- <string>TableGroup</string>
855
- <key>Graphics</key>
856
- <array>
857
- <dict>
858
- <key>Bounds</key>
859
- <string>{{371, 187}, {175, 14}}</string>
860
- <key>Class</key>
861
- <string>ShapedGraphic</string>
862
- <key>FitText</key>
863
- <string>Vertical</string>
864
- <key>Flow</key>
865
- <string>Resize</string>
866
- <key>ID</key>
867
- <integer>37</integer>
868
- <key>Shape</key>
869
- <string>Rectangle</string>
870
- <key>Style</key>
871
- <dict>
872
- <key>fill</key>
873
- <dict>
874
- <key>GradientCenter</key>
875
- <string>{-0.29411799, -0.26470599}</string>
876
- </dict>
877
- </dict>
878
- <key>Text</key>
879
- <dict>
880
- <key>Text</key>
881
- <string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf320
882
- {\fonttbl\f0\fswiss\fcharset0 Helvetica;}
883
- {\colortbl;\red255\green255\blue255;}
884
- \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
885
-
886
- \f0\b\fs24 \cf0 CommandLineOption}</string>
887
- <key>VerticalPad</key>
888
- <integer>0</integer>
889
- </dict>
890
- <key>TextPlacement</key>
891
- <integer>0</integer>
892
- </dict>
893
- <dict>
894
- <key>Bounds</key>
895
- <string>{{371, 201}, {175, 14}}</string>
896
- <key>Class</key>
897
- <string>ShapedGraphic</string>
898
- <key>FitText</key>
899
- <string>Vertical</string>
900
- <key>Flow</key>
901
- <string>Resize</string>
902
- <key>ID</key>
903
- <integer>38</integer>
904
- <key>Shape</key>
905
- <string>Rectangle</string>
906
- <key>Style</key>
907
- <dict>
908
- <key>fill</key>
909
- <dict>
910
- <key>GradientCenter</key>
911
- <string>{-0.29411799, -0.26470599}</string>
912
- </dict>
913
- </dict>
914
- <key>Text</key>
915
- <dict>
916
- <key>Align</key>
917
- <integer>0</integer>
918
- <key>Text</key>
919
- <string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf320
920
- {\fonttbl\f0\fswiss\fcharset0 Helvetica;}
921
- {\colortbl;\red255\green255\blue255;}
922
- \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720
923
-
924
- \f0\fs24 \cf0 default_value}</string>
925
- <key>VerticalPad</key>
926
- <integer>0</integer>
927
- </dict>
928
- <key>TextPlacement</key>
929
- <integer>0</integer>
930
- </dict>
931
- </array>
932
- <key>GridH</key>
933
- <array>
934
- <integer>37</integer>
935
- <integer>38</integer>
936
- <array/>
937
- </array>
938
- <key>ID</key>
939
- <integer>36</integer>
940
- </dict>
941
- <dict>
942
- <key>Class</key>
943
- <string>TableGroup</string>
944
- <key>Graphics</key>
945
- <array>
946
- <dict>
947
- <key>Bounds</key>
948
- <string>{{225, 54}, {175, 14}}</string>
949
- <key>Class</key>
950
- <string>ShapedGraphic</string>
951
- <key>FitText</key>
952
- <string>Vertical</string>
953
- <key>Flow</key>
954
- <string>Resize</string>
955
- <key>ID</key>
956
- <integer>34</integer>
957
- <key>Shape</key>
958
- <string>Rectangle</string>
959
- <key>Style</key>
960
- <dict>
961
- <key>fill</key>
962
- <dict>
963
- <key>GradientCenter</key>
964
- <string>{-0.29411799, -0.26470599}</string>
965
- </dict>
966
- </dict>
967
- <key>Text</key>
968
- <dict>
969
- <key>Text</key>
970
- <string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf320
971
- {\fonttbl\f0\fswiss\fcharset0 Helvetica;}
972
- {\colortbl;\red255\green255\blue255;}
973
- \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
974
-
975
- \f0\b\fs24 \cf0 CommandLineToklen}</string>
976
- <key>VerticalPad</key>
977
- <integer>0</integer>
978
- </dict>
979
- <key>TextPlacement</key>
980
- <integer>0</integer>
981
- </dict>
982
- <dict>
983
- <key>Bounds</key>
984
- <string>{{225, 68}, {175, 56}}</string>
985
- <key>Class</key>
986
- <string>ShapedGraphic</string>
987
- <key>FitText</key>
988
- <string>Vertical</string>
989
- <key>Flow</key>
990
- <string>Resize</string>
991
- <key>ID</key>
992
- <integer>35</integer>
993
- <key>Shape</key>
994
- <string>Rectangle</string>
995
- <key>Style</key>
996
- <dict>
997
- <key>fill</key>
998
- <dict>
999
- <key>GradientCenter</key>
1000
- <string>{-0.29411799, -0.26470599}</string>
1001
- </dict>
1002
- </dict>
1003
- <key>Text</key>
1004
- <dict>
1005
- <key>Align</key>
1006
- <integer>0</integer>
1007
- <key>Text</key>
1008
- <string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf320
1009
- {\fonttbl\f0\fswiss\fcharset0 Helvetica;}
1010
- {\colortbl;\red255\green255\blue255;}
1011
- \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720
1012
-
1013
- \f0\fs24 \cf0 name\
1014
- description\
1015
- long_description\
1016
- aliases}</string>
1017
- <key>VerticalPad</key>
1018
- <integer>0</integer>
1019
- </dict>
1020
- <key>TextPlacement</key>
1021
- <integer>0</integer>
1022
- </dict>
1023
- </array>
1024
- <key>GridH</key>
1025
- <array>
1026
- <integer>34</integer>
1027
- <integer>35</integer>
1028
- <array/>
1029
- </array>
1030
- <key>ID</key>
1031
- <integer>33</integer>
1032
- </dict>
1033
- </array>
1034
- <key>GridInfo</key>
1035
- <dict/>
1036
- <key>GuidesLocked</key>
1037
- <string>NO</string>
1038
- <key>GuidesVisible</key>
1039
- <string>YES</string>
1040
- <key>HPages</key>
1041
- <integer>1</integer>
1042
- <key>ImageCounter</key>
1043
- <integer>1</integer>
1044
- <key>KeepToScale</key>
1045
- <false/>
1046
- <key>Layers</key>
1047
- <array>
1048
- <dict>
1049
- <key>Lock</key>
1050
- <string>NO</string>
1051
- <key>Name</key>
1052
- <string>Layer 1</string>
1053
- <key>Print</key>
1054
- <string>YES</string>
1055
- <key>View</key>
1056
- <string>YES</string>
1057
- </dict>
1058
- </array>
1059
- <key>LayoutInfo</key>
1060
- <dict>
1061
- <key>Animate</key>
1062
- <string>NO</string>
1063
- <key>circoMinDist</key>
1064
- <real>18</real>
1065
- <key>circoSeparation</key>
1066
- <real>0.0</real>
1067
- <key>layoutEngine</key>
1068
- <string>dot</string>
1069
- <key>neatoSeparation</key>
1070
- <real>0.0</real>
1071
- <key>twopiSeparation</key>
1072
- <real>0.0</real>
1073
- </dict>
1074
- <key>LinksVisible</key>
1075
- <string>NO</string>
1076
- <key>MagnetsVisible</key>
1077
- <string>NO</string>
1078
- <key>MasterSheets</key>
1079
- <array/>
1080
- <key>ModificationDate</key>
1081
- <string>2012-03-23 21:24:30 +0000</string>
1082
- <key>Modifier</key>
1083
- <string>David Copeland</string>
1084
- <key>NotesVisible</key>
1085
- <string>NO</string>
1086
- <key>Orientation</key>
1087
- <integer>2</integer>
1088
- <key>OriginVisible</key>
1089
- <string>NO</string>
1090
- <key>PageBreaks</key>
1091
- <string>YES</string>
1092
- <key>PrintInfo</key>
1093
- <dict>
1094
- <key>NSBottomMargin</key>
1095
- <array>
1096
- <string>float</string>
1097
- <string>41</string>
1098
- </array>
1099
- <key>NSHorizonalPagination</key>
1100
- <array>
1101
- <string>int</string>
1102
- <string>0</string>
1103
- </array>
1104
- <key>NSLeftMargin</key>
1105
- <array>
1106
- <string>float</string>
1107
- <string>18</string>
1108
- </array>
1109
- <key>NSPaperSize</key>
1110
- <array>
1111
- <string>coded</string>
1112
- <string>BAtzdHJlYW10eXBlZIHoA4QBQISEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAx7X05TU2l6ZT1mZn2WgWQCgRgDhg==</string>
1113
- </array>
1114
- <key>NSPrintReverseOrientation</key>
1115
- <array>
1116
- <string>int</string>
1117
- <string>0</string>
1118
- </array>
1119
- <key>NSRightMargin</key>
1120
- <array>
1121
- <string>float</string>
1122
- <string>18</string>
1123
- </array>
1124
- <key>NSTopMargin</key>
1125
- <array>
1126
- <string>float</string>
1127
- <string>18</string>
1128
- </array>
1129
- </dict>
1130
- <key>PrintOnePage</key>
1131
- <false/>
1132
- <key>ReadOnly</key>
1133
- <string>NO</string>
1134
- <key>RowAlign</key>
1135
- <integer>1</integer>
1136
- <key>RowSpacing</key>
1137
- <real>36</real>
1138
- <key>SheetTitle</key>
1139
- <string>Canvas 1</string>
1140
- <key>SmartAlignmentGuidesActive</key>
1141
- <string>YES</string>
1142
- <key>SmartDistanceGuidesActive</key>
1143
- <string>YES</string>
1144
- <key>UniqueID</key>
1145
- <integer>1</integer>
1146
- <key>UseEntirePage</key>
1147
- <false/>
1148
- <key>VPages</key>
1149
- <integer>1</integer>
1150
- <key>WindowInfo</key>
1151
- <dict>
1152
- <key>CurrentSheet</key>
1153
- <integer>0</integer>
1154
- <key>ExpandedCanvases</key>
1155
- <array>
1156
- <dict>
1157
- <key>name</key>
1158
- <string>Canvas 1</string>
1159
- </dict>
1160
- </array>
1161
- <key>Frame</key>
1162
- <string>{{218, 0}, {710, 878}}</string>
1163
- <key>ListView</key>
1164
- <true/>
1165
- <key>OutlineWidth</key>
1166
- <integer>142</integer>
1167
- <key>RightSidebar</key>
1168
- <false/>
1169
- <key>ShowRuler</key>
1170
- <true/>
1171
- <key>Sidebar</key>
1172
- <true/>
1173
- <key>SidebarWidth</key>
1174
- <integer>120</integer>
1175
- <key>VisibleRegion</key>
1176
- <string>{{0, 0}, {575, 723}}</string>
1177
- <key>Zoom</key>
1178
- <real>1</real>
1179
- <key>ZoomValues</key>
1180
- <array>
1181
- <array>
1182
- <string>Canvas 1</string>
1183
- <real>1</real>
1184
- <real>1</real>
1185
- </array>
1186
- </array>
1187
- </dict>
1188
- <key>saveQuickLookFiles</key>
1189
- <string>YES</string>
1190
- </dict>
1191
- </plist>