2016/05/04(水) [n年前の日記]
#3 [emacs][ruby] NTEmacsからrbeautifyを呼び出すことはできないのだろうか
自分は普段、Rubyスクリプトを書く時に NTEmacs (Windows上で動くemacs)を使っているのだけど。Rubyで書かれたソースを整形してくれる、
_ruby-beautify
を、NTEmacs上から呼び出して使えたらな、と思ったわけで。
ググってみたら、なんだかそれっぽい関数を公開してる方が。
_emacs/ruby.el at master - freels/emacs
NTEmacs の ~/.emacs に書いて試してみたけど…。よく分からないエラーが出てしまう。Rubyのバージョンは、ruby 2.2.4p230。
DOS窓上で、ruby-beautify hoge.rb とか rbeautify hoge.rb と打った場合は、それっぽい結果が出力されるのだけど…。ん? それもそれで、おかしいな。どうしてUTF8で書いたソースがSJISで出力されてるんだろう…。
ググってみたら、なんだかそれっぽい関数を公開してる方が。
_emacs/ruby.el at master - freels/emacs
NTEmacs の ~/.emacs に書いて試してみたけど…。よく分からないエラーが出てしまう。Rubyのバージョンは、ruby 2.2.4p230。
C:/Ruby/Ruby22/lib/ruby/gems/2.2.0/gems/ruby-beautify-0.97.4/lib/ruby-beautify.rb:152:in `indented_line': invalid byte sequence in UTF-8 (ArgumentError) from C:/Ruby/Ruby22/lib/ruby/gems/2.2.0/gems/ruby-beautify-0.97.4/lib/ruby-beautify.rb:38:in `block in pretty_string' from C:/Ruby/Ruby22/lib/ruby/gems/2.2.0/gems/ruby-beautify-0.97.4/lib/ruby-beautify.rb:27:in `each' from C:/Ruby/Ruby22/lib/ruby/gems/2.2.0/gems/ruby-beautify-0.97.4/lib/ruby-beautify.rb:27:in `pretty_string' from C:/Ruby/Ruby22/lib/ruby/gems/2.2.0/gems/ruby-beautify-0.97.4/bin/rbeautify:24:in `print_or_die' from C:/Ruby/Ruby22/lib/ruby/gems/2.2.0/gems/ruby-beautify-0.97.4/bin/rbeautify:34:in `<top (required)>' from c:/Ruby/Ruby22/bin/rbeautify:23:in `load' from c:/Ruby/Ruby22/bin/rbeautify:23:in `<main>'エラーメッセージでググってみたけど、文字コードが関係してることぐらいしか分からん…。
DOS窓上で、ruby-beautify hoge.rb とか rbeautify hoge.rb と打った場合は、それっぽい結果が出力されるのだけど…。ん? それもそれで、おかしいな。どうしてUTF8で書いたソースがSJISで出力されてるんだろう…。
[ ツッコむ ]
以上です。