mysh 0.6.9 → 0.6.16
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 +25 -5
- data/lib/mysh.rb +19 -9
- data/lib/mysh/{internal/action.rb → action.rb} +8 -8
- data/lib/mysh/{internal/action_pool.rb → action_pool.rb} +8 -8
- data/lib/mysh/{internal/actions/command_line.rb → command_line.rb} +10 -10
- data/lib/mysh/{internal/actions/command_line → command_line}/debug.rb +9 -11
- data/lib/mysh/command_line/history.rb +61 -0
- data/lib/mysh/{internal/actions/command_line → command_line}/init.rb +8 -8
- data/lib/mysh/{internal/actions/command_line → command_line}/load.rb +5 -5
- data/lib/mysh/{internal/actions/command_line → command_line}/pause.rb +6 -8
- data/lib/mysh/{internal/actions/command_line → command_line}/post_prompt.rb +10 -12
- data/lib/mysh/{internal/actions/command_line → command_line}/pre_prompt.rb +10 -12
- data/lib/mysh/{internal/actions/command_line → command_line}/prompt.rb +9 -10
- data/lib/mysh/command_line/quit.rb +19 -0
- data/lib/mysh/{internal/actions/command_line → command_line}/usage.rb +4 -4
- data/lib/mysh/expression.rb +11 -31
- data/lib/mysh/external.rb +4 -5
- data/lib/mysh/globalize.rb +14 -10
- data/lib/mysh/handlebars.rb +10 -13
- data/lib/mysh/handlebars/eval_handlebars.rb +38 -0
- data/lib/mysh/{internal/actions/help → help}/env.txt +0 -0
- data/lib/mysh/{internal/actions/help → help}/expr.txt +0 -0
- data/lib/mysh/{internal/actions/help → help}/gem.txt +0 -0
- data/lib/mysh/{internal/actions/help → help}/gls.txt +0 -0
- data/lib/mysh/{internal/actions/help → help}/h_o_h.txt +1 -1
- data/lib/mysh/{internal/actions/help → help}/hbar.txt +11 -0
- data/lib/mysh/{internal/actions/help → help}/help.txt +0 -0
- data/lib/mysh/{internal/actions/help → help}/history.txt +7 -0
- data/lib/mysh/{internal/actions/help → help}/init.txt +0 -0
- data/lib/mysh/{internal/actions/help → help}/kbd.txt +0 -0
- data/lib/mysh/{internal/actions/help → help}/math.txt +0 -0
- data/lib/mysh/{internal/actions/help → help}/mls.txt +0 -0
- data/lib/mysh/{internal/actions/help → help}/quick.txt +0 -0
- data/lib/mysh/{internal/actions/help → help}/ruby.txt +0 -0
- data/lib/mysh/{internal/actions/help → help}/show.txt +0 -0
- data/lib/mysh/{internal/actions/help → help}/term.txt +0 -0
- data/lib/mysh/{internal/actions/help → help}/timed.txt +0 -0
- data/lib/mysh/help/type.txt +28 -0
- data/lib/mysh/{internal/actions/help → help}/types.txt +0 -0
- data/lib/mysh/{internal/actions/help → help}/usage.txt +0 -0
- data/lib/mysh/{internal/actions/help → help}/vars.txt +4 -4
- data/lib/mysh/input_wrapper.rb +13 -13
- data/lib/mysh/internal.rb +20 -8
- data/lib/mysh/internal/{actions/cancel.rb → cancel.rb} +0 -0
- data/lib/mysh/internal/{actions/cd.rb → cd.rb} +2 -2
- data/lib/mysh/internal/{actions/comment.rb → comment.rb} +2 -2
- data/lib/mysh/internal/{actions/elapsed.rb → elapsed.rb} +2 -2
- data/lib/mysh/internal/{actions/exit.rb → exit.rb} +0 -0
- data/lib/mysh/internal/{actions/gls.rb → gls.rb} +6 -7
- data/lib/mysh/internal/{actions/help.rb → help.rb} +7 -9
- data/lib/mysh/internal/{actions/history.rb → history.rb} +10 -9
- data/lib/mysh/internal/load.rb +45 -0
- data/lib/mysh/internal/{actions/mls.rb → mls.rb} +2 -2
- data/lib/mysh/internal/{actions/pwd.rb → pwd.rb} +1 -1
- data/lib/mysh/internal/{actions/say.rb → say.rb} +1 -1
- data/lib/mysh/internal/{actions/show.rb → show.rb} +7 -6
- data/lib/mysh/internal/{actions/help → support}/sub_help.rb +9 -7
- data/lib/mysh/internal/type.rb +38 -0
- data/lib/mysh/internal/{actions/vars.rb → vars.rb} +8 -8
- data/lib/mysh/{init.rb → load_init_file.rb} +3 -3
- data/lib/mysh/process.rb +7 -7
- data/lib/mysh/quick.rb +10 -4
- data/lib/mysh/shell_variables.rb +9 -4
- data/lib/mysh/shell_variables/evaluate.rb +2 -11
- data/lib/mysh/shell_variables/shell_variable_keeper.rb +6 -7
- data/lib/mysh/shell_variables/shell_variable_store.rb +13 -14
- data/lib/mysh/{internal/actions/show → show}/env.rb +3 -5
- data/lib/mysh/{internal/actions/show → show}/gem.rb +3 -16
- data/lib/mysh/{internal/actions/show → show}/ruby.rb +0 -0
- data/lib/mysh/{internal/actions/show → show}/term.rb +5 -7
- data/lib/mysh/sources/console.rb +11 -7
- data/lib/mysh/sources/parse.rb +7 -10
- data/lib/mysh/sources/smart_auto_complete.rb +5 -5
- data/lib/mysh/sources/string.rb +6 -6
- data/lib/mysh/string_helpers.rb +37 -0
- data/lib/mysh/system.rb +2 -2
- data/lib/mysh/user_input.rb +5 -9
- data/lib/mysh/version.rb +4 -4
- data/mysh.gemspec +4 -3
- data/samples/show.txt +2 -0
- data/tests/my_shell_tests.rb +18 -6
- metadata +77 -65
- data/lib/mysh/binding_wrapper.rb +0 -21
- data/lib/mysh/handlebars/string.rb +0 -22
- data/lib/mysh/internal/actions/actions_path.rb +0 -15
- data/lib/mysh/internal/actions/command_line/quit.rb +0 -19
- data/lib/mysh/internal/actions/load.rb +0 -36
- data/lib/mysh/internal/actions/type.rb +0 -22
- data/lib/mysh/internal/manage.rb +0 -20
- data/lib/mysh/internal/to_file_spec.rb +0 -26
- data/lib/mysh/pre_processor.rb +0 -11
data/lib/mysh/version.rb
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
# coding: utf-8
|
2
2
|
|
3
3
|
module Mysh
|
4
|
-
#The version string of MY SHell.
|
5
|
-
VERSION = "0.6.
|
4
|
+
# The version string of MY SHell.
|
5
|
+
VERSION = "0.6.16".freeze
|
6
6
|
|
7
|
-
#A brief summary of this gem.
|
8
|
-
|
7
|
+
# A brief summary of this gem.
|
8
|
+
DESCRIPTION = "mysh -- a Ruby inspired command line shell.".freeze
|
9
9
|
end
|
data/mysh.gemspec
CHANGED
@@ -9,7 +9,7 @@ Gem::Specification.new do |spec|
|
|
9
9
|
spec.authors = ["Peter Camilleri"]
|
10
10
|
spec.email = ["peter.c.camilleri@gmail.com"]
|
11
11
|
|
12
|
-
spec.summary = Mysh::
|
12
|
+
spec.summary = Mysh::DESCRIPTION
|
13
13
|
spec.description = "mysh -- a Ruby inspired command shell " +
|
14
14
|
"for CLI and application use."
|
15
15
|
spec.homepage = "https://github.com/PeterCamilleri/mysh"
|
@@ -30,10 +30,11 @@ Gem::Specification.new do |spec|
|
|
30
30
|
spec.add_development_dependency 'rdoc', "~> 5.0"
|
31
31
|
spec.add_development_dependency 'reek', "~> 5.0.2"
|
32
32
|
|
33
|
-
spec.add_runtime_dependency 'mini_readline', "~> 0.9.
|
33
|
+
spec.add_runtime_dependency 'mini_readline', "~> 0.9.1"
|
34
34
|
spec.add_runtime_dependency 'mini_term', "~> 0.1.0"
|
35
|
-
spec.add_runtime_dependency 'pause_output', "~> 0.
|
35
|
+
spec.add_runtime_dependency 'pause_output', "~> 0.2.0"
|
36
36
|
spec.add_runtime_dependency 'format_output', "~> 0.1.0"
|
37
37
|
spec.add_runtime_dependency 'vls', "~> 0.4.1"
|
38
38
|
spec.add_runtime_dependency 'in_array', "~> 0.1.8"
|
39
|
+
spec.add_runtime_dependency 'insouciant', "~> 0.1.0"
|
39
40
|
end
|
data/samples/show.txt
CHANGED
data/tests/my_shell_tests.rb
CHANGED
@@ -11,6 +11,19 @@ class MyShellTester < Minitest::Test
|
|
11
11
|
#Track mini-test progress.
|
12
12
|
include MinitestVisible
|
13
13
|
|
14
|
+
def test_that_it_has_a_version_number
|
15
|
+
refute_nil(::Mysh::VERSION)
|
16
|
+
assert(::Mysh::VERSION.frozen?)
|
17
|
+
assert(::Mysh::VERSION.is_a?(String))
|
18
|
+
assert(/\A\d+\.\d+\.\d+/ =~ ::Mysh::VERSION)
|
19
|
+
end
|
20
|
+
|
21
|
+
def test_that_it_has_a_description
|
22
|
+
refute_nil(::Mysh::DESCRIPTION)
|
23
|
+
assert(::Mysh::DESCRIPTION.frozen?)
|
24
|
+
assert(::Mysh::DESCRIPTION.is_a?(String))
|
25
|
+
end
|
26
|
+
|
14
27
|
def test_that_module_entities_exists
|
15
28
|
assert_equal(String, Mysh::VERSION.class)
|
16
29
|
|
@@ -19,7 +32,6 @@ class MyShellTester < Minitest::Test
|
|
19
32
|
assert_equal(Class, Mysh::ActionPool.class)
|
20
33
|
assert_equal(Module, Mysh::MNV.class)
|
21
34
|
assert_equal(Class, Mysh::Keeper.class)
|
22
|
-
assert_equal(Class, Mysh::BindingWrapper.class)
|
23
35
|
assert_equal(Class, Mysh::InputWrapper.class)
|
24
36
|
|
25
37
|
assert_equal(Mysh::ActionPool, Mysh::COMMANDS.class)
|
@@ -44,13 +56,13 @@ class MyShellTester < Minitest::Test
|
|
44
56
|
|
45
57
|
def test_handlebars
|
46
58
|
assert_equal("ABC 123 DEF",
|
47
|
-
"ABC {{ (1..3).to_a.join }} DEF".
|
59
|
+
"ABC {{ (1..3).to_a.join }} DEF".preprocess)
|
48
60
|
|
49
|
-
assert_equal("ABC", "{{ 'ABC' }}".
|
50
|
-
assert_equal("", "{{ 'ABC' #}}".
|
61
|
+
assert_equal("ABC", "{{ 'ABC' }}".preprocess)
|
62
|
+
assert_equal("", "{{ 'ABC' #}}".preprocess)
|
51
63
|
|
52
|
-
assert_equal("{{ 'ABC' }}", "\\{\\{ 'ABC' \\}\\}".
|
53
|
-
assert_equal("{{A}}", "{{ '{'+'{A}'+'}' }}".
|
64
|
+
assert_equal("{{ 'ABC' }}", "\\{\\{ 'ABC' \\}\\}".preprocess)
|
65
|
+
assert_equal("{{A}}", "{{ '{'+'{A}'+'}' }}".preprocess)
|
54
66
|
end
|
55
67
|
|
56
68
|
def test_command_parsing
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mysh
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.16
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Peter Camilleri
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-01-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -100,14 +100,14 @@ dependencies:
|
|
100
100
|
requirements:
|
101
101
|
- - "~>"
|
102
102
|
- !ruby/object:Gem::Version
|
103
|
-
version: 0.9.
|
103
|
+
version: 0.9.1
|
104
104
|
type: :runtime
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
108
|
- - "~>"
|
109
109
|
- !ruby/object:Gem::Version
|
110
|
-
version: 0.9.
|
110
|
+
version: 0.9.1
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
112
|
name: mini_term
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
@@ -128,14 +128,14 @@ dependencies:
|
|
128
128
|
requirements:
|
129
129
|
- - "~>"
|
130
130
|
- !ruby/object:Gem::Version
|
131
|
-
version: 0.
|
131
|
+
version: 0.2.0
|
132
132
|
type: :runtime
|
133
133
|
prerelease: false
|
134
134
|
version_requirements: !ruby/object:Gem::Requirement
|
135
135
|
requirements:
|
136
136
|
- - "~>"
|
137
137
|
- !ruby/object:Gem::Version
|
138
|
-
version: 0.
|
138
|
+
version: 0.2.0
|
139
139
|
- !ruby/object:Gem::Dependency
|
140
140
|
name: format_output
|
141
141
|
requirement: !ruby/object:Gem::Requirement
|
@@ -178,6 +178,20 @@ dependencies:
|
|
178
178
|
- - "~>"
|
179
179
|
- !ruby/object:Gem::Version
|
180
180
|
version: 0.1.8
|
181
|
+
- !ruby/object:Gem::Dependency
|
182
|
+
name: insouciant
|
183
|
+
requirement: !ruby/object:Gem::Requirement
|
184
|
+
requirements:
|
185
|
+
- - "~>"
|
186
|
+
- !ruby/object:Gem::Version
|
187
|
+
version: 0.1.0
|
188
|
+
type: :runtime
|
189
|
+
prerelease: false
|
190
|
+
version_requirements: !ruby/object:Gem::Requirement
|
191
|
+
requirements:
|
192
|
+
- - "~>"
|
193
|
+
- !ruby/object:Gem::Version
|
194
|
+
version: 0.1.0
|
181
195
|
description: mysh -- a Ruby inspired command shell for CLI and application use.
|
182
196
|
email:
|
183
197
|
- peter.c.camilleri@gmail.com
|
@@ -193,83 +207,81 @@ files:
|
|
193
207
|
- README.md
|
194
208
|
- bin/mysh
|
195
209
|
- lib/mysh.rb
|
196
|
-
- lib/mysh/
|
210
|
+
- lib/mysh/action.rb
|
211
|
+
- lib/mysh/action_pool.rb
|
212
|
+
- lib/mysh/command_line.rb
|
213
|
+
- lib/mysh/command_line/debug.rb
|
214
|
+
- lib/mysh/command_line/history.rb
|
215
|
+
- lib/mysh/command_line/init.rb
|
216
|
+
- lib/mysh/command_line/load.rb
|
217
|
+
- lib/mysh/command_line/pause.rb
|
218
|
+
- lib/mysh/command_line/post_prompt.rb
|
219
|
+
- lib/mysh/command_line/pre_prompt.rb
|
220
|
+
- lib/mysh/command_line/prompt.rb
|
221
|
+
- lib/mysh/command_line/quit.rb
|
222
|
+
- lib/mysh/command_line/usage.rb
|
197
223
|
- lib/mysh/exceptions.rb
|
198
224
|
- lib/mysh/expression.rb
|
199
225
|
- lib/mysh/expression/lineage.rb
|
200
226
|
- lib/mysh/external.rb
|
201
227
|
- lib/mysh/globalize.rb
|
202
228
|
- lib/mysh/handlebars.rb
|
203
|
-
- lib/mysh/handlebars/
|
204
|
-
- lib/mysh/
|
229
|
+
- lib/mysh/handlebars/eval_handlebars.rb
|
230
|
+
- lib/mysh/help/env.txt
|
231
|
+
- lib/mysh/help/expr.txt
|
232
|
+
- lib/mysh/help/gem.txt
|
233
|
+
- lib/mysh/help/gls.txt
|
234
|
+
- lib/mysh/help/h_o_h.txt
|
235
|
+
- lib/mysh/help/hbar.txt
|
236
|
+
- lib/mysh/help/help.txt
|
237
|
+
- lib/mysh/help/history.txt
|
238
|
+
- lib/mysh/help/init.txt
|
239
|
+
- lib/mysh/help/kbd.txt
|
240
|
+
- lib/mysh/help/math.txt
|
241
|
+
- lib/mysh/help/mls.txt
|
242
|
+
- lib/mysh/help/quick.txt
|
243
|
+
- lib/mysh/help/ruby.txt
|
244
|
+
- lib/mysh/help/show.txt
|
245
|
+
- lib/mysh/help/term.txt
|
246
|
+
- lib/mysh/help/timed.txt
|
247
|
+
- lib/mysh/help/type.txt
|
248
|
+
- lib/mysh/help/types.txt
|
249
|
+
- lib/mysh/help/usage.txt
|
250
|
+
- lib/mysh/help/vars.txt
|
205
251
|
- lib/mysh/input_wrapper.rb
|
206
252
|
- lib/mysh/internal.rb
|
207
|
-
- lib/mysh/internal/
|
208
|
-
- lib/mysh/internal/
|
209
|
-
- lib/mysh/internal/
|
210
|
-
- lib/mysh/internal/
|
211
|
-
- lib/mysh/internal/
|
212
|
-
- lib/mysh/internal/
|
213
|
-
- lib/mysh/internal/
|
214
|
-
- lib/mysh/internal/
|
215
|
-
- lib/mysh/internal/
|
216
|
-
- lib/mysh/internal/
|
217
|
-
- lib/mysh/internal/
|
218
|
-
- lib/mysh/internal/
|
219
|
-
- lib/mysh/internal/
|
220
|
-
- lib/mysh/internal/
|
221
|
-
- lib/mysh/internal/
|
222
|
-
- lib/mysh/internal/
|
223
|
-
- lib/mysh/
|
224
|
-
- lib/mysh/internal/actions/exit.rb
|
225
|
-
- lib/mysh/internal/actions/gls.rb
|
226
|
-
- lib/mysh/internal/actions/help.rb
|
227
|
-
- lib/mysh/internal/actions/help/env.txt
|
228
|
-
- lib/mysh/internal/actions/help/expr.txt
|
229
|
-
- lib/mysh/internal/actions/help/gem.txt
|
230
|
-
- lib/mysh/internal/actions/help/gls.txt
|
231
|
-
- lib/mysh/internal/actions/help/h_o_h.txt
|
232
|
-
- lib/mysh/internal/actions/help/hbar.txt
|
233
|
-
- lib/mysh/internal/actions/help/help.txt
|
234
|
-
- lib/mysh/internal/actions/help/history.txt
|
235
|
-
- lib/mysh/internal/actions/help/init.txt
|
236
|
-
- lib/mysh/internal/actions/help/kbd.txt
|
237
|
-
- lib/mysh/internal/actions/help/math.txt
|
238
|
-
- lib/mysh/internal/actions/help/mls.txt
|
239
|
-
- lib/mysh/internal/actions/help/quick.txt
|
240
|
-
- lib/mysh/internal/actions/help/ruby.txt
|
241
|
-
- lib/mysh/internal/actions/help/show.txt
|
242
|
-
- lib/mysh/internal/actions/help/sub_help.rb
|
243
|
-
- lib/mysh/internal/actions/help/term.txt
|
244
|
-
- lib/mysh/internal/actions/help/timed.txt
|
245
|
-
- lib/mysh/internal/actions/help/types.txt
|
246
|
-
- lib/mysh/internal/actions/help/usage.txt
|
247
|
-
- lib/mysh/internal/actions/help/vars.txt
|
248
|
-
- lib/mysh/internal/actions/history.rb
|
249
|
-
- lib/mysh/internal/actions/load.rb
|
250
|
-
- lib/mysh/internal/actions/mls.rb
|
251
|
-
- lib/mysh/internal/actions/pwd.rb
|
252
|
-
- lib/mysh/internal/actions/say.rb
|
253
|
-
- lib/mysh/internal/actions/show.rb
|
254
|
-
- lib/mysh/internal/actions/show/env.rb
|
255
|
-
- lib/mysh/internal/actions/show/gem.rb
|
256
|
-
- lib/mysh/internal/actions/show/ruby.rb
|
257
|
-
- lib/mysh/internal/actions/show/term.rb
|
258
|
-
- lib/mysh/internal/actions/type.rb
|
259
|
-
- lib/mysh/internal/actions/vars.rb
|
260
|
-
- lib/mysh/internal/manage.rb
|
261
|
-
- lib/mysh/internal/to_file_spec.rb
|
262
|
-
- lib/mysh/pre_processor.rb
|
253
|
+
- lib/mysh/internal/cancel.rb
|
254
|
+
- lib/mysh/internal/cd.rb
|
255
|
+
- lib/mysh/internal/comment.rb
|
256
|
+
- lib/mysh/internal/elapsed.rb
|
257
|
+
- lib/mysh/internal/exit.rb
|
258
|
+
- lib/mysh/internal/gls.rb
|
259
|
+
- lib/mysh/internal/help.rb
|
260
|
+
- lib/mysh/internal/history.rb
|
261
|
+
- lib/mysh/internal/load.rb
|
262
|
+
- lib/mysh/internal/mls.rb
|
263
|
+
- lib/mysh/internal/pwd.rb
|
264
|
+
- lib/mysh/internal/say.rb
|
265
|
+
- lib/mysh/internal/show.rb
|
266
|
+
- lib/mysh/internal/support/sub_help.rb
|
267
|
+
- lib/mysh/internal/type.rb
|
268
|
+
- lib/mysh/internal/vars.rb
|
269
|
+
- lib/mysh/load_init_file.rb
|
263
270
|
- lib/mysh/process.rb
|
264
271
|
- lib/mysh/quick.rb
|
265
272
|
- lib/mysh/shell_variables.rb
|
266
273
|
- lib/mysh/shell_variables/evaluate.rb
|
267
274
|
- lib/mysh/shell_variables/shell_variable_keeper.rb
|
268
275
|
- lib/mysh/shell_variables/shell_variable_store.rb
|
276
|
+
- lib/mysh/show/env.rb
|
277
|
+
- lib/mysh/show/gem.rb
|
278
|
+
- lib/mysh/show/ruby.rb
|
279
|
+
- lib/mysh/show/term.rb
|
269
280
|
- lib/mysh/sources/console.rb
|
270
281
|
- lib/mysh/sources/parse.rb
|
271
282
|
- lib/mysh/sources/smart_auto_complete.rb
|
272
283
|
- lib/mysh/sources/string.rb
|
284
|
+
- lib/mysh/string_helpers.rb
|
273
285
|
- lib/mysh/system.rb
|
274
286
|
- lib/mysh/user_input.rb
|
275
287
|
- lib/mysh/version.rb
|
data/lib/mysh/binding_wrapper.rb
DELETED
@@ -1,21 +0,0 @@
|
|
1
|
-
# coding: utf-8
|
2
|
-
|
3
|
-
#* mysh/internal/binding_wrapper.rb -- An action compatible wrapper for a binding.
|
4
|
-
module Mysh
|
5
|
-
|
6
|
-
#* mysh/internal/binding_wrapper.rb -- An action compatible wrapper for a binding.
|
7
|
-
class BindingWrapper
|
8
|
-
|
9
|
-
#Setup a binding wrapper
|
10
|
-
def initialize(binding)
|
11
|
-
@exec_binding = binding
|
12
|
-
end
|
13
|
-
|
14
|
-
#Evaluate the string in the wrapped context.
|
15
|
-
def mysh_eval(str)
|
16
|
-
@exec_binding.eval(str)
|
17
|
-
end
|
18
|
-
|
19
|
-
end
|
20
|
-
|
21
|
-
end
|
@@ -1,22 +0,0 @@
|
|
1
|
-
# coding: utf-8
|
2
|
-
|
3
|
-
#Monkey patches for Mysh handlebars
|
4
|
-
class String
|
5
|
-
|
6
|
-
#Evaluate any variable substitutions in the input.
|
7
|
-
def eval_handlebars(evaluator=$mysh_exec_host)
|
8
|
-
gsub(/{{.*?}}/m) do |match|
|
9
|
-
code = match[2...-2]
|
10
|
-
silent = code.end_with?("#")
|
11
|
-
result = evaluator.mysh_eval(code)
|
12
|
-
|
13
|
-
(result unless silent).to_s
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
#Process quoted brace characters
|
18
|
-
def eval_quoted_braces
|
19
|
-
gsub(/\\[\{\}]/) {|found| found[1]}
|
20
|
-
end
|
21
|
-
|
22
|
-
end
|
@@ -1,15 +0,0 @@
|
|
1
|
-
# coding: utf-8
|
2
|
-
|
3
|
-
#* mysh/internal/actions/actions_path.rb -- A convenient hook to the actions folder.
|
4
|
-
module Mysh
|
5
|
-
|
6
|
-
#* mysh/internal/actions/actions_path.rb -- A convenient hook to the actions folder.
|
7
|
-
class Action
|
8
|
-
|
9
|
-
#Capture this folder's name.
|
10
|
-
ACTIONS_PATH = File.dirname(__FILE__) + "/"
|
11
|
-
|
12
|
-
end
|
13
|
-
|
14
|
-
end
|
15
|
-
|
@@ -1,19 +0,0 @@
|
|
1
|
-
# coding: utf-8
|
2
|
-
|
3
|
-
#* mysh/internal/actions/command_line/quit.rb -- The mysh quit command.
|
4
|
-
module Mysh
|
5
|
-
|
6
|
-
#* mysh/internal/actions/command_line/quit.rb -- The mysh quit command.
|
7
|
-
class QuitOption < CommandOption
|
8
|
-
|
9
|
-
#Execute the quit command line option.
|
10
|
-
def post_boot(_args)
|
11
|
-
exit
|
12
|
-
end
|
13
|
-
|
14
|
-
end
|
15
|
-
|
16
|
-
#Add the quit command line option to the library.
|
17
|
-
desc = "Exit a nested mysh file or command."
|
18
|
-
COMMAND_LINE.add_action(QuitOption.new('--quit', desc))
|
19
|
-
end
|
@@ -1,36 +0,0 @@
|
|
1
|
-
# coding: utf-8
|
2
|
-
|
3
|
-
#* mysh/internal/actions/load.rb -- The mysh load command.
|
4
|
-
module Mysh
|
5
|
-
|
6
|
-
#Add the load command to the library.
|
7
|
-
desc = "Load a ruby program, mysh script, " +
|
8
|
-
"or text file into the mysh environment."
|
9
|
-
|
10
|
-
action = lambda do |input|
|
11
|
-
args = input.args
|
12
|
-
file_name = args.shift
|
13
|
-
|
14
|
-
if file_name
|
15
|
-
file_ext = File.extname(file_name)
|
16
|
-
|
17
|
-
if file_ext == '.mysh'
|
18
|
-
Mysh.process_file(file_name)
|
19
|
-
:internal
|
20
|
-
elsif file_ext == '.txt'
|
21
|
-
show_handlebar_file(file_name, BindingWrapper.new(binding))
|
22
|
-
:internal
|
23
|
-
elsif file_ext == '.rb'
|
24
|
-
load file_name
|
25
|
-
:internal
|
26
|
-
else
|
27
|
-
fail "Error: Unknown file type: #{file_name.inspect}"
|
28
|
-
end
|
29
|
-
|
30
|
-
else
|
31
|
-
fail "Error: A load file must be specified."
|
32
|
-
end
|
33
|
-
end
|
34
|
-
|
35
|
-
COMMANDS.add_action(Action.new('load <file>', desc, &action))
|
36
|
-
end
|
@@ -1,22 +0,0 @@
|
|
1
|
-
# coding: utf-8
|
2
|
-
|
3
|
-
#* mysh/internal/actions/type.rb -- The mysh type command.
|
4
|
-
module Mysh
|
5
|
-
|
6
|
-
#Add the type command to the library.
|
7
|
-
desc = 'Display a text file with support for optional embedded ' +
|
8
|
-
'handlebars and mysh variables.'
|
9
|
-
|
10
|
-
action = lambda do |input|
|
11
|
-
args = input.args
|
12
|
-
file_name = args.shift
|
13
|
-
|
14
|
-
if file_name
|
15
|
-
show_handlebar_file(file_name, BindingWrapper.new(binding))
|
16
|
-
else
|
17
|
-
fail "A text file must be specified."
|
18
|
-
end
|
19
|
-
end
|
20
|
-
|
21
|
-
COMMANDS.add_action(Action.new('type <file>', desc, &action))
|
22
|
-
end
|
data/lib/mysh/internal/manage.rb
DELETED
@@ -1,20 +0,0 @@
|
|
1
|
-
# coding: utf-8
|
2
|
-
|
3
|
-
#* mysh/internal/manage.rb -- Manage mysh internal commands.
|
4
|
-
module Mysh
|
5
|
-
|
6
|
-
#Set up the command action pool.
|
7
|
-
COMMANDS = ActionPool.new("COMMANDS")
|
8
|
-
|
9
|
-
#Try to execute the string as an internal action.
|
10
|
-
def self.try_execute_internal(input)
|
11
|
-
unless input.quick_command == ' '
|
12
|
-
if (action = COMMANDS[input.raw_command])
|
13
|
-
action.process_command(input)
|
14
|
-
:internal
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
|
-
end
|
20
|
-
|