hquby 0.1.1 → 0.1.2
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 +7 -0
- data/README.md +4 -0
- data/bin/hquby +26 -12
- data/lib/hquby/version.rb +1 -1
- metadata +7 -9
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 80853adf7fadcb0bb7dd9176f1f0f3413cc9d4cf
|
4
|
+
data.tar.gz: 8b9e88dbeaf678ce1b2b3c0922725934b1bda6f2
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 80c20280c3965a831c757103679de2678e331f9e660496da06dd397c8529c5d2d7553e0f812dbcd1e3cd2267a3471da44f2e89ca05cdaa0f4eeac313ac101143
|
7
|
+
data.tar.gz: 806f003cc1fc16911726534dfda83b813273d76df8c6854462e0b9b1ae3e6f4ac9dfea750b64ee17d89ac5609a5aedd22148f5ba6309fad59d08ea0de7c9d491
|
data/README.md
CHANGED
data/bin/hquby
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
3
|
require 'optparse'
|
4
|
+
require 'hquby'
|
4
5
|
|
5
6
|
def eval_h
|
6
7
|
puts "Hello, world!"
|
@@ -52,6 +53,7 @@ end
|
|
52
53
|
|
53
54
|
def show_greeting
|
54
55
|
puts <<-GREETING
|
56
|
+
--- HQUBY v#{Hquby::VERSION}
|
55
57
|
--- Welcome to hquby interactive mode!
|
56
58
|
--- hquby is an implementation of HQ9+ interpreter.
|
57
59
|
--- Type ':help' or '?' for more options.
|
@@ -124,7 +126,7 @@ optparse = OptionParser.new do |opts|
|
|
124
126
|
exit(0)
|
125
127
|
end
|
126
128
|
|
127
|
-
opts.on('-e SCRIPT', 'Execute script from command line') do |scr|
|
129
|
+
opts.on('-e SCRIPT', 'Execute script from the command line') do |scr|
|
128
130
|
eval_string(scr)
|
129
131
|
exit(0)
|
130
132
|
end
|
@@ -142,11 +144,10 @@ if not ARGV.empty? or not $stdin.tty?
|
|
142
144
|
end
|
143
145
|
|
144
146
|
# Fall back to interactive mode
|
145
|
-
# TODO Check 'Readline' support!
|
146
|
-
require 'readline'
|
147
|
-
$stdout.sync = true
|
148
147
|
|
149
148
|
DEFAULT_PROMPT = '>> '
|
149
|
+
$stdout.sync = true
|
150
|
+
|
150
151
|
$prompt = DEFAULT_PROMPT
|
151
152
|
$is_interactive = true
|
152
153
|
|
@@ -161,13 +162,26 @@ LIST = [
|
|
161
162
|
':quit', ':examine',
|
162
163
|
].sort
|
163
164
|
|
164
|
-
comp = proc { |s| LIST.grep( /^#{Regexp.escape(s)}/ ) }
|
165
|
-
|
166
|
-
Readline.completion_append_character = " "
|
167
|
-
Readline.completion_proc = comp
|
168
|
-
|
169
165
|
show_greeting()
|
170
|
-
|
171
|
-
|
166
|
+
HAS_READLINE = begin
|
167
|
+
require 'readline'
|
168
|
+
rescue LoadError
|
169
|
+
puts "(Install 'readline' gem for better experience)"
|
170
|
+
false
|
171
|
+
end
|
172
|
+
if HAS_READLINE
|
173
|
+
# Readline gem is present
|
174
|
+
comp = proc { |s| LIST.grep( /^#{Regexp.escape(s)}/ ) }
|
175
|
+
|
176
|
+
Readline.completion_append_character = " "
|
177
|
+
Readline.completion_proc = comp
|
178
|
+
|
179
|
+
while line = Readline.readline($prompt, true)
|
180
|
+
eval_string(line.chomp)
|
181
|
+
end
|
182
|
+
else
|
183
|
+
loop do
|
184
|
+
print $prompt
|
185
|
+
eval_string(gets.chomp)
|
186
|
+
end
|
172
187
|
end
|
173
|
-
|
data/lib/hquby/version.rb
CHANGED
metadata
CHANGED
@@ -1,15 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hquby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
5
|
-
prerelease:
|
4
|
+
version: 0.1.2
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Anton Ovchinnikov
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2014-01-16 00:00:00.000000000 Z
|
13
12
|
dependencies: []
|
14
13
|
description: HQ9+ interpreter
|
15
14
|
email:
|
@@ -30,26 +29,25 @@ files:
|
|
30
29
|
- lib/hquby/version.rb
|
31
30
|
homepage: https://github.com/rev112/hquby
|
32
31
|
licenses: []
|
32
|
+
metadata: {}
|
33
33
|
post_install_message:
|
34
34
|
rdoc_options: []
|
35
35
|
require_paths:
|
36
36
|
- lib
|
37
37
|
required_ruby_version: !ruby/object:Gem::Requirement
|
38
|
-
none: false
|
39
38
|
requirements:
|
40
|
-
- -
|
39
|
+
- - '>='
|
41
40
|
- !ruby/object:Gem::Version
|
42
41
|
version: '0'
|
43
42
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
44
|
-
none: false
|
45
43
|
requirements:
|
46
|
-
- -
|
44
|
+
- - '>='
|
47
45
|
- !ruby/object:Gem::Version
|
48
46
|
version: '0'
|
49
47
|
requirements: []
|
50
48
|
rubyforge_project:
|
51
|
-
rubygems_version:
|
49
|
+
rubygems_version: 2.0.0
|
52
50
|
signing_key:
|
53
|
-
specification_version:
|
51
|
+
specification_version: 4
|
54
52
|
summary: Simple HQ9+ implementation
|
55
53
|
test_files: []
|