mysh 0.1.9 → 0.1.11

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e0b4c496315c92dcfdb4b1c543d4e63364d13e75
4
- data.tar.gz: f9885bc762c88e3411299a5c39375083054084c5
3
+ metadata.gz: 78a7e5a670f53f7cdfb9ede87c31216f1e596a20
4
+ data.tar.gz: 2c2a24ad4aebe2b5c430d647dacccd6cb1b046d7
5
5
  SHA512:
6
- metadata.gz: 7ee6785a005d64073e5ec31bdfa831b6699960fea8b31a2ca6e6dbf3455a9ee3c0e9bc89f759588f0d81bad5c9a83fdfc83720ef1cb0217463fe0d669cc4d731
7
- data.tar.gz: 9de8dbf54a0f6e0b6a239865a84ab729072028ffc6e247194fcbdea75f9da351b299e0157def64838fdc4ae128c618d6c7565a984d80eedee48f8fb6d305610e
6
+ metadata.gz: 3678b1a241def34b14cc123e19bba3ac080d7b0d95e2f7de3d92dacdda96106df6adae9b1b8fc73d0aea7b840638020f1e9a29225edb3d9833c6abfc70bdc010
7
+ data.tar.gz: 56666cd89ba7ea004e2ff507e29f8401c35704b80028eec2e199e074f836f5b225430f665f3d3d20f25ad1f7c075bfaf9518ab8761c9efc0caf722467d34bb3e
data/README.md CHANGED
@@ -47,44 +47,83 @@ This prompt can be used to execute three sorts of commands:
47
47
 
48
48
  * Internal commands that are processed directly by mysh
49
49
  * Ruby expressions, which are preceded by the equal (=) sign.
50
- * External commands that are passed on to the standard command shell.
50
+ * External commands that are passed on to the standard command shell or the
51
+ Ruby interpreter.
51
52
 
52
53
  From the mysh help:
53
54
 
54
55
  mysh> ?
55
- mysh (MY SHell) version: 0.1.0
56
+ mysh (MY ruby SHell) version: 0.1.11
56
57
 
57
- Internal mysh commands:
58
+ 1) Internal mysh commands:
58
59
  - executed by mysh directly.
59
- - a leading space skips all internal commands.
60
-
61
- ! Display the mysh command history.
62
- =an_expr Display the result of evaluating an expression in ruby.
63
- =result Display the result of the previous evaluation.
64
- =stuff \ This expression is continued on the next line.
65
- ? Display help information for mysh.
66
- cd <dir> Change directory to <dir> and display the new working directory.
67
- exit Exit mysh.
68
- help Display help information for mysh.
69
- history Display the mysh command history.
70
- pwd Display the current working directory.
71
- quit Exit mysh.
72
-
73
- Math support:
60
+ - supports the following set of commands.
61
+
62
+ Internal Commands
63
+ ===================
64
+
65
+ ! Display the mysh command history.
66
+ ? Display help information for mysh.
67
+ cd <dir> Change directory to the optional <dir> parameter.
68
+ Then display the current working directory.
69
+ exit Exit mysh.
70
+ help Display help information for mysh.
71
+ history Display the mysh command history.
72
+ pwd Display the current working directory.
73
+ quit Exit mysh.
74
+
75
+ 2) Ruby Expression support:
76
+ - any line beginning with an equals "=" sign will be evaluated as a Ruby
77
+ expression. This allows the mysh command line to serve as a programming,
78
+ debugging and super-calculator environment.
79
+ - for more info use the 'help ruby' command.
80
+
81
+ 3) Math support:
74
82
  - the execution environment includes the Math module.
75
- - for more info use the help math command.
83
+ - for more info use the 'help math' command.
76
84
 
77
- External commands:
85
+ 4) External commands:
78
86
  - executed by the system using the standard shell.
79
- - use help - for more info on external commands.
87
+ - to force the use of the external shell, add a leading space to the command.
88
+
89
+ Note: If the command has a '.rb' extension it is executed by Ruby.
90
+ So the command "myfile.rb" is executed as "ruby myfile.rb"
91
+
92
+ and
93
+
94
+ mysh> ? ruby
95
+ mysh (MY ruby SHell) version: 0.1.11
96
+
97
+ mysh Ruby expression support summary
98
+
99
+ - All command lines that begin with an equals "=" sign are evaluated as Ruby
100
+ expressions.
101
+ - Expressions ending with a backslash character "\" are continued on the next
102
+ line. The prompt changes to "mysh\" to indicate that this is going on.
103
+ - The results are displayed using the pretty-print facility.
104
+ - Auto-complete always places any file names in quotes so they can be used
105
+ as string parameters.
106
+
107
+ A few noteworthy methods exist that facilitate use of Ruby expressions:
108
+
109
+ reset Reset the execution environment to the default state.
110
+ result Returns the result of the previous expression.
111
+ vls <mask> List modules with version info. The optional mask string value
112
+ is used to filter for modules containing that string.
80
113
 
81
114
  and
82
115
 
83
116
  mysh> ? math
84
- mysh (MY SHell) version: 0.1.0
117
+ mysh (MY ruby SHell) version: 0.1.11
85
118
 
86
119
  mysh Math support summary
87
120
 
121
+ The Ruby expression execution environment has direct access to many advanced
122
+ Math functions. For example, to compute the cosine of 3.141592653589793 use:
123
+
124
+ mysh> =cos(PI)
125
+ -1.0
126
+
88
127
  Method Returns Description
89
128
  ======= ======= ================================================
90
129
  acos(x) Float Computes the arc cosine of x. Returns 0..PI.
@@ -110,8 +149,8 @@ and
110
149
  ldexp(f,e) Float Returns the value of f*(2**e).
111
150
  lgamma(x) Array Returns a two-element array containing the log of the
112
151
  gamma of x and the sign of gamma of x.
113
- log(x) Float Computes the natural log of c.
114
- log(x,B) Float Computes the base B log of c.
152
+ log(x) Float Computes the natural log of x.
153
+ log(x,B) Float Computes the base B log of x.
115
154
  log10(x) Float Returns the base 10 logarithm of x.
116
155
  log2(x) Float Returns the base 2 logarithm of x.
117
156
  sin(x) Float Computes the sine of x (expressed in radians).
@@ -121,6 +160,8 @@ and
121
160
  tan(x) Float Computes the tangent of x (expressed in radians).
122
161
  tanh(x) Float Computes the hyperbolic tangent of x (expressed in radians).
123
162
 
163
+ PI Float The value 3.141592653589793
164
+ E Float The value 2.718281828459045
124
165
 
125
166
  The mysh can also be used from within a Ruby application:
126
167
 
@@ -128,6 +169,73 @@ The mysh can also be used from within a Ruby application:
128
169
  Mysh.run
129
170
  ```
130
171
 
172
+ ## Adding New Commands
173
+
174
+ It is possible to add new internal commands to the mysh CLI. This is done by
175
+ depositing the appropriate ruby file in the commands folder located at:
176
+
177
+ /mysh/lib/mysh/commands
178
+
179
+ As an example, the file cd.rb is shown to illustrate the responsibilities of
180
+ a typical command plug-in:
181
+
182
+ ```ruby
183
+ # coding: utf-8
184
+
185
+ #* commands/cd.rb -- The mysh internal cd command.
186
+ module Mysh
187
+
188
+ #* cd.rb -- The mysh internal cd command.
189
+ class InternalCommand
190
+ #Add the cd command to the library.
191
+ desc = ['Change directory to the optional <dir> parameter.',
192
+ 'Then display the current working directory.']
193
+
194
+ add('cd <dir>', desc) do |args|
195
+ begin
196
+ Dir.chdir(args[0]) unless args.empty?
197
+ puts decorate(Dir.pwd)
198
+ rescue => err
199
+ puts "Error: #{err}"
200
+ end
201
+ end
202
+
203
+ #Add the pwd command to the library.
204
+ add('pwd', 'Display the current working directory.') do |args|
205
+ begin
206
+ puts decorate(Dir.pwd)
207
+ rescue => err
208
+ puts "Error: #{err}"
209
+ end
210
+ end
211
+
212
+ end
213
+ end
214
+ ```
215
+
216
+ Note that the plug in code is contained within the InternalCommand class under
217
+ the Mysh module umbrella. The principle method used to create internal commands
218
+ is the add method:
219
+
220
+ ```ruby
221
+ add(command_name, command_description) do |args|
222
+ # Action block goes here
223
+ end
224
+ ```
225
+ Where:
226
+ * command_name is the name of the command with optional argument descriptions
227
+ seperated with spaces. The command is the first word of this string.
228
+ * command_description is a string or an array of strings that describe the
229
+ command.
230
+ * args is an array of zero or more arguments that were entered with the command.
231
+
232
+ Commands sometimes have more than one possible name. This is supported with:
233
+
234
+ ```ruby
235
+ add_alias(new_name, old_name)
236
+ ```
237
+
238
+
131
239
  ## Contributing
132
240
 
133
241
  #### Plan A
data/lib/mysh.rb CHANGED
@@ -5,6 +5,7 @@
5
5
  require 'English'
6
6
  require 'mini_readline'
7
7
  require 'vls'
8
+ require 'in_array'
8
9
 
9
10
  require_relative 'mysh/smart_source'
10
11
  require_relative 'mysh/expression'
@@ -27,7 +28,7 @@ module Mysh
27
28
  init_run
28
29
 
29
30
  loop do
30
- input = @input.readline(prompt: 'mysh> ')
31
+ input = @input.readline(prompt: 'mysh>')
31
32
 
32
33
  begin
33
34
  @exec_host.execute(input) ||
@@ -6,24 +6,26 @@ module Mysh
6
6
  #* cd.rb -- The mysh internal cd command.
7
7
  class InternalCommand
8
8
  #Add the cd command to the library.
9
- desc = 'Change directory to <dir> and display the new working directory.'
10
- add(self.new('cd <dir>', desc) do |args|
9
+ desc = ['Change directory to the optional <dir> parameter.',
10
+ 'Then display the current working directory.']
11
+
12
+ add('cd <dir>', desc) do |args|
11
13
  begin
12
14
  Dir.chdir(args[0]) unless args.empty?
13
15
  puts decorate(Dir.pwd)
14
16
  rescue => err
15
17
  puts "Error: #{err}"
16
18
  end
17
- end)
19
+ end
18
20
 
19
21
  #Add the pwd command to the library.
20
- add(self.new('pwd', 'Display the current working directory.') do |args|
22
+ add('pwd', 'Display the current working directory.') do |args|
21
23
  begin
22
24
  puts decorate(Dir.pwd)
23
25
  rescue => err
24
26
  puts "Error: #{err}"
25
27
  end
26
- end)
28
+ end
27
29
 
28
30
  end
29
31
  end
@@ -6,9 +6,9 @@ module Mysh
6
6
  #* exit.rb -- The mysh internal exit command.
7
7
  class InternalCommand
8
8
  #Add the exit command to the library.
9
- add(self.new('exit', 'Exit mysh.') do |args|
9
+ add('exit', 'Exit mysh.') do |args|
10
10
  raise MiniReadlineEOI
11
- end)
11
+ end
12
12
 
13
13
  add_alias('quit', 'exit')
14
14
  end
@@ -6,19 +6,14 @@ module Mysh
6
6
  #* exit.rb -- The mysh internal exit command.
7
7
  class InternalCommand
8
8
  #Add the exit command to the library.
9
- add(self.new('help', 'Display help information for mysh.') do |args|
9
+ add('help', 'Display help information for mysh.') do |args|
10
10
  puts "mysh (MY ruby SHell) version: #{Mysh::VERSION}"
11
11
  puts
12
12
 
13
13
  if args.empty?
14
- puts IO.read(File.dirname(__FILE__) + '/help_internal.txt')
15
-
16
- InternalCommand
17
- .info
18
- .sort {|first, second | first[0] <=> second[0] }
19
- .each {|info| puts "#{info[0].ljust(10)} #{info[1]}" }
20
- puts
21
- puts IO.read(File.dirname(__FILE__) + '/help.txt')
14
+ puts IO.read(File.dirname(__FILE__) + '/help_head.txt')
15
+ InternalCommand.display_items(info)
16
+ puts IO.read(File.dirname(__FILE__) + '/help_tail.txt')
22
17
  elsif args[0] == 'math'
23
18
  puts IO.read(File.dirname(__FILE__) + '/help_math.txt')
24
19
  elsif args[0] == 'ruby'
@@ -27,9 +22,11 @@ module Mysh
27
22
  puts "help #{args[0]} ???"
28
23
  end
29
24
 
30
- end)
25
+ end
31
26
 
32
27
  add_alias('?', 'help')
28
+
33
29
  end
30
+
34
31
  end
35
32
 
@@ -0,0 +1,8 @@
1
+ 1) Internal mysh commands:
2
+
3
+ - Are executed by mysh directly.
4
+ - Support the following set of commands.
5
+
6
+ Internal Commands
7
+ ===================
8
+
@@ -1,8 +1,10 @@
1
1
  mysh Math support summary
2
2
 
3
- - The Ruby expression execution environment includes the Math module. Thus
4
- the following advanced math functions are directly available without having
5
- to explicitly reference that module.
3
+ The Ruby expression execution environment has direct access to many advanced
4
+ Math functions. For example, to compute the cosine of 3.141592653589793 use:
5
+
6
+ mysh> =cos(PI)
7
+ -1.0
6
8
 
7
9
  Method Returns Description
8
10
  ======= ======= ================================================
@@ -40,3 +42,6 @@ sqrt(x) Float Returns the non-negative square root of x.
40
42
  tan(x) Float Computes the tangent of x (expressed in radians).
41
43
  tanh(x) Float Computes the hyperbolic tangent of x (expressed in radians).
42
44
 
45
+ PI Float The value 3.141592653589793
46
+ E Float The value 2.718281828459045
47
+
@@ -1,16 +1,17 @@
1
1
  mysh Ruby expression support summary
2
2
 
3
- - All command lines that begin with an equals "=" sign are evaluated as Ruby
4
- expressions.
5
- - Expressions ending with a backslash character "\" are continued on the next
6
- line. The prompt changes to "mysh\" to indicate that this is going on.
7
- - The results are displayed using the pretty-print facility.
8
- - Auto-complete always places any file names in quotes so they can be used
9
- as string parameters.
3
+ - All command lines that begin with an equals "=" sign are evaluated as Ruby
4
+ expressions.
5
+ - Expressions ending with a backslash character "\" are continued on the next
6
+ line. The prompt changes to "mysh\" to indicate that this is going on.
7
+ - The results are displayed using the pretty-print facility.
8
+ - Auto-complete always places any file names in quotes so they can be used
9
+ as string parameters.
10
10
 
11
11
  A few noteworthy methods exist that facilitate use of Ruby expressions:
12
12
 
13
13
  reset Reset the execution environment to the default state.
14
14
  result Returns the result of the previous expression.
15
- vls <mask> List modules with version info. The optional mask string value
16
- is used to filter for modules containing that string.
15
+ vls "mask" List modules with version info. The optional mask string value is
16
+ used to filter for modules containing that string.
17
+
@@ -0,0 +1,20 @@
1
+ 2) Ruby Expression support:
2
+
3
+ - Any line beginning with an equals "=" sign will be evaluated as a Ruby
4
+ expression. This allows the mysh command line to serve as a programming,
5
+ debugging and super-calculator environment.
6
+ - For more info use the 'help ruby' command.
7
+
8
+ 3) Math support:
9
+
10
+ - The execution environment includes the Math module.
11
+ - For more info use the 'help math' command.
12
+
13
+ 4) External commands:
14
+
15
+ - Executed by the system using the standard shell.
16
+ - To force the use of the external shell, add a leading space to the command.
17
+
18
+ Note: If the command has a '.rb' extension it is executed by Ruby.
19
+ So the command "myfile.rb" is executed as "ruby myfile.rb"
20
+
@@ -6,14 +6,14 @@ module Mysh
6
6
  #* exit.rb -- The mysh internal history command.
7
7
  class InternalCommand
8
8
  #Add the exit command to the library.
9
- add(self.new('history', 'Display the mysh command history.') do |args|
9
+ add('history', 'Display the mysh command history.') do |args|
10
10
  history = Mysh.input.history
11
11
 
12
12
  #The history command should not be part of the history.
13
13
  history.pop
14
14
 
15
15
  puts history
16
- end)
16
+ end
17
17
 
18
18
  add_alias('!', 'history')
19
19
  end
@@ -17,7 +17,7 @@ module Mysh
17
17
  #Process an expression.
18
18
  def execute(str)
19
19
  if str.start_with?('=')
20
- do_execute(str)
20
+ do_execute(do_build(str))
21
21
  else
22
22
  false
23
23
  end
@@ -32,33 +32,30 @@ module Mysh
32
32
  end
33
33
 
34
34
  private
35
- #Do the actual work of executing an expression.
35
+
36
+ #Gather up the full string of the expression to evaluate.
36
37
  #<br>Endemic Code Smells
37
38
  #* :reek:TooManyStatements
38
- def do_execute(str)
39
+ def do_build(str)
39
40
  if /\\\s*$/ =~ str
40
- parms = {
41
- prompt: 'mysh\\ ',
42
- auto_source: MiniReadline::QuotedFileFolderSource
43
- }
41
+ parms = {prompt: 'mysh\\',
42
+ auto_source: MiniReadline::QuotedFileFolderSource}
44
43
 
45
- do_execute($PREMATCH + "\n" + Mysh.input.readline(parms))
44
+ do_build($PREMATCH + "\n" + Mysh.input.readline(parms))
46
45
  else
47
- begin
48
- eval("@result" + str)
49
-
50
- if @result
51
- pp @result
52
- else
53
- puts @result
54
- end
55
-
56
- rescue StandardError, ScriptError => err
57
- puts "Error: #{err}"
58
- end
59
-
60
- :expression
46
+ str
61
47
  end
62
48
  end
49
+
50
+ #Execute the string
51
+ def do_execute(str)
52
+ instance_eval("@result" + str)
53
+ send(@result ? :pp : :puts, @result)
54
+ rescue StandardError, ScriptError => err
55
+ puts "Error: #{err}"
56
+ ensure
57
+ return :expression
58
+ end
63
59
  end
60
+
64
61
  end
data/lib/mysh/internal.rb CHANGED
@@ -1,9 +1,10 @@
1
1
  # coding: utf-8
2
2
 
3
- require_relative 'internal/klass'
4
- require_relative 'internal/parse'
5
- require_relative 'internal/instance'
6
- require_relative 'internal/decorate'
3
+ require_relative 'support/manage'
4
+ require_relative 'support/parse'
5
+ require_relative 'support/format'
6
+ require_relative 'support/frame'
7
+ require_relative 'support/decorate'
7
8
 
8
- #Load up the commands!
9
+ #Load up the internal commands!
9
10
  Dir[File.dirname(__FILE__) + '/commands/*.rb'].each {|file| require file }
data/lib/mysh/ruby.rb CHANGED
@@ -1,19 +1,16 @@
1
1
  # coding: utf-8
2
2
 
3
+ #* ruby.rb -- Support for executing Ruby files with the ruby interpreter.
3
4
  module Mysh
4
5
 
5
6
  #Try to execute as a Ruby program.
6
7
  def self.ruby_execute(str)
7
- if File.extname(str.split[0]) == '.rb'
8
- new_command = "ruby #{str}"
9
-
10
- puts "=> #{new_command}"
11
- puts
12
-
8
+ if (command = str.split[0]) && File.extname(command) == '.rb'
9
+ puts "=> #{new_command = "ruby #{str}"}\n\n"
13
10
  system(new_command)
14
11
  :ruby_exec
15
12
  end
16
13
 
17
14
  end
18
15
 
19
- end
16
+ end
@@ -1,6 +1,6 @@
1
1
  # coding: utf-8
2
2
 
3
- #* decorate.rb -- mysh internal file name beauty treatments.
3
+ #* support/decorate.rb -- mysh internal file name beauty treatments.
4
4
  module Mysh
5
5
 
6
6
  #The mysh internal file name beauty treatments.
@@ -0,0 +1,41 @@
1
+ # coding: utf-8
2
+
3
+ #* support/format.rb -- Format mysh internal reports.
4
+ module Mysh
5
+
6
+ #The mysh internal command class level report formatting.
7
+ class InternalCommand
8
+
9
+ #Get information on all commands.
10
+ def self.info
11
+ @commands
12
+ .values
13
+ .map {|command| command.info }
14
+ .sort {|first, second| first[0] <=> second[0] }
15
+ end
16
+
17
+ #Display an array of items.
18
+ def self.display_items(items)
19
+ #Determine the width of the tag area.
20
+ tag_width = items.max_by {|item| item[0].length}[0].length + 1
21
+
22
+ #Display the information.
23
+ items.each {|item| display_item(item, tag_width) }
24
+
25
+ puts
26
+ end
27
+
28
+ #Display one item.
29
+ def self.display_item(item, tag_width=nil)
30
+ tag = item[0]
31
+ tag_width ||= tag.length + 1
32
+
33
+ item[1].each do |detail|
34
+ puts "#{tag.ljust(tag_width)} #{detail}"
35
+ tag = ""
36
+ end
37
+ end
38
+
39
+ end
40
+ end
41
+
@@ -1,6 +1,6 @@
1
1
  # coding: utf-8
2
2
 
3
- #* internal.rb -- mysh internal command instance data and methods.
3
+ #* support/frame.rb -- The abstract frame of mysh internal commands.
4
4
  module Mysh
5
5
 
6
6
  #The mysh internal command instance data and methods.
@@ -16,9 +16,7 @@ module Mysh
16
16
 
17
17
  #Setup an internal command
18
18
  def initialize(name, description, &action)
19
- @name = name
20
- @description = description
21
- @action = action
19
+ @name, @description, @action = name, description.in_array, action
22
20
  end
23
21
 
24
22
  #Execute the command.
@@ -1,6 +1,6 @@
1
1
  # coding: utf-8
2
2
 
3
- #* internal/klass.rb -- mysh internal command class level data and methods.
3
+ #* support/manage.rb -- Manage mysh internal commands.
4
4
  module Mysh
5
5
 
6
6
  #The mysh internal command class level data and methods.
@@ -15,8 +15,8 @@ module Mysh
15
15
  end
16
16
 
17
17
  #Add a command to the command library.
18
- def self.add(command)
19
- @commands[command.name.split[0]] = command
18
+ def self.add(name, description, &action)
19
+ @commands[name.split[0]] = new(name, description, &action)
20
20
  end
21
21
 
22
22
  #Add an alias for an existing command.
@@ -42,11 +42,6 @@ module Mysh
42
42
  end
43
43
  end
44
44
 
45
- #Get information on all commands.
46
- def self.info
47
- @commands.values.map { |command| command.info }
48
- end
49
-
50
45
  end
51
46
  end
52
47
 
@@ -1,6 +1,6 @@
1
1
  # coding: utf-8
2
2
 
3
- #* parse.rb -- mysh internal command parser.
3
+ #* support/parse.rb -- mysh internal command parser.
4
4
  module Mysh
5
5
 
6
6
  #The mysh internal command instance data and methods.
data/lib/mysh/version.rb CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Mysh
4
4
  #The version string of MY SHell.
5
- VERSION = "0.1.9"
5
+ VERSION = "0.1.11"
6
6
 
7
7
  #A brief summary of this gem.
8
8
  SUMMARY = "mysh -- a Ruby inspired command shell"
data/mysh.gemspec CHANGED
@@ -32,4 +32,5 @@ Gem::Specification.new do |spec|
32
32
 
33
33
  spec.add_runtime_dependency 'mini_readline', ">= 0.6.0"
34
34
  spec.add_runtime_dependency 'vls', ">= 0.3.9"
35
+ spec.add_runtime_dependency 'in_array'
35
36
  end
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.1.9
4
+ version: 0.1.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter Camilleri
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-09-23 00:00:00.000000000 Z
11
+ date: 2016-09-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -122,6 +122,20 @@ dependencies:
122
122
  - - ">="
123
123
  - !ruby/object:Gem::Version
124
124
  version: 0.3.9
125
+ - !ruby/object:Gem::Dependency
126
+ name: in_array
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :runtime
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
125
139
  description: mysh -- a Ruby inspired command shell for CLI and application use.
126
140
  email:
127
141
  - peter.c.camilleri@gmail.com
@@ -140,19 +154,20 @@ files:
140
154
  - lib/mysh/commands/cd.rb
141
155
  - lib/mysh/commands/exit.rb
142
156
  - lib/mysh/commands/help.rb
143
- - lib/mysh/commands/help.txt
144
- - lib/mysh/commands/help_internal.txt
157
+ - lib/mysh/commands/help_head.txt
145
158
  - lib/mysh/commands/help_math.txt
146
159
  - lib/mysh/commands/help_ruby.txt
160
+ - lib/mysh/commands/help_tail.txt
147
161
  - lib/mysh/commands/history.rb
148
162
  - lib/mysh/expression.rb
149
163
  - lib/mysh/internal.rb
150
- - lib/mysh/internal/decorate.rb
151
- - lib/mysh/internal/instance.rb
152
- - lib/mysh/internal/klass.rb
153
- - lib/mysh/internal/parse.rb
154
164
  - lib/mysh/ruby.rb
155
165
  - lib/mysh/smart_source.rb
166
+ - lib/mysh/support/decorate.rb
167
+ - lib/mysh/support/format.rb
168
+ - lib/mysh/support/frame.rb
169
+ - lib/mysh/support/manage.rb
170
+ - lib/mysh/support/parse.rb
156
171
  - lib/mysh/version.rb
157
172
  - mysh.gemspec
158
173
  - rakefile.rb
@@ -1,17 +0,0 @@
1
- 2) Ruby Expression support:
2
- - any line beginning with an equals "=" sign will be evaluated as a Ruby
3
- expression. This allows the mysh command line to serve as a programming,
4
- debugging and super-calculator environment.
5
- - for more info use the 'help ruby' command.
6
-
7
- 3) Math support:
8
- - the execution environment includes the Math module.
9
- - for more info use the 'help math' command.
10
-
11
- 4) External commands:"
12
- - executed by the system using the standard shell.
13
- - to force the use of the external shell, add a leading space to the command.
14
-
15
- Note: If the command has a '.rb' extension it is executed by Ruby.
16
- So the command "myfile.rb" is executed as "ruby myfile.rb"
17
-
@@ -1,6 +0,0 @@
1
- 1) Internal mysh commands:
2
- - executed by mysh directly.
3
- - supports the following set of commands.
4
-
5
- Command Description
6
- ======= ===========