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(
|
@completion_journey_data = CompletionJourneyData.new(
|
||||||
preposing, postposing,
|
preposing, postposing,
|
||||||
[target] + list.select{ |item| item.start_with?(target) }, 0)
|
[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
|
@completion_state = CompletionState::JOURNEY
|
||||||
else
|
else
|
||||||
case direction
|
case direction
|
||||||
|
@ -1190,13 +1200,13 @@ class Reline::LineEditor
|
||||||
@completion_journey_data.pointer = 0
|
@completion_journey_data.pointer = 0
|
||||||
end
|
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
|
|
||||||
@cursor_max = calculate_width(@line)
|
|
||||||
@cursor = calculate_width(line_to_pointer)
|
|
||||||
@byte_pointer = line_to_pointer.bytesize
|
|
||||||
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
|
||||||
|
@cursor_max = calculate_width(@line)
|
||||||
|
@cursor = calculate_width(line_to_pointer)
|
||||||
|
@byte_pointer = line_to_pointer.bytesize
|
||||||
end
|
end
|
||||||
|
|
||||||
private def run_for_operators(key, method_symbol, &block)
|
private def run_for_operators(key, method_symbol, &block)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue