gloo 0.3.0 → 0.4.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.
- checksums.yaml +4 -4
- data/.rubocop.yml +73 -0
- data/Gemfile +2 -2
- data/Gemfile.lock +3 -3
- data/Rakefile +6 -6
- data/bin/console +4 -4
- data/gloo.gemspec +19 -18
- data/lib/gloo.rb +6 -6
- data/lib/gloo/app/args.rb +30 -31
- data/lib/gloo/app/engine.rb +33 -28
- data/lib/gloo/app/help.rb +17 -11
- data/lib/gloo/app/info.rb +3 -3
- data/lib/gloo/app/log.rb +17 -17
- data/lib/gloo/app/mode.rb +4 -4
- data/lib/gloo/app/settings.rb +43 -40
- data/lib/gloo/core/baseo.rb +7 -7
- data/lib/gloo/core/dictionary.rb +30 -27
- data/lib/gloo/core/error.rb +50 -0
- data/lib/gloo/core/event_manager.rb +17 -19
- data/lib/gloo/core/factory.rb +92 -39
- data/lib/gloo/core/gloo_system.rb +49 -54
- data/lib/gloo/core/heap.rb +15 -13
- data/lib/gloo/core/it.rb +5 -5
- data/lib/gloo/core/literal.rb +7 -7
- data/lib/gloo/core/obj.rb +89 -79
- data/lib/gloo/core/obj_finder.rb +9 -14
- data/lib/gloo/core/op.rb +8 -8
- data/lib/gloo/core/parser.rb +25 -26
- data/lib/gloo/core/pn.rb +65 -50
- data/lib/gloo/core/runner.rb +26 -0
- data/lib/gloo/core/script.rb +7 -7
- data/lib/gloo/core/tokens.rb +39 -41
- data/lib/gloo/core/verb.rb +30 -19
- data/lib/gloo/expr/expression.rb +35 -43
- data/lib/gloo/expr/l_boolean.rb +7 -6
- data/lib/gloo/expr/l_integer.rb +5 -4
- data/lib/gloo/expr/l_string.rb +13 -15
- data/lib/gloo/expr/op_div.rb +3 -5
- data/lib/gloo/expr/op_minus.rb +3 -5
- data/lib/gloo/expr/op_mult.rb +3 -5
- data/lib/gloo/expr/op_plus.rb +5 -7
- data/lib/gloo/objs/basic/boolean.rb +63 -38
- data/lib/gloo/objs/basic/container.rb +40 -12
- data/lib/gloo/objs/basic/integer.rb +40 -16
- data/lib/gloo/objs/basic/script.rb +62 -38
- data/lib/gloo/objs/basic/string.rb +39 -15
- data/lib/gloo/objs/basic/text.rb +43 -20
- data/lib/gloo/objs/basic/untyped.rb +35 -10
- data/lib/gloo/objs/cli/colorize.rb +53 -23
- data/lib/gloo/objs/cli/confirm.rb +63 -29
- data/lib/gloo/objs/cli/prompt.rb +63 -29
- data/lib/gloo/objs/ctrl/each.rb +98 -60
- data/lib/gloo/objs/dev/git.rb +98 -64
- data/lib/gloo/objs/ror/erb.rb +81 -41
- data/lib/gloo/objs/ror/eval.rb +73 -31
- data/lib/gloo/objs/snd/play.rb +71 -0
- data/lib/gloo/objs/snd/say.rb +120 -0
- data/lib/gloo/objs/system/file_handle.rb +80 -48
- data/lib/gloo/objs/system/system.rb +84 -38
- data/lib/gloo/objs/web/http_get.rb +83 -46
- data/lib/gloo/objs/web/http_post.rb +69 -43
- data/lib/gloo/objs/web/slack.rb +89 -58
- data/lib/gloo/objs/web/teams.rb +88 -53
- data/lib/gloo/persist/file_loader.rb +81 -82
- data/lib/gloo/persist/file_saver.rb +12 -12
- data/lib/gloo/persist/file_storage.rb +15 -15
- data/lib/gloo/persist/line_splitter.rb +74 -0
- data/lib/gloo/persist/persist_man.rb +29 -29
- data/lib/gloo/utils/words.rb +2 -2
- data/lib/gloo/verbs/alert.rb +67 -16
- data/lib/gloo/verbs/beep.rb +70 -0
- data/lib/gloo/verbs/context.rb +61 -21
- data/lib/gloo/verbs/create.rb +52 -21
- data/lib/gloo/verbs/help.rb +177 -27
- data/lib/gloo/verbs/if.rb +54 -21
- data/lib/gloo/verbs/list.rb +55 -24
- data/lib/gloo/verbs/load.rb +46 -12
- data/lib/gloo/verbs/put.rb +90 -34
- data/lib/gloo/verbs/quit.rb +43 -12
- data/lib/gloo/verbs/run.rb +42 -11
- data/lib/gloo/verbs/save.rb +45 -10
- data/lib/gloo/verbs/show.rb +56 -22
- data/lib/gloo/verbs/tell.rb +44 -12
- data/lib/gloo/verbs/unless.rb +55 -21
- data/lib/gloo/verbs/version.rb +42 -12
- data/lib/run.rb +5 -5
- metadata +19 -12
data/lib/gloo/utils/words.rb
CHANGED
data/lib/gloo/verbs/alert.rb
CHANGED
@@ -7,36 +7,87 @@
|
|
7
7
|
module Gloo
|
8
8
|
module Verbs
|
9
9
|
class Alert < Gloo::Core::Verb
|
10
|
-
|
11
|
-
KEYWORD = 'alert'
|
12
|
-
KEYWORD_SHORT = '!'
|
13
10
|
|
14
|
-
|
11
|
+
KEYWORD = 'alert'.freeze
|
12
|
+
KEYWORD_SHORT = '!'.freeze
|
13
|
+
|
14
|
+
#
|
15
15
|
# Run the verb.
|
16
|
-
#
|
16
|
+
#
|
17
17
|
def run
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
18
|
+
return unless @tokens.token_count > 1
|
19
|
+
|
20
|
+
expr = Gloo::Expr::Expression.new( @tokens.params )
|
21
|
+
result = expr.evaluate
|
22
|
+
$engine.heap.it.set_to result
|
23
|
+
self.post_alert result
|
24
|
+
end
|
25
|
+
|
26
|
+
#
|
27
|
+
# Post the alert for the specific platform.
|
28
|
+
# Notice is not posted if we're in quiet mode.
|
29
|
+
#
|
30
|
+
def post_alert( msg )
|
31
|
+
return if $engine.args.quiet?
|
32
|
+
|
33
|
+
post_osx msg
|
34
|
+
end
|
35
|
+
|
36
|
+
#
|
37
|
+
# Post the alert on the Mac OSX.
|
38
|
+
#
|
39
|
+
def post_osx( msg )
|
40
|
+
cmd1 = '/usr/bin/osascript -e "display notification \"'
|
41
|
+
cmd2 = '\" with title \"Gloo\" "'
|
42
|
+
system( cmd1 + msg.to_s + cmd2 )
|
24
43
|
end
|
25
|
-
|
26
|
-
#
|
44
|
+
|
45
|
+
#
|
27
46
|
# Get the Verb's keyword.
|
28
|
-
#
|
47
|
+
#
|
29
48
|
def self.keyword
|
30
49
|
return KEYWORD
|
31
50
|
end
|
32
51
|
|
33
|
-
#
|
52
|
+
#
|
34
53
|
# Get the Verb's keyword shortcut.
|
35
|
-
#
|
54
|
+
#
|
36
55
|
def self.keyword_shortcut
|
37
56
|
return KEYWORD_SHORT
|
38
57
|
end
|
39
58
|
|
59
|
+
# ---------------------------------------------------------------------
|
60
|
+
# Help
|
61
|
+
# ---------------------------------------------------------------------
|
62
|
+
|
63
|
+
#
|
64
|
+
# Get help for this verb.
|
65
|
+
#
|
66
|
+
def self.help
|
67
|
+
return <<~TEXT
|
68
|
+
ALERT VERB
|
69
|
+
NAME: alert
|
70
|
+
SHORTCUT: !
|
71
|
+
|
72
|
+
DESCRIPTION
|
73
|
+
Show a pop-up notification.
|
74
|
+
This has only been implemented for the Mac OSX as of yet.
|
75
|
+
|
76
|
+
SYNTAX
|
77
|
+
alert <messsage>
|
78
|
+
|
79
|
+
PARAMETERS
|
80
|
+
messsage - The message that will be displayed in the alert.
|
81
|
+
|
82
|
+
RESULT
|
83
|
+
On the Mac, a notification will popup on screen.
|
84
|
+
<it> will be set to the message.
|
85
|
+
|
86
|
+
ERRORS
|
87
|
+
None
|
88
|
+
TEXT
|
89
|
+
end
|
90
|
+
|
40
91
|
end
|
41
92
|
end
|
42
93
|
end
|
@@ -0,0 +1,70 @@
|
|
1
|
+
# Author:: Eric Crane (mailto:eric.crane@mac.com)
|
2
|
+
# Copyright:: Copyright (c) 2020 Eric Crane. All rights reserved.
|
3
|
+
#
|
4
|
+
# Play a standard system beep sound.
|
5
|
+
#
|
6
|
+
|
7
|
+
module Gloo
|
8
|
+
module Verbs
|
9
|
+
class Beep < Gloo::Core::Verb
|
10
|
+
|
11
|
+
KEYWORD = 'beep'.freeze
|
12
|
+
KEYWORD_SHORT = 'b'.freeze
|
13
|
+
|
14
|
+
#
|
15
|
+
# Run the verb.
|
16
|
+
#
|
17
|
+
# We'll mark the application as not running and let the
|
18
|
+
# engine stop gracefully next time through the loop.
|
19
|
+
#
|
20
|
+
def run
|
21
|
+
print 7.chr
|
22
|
+
end
|
23
|
+
|
24
|
+
#
|
25
|
+
# Get the Verb's keyword.
|
26
|
+
#
|
27
|
+
def self.keyword
|
28
|
+
return KEYWORD
|
29
|
+
end
|
30
|
+
|
31
|
+
#
|
32
|
+
# Get the Verb's keyword shortcut.
|
33
|
+
#
|
34
|
+
def self.keyword_shortcut
|
35
|
+
return KEYWORD_SHORT
|
36
|
+
end
|
37
|
+
|
38
|
+
# ---------------------------------------------------------------------
|
39
|
+
# Help
|
40
|
+
# ---------------------------------------------------------------------
|
41
|
+
|
42
|
+
#
|
43
|
+
# Get help for this verb.
|
44
|
+
#
|
45
|
+
def self.help
|
46
|
+
return <<~TEXT
|
47
|
+
BEEP VERB
|
48
|
+
NAME: beep
|
49
|
+
SHORTCUT: b
|
50
|
+
|
51
|
+
DESCRIPTION
|
52
|
+
Play a standard system beep sound.
|
53
|
+
|
54
|
+
SYNTAX
|
55
|
+
beep
|
56
|
+
|
57
|
+
PARAMETERS
|
58
|
+
None
|
59
|
+
|
60
|
+
RESULT
|
61
|
+
None
|
62
|
+
|
63
|
+
ERRORS
|
64
|
+
None
|
65
|
+
TEXT
|
66
|
+
end
|
67
|
+
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
data/lib/gloo/verbs/context.rb
CHANGED
@@ -8,45 +8,85 @@
|
|
8
8
|
module Gloo
|
9
9
|
module Verbs
|
10
10
|
class Context < Gloo::Core::Verb
|
11
|
-
|
12
|
-
KEYWORD = 'context'
|
13
|
-
KEYWORD_SHORT = '@'
|
14
11
|
|
15
|
-
|
12
|
+
KEYWORD = 'context'.freeze
|
13
|
+
KEYWORD_SHORT = '@'.freeze
|
14
|
+
|
15
|
+
#
|
16
16
|
# Run the verb.
|
17
|
-
#
|
17
|
+
#
|
18
18
|
def run
|
19
|
-
if @tokens.token_count
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
19
|
+
set_context if @tokens.token_count > 1
|
20
|
+
show_context
|
21
|
+
end
|
22
|
+
|
23
|
+
#
|
24
|
+
# Set the context to the given path.
|
25
|
+
#
|
26
|
+
def set_context
|
27
|
+
path = @tokens.second
|
28
|
+
$engine.heap.context.set_to path
|
29
|
+
$engine.heap.it.set_to path
|
30
|
+
$log.debug "Context set to #{$engine.heap.context}"
|
27
31
|
end
|
28
|
-
|
29
|
-
#
|
32
|
+
|
33
|
+
#
|
30
34
|
# Show the current context.
|
31
|
-
#
|
35
|
+
#
|
32
36
|
def show_context
|
33
37
|
$log.show "Context: #{$engine.heap.context}"
|
34
38
|
end
|
35
|
-
|
36
|
-
#
|
39
|
+
|
40
|
+
#
|
37
41
|
# Get the Verb's keyword.
|
38
|
-
#
|
42
|
+
#
|
39
43
|
def self.keyword
|
40
44
|
return KEYWORD
|
41
45
|
end
|
42
46
|
|
43
|
-
#
|
47
|
+
#
|
44
48
|
# Get the Verb's keyword shortcut.
|
45
|
-
#
|
49
|
+
#
|
46
50
|
def self.keyword_shortcut
|
47
51
|
return KEYWORD_SHORT
|
48
52
|
end
|
49
53
|
|
54
|
+
# ---------------------------------------------------------------------
|
55
|
+
# Help
|
56
|
+
# ---------------------------------------------------------------------
|
57
|
+
|
58
|
+
#
|
59
|
+
# Get help for this verb.
|
60
|
+
#
|
61
|
+
def self.help
|
62
|
+
return <<~TEXT
|
63
|
+
CONTEXT VERB
|
64
|
+
NAME: context
|
65
|
+
SHORTCUT: @
|
66
|
+
|
67
|
+
DESCRIPTION
|
68
|
+
Get or set the current context.
|
69
|
+
When no parameter is provided, the context will be shown.
|
70
|
+
Whe the optional path paramter is provided, the context will
|
71
|
+
be set to that path.
|
72
|
+
Use 'context root' to set the context back to the root level.
|
73
|
+
|
74
|
+
SYNTAX
|
75
|
+
context <path.to.new.context>
|
76
|
+
|
77
|
+
PARAMETERS
|
78
|
+
path.to.new.context - Optional. The path to the new context.
|
79
|
+
|
80
|
+
RESULT
|
81
|
+
Context is optionally set.
|
82
|
+
<it> will be set to the new context path when we are changing context.
|
83
|
+
Context is show in either case.
|
84
|
+
|
85
|
+
ERRORS
|
86
|
+
None
|
87
|
+
TEXT
|
88
|
+
end
|
89
|
+
|
50
90
|
end
|
51
91
|
end
|
52
92
|
end
|
data/lib/gloo/verbs/create.rb
CHANGED
@@ -7,46 +7,77 @@
|
|
7
7
|
module Gloo
|
8
8
|
module Verbs
|
9
9
|
class Create < Gloo::Core::Verb
|
10
|
-
|
11
|
-
KEYWORD = 'create'
|
12
|
-
KEYWORD_SHORT = '`'
|
13
|
-
AS = 'as'
|
14
|
-
VAL = ':'
|
15
|
-
|
16
|
-
#
|
10
|
+
|
11
|
+
KEYWORD = 'create'.freeze
|
12
|
+
KEYWORD_SHORT = '`'.freeze
|
13
|
+
AS = 'as'.freeze
|
14
|
+
VAL = ':'.freeze
|
15
|
+
|
16
|
+
#
|
17
17
|
# Run the verb.
|
18
|
-
#
|
18
|
+
#
|
19
19
|
def run
|
20
20
|
name = @tokens.second
|
21
21
|
type = @tokens.after_token( AS )
|
22
22
|
value = @tokens.after_token( VAL )
|
23
|
-
|
24
|
-
if Gloo::Expr::LString.
|
23
|
+
|
24
|
+
if Gloo::Expr::LString.string?( value )
|
25
25
|
value = Gloo::Expr::LString.strip_quotes( value )
|
26
26
|
end
|
27
|
-
obj = $engine.factory.create( name, type, value )
|
28
|
-
|
29
|
-
|
30
|
-
obj.add_default_children
|
31
|
-
end
|
32
|
-
|
27
|
+
obj = $engine.factory.create( { name: name, type: type, value: value } )
|
28
|
+
|
29
|
+
obj.add_default_children if obj&.add_children_on_create?
|
33
30
|
$engine.heap.it.set_to value
|
34
31
|
end
|
35
|
-
|
36
|
-
#
|
32
|
+
|
33
|
+
#
|
37
34
|
# Get the Verb's keyword.
|
38
|
-
#
|
35
|
+
#
|
39
36
|
def self.keyword
|
40
37
|
return KEYWORD
|
41
38
|
end
|
42
39
|
|
43
|
-
#
|
40
|
+
#
|
44
41
|
# Get the Verb's keyword shortcut.
|
45
|
-
#
|
42
|
+
#
|
46
43
|
def self.keyword_shortcut
|
47
44
|
return KEYWORD_SHORT
|
48
45
|
end
|
49
46
|
|
47
|
+
# ---------------------------------------------------------------------
|
48
|
+
# Help
|
49
|
+
# ---------------------------------------------------------------------
|
50
|
+
|
51
|
+
#
|
52
|
+
# Get help for this verb.
|
53
|
+
#
|
54
|
+
def self.help
|
55
|
+
return <<~TEXT
|
56
|
+
CREATE VERB
|
57
|
+
NAME: create
|
58
|
+
SHORTCUT: `
|
59
|
+
|
60
|
+
DESCRIPTION
|
61
|
+
Create a new object of given type with given value.
|
62
|
+
Both type and value are optional when creating an object.
|
63
|
+
|
64
|
+
SYNTAX
|
65
|
+
create <new.object.path> as <type> : <value>
|
66
|
+
|
67
|
+
PARAMETERS
|
68
|
+
new.object.path - The path and name of the new object
|
69
|
+
type - The type of the new object
|
70
|
+
value - The initial value for the new object
|
71
|
+
|
72
|
+
RESULT
|
73
|
+
The new object will be created and added to the object heap.
|
74
|
+
<it> will be set to the new object's intitial value.
|
75
|
+
|
76
|
+
ERRORS
|
77
|
+
None
|
78
|
+
TEXT
|
79
|
+
end
|
80
|
+
|
50
81
|
end
|
51
82
|
end
|
52
83
|
end
|
data/lib/gloo/verbs/help.rb
CHANGED
@@ -7,63 +7,213 @@
|
|
7
7
|
module Gloo
|
8
8
|
module Verbs
|
9
9
|
class Help < Gloo::Core::Verb
|
10
|
-
|
11
|
-
KEYWORD = 'help'
|
12
|
-
KEYWORD_SHORT = '?'
|
13
10
|
|
14
|
-
|
11
|
+
KEYWORD = 'help'.freeze
|
12
|
+
KEYWORD_SHORT = '?'.freeze
|
13
|
+
|
14
|
+
DISPATCH = {
|
15
|
+
verb: 'show_verbs',
|
16
|
+
verbs: 'show_verbs',
|
17
|
+
v: 'show_verbs',
|
18
|
+
obj: 'show_objs',
|
19
|
+
object: 'show_objs',
|
20
|
+
objects: 'show_objs',
|
21
|
+
o: 'show_objs'
|
22
|
+
}.freeze
|
23
|
+
|
24
|
+
#
|
15
25
|
# Run the verb.
|
16
|
-
#
|
26
|
+
#
|
17
27
|
def run
|
18
28
|
opts = @tokens.second if @tokens
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
29
|
+
opts = opts.strip.downcase if opts
|
30
|
+
|
31
|
+
if opts
|
32
|
+
self.dispatch opts
|
33
|
+
else
|
34
|
+
show_default
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
#
|
39
|
+
# Dispatch the help to the right place.
|
40
|
+
#
|
41
|
+
def dispatch( opts )
|
42
|
+
cmd = DISPATCH[ opts.to_sym ]
|
43
|
+
if cmd
|
44
|
+
send cmd
|
24
45
|
else
|
25
|
-
|
46
|
+
entity_help opts
|
26
47
|
end
|
48
|
+
rescue
|
49
|
+
report_help_error opts
|
50
|
+
end
|
51
|
+
|
52
|
+
#
|
53
|
+
# Dispatch the help command to a verb or object
|
54
|
+
# if we can find one matching the request.
|
55
|
+
#
|
56
|
+
def entity_help( opts )
|
57
|
+
return if try_verb_help opts
|
58
|
+
return if try_object_help opts
|
59
|
+
|
60
|
+
report_help_error opts
|
61
|
+
end
|
62
|
+
|
63
|
+
#
|
64
|
+
# See if there is a verb we can show help
|
65
|
+
# information about.
|
66
|
+
#
|
67
|
+
def try_verb_help( opts )
|
68
|
+
if $engine.dictionary.verb?( opts )
|
69
|
+
t = $engine.dictionary.find_verb( opts )
|
70
|
+
out = t.send 'help'
|
71
|
+
self.show_output out
|
72
|
+
return true
|
73
|
+
end
|
74
|
+
|
75
|
+
return false
|
76
|
+
end
|
77
|
+
|
78
|
+
#
|
79
|
+
# See if there is a verb we can show help
|
80
|
+
# information about.
|
81
|
+
#
|
82
|
+
def try_object_help( opts )
|
83
|
+
if $engine.dictionary.obj?( opts )
|
84
|
+
t = $engine.dictionary.find_obj( opts )
|
85
|
+
out = t.send 'help'
|
86
|
+
self.show_output out
|
87
|
+
return true
|
88
|
+
end
|
89
|
+
|
90
|
+
return false
|
91
|
+
end
|
92
|
+
|
93
|
+
#
|
94
|
+
# Lookup the opts in the dispatch table.
|
95
|
+
#
|
96
|
+
def lookup_opts( opts )
|
97
|
+
return DISPATCH[ opts.to_sym ]
|
98
|
+
end
|
99
|
+
|
100
|
+
#
|
101
|
+
# Report an error with the inline help.
|
102
|
+
#
|
103
|
+
def report_help_error( opts )
|
104
|
+
msg = "Help command '#{opts}' could not be found"
|
105
|
+
$log.warn msg
|
106
|
+
$engine.heap.error.set_to msg
|
107
|
+
end
|
108
|
+
|
109
|
+
#
|
110
|
+
# If no parameter is given, show the default help page.
|
111
|
+
#
|
112
|
+
def show_default
|
113
|
+
$engine.run_help( true )
|
27
114
|
end
|
28
|
-
|
29
|
-
#
|
115
|
+
|
116
|
+
#
|
30
117
|
# List the verbs
|
31
|
-
#
|
118
|
+
#
|
32
119
|
def show_verbs
|
33
|
-
|
120
|
+
out = self.get_verb_list
|
121
|
+
self.show_output out
|
122
|
+
end
|
34
123
|
|
35
|
-
|
124
|
+
#
|
125
|
+
# Get the text for the list of verbs.
|
126
|
+
#
|
127
|
+
def get_verb_list
|
128
|
+
out = "Verbs:\n"
|
36
129
|
$engine.dictionary.get_verbs.each do |v|
|
37
|
-
|
130
|
+
out << " #{v.keyword_shortcut} - #{v.keyword}\n"
|
38
131
|
end
|
132
|
+
return out
|
39
133
|
end
|
40
134
|
|
41
|
-
#
|
135
|
+
#
|
42
136
|
# List the object types
|
43
|
-
#
|
137
|
+
#
|
44
138
|
def show_objs
|
45
|
-
|
139
|
+
out = self.get_obj_list
|
140
|
+
self.show_output out
|
141
|
+
end
|
46
142
|
|
47
|
-
|
143
|
+
#
|
144
|
+
# Get the text for the list of verbs.
|
145
|
+
#
|
146
|
+
def get_obj_list
|
147
|
+
out = "Object Types:\n"
|
48
148
|
$engine.dictionary.get_obj_types.each do |v|
|
49
|
-
|
149
|
+
out << " #{v.short_typename} - #{v.typename}\n"
|
50
150
|
end
|
151
|
+
return out
|
152
|
+
end
|
153
|
+
|
154
|
+
#
|
155
|
+
# Write output to it and show it unless we are in
|
156
|
+
# silent mode.
|
157
|
+
#
|
158
|
+
def show_output( out )
|
159
|
+
$engine.heap.it.set_to out
|
160
|
+
puts out unless $engine.args.quiet?
|
51
161
|
end
|
52
|
-
|
53
|
-
#
|
162
|
+
|
163
|
+
#
|
54
164
|
# Get the Verb's keyword.
|
55
|
-
#
|
165
|
+
#
|
56
166
|
def self.keyword
|
57
167
|
return KEYWORD
|
58
168
|
end
|
59
169
|
|
60
|
-
#
|
170
|
+
#
|
61
171
|
# Get the Verb's keyword shortcut.
|
62
|
-
#
|
172
|
+
#
|
63
173
|
def self.keyword_shortcut
|
64
174
|
return KEYWORD_SHORT
|
65
175
|
end
|
66
176
|
|
177
|
+
# ---------------------------------------------------------------------
|
178
|
+
# Help
|
179
|
+
# ---------------------------------------------------------------------
|
180
|
+
|
181
|
+
#
|
182
|
+
# Get help for this verb.
|
183
|
+
#
|
184
|
+
def self.help
|
185
|
+
return <<~TEXT
|
186
|
+
HELP VERB
|
187
|
+
NAME: helps
|
188
|
+
SHORTCUT: ?
|
189
|
+
|
190
|
+
DESCRIPTION
|
191
|
+
Show information about the application.
|
192
|
+
The help command can also be used to show a list of objects,
|
193
|
+
verbs, or to show detail about a single object or a
|
194
|
+
single verb.
|
195
|
+
|
196
|
+
SYNTAX
|
197
|
+
help <about>
|
198
|
+
|
199
|
+
PARAMETERS
|
200
|
+
about - Optional parameter.
|
201
|
+
If no parameter is given, shows the default help screen
|
202
|
+
verbs - List available verbs
|
203
|
+
objects - List available objects
|
204
|
+
<verb> - Look up detail about a verb
|
205
|
+
<object> - Look up detail about an object
|
206
|
+
|
207
|
+
RESULT
|
208
|
+
The help screen will be shown with relevant information.
|
209
|
+
<it> will also contain the help text.
|
210
|
+
|
211
|
+
ERRORS
|
212
|
+
Trying to access a help topic that does not exist will result
|
213
|
+
in an error.
|
214
|
+
TEXT
|
215
|
+
end
|
216
|
+
|
67
217
|
end
|
68
218
|
end
|
69
219
|
end
|