Skip to content

Commit

Permalink
Add mode_string to prompt calculation dependencies
Browse files Browse the repository at this point in the history
  • Loading branch information
tompng committed Mar 22, 2024
1 parent 9685db5 commit 64bdb66
Showing 1 changed file with 3 additions and 5 deletions.
8 changes: 3 additions & 5 deletions lib/reline/line_editor.rb
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ def set_pasting_state(in_pasting)
end
end

private def check_multiline_prompt(buffer)
private def check_multiline_prompt(buffer, mode_string)
if @vi_arg
prompt = "(arg: #{@vi_arg}) "
elsif @searching_prompt
Expand All @@ -97,7 +97,6 @@ def set_pasting_state(in_pasting)
prompt_list = @prompt_proc.(buffer).map { |pr| pr.gsub("\n", "\\n") }
prompt_list.map!{ prompt } if @vi_arg or @searching_prompt
prompt_list = [prompt] if prompt_list.empty?
mode_string = check_mode_string
prompt_list = prompt_list.map{ |pr| mode_string + pr } if mode_string
prompt = prompt_list[@line_index]
prompt = prompt_list[0] if prompt.nil?
Expand All @@ -109,7 +108,6 @@ def set_pasting_state(in_pasting)
end
prompt_list
else
mode_string = check_mode_string
prompt = mode_string + prompt if mode_string
[prompt] * buffer.size
end
Expand Down Expand Up @@ -319,8 +317,8 @@ def modified_lines
end

def prompt_list
with_cache(__method__, whole_lines, @vi_arg, @searching_prompt) do |lines|
check_multiline_prompt(lines)
with_cache(__method__, whole_lines, check_mode_string, @vi_arg, @searching_prompt) do |lines, mode_string|
check_multiline_prompt(lines, mode_string)
end
end

Expand Down

0 comments on commit 64bdb66

Please sign in to comment.