Syntastic + Rubocop + Ruby2.1.2で上手く動かないので対処した
この記事はQiitaの記事をエクスポートしたものです。内容が古くなっている可能性があります。
Ruby2.1.2で開発しているプロジェクトでSyntastic + Rubocopが上手く動かなかったので対処した。
Syntasticが構文解析に使っているgemのgithub.com/whitequark/parserはRubyのバージョンをチェックしていて、パッチレベルでの最新版以外では警告を出す。
$ rubocop -v warning: parser/current is loading parser/ruby21, which recognizes warning: 2.1.5-compliant syntax, but you are running 2.1.2. 0.29.1
警告が出るとSyntasticはRubocopをチェッカーから外してしまう。
ちなみに認識されているチェッカーは :SyntasticInfo
を実行すると確認できる。
対処法1
Rubyのバージョンを上げる。
parserのv2.2.0.3
ではRuby 2.1.xの場合2.1.5
だけが警告を出さない。
ref: https://github.com/whitequark/parser/blob/72401442432cb7ae1909b1f980b1dab3c4cad422/lib/parser/current.rb#L31
対処法2
parserとRubocopのバージョンを下げる。
Ruby: 2.1.2
parser: 2.2.0.pre.5
Rubocop: 0.26.1
1, 2, 3, 11, 12 みたいな数字をソートする
$ ls 123_1.txt 123_11.txt 123_12.txt 123_13.txt 123_2.txt 123_3.txt
$ ls | sort -t '_' -k 2n 123_1.txt 123_2.txt 123_3.txt 123_11.txt 123_12.txt 123_13.txt
RubyでUTF8, UTF16のファイルをどちらか気にせず読む
対象のファイルがUTF8だったりUTF16だったりする時に何も考えずeach_line
で読み込む方法がわからないのでわかったらここに書く
UTF-16はBOM必須なので判別して
File.open(<path>, 'rb:UTF-16')
として読む
Firefoxがアップデートして はてなブックマーク Firefox 拡張が動かなかったのでGithubから入れた
Vimperatorプラグインの let 再宣言エラーの修正 by teramako · Pull Request #12 · hatena/hatena-bookmark-xul · GitHub
取り込まれるまではこれを使わせてもらうことにした。
ghq get teramako/hatena-bookmark-xul cd ~/src/github.com/teramako/hatena-bookmark-xul git checkout fix-vimp rake create_extension_xpi cp ./xpi/*.xpi ~/Desktop