Как сделать историю `reverse-i-search`, используя fzf в консоли irb или pry
Я осмотрелся, не могу найти в любом случае использовать fzf для поиска истории в консоли IRB или Pry. Есть ли способ сделать это?
1 ответ
Посмотрев вокруг, я понял, что завершение команды связано с GNU Readline, а затем я нашел чистую рубиновую реализацию Readline, на самом деле довольно просто заставить fzf работать в pry с RbReadline
, что я должен сделать, это переписать RbReadline
метод класса rl_reverse_search_history
, который срабатывает, когда мы нажимаем Ctrl + R в консоли pry.
Резюме, что я сделал:
Установите rb-readline
gem install rb-readline
Изменить ваш
.pryrc
Добавь этоrequire 'rb-readline' def RbReadline.rl_reverse_search_history(sign, key) rl_insert_text `cat ~/.pry_history | fzf --tac | tr '\n' ' '` end
rl_insert_text
вставляет результат, выбранный в fzf, в терминал после курсора.