summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authoraycabta <aycabta@gmail.com>2019-07-19 08:23:37 +0900
committeraycabta <aycabta@gmail.com>2019-07-19 08:23:41 +0900
commitc8ee44f44c0c7d333a33c62c811d1d0cdbc3554a (patch)
tree2c9ea924e6e2a6eeb59b2a46777dd724af82b6e2 /lib
parentd7fdf45a4ae1bcb6fac30a24b025d4f20149ba0a (diff)
Fix showing doc of "nil.to_s", nil doesn't have #name
Diffstat (limited to 'lib')
-rw-r--r--lib/irb/completion.rb2
-rw-r--r--lib/reline/line_editor.rb7
2 files changed, 8 insertions, 1 deletions
diff --git a/lib/irb/completion.rb b/lib/irb/completion.rb
index 84b1ad982c..f75dd0ebcd 100644
--- a/lib/irb/completion.rb
+++ b/lib/irb/completion.rb
@@ -237,7 +237,7 @@ module IRB
candidates.uniq!
end
if doc_namespace
- "#{rec.name}#{sep}#{candidates.find{ |i| i == message }}"
+ "#{rec.class.name}#{sep}#{candidates.find{ |i| i == message }}"
else
select_message(receiver, message, candidates, sep)
end
diff --git a/lib/reline/line_editor.rb b/lib/reline/line_editor.rb
index 2f60c76aee..a238e4954c 100644
--- a/lib/reline/line_editor.rb
+++ b/lib/reline/line_editor.rb
@@ -255,12 +255,15 @@ class Reline::LineEditor
move_cursor_up(@highest_in_all - 1 - @first_line_started_from)
@menu_info = nil
end
+ special_prompt = nil
if @vi_arg
prompt = "(arg: #{@vi_arg}) "
prompt_width = calculate_width(prompt)
+ special_prompt = prompt
elsif @searching_prompt
prompt = @searching_prompt
prompt_width = calculate_width(prompt)
+ special_prompt = prompt
else
prompt = @prompt
prompt_width = calculate_width(prompt, true)
@@ -272,6 +275,7 @@ class Reline::LineEditor
prompt_list = nil
if @prompt_proc
prompt_list = @prompt_proc.(whole_lines)
+ prompt_list[@line_index] = special_prompt if special_prompt
prompt = prompt_list[@line_index]
prompt_width = calculate_width(prompt, true)
end
@@ -303,6 +307,7 @@ class Reline::LineEditor
prompt_list = nil
if @prompt_proc
prompt_list = @prompt_proc.(new_lines)
+ prompt_list[@line_index] = special_prompt if special_prompt
prompt = prompt_list[@line_index]
prompt_width = calculate_width(prompt, true)
end
@@ -372,6 +377,7 @@ class Reline::LineEditor
prompt_list = nil
if @prompt_proc
prompt_list = @prompt_proc.(new_buffer)
+ prompt_list[@line_index] = special_prompt if special_prompt
prompt = prompt_list[@line_index]
prompt_width = calculate_width(prompt, true)
end
@@ -429,6 +435,7 @@ class Reline::LineEditor
prompt_list = nil
if @prompt_proc
prompt_list = @prompt_proc.(whole_lines)
+ prompt_list[@line_index] = special_prompt if special_prompt
prompt = prompt_list[@line_index]
prompt_width = calculate_width(prompt, true)
end