Ruby
Windows
pry
pryrc

pry on Windowsでページャーにlessを使う

More than 1 year has passed since last update.

問題

pryをwindowsで使うとなぜか最初の出力時に
情報: 与えられたパターンのファイルが見つかりませんでした。
というエラーメッセージ?が出るのが煩わしかったので調べたところ
where lessをエラーメッセージ抑制せずに使っていました。

pryのデフォルト(文字通り失敗)ページャーの挙動の横幅の広い文字列を上手くページングできない挙動にストレス溜まってた事もあり詳しく調べてみると
どうも、初期設定的な意味でのデフォルトページャーはless
それがないからとりあえずコレでも使っとけなのが内蔵ページャーらしいです
(たぶん開発者はlessなしの挙動をまともにテストしてないんじゃないかなぁ)

そんな訳でlessならMSYS2に入ってるだろうって事でなんとかしてみました

~/.pryrcを編集

.pryrc
# Windowsの場合
if /mswin(?!ce)|mingw|cygwin|bccwin/ === RUBY_PLATFORM
  #微妙に不便な1行目の出力を消す
  puts

  # PAGER
  ENV['PATH'] = 'C:\Program Files\Git\usr\bin;' + ENV['PATH']
end

解説

最初のputs
]
の抑制
Git for WindowsのMSYS2(のless)をPATHに登録することでlessをページャーとして利用している

ちなみに

pryrc
ENV['PAGER'] = 'more'

moreをページャーとして利用できるがあまり利点はない