mysh 0.6.9 → 0.6.16

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 +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
-