lib/pry-editline.rb in pry-editline-1.1.1 vs lib/pry-editline.rb in pry-editline-1.1.2
- old
+ new
@@ -46,11 +46,13 @@
ENV['INPUTRC'] = @file.path
end
def self.completion_proc
lambda do |s|
- if Readline.point == 0 && Readline.line_buffer =~ / $/
+ if Readline.respond_to?(:point) && Readline.respond_to?(:line_buffer) &&
+ Readline.point == 0 && Readline.line_buffer =~ / $/
+ then
require 'tempfile'
Tempfile.open(['readline-','.rb']) do |f|
f.puts(Readline.line_buffer[0..-3])
f.close
system("#{editor} #{f.path}")
@@ -64,10 +66,14 @@
end
if defined?(Pry::InputCompleter)
PryEditline.hijack_inputrc
- class <<Pry::InputCompleter
+ # Pry 0.9.10 way:
+ completer = Pry::InputCompleter
+ # Pry >0.9.10 way:
+ completer = Pry.config.completer if Pry.config.respond_to? :completer
+ class << completer
unless method_defined?(:build_completion_proc_without_edit)
alias build_completion_proc_without_edit build_completion_proc
def build_completion_proc(*args)
PryEditline.completion_proc(&build_completion_proc_without_edit(*args))