mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
[ruby/reline] Completion journey starts with one of candidates
First one is just original string.
ccb70cc240
This commit is contained in:
parent
18c0814fe0
commit
fdc005e54e
1 changed files with 16 additions and 6 deletions
|
@ -1176,6 +1176,16 @@ class Reline::LineEditor
|
|||
@completion_journey_data = CompletionJourneyData.new(
|
||||
preposing, postposing,
|
||||
[target] + list.select{ |item| item.start_with?(target) }, 0)
|
||||
if @completion_journey_data.list.size == 1
|
||||
@completion_journey_data.pointer = 0
|
||||
else
|
||||
case direction
|
||||
when :up
|
||||
@completion_journey_data.pointer = @completion_journey_data.list.size - 1
|
||||
when :down
|
||||
@completion_journey_data.pointer = 1
|
||||
end
|
||||
end
|
||||
@completion_state = CompletionState::JOURNEY
|
||||
else
|
||||
case direction
|
||||
|
@ -1190,6 +1200,7 @@ class Reline::LineEditor
|
|||
@completion_journey_data.pointer = 0
|
||||
end
|
||||
end
|
||||
end
|
||||
completed = @completion_journey_data.list[@completion_journey_data.pointer]
|
||||
@line = @completion_journey_data.preposing + completed + @completion_journey_data.postposing
|
||||
line_to_pointer = @completion_journey_data.preposing + completed
|
||||
|
@ -1197,7 +1208,6 @@ class Reline::LineEditor
|
|||
@cursor = calculate_width(line_to_pointer)
|
||||
@byte_pointer = line_to_pointer.bytesize
|
||||
end
|
||||
end
|
||||
|
||||
private def run_for_operators(key, method_symbol, &block)
|
||||
if @waiting_operator_proc
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue