読者です 読者をやめる 読者になる 読者になる

エディタ用 Perl 型推論エンジン PlSense

JavaScript

僕はもともと VisualStudio で JavaScript を書いていて、 VisualStudio の、どのバージョンからだったからか忘れてしまいましたが、「これからは Web だ」って言い出したときに実装された JS 用の Intellisense がかなり高機能で、型推論ばりばりで、感動して JS 書いていたんですが、なにせ色々ありまして、私の開発機が会社も自宅も Linux になってしまったこともあり、しばらくお別れしておりました。

で、去年くらいに「 Intellisense と同じくらいすごい」と評判になったのが WebStorm で、確かに同じくらいすごい!(馬鹿っぽい感想)。

が、これもまた色々ありまして手放し、今は Emacs を使っておりまして、と言うのも、今は tern てのがありまして、これがですね、私 donate もしたんですが、同じくらいすごい!。

JS はこれで、かなり満足して書いております。

Perl

話はこれで終わるわけにはいかなくて、私は業務で Perl を書いております。 Perl にも同じようなものが欲しいと常々思っておりましたら、

PlSenseで定義元ジャンプができるようになりました - 死ぬまでの暇潰し

こちらのブログが見つかりました。むむっ…これは!。ということでインストール。package-list-packages で melpa から入れたら、 perl-completion を入れようとして anything が無くてインストールが止まり(僕は helm )、そのまま emacs 再起動すると入っちゃった perl-completion が anything がねーって怒るのでもう一回 package-list-packages から perl-completion を D した。

で…同じくらい…からちょっと下くらいにすごい!!

https://github.com/aki2o/plsense#restriction

今のバージョンで出来ないことは Restriction にちゃんと書いてあって、先日勤務先の @goccy さんも同じことを言っていたなあって感じで「 Perl なのでそこは難しい」って部分があってあーって感じでした。素直に書かれた依存モジュールなら気持ちよく読み込んでくれますが、ちょっと凝ったことやってるとだめかも。

初期バージョンのプロダクトで「今出来ないこと」がざっと書いてあるの、導入してみたときすごく助かります。これが書いて無いと色々やってみて「あれ…動かない…」とか「うーんこれが駄目なのか…?」とか自分でやってソース見てあーって思って「いつかは対応されるのかな、それともされないのかな…」とか「なんだかちょっとな…」って理由も無く敬遠したくなっちゃうところが、結構安心できます。

内部で PPI モジュール使っていて、これってすなわち @goccy さんがこれを Compiler::Lexer に置き換えたら速くなるよって言っていた奴だと思う。確かに今、ちょっと重いかも(でも、得られる機能に比べたら、現状で既に満足できる)。今日は使えるところで感動して終わったので、今後は中のコードを読んでみたい!