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.
Files changed (92) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +25 -5
  3. data/lib/mysh.rb +19 -9
  4. data/lib/mysh/{internal/action.rb → action.rb} +8 -8
  5. data/lib/mysh/{internal/action_pool.rb → action_pool.rb} +8 -8
  6. data/lib/mysh/{internal/actions/command_line.rb → command_line.rb} +10 -10
  7. data/lib/mysh/{internal/actions/command_line → command_line}/debug.rb +9 -11
  8. data/lib/mysh/command_line/history.rb +61 -0
  9. data/lib/mysh/{internal/actions/command_line → command_line}/init.rb +8 -8
  10. data/lib/mysh/{internal/actions/command_line → command_line}/load.rb +5 -5
  11. data/lib/mysh/{internal/actions/command_line → command_line}/pause.rb +6 -8
  12. data/lib/mysh/{internal/actions/command_line → command_line}/post_prompt.rb +10 -12
  13. data/lib/mysh/{internal/actions/command_line → command_line}/pre_prompt.rb +10 -12
  14. data/lib/mysh/{internal/actions/command_line → command_line}/prompt.rb +9 -10
  15. data/lib/mysh/command_line/quit.rb +19 -0
  16. data/lib/mysh/{internal/actions/command_line → command_line}/usage.rb +4 -4
  17. data/lib/mysh/expression.rb +11 -31
  18. data/lib/mysh/external.rb +4 -5
  19. data/lib/mysh/globalize.rb +14 -10
  20. data/lib/mysh/handlebars.rb +10 -13
  21. data/lib/mysh/handlebars/eval_handlebars.rb +38 -0
  22. data/lib/mysh/{internal/actions/help → help}/env.txt +0 -0
  23. data/lib/mysh/{internal/actions/help → help}/expr.txt +0 -0
  24. data/lib/mysh/{internal/actions/help → help}/gem.txt +0 -0
  25. data/lib/mysh/{internal/actions/help → help}/gls.txt +0 -0
  26. data/lib/mysh/{internal/actions/help → help}/h_o_h.txt +1 -1
  27. data/lib/mysh/{internal/actions/help → help}/hbar.txt +11 -0
  28. data/lib/mysh/{internal/actions/help → help}/help.txt +0 -0
  29. data/lib/mysh/{internal/actions/help → help}/history.txt +7 -0
  30. data/lib/mysh/{internal/actions/help → help}/init.txt +0 -0
  31. data/lib/mysh/{internal/actions/help → help}/kbd.txt +0 -0
  32. data/lib/mysh/{internal/actions/help → help}/math.txt +0 -0
  33. data/lib/mysh/{internal/actions/help → help}/mls.txt +0 -0
  34. data/lib/mysh/{internal/actions/help → help}/quick.txt +0 -0
  35. data/lib/mysh/{internal/actions/help → help}/ruby.txt +0 -0
  36. data/lib/mysh/{internal/actions/help → help}/show.txt +0 -0
  37. data/lib/mysh/{internal/actions/help → help}/term.txt +0 -0
  38. data/lib/mysh/{internal/actions/help → help}/timed.txt +0 -0
  39. data/lib/mysh/help/type.txt +28 -0
  40. data/lib/mysh/{internal/actions/help → help}/types.txt +0 -0
  41. data/lib/mysh/{internal/actions/help → help}/usage.txt +0 -0
  42. data/lib/mysh/{internal/actions/help → help}/vars.txt +4 -4
  43. data/lib/mysh/input_wrapper.rb +13 -13
  44. data/lib/mysh/internal.rb +20 -8
  45. data/lib/mysh/internal/{actions/cancel.rb → cancel.rb} +0 -0
  46. data/lib/mysh/internal/{actions/cd.rb → cd.rb} +2 -2
  47. data/lib/mysh/internal/{actions/comment.rb → comment.rb} +2 -2
  48. data/lib/mysh/internal/{actions/elapsed.rb → elapsed.rb} +2 -2
  49. data/lib/mysh/internal/{actions/exit.rb → exit.rb} +0 -0
  50. data/lib/mysh/internal/{actions/gls.rb → gls.rb} +6 -7
  51. data/lib/mysh/internal/{actions/help.rb → help.rb} +7 -9
  52. data/lib/mysh/internal/{actions/history.rb → history.rb} +10 -9
  53. data/lib/mysh/internal/load.rb +45 -0
  54. data/lib/mysh/internal/{actions/mls.rb → mls.rb} +2 -2
  55. data/lib/mysh/internal/{actions/pwd.rb → pwd.rb} +1 -1
  56. data/lib/mysh/internal/{actions/say.rb → say.rb} +1 -1
  57. data/lib/mysh/internal/{actions/show.rb → show.rb} +7 -6
  58. data/lib/mysh/internal/{actions/help → support}/sub_help.rb +9 -7
  59. data/lib/mysh/internal/type.rb +38 -0
  60. data/lib/mysh/internal/{actions/vars.rb → vars.rb} +8 -8
  61. data/lib/mysh/{init.rb → load_init_file.rb} +3 -3
  62. data/lib/mysh/process.rb +7 -7
  63. data/lib/mysh/quick.rb +10 -4
  64. data/lib/mysh/shell_variables.rb +9 -4
  65. data/lib/mysh/shell_variables/evaluate.rb +2 -11
  66. data/lib/mysh/shell_variables/shell_variable_keeper.rb +6 -7
  67. data/lib/mysh/shell_variables/shell_variable_store.rb +13 -14
  68. data/lib/mysh/{internal/actions/show → show}/env.rb +3 -5
  69. data/lib/mysh/{internal/actions/show → show}/gem.rb +3 -16
  70. data/lib/mysh/{internal/actions/show → show}/ruby.rb +0 -0
  71. data/lib/mysh/{internal/actions/show → show}/term.rb +5 -7
  72. data/lib/mysh/sources/console.rb +11 -7
  73. data/lib/mysh/sources/parse.rb +7 -10
  74. data/lib/mysh/sources/smart_auto_complete.rb +5 -5
  75. data/lib/mysh/sources/string.rb +6 -6
  76. data/lib/mysh/string_helpers.rb +37 -0
  77. data/lib/mysh/system.rb +2 -2
  78. data/lib/mysh/user_input.rb +5 -9
  79. data/lib/mysh/version.rb +4 -4
  80. data/mysh.gemspec +4 -3
  81. data/samples/show.txt +2 -0
  82. data/tests/my_shell_tests.rb +18 -6
  83. metadata +77 -65
  84. data/lib/mysh/binding_wrapper.rb +0 -21
  85. data/lib/mysh/handlebars/string.rb +0 -22
  86. data/lib/mysh/internal/actions/actions_path.rb +0 -15
  87. data/lib/mysh/internal/actions/command_line/quit.rb +0 -19
  88. data/lib/mysh/internal/actions/load.rb +0 -36
  89. data/lib/mysh/internal/actions/type.rb +0 -22
  90. data/lib/mysh/internal/manage.rb +0 -20
  91. data/lib/mysh/internal/to_file_spec.rb +0 -26
  92. data/lib/mysh/pre_processor.rb +0 -11
@@ -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.9"
4
+ # The version string of MY SHell.
5
+ VERSION = "0.6.16".freeze
6
6
 
7
- #A brief summary of this gem.
8
- SUMMARY = "mysh -- a Ruby inspired command line shell."
7
+ # A brief summary of this gem.
8
+ DESCRIPTION = "mysh -- a Ruby inspired command line shell.".freeze
9
9
  end
@@ -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::SUMMARY
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.0"
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.1.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
@@ -9,3 +9,5 @@ Args = {{ args.inspect }}
9
9
  ["Squares", Array.new(count){|i| (i+1)**2} ],
10
10
  ["Cubes", Array.new(count){|i| (i+1)**3} ]].format_output_bullets }}
11
11
 
12
+ {{ 10.times do |i| #}} Let's count: {{ i+1 }}
13
+ {{ end #}}
@@ -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".eval_handlebars)
59
+ "ABC {{ (1..3).to_a.join }} DEF".preprocess)
48
60
 
49
- assert_equal("ABC", "{{ 'ABC' }}".eval_handlebars)
50
- assert_equal("", "{{ 'ABC' #}}".eval_handlebars)
61
+ assert_equal("ABC", "{{ 'ABC' }}".preprocess)
62
+ assert_equal("", "{{ 'ABC' #}}".preprocess)
51
63
 
52
- assert_equal("{{ 'ABC' }}", "\\{\\{ 'ABC' \\}\\}".eval_quoted_braces)
53
- assert_equal("{{A}}", "{{ '{'+'{A}'+'}' }}".eval_handlebars.eval_quoted_braces)
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.9
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: 2018-12-22 00:00:00.000000000 Z
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.0
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.0
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.1.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.1.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/binding_wrapper.rb
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/string.rb
204
- - lib/mysh/init.rb
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/action.rb
208
- - lib/mysh/internal/action_pool.rb
209
- - lib/mysh/internal/actions/actions_path.rb
210
- - lib/mysh/internal/actions/cancel.rb
211
- - lib/mysh/internal/actions/cd.rb
212
- - lib/mysh/internal/actions/command_line.rb
213
- - lib/mysh/internal/actions/command_line/debug.rb
214
- - lib/mysh/internal/actions/command_line/init.rb
215
- - lib/mysh/internal/actions/command_line/load.rb
216
- - lib/mysh/internal/actions/command_line/pause.rb
217
- - lib/mysh/internal/actions/command_line/post_prompt.rb
218
- - lib/mysh/internal/actions/command_line/pre_prompt.rb
219
- - lib/mysh/internal/actions/command_line/prompt.rb
220
- - lib/mysh/internal/actions/command_line/quit.rb
221
- - lib/mysh/internal/actions/command_line/usage.rb
222
- - lib/mysh/internal/actions/comment.rb
223
- - lib/mysh/internal/actions/elapsed.rb
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
@@ -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
@@ -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
-