mysh 0.1.9 → 0.1.11

Sign up to get free protection for your applications and to get access to all the features.
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
- ======= ===========