rb-readline 0.5.0 → 0.5.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/CHANGES +10 -0
- data/Rakefile +4 -41
- data/bench/_rl_adjust_point.rb +26 -0
- data/lib/rb-readline.rb +7 -12
- data/lib/rbreadline.rb +16 -13
- data/lib/rbreadline/version.rb +3 -0
- data/lib/readline.rb +6 -1
- data/rb-readline.gemspec +51 -0
- data/test/{filesystem_completion_helper.rb → support/filesystem_completion_helper.rb} +0 -0
- data/test/test_completion.rb +7 -8
- data/test/test_filename_completion_proc.rb +5 -4
- data/test/test_history.rb +4 -4
- data/test/test_rbreadline.rb +2 -2
- data/test/test_readline.rb +27 -15
- metadata +27 -14
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 22a7b0650c257f0c07ce2b14614fba15a32ec32d
|
4
|
+
data.tar.gz: 0c7d5218c36eba3fd676f598353608f03986546d
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 95285288724524d3ecf7becb97180f02c624d8b3e04f4db151a5a40a72a04c8518139a40894bc3d413fd952dd3a9558a1c280b4044d234f654cf502e0b9a25bf
|
7
|
+
data.tar.gz: f3dbc801aadabf874b0abbaf35f76b5fc825b4e256e6eebddda2ea7fc6b146fe349c53a5e2ef4c7dc446719b7f28555fc139cf77978ca347b6b93f7fbe3d2414
|
data/CHANGES
CHANGED
@@ -1,3 +1,13 @@
|
|
1
|
+
=== 0.5.1 / 2014-01-08
|
2
|
+
|
3
|
+
* Bugfixes:
|
4
|
+
* Fix double require issues. Fixes #93, #95 [yui-knk]
|
5
|
+
* Use Fiddle to remove deprecation warning of DL. Fixes #90, #87 [Olipro]
|
6
|
+
|
7
|
+
* Internal:
|
8
|
+
* Bundler-friendly repository (gemspec and Gemfile) to ease usage
|
9
|
+
and development.
|
10
|
+
|
1
11
|
=== 0.5.0 / 2013-04-28
|
2
12
|
|
3
13
|
* Enhancements:
|
data/Rakefile
CHANGED
@@ -1,51 +1,14 @@
|
|
1
1
|
require 'rubygems/package_task'
|
2
2
|
require 'rake/testtask'
|
3
3
|
|
4
|
-
|
5
|
-
require 'rbreadline'
|
6
|
-
|
7
|
-
spec = Gem::Specification.new do |s|
|
8
|
-
# basic information
|
9
|
-
s.name = "rb-readline"
|
10
|
-
s.version = RbReadline::RB_READLINE_VERSION
|
11
|
-
s.platform = Gem::Platform::RUBY
|
12
|
-
|
13
|
-
# description and details
|
14
|
-
s.summary = 'Pure-Ruby Readline Implementation'
|
15
|
-
s.description = "The readline library provides a pure Ruby implementation of the GNU readline C library, as well as the Readline extension that ships as part of the standard library."
|
16
|
-
|
17
|
-
# requirements
|
18
|
-
s.required_ruby_version = ">= 1.8.6"
|
19
|
-
s.required_rubygems_version = ">= 1.3.5"
|
20
|
-
|
21
|
-
# development dependencies
|
22
|
-
s.add_development_dependency 'rake'
|
23
|
-
|
24
|
-
# components, files and paths
|
25
|
-
s.files = FileList["{examples,lib,test}/**/*.rb",
|
26
|
-
"README.rdoc", "LICENSE", "CHANGES", "Rakefile", "setup.rb"]
|
27
|
-
|
28
|
-
s.require_path = 'lib'
|
29
|
-
|
30
|
-
# documentation
|
31
|
-
s.rdoc_options << '--main' << 'README.rdoc' << '--title' << 'Rb-Readline - Documentation'
|
32
|
-
|
33
|
-
s.extra_rdoc_files = %w(README.rdoc LICENSE CHANGES)
|
34
|
-
|
35
|
-
# project information
|
36
|
-
s.homepage = 'http://github.com/luislavena/rb-readline'
|
37
|
-
s.licenses = ['BSD']
|
38
|
-
|
39
|
-
# author and contributors
|
40
|
-
s.authors = ['Park Heesob', 'Daniel Berger', 'Luis Lavena']
|
41
|
-
s.email = ['phasis@gmail.com', 'djberg96@gmail.com', 'luislavena@gmail.com']
|
42
|
-
end
|
4
|
+
spec = Gem::Specification.load "rb-readline.gemspec"
|
43
5
|
|
44
6
|
Gem::PackageTask.new(spec) do |pkg|
|
45
|
-
pkg.need_zip = true
|
46
7
|
end
|
47
8
|
|
48
9
|
Rake::TestTask.new do |t|
|
10
|
+
t.libs << "test"
|
11
|
+
|
49
12
|
t.warning = true
|
50
13
|
t.verbose = true
|
51
14
|
end
|
@@ -53,7 +16,7 @@ end
|
|
53
16
|
desc "Install the gem locally"
|
54
17
|
task :install => :gem do
|
55
18
|
Dir.chdir(File.dirname(__FILE__)) do
|
56
|
-
sh %{gem install --local pkg/#{spec.name}-#{spec.version}}
|
19
|
+
sh %{gem install --local pkg/#{spec.name}-#{spec.version}.gem}
|
57
20
|
end
|
58
21
|
end
|
59
22
|
|
@@ -0,0 +1,26 @@
|
|
1
|
+
$LOAD_PATH.unshift "#{File.dirname(__FILE__)}/../lib/"
|
2
|
+
require 'rbreadline'
|
3
|
+
require 'benchmark'
|
4
|
+
|
5
|
+
N = 100_000
|
6
|
+
|
7
|
+
Benchmark.bmbm do |x|
|
8
|
+
x.report do
|
9
|
+
N.times { RbReadline._rl_adjust_point("a", 0) }
|
10
|
+
end
|
11
|
+
x.report do
|
12
|
+
N.times { RbReadline._rl_adjust_point("a", 1) }
|
13
|
+
end
|
14
|
+
x.report do
|
15
|
+
N.times { RbReadline._rl_adjust_point("aaaaaaaaaaaaaaaaaaaaa", 0) }
|
16
|
+
end
|
17
|
+
x.report do
|
18
|
+
N.times { RbReadline._rl_adjust_point("aaaaaaaaaaaaaaaaaaaaa", 40) }
|
19
|
+
end
|
20
|
+
x.report do
|
21
|
+
N.times { RbReadline._rl_adjust_point("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", 0) }
|
22
|
+
end
|
23
|
+
x.report do
|
24
|
+
N.times { RbReadline._rl_adjust_point("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", 40) }
|
25
|
+
end
|
26
|
+
end
|
data/lib/rb-readline.rb
CHANGED
@@ -1,23 +1,18 @@
|
|
1
1
|
# encoding: US-ASCII
|
2
2
|
|
3
|
+
# Stub file to conform gem name (rb-readline)
|
4
|
+
# It forces require of bundled readline instead of any already existing
|
5
|
+
# in your Ruby installation. It will avoid any possible warning caused
|
6
|
+
# by double require.
|
3
7
|
# Remove any Readline module that has been defined so far. This is primarily to
|
4
|
-
# catch cases where
|
8
|
+
# catch cases where GNU Readline has already been required. Unfortunately, it
|
5
9
|
# is not without problems - any calls to methods like Readline.completion_proc
|
6
10
|
# will need to be re-made.
|
7
|
-
if defined? Readline
|
11
|
+
if (defined? Readline) && (! defined? RbReadline)
|
8
12
|
if $DEBUG
|
9
13
|
STDERR.puts "Removing old Readline module - redefined by rb-readline."
|
10
14
|
end
|
11
15
|
Object.send(:remove_const, :Readline)
|
12
|
-
end
|
13
|
-
|
14
|
-
# This forces require of bundled readline instead of any already existing
|
15
|
-
# in your Ruby installation.
|
16
|
-
|
17
|
-
# Stub file to conform gem name (rb-readline)
|
18
|
-
# It forces require of bundled readline instead of any already existing
|
19
|
-
# in your Ruby installation. It will avoid any possible warning caused
|
20
|
-
# by double require.
|
21
|
-
unless defined?(RbReadline)
|
22
16
|
require File.join(File.dirname(__FILE__), 'readline')
|
23
17
|
end
|
18
|
+
|
data/lib/rbreadline.rb
CHANGED
@@ -8,6 +8,8 @@
|
|
8
8
|
# Copyright (C) 2009 by Park Heesob phasis@gmail.com
|
9
9
|
#
|
10
10
|
|
11
|
+
require "rbreadline/version"
|
12
|
+
|
11
13
|
class Fixnum
|
12
14
|
def ord; self; end
|
13
15
|
end
|
@@ -17,7 +19,6 @@ module RbReadline
|
|
17
19
|
|
18
20
|
RL_LIBRARY_VERSION = "5.2"
|
19
21
|
RL_READLINE_VERSION = 0x0502
|
20
|
-
RB_READLINE_VERSION = "0.5.0"
|
21
22
|
|
22
23
|
EOF = "\xFF"
|
23
24
|
ESC = "\C-["
|
@@ -1090,7 +1091,10 @@ module RbReadline
|
|
1090
1091
|
@current_readline_init_include_level = 0
|
1091
1092
|
@current_readline_init_lineno = 0
|
1092
1093
|
|
1093
|
-
ENV["HOME"] ||= ENV["HOMEDRIVE"]
|
1094
|
+
ENV["HOME"] ||= "#{ENV["HOMEDRIVE"]}#{ENV["HOMEPATH"]}"
|
1095
|
+
if !File.directory? ENV["HOME"]
|
1096
|
+
raise RuntimeError.new("HOME environment variable (or HOMEDRIVE and HOMEPATH) must be set and point to a directory")
|
1097
|
+
end
|
1094
1098
|
|
1095
1099
|
@directory = nil
|
1096
1100
|
@filename = nil
|
@@ -4366,25 +4370,24 @@ module RbReadline
|
|
4366
4370
|
if RUBY_VERSION < '1.9.1'
|
4367
4371
|
require 'Win32API'
|
4368
4372
|
else
|
4369
|
-
require '
|
4373
|
+
require 'fiddle'
|
4370
4374
|
class Win32API
|
4371
4375
|
DLL = {}
|
4372
|
-
TYPEMAP = {"0" =>
|
4376
|
+
TYPEMAP = {"0" => Fiddle::TYPE_VOID, "S" => Fiddle::TYPE_VOIDP, "I" => Fiddle::TYPE_LONG}
|
4377
|
+
CALL_TYPE_TO_ABI = {:stdcall => 1, :cdecl => 1, nil => 1} #Taken from Fiddle::Importer
|
4373
4378
|
|
4374
4379
|
def initialize(dllname, func, import, export = "0", calltype = :stdcall)
|
4375
|
-
@proto =
|
4376
|
-
handle = DLL[dllname] ||=
|
4377
|
-
@func =
|
4380
|
+
@proto = import.join.tr("VPpNnLlIi", "0SSI").chomp('0').split('')
|
4381
|
+
handle = DLL[dllname] ||= Fiddle.dlopen(dllname)
|
4382
|
+
@func = Fiddle::Function.new(handle[func], TYPEMAP.values_at(*@proto), CALL_TYPE_TO_ABI[calltype])
|
4378
4383
|
end
|
4379
4384
|
|
4380
4385
|
def call(*args)
|
4381
|
-
import = @proto.split("")
|
4382
4386
|
args.each_with_index do |x, i|
|
4383
|
-
args[i], = [x == 0 ? nil : x].pack("p").unpack("l!*") if
|
4384
|
-
args[i], = [x].pack("I").unpack("i") if
|
4387
|
+
args[i], = [x == 0 ? nil : x].pack("p").unpack("l!*") if @proto[i] == "S"
|
4388
|
+
args[i], = [x].pack("I").unpack("i") if @proto[i] == "I"
|
4385
4389
|
end
|
4386
|
-
|
4387
|
-
return ret || 0
|
4390
|
+
@func.call(*args).to_i || 0
|
4388
4391
|
end
|
4389
4392
|
|
4390
4393
|
alias Call call
|
@@ -8186,7 +8189,7 @@ module RbReadline
|
|
8186
8189
|
case (c)
|
8187
8190
|
when "\C-W"
|
8188
8191
|
rl_unix_word_rubout(1, c)
|
8189
|
-
when "\C-
|
8192
|
+
when "\C-U"
|
8190
8193
|
rl_unix_line_discard(1, c)
|
8191
8194
|
when RETURN,NEWLINE
|
8192
8195
|
return 0
|
data/lib/readline.rb
CHANGED
@@ -24,11 +24,16 @@ module Readline
|
|
24
24
|
# Because this is meant as an interactive console interface, they should
|
25
25
|
# generally not be redirected.
|
26
26
|
#
|
27
|
+
# If you would like to add non-visible characters to the the prompt (for
|
28
|
+
# example to add colors) you must prepend the character \001 (^A) before
|
29
|
+
# each sequence of non-visible characters and add the character \002 (^B)
|
30
|
+
# after, otherwise line wrapping may not work properly.
|
31
|
+
#
|
27
32
|
# Example:
|
28
33
|
#
|
29
34
|
# loop{ Readline.readline('> ') }
|
30
35
|
#
|
31
|
-
def readline(prompt, add_history=nil)
|
36
|
+
def readline(prompt = "", add_history = nil)
|
32
37
|
if $stdin.closed?
|
33
38
|
raise IOError, "stdin closed"
|
34
39
|
end
|
data/rb-readline.gemspec
ADDED
@@ -0,0 +1,51 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
|
3
|
+
libdir = File.join(File.dirname(__FILE__), 'lib')
|
4
|
+
$LOAD_PATH.unshift(libdir) unless $LOAD_PATH.include?(libdir)
|
5
|
+
|
6
|
+
require "rbreadline/version"
|
7
|
+
|
8
|
+
spec = Gem::Specification.new do |s|
|
9
|
+
# basic information
|
10
|
+
s.name = "rb-readline"
|
11
|
+
s.version = RbReadline::RB_READLINE_VERSION
|
12
|
+
s.platform = Gem::Platform::RUBY
|
13
|
+
|
14
|
+
# description and details
|
15
|
+
s.summary = 'Pure-Ruby Readline Implementation'
|
16
|
+
s.description = "The readline library provides a pure Ruby implementation of the GNU readline C library, as well as the Readline extension that ships as part of the standard library."
|
17
|
+
|
18
|
+
# project information
|
19
|
+
s.homepage = 'http://github.com/luislavena/rb-readline'
|
20
|
+
s.licenses = ['BSD']
|
21
|
+
|
22
|
+
# author and contributors
|
23
|
+
s.authors = ['Park Heesob', 'Daniel Berger', 'Luis Lavena']
|
24
|
+
s.email = ['phasis@gmail.com', 'djberg96@gmail.com', 'luislavena@gmail.com']
|
25
|
+
|
26
|
+
# requirements
|
27
|
+
s.required_ruby_version = ">= 1.8.6"
|
28
|
+
s.required_rubygems_version = ">= 1.3.5"
|
29
|
+
|
30
|
+
# development dependencies
|
31
|
+
s.add_development_dependency 'rake'
|
32
|
+
s.add_development_dependency "minitest", "~> 5.2"
|
33
|
+
|
34
|
+
# components, files and paths
|
35
|
+
s.files = Dir[
|
36
|
+
"{bench,examples,lib,test}/**/*.rb",
|
37
|
+
"README.rdoc",
|
38
|
+
"LICENSE",
|
39
|
+
"CHANGES",
|
40
|
+
"Rakefile",
|
41
|
+
"rb-readline.gemspec",
|
42
|
+
"setup.rb"
|
43
|
+
]
|
44
|
+
|
45
|
+
s.require_path = 'lib'
|
46
|
+
|
47
|
+
# documentation
|
48
|
+
s.rdoc_options << '--main' << 'README.rdoc' << '--title' << 'Rb-Readline - Documentation'
|
49
|
+
|
50
|
+
s.extra_rdoc_files = %w(README.rdoc LICENSE CHANGES)
|
51
|
+
end
|
File without changes
|
data/test/test_completion.rb
CHANGED
@@ -1,9 +1,10 @@
|
|
1
|
-
require "
|
2
|
-
require 'timeout'
|
1
|
+
require "minitest/autorun"
|
3
2
|
require "readline"
|
4
|
-
require "#{File.expand_path(File.dirname(__FILE__))}/filesystem_completion_helper"
|
5
3
|
|
6
|
-
|
4
|
+
require 'timeout'
|
5
|
+
require "support/filesystem_completion_helper"
|
6
|
+
|
7
|
+
class TestCompletion < Minitest::Test
|
7
8
|
include RbReadline
|
8
9
|
include FilesystemCompletionHelper
|
9
10
|
|
@@ -55,10 +56,8 @@ class TestCompletion < Test::Unit::TestCase
|
|
55
56
|
def test__find_completion_word_doesnt_hang_on_completer_quote_character
|
56
57
|
set_line_buffer "#{@dir_with_spaces.path}filename\\ w"
|
57
58
|
|
58
|
-
|
59
|
-
|
60
|
-
assert_equal([ "\000", true, "\000" ], _rl_find_completion_word)
|
61
|
-
end
|
59
|
+
Timeout::timeout(3) do
|
60
|
+
assert_equal([ "\000", true, "\000" ], _rl_find_completion_word)
|
62
61
|
end
|
63
62
|
end
|
64
63
|
|
@@ -1,10 +1,11 @@
|
|
1
|
-
require '
|
2
|
-
require 'fileutils'
|
1
|
+
require 'minitest/autorun'
|
3
2
|
require 'readline'
|
3
|
+
|
4
|
+
require 'fileutils'
|
4
5
|
require "rbconfig"
|
5
|
-
require "
|
6
|
+
require "support/filesystem_completion_helper"
|
6
7
|
|
7
|
-
class TestFilenameCompletionProc < Test
|
8
|
+
class TestFilenameCompletionProc < Minitest::Test
|
8
9
|
include FilesystemCompletionHelper
|
9
10
|
|
10
11
|
def setup
|
data/test/test_history.rb
CHANGED
@@ -1,15 +1,15 @@
|
|
1
|
-
require "
|
1
|
+
require "minitest/autorun"
|
2
2
|
require "readline"
|
3
3
|
|
4
|
-
class TestHistory < Test
|
4
|
+
class TestHistory < Minitest::Test
|
5
5
|
|
6
6
|
# RbReadline::HISTORY_WORD_DELIMITERS.inspect
|
7
7
|
# => " \t\n;&()|<>"
|
8
8
|
# RbReadline::HISTORY_QUOTE_CHARACTERS = "\"'`"
|
9
9
|
# => "\"'`"
|
10
10
|
def test_history_arg_extract
|
11
|
-
|
12
|
-
|
11
|
+
assert_raises(RuntimeError) { RbReadline.history_arg_extract("!", "$", "one two three") }
|
12
|
+
assert_raises(RuntimeError) { RbReadline.history_arg_extract("$", "!", "one two three") }
|
13
13
|
|
14
14
|
assert_equal "one", RbReadline.history_arg_extract("$", "$", "one")
|
15
15
|
assert_equal "three", RbReadline.history_arg_extract("$", "$", "one two three")
|
data/test/test_rbreadline.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
|
-
require '
|
1
|
+
require 'minitest/autorun'
|
2
2
|
require 'rbreadline'
|
3
3
|
|
4
|
-
class TestRbReadline < Test
|
4
|
+
class TestRbReadline < Minitest::Test
|
5
5
|
def test_versions
|
6
6
|
assert_equal('5.2', RbReadline::RL_LIBRARY_VERSION)
|
7
7
|
assert_equal(0x0502, RbReadline::RL_READLINE_VERSION)
|
data/test/test_readline.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
|
-
require '
|
1
|
+
require 'minitest/autorun'
|
2
2
|
require 'readline'
|
3
3
|
|
4
|
-
class TestReadline < Test
|
4
|
+
class TestReadline < Minitest::Test
|
5
5
|
def setup
|
6
6
|
@proc = proc{ |s| ['alpha', 'beta'].grep( /^#{Regexp.escape(s)}/) }
|
7
7
|
end
|
@@ -14,8 +14,12 @@ class TestReadline < Test::Unit::TestCase
|
|
14
14
|
assert_respond_to(Readline, :readline)
|
15
15
|
end
|
16
16
|
|
17
|
-
def
|
18
|
-
|
17
|
+
def test_readline_with_default_parameters_does_not_error
|
18
|
+
thread = Thread.new { Readline.readline }
|
19
|
+
sleep 0.1
|
20
|
+
assert thread.alive?
|
21
|
+
ensure
|
22
|
+
thread.kill
|
19
23
|
end
|
20
24
|
|
21
25
|
def test_input_basic
|
@@ -23,7 +27,8 @@ class TestReadline < Test::Unit::TestCase
|
|
23
27
|
end
|
24
28
|
|
25
29
|
def test_input
|
26
|
-
|
30
|
+
Readline.input = $stdin
|
31
|
+
assert_equal $stdin, RbReadline.rl_instream
|
27
32
|
end
|
28
33
|
|
29
34
|
def test_output_basic
|
@@ -31,7 +36,8 @@ class TestReadline < Test::Unit::TestCase
|
|
31
36
|
end
|
32
37
|
|
33
38
|
def test_output
|
34
|
-
|
39
|
+
Readline.output = $stdout
|
40
|
+
assert_equal $stdout, RbReadline.rl_outstream
|
35
41
|
end
|
36
42
|
|
37
43
|
def test_completion_proc_get_basic
|
@@ -43,7 +49,8 @@ class TestReadline < Test::Unit::TestCase
|
|
43
49
|
end
|
44
50
|
|
45
51
|
def test_completion_proc
|
46
|
-
|
52
|
+
Readline.completion_proc = @proc
|
53
|
+
assert_equal @proc, Readline.completion_proc
|
47
54
|
end
|
48
55
|
|
49
56
|
def test_completion_case_fold_get_basic
|
@@ -59,12 +66,13 @@ class TestReadline < Test::Unit::TestCase
|
|
59
66
|
end
|
60
67
|
|
61
68
|
def test_completion_case_fold_changed
|
62
|
-
|
69
|
+
Readline.completion_case_fold = false
|
70
|
+
refute Readline.completion_case_fold
|
63
71
|
end
|
64
72
|
|
65
73
|
def test_completion_proc_expected_errors
|
66
|
-
|
67
|
-
|
74
|
+
assert_raises(ArgumentError) { Readline.completion_proc = 1 }
|
75
|
+
assert_raises(ArgumentError) { Readline.completion_proc = 'a' }
|
68
76
|
end
|
69
77
|
|
70
78
|
def test_vi_editing_mode_basic
|
@@ -88,7 +96,7 @@ class TestReadline < Test::Unit::TestCase
|
|
88
96
|
end
|
89
97
|
|
90
98
|
def test_completion_append_character_set
|
91
|
-
|
99
|
+
assert_equal " ", Readline.completion_append_character
|
92
100
|
end
|
93
101
|
|
94
102
|
def test_completion_append_character
|
@@ -123,7 +131,9 @@ class TestReadline < Test::Unit::TestCase
|
|
123
131
|
end
|
124
132
|
|
125
133
|
def test_basic_word_break_characters_set
|
126
|
-
|
134
|
+
chars = " \t\n\"\\'`@$><=|&{("
|
135
|
+
Readline.basic_word_break_characters = chars
|
136
|
+
assert_equal chars, Readline.basic_word_break_characters
|
127
137
|
end
|
128
138
|
|
129
139
|
def test_basic_quote_characters_get_basic
|
@@ -131,8 +141,7 @@ class TestReadline < Test::Unit::TestCase
|
|
131
141
|
end
|
132
142
|
|
133
143
|
def test_basic_quote_characters_get
|
134
|
-
|
135
|
-
assert_equal("\"'", Readline.basic_quote_characters)
|
144
|
+
assert_equal "\"'", Readline.basic_quote_characters
|
136
145
|
end
|
137
146
|
|
138
147
|
def test_basic_quote_characters_set_basic
|
@@ -140,7 +149,9 @@ class TestReadline < Test::Unit::TestCase
|
|
140
149
|
end
|
141
150
|
|
142
151
|
def test_basic_quote_characters_set
|
143
|
-
|
152
|
+
chars = "\"'"
|
153
|
+
Readline.basic_quote_characters = chars
|
154
|
+
assert_equal chars, Readline.basic_quote_characters
|
144
155
|
end
|
145
156
|
|
146
157
|
def test_some_character_methods
|
@@ -181,6 +192,7 @@ class TestReadline < Test::Unit::TestCase
|
|
181
192
|
assert_equal [ "123abc", nil, nil ], Readline.readline_attempted_completion_function("123A", 0, 3)
|
182
193
|
|
183
194
|
ensure
|
195
|
+
Readline.completion_case_fold = false
|
184
196
|
Readline.module_eval do
|
185
197
|
@completion_proc = nil
|
186
198
|
end
|
metadata
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rb-readline
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
5
|
-
prerelease:
|
4
|
+
version: 0.5.1
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Park Heesob
|
@@ -11,24 +10,36 @@ authors:
|
|
11
10
|
autorequire:
|
12
11
|
bindir: bin
|
13
12
|
cert_chain: []
|
14
|
-
date:
|
13
|
+
date: 2014-01-08 00:00:00.000000000 Z
|
15
14
|
dependencies:
|
16
15
|
- !ruby/object:Gem::Dependency
|
17
16
|
name: rake
|
18
17
|
requirement: !ruby/object:Gem::Requirement
|
19
|
-
none: false
|
20
18
|
requirements:
|
21
|
-
- -
|
19
|
+
- - '>='
|
22
20
|
- !ruby/object:Gem::Version
|
23
21
|
version: '0'
|
24
22
|
type: :development
|
25
23
|
prerelease: false
|
26
24
|
version_requirements: !ruby/object:Gem::Requirement
|
27
|
-
none: false
|
28
25
|
requirements:
|
29
|
-
- -
|
26
|
+
- - '>='
|
30
27
|
- !ruby/object:Gem::Version
|
31
28
|
version: '0'
|
29
|
+
- !ruby/object:Gem::Dependency
|
30
|
+
name: minitest
|
31
|
+
requirement: !ruby/object:Gem::Requirement
|
32
|
+
requirements:
|
33
|
+
- - ~>
|
34
|
+
- !ruby/object:Gem::Version
|
35
|
+
version: '5.2'
|
36
|
+
type: :development
|
37
|
+
prerelease: false
|
38
|
+
version_requirements: !ruby/object:Gem::Requirement
|
39
|
+
requirements:
|
40
|
+
- - ~>
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
version: '5.2'
|
32
43
|
description: The readline library provides a pure Ruby implementation of the GNU readline
|
33
44
|
C library, as well as the Readline extension that ships as part of the standard
|
34
45
|
library.
|
@@ -43,13 +54,15 @@ extra_rdoc_files:
|
|
43
54
|
- LICENSE
|
44
55
|
- CHANGES
|
45
56
|
files:
|
57
|
+
- bench/_rl_adjust_point.rb
|
46
58
|
- examples/example_readline.rb
|
47
59
|
- examples/example_readline_with_completion.rb
|
48
60
|
- examples/tinyirb.rb
|
49
61
|
- lib/rb-readline.rb
|
62
|
+
- lib/rbreadline/version.rb
|
50
63
|
- lib/rbreadline.rb
|
51
64
|
- lib/readline.rb
|
52
|
-
- test/filesystem_completion_helper.rb
|
65
|
+
- test/support/filesystem_completion_helper.rb
|
53
66
|
- test/test_completion.rb
|
54
67
|
- test/test_filename_completion_proc.rb
|
55
68
|
- test/test_history.rb
|
@@ -59,10 +72,12 @@ files:
|
|
59
72
|
- LICENSE
|
60
73
|
- CHANGES
|
61
74
|
- Rakefile
|
75
|
+
- rb-readline.gemspec
|
62
76
|
- setup.rb
|
63
77
|
homepage: http://github.com/luislavena/rb-readline
|
64
78
|
licenses:
|
65
79
|
- BSD
|
80
|
+
metadata: {}
|
66
81
|
post_install_message:
|
67
82
|
rdoc_options:
|
68
83
|
- --main
|
@@ -72,21 +87,19 @@ rdoc_options:
|
|
72
87
|
require_paths:
|
73
88
|
- lib
|
74
89
|
required_ruby_version: !ruby/object:Gem::Requirement
|
75
|
-
none: false
|
76
90
|
requirements:
|
77
|
-
- -
|
91
|
+
- - '>='
|
78
92
|
- !ruby/object:Gem::Version
|
79
93
|
version: 1.8.6
|
80
94
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
95
|
requirements:
|
83
|
-
- -
|
96
|
+
- - '>='
|
84
97
|
- !ruby/object:Gem::Version
|
85
98
|
version: 1.3.5
|
86
99
|
requirements: []
|
87
100
|
rubyforge_project:
|
88
|
-
rubygems_version:
|
101
|
+
rubygems_version: 2.0.14
|
89
102
|
signing_key:
|
90
|
-
specification_version:
|
103
|
+
specification_version: 4
|
91
104
|
summary: Pure-Ruby Readline Implementation
|
92
105
|
test_files: []
|