riでシンタックスハイライトする
なんとなくコピペしていたらできた。
RUBYOPT='-r ./to_rouge' RI_ROUGE=monokai.sublime ri --format=rouge --no-pager --no-gems String.scrub
作ってみたのだが、こういう出力フォーマットの追加がいまいちやりにくい感じの構造になっていて困った。
formatters = RDoc::Markup.constants.grep(/^To[A-Z][a-z]+$/).sort
formatters = formatters.sort.map do |formatter|
formatter.to_s.sub('To', '').downcase
end
formatters -= %w[html label test] # remove useless output formats
opt.on("--format=NAME", "-f",
"Uses the selected formatter. The default",
"formatter is bs for paged output and ansi",
"otherwise. Valid formatters are:",
formatters.join(' '), formatters) do |value|
options[:formatter] = RDoc::Markup.const_get "To#{value.capitalize}"
end
RUBYOPTで読み込ませているのは苦肉の策。RDocにはrdoc/discover.rb
というのがあるのだが、riにはないか。