rb-readline 0.5.0 → 0.5.1
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/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: []
|