この記事は (bouzuya) PureScript Advent Calendar 2016 の 9 日目だ。 (bouzuya) PureScript Advent Calendar 2016 は bouzuya の PureScript 学習の記録だ。
- ← 8 日目『 PureScript by Example 3 章の後半を読む - Qiita 』
- → 10 日目『 PureScript by Example 4 章の前半を読む - Qiita 』
概要
今日は PureScript by Example をお休みして、PureScript IDE の話を書く。
Wiki の Editor and tool support
PureScript に対するエディタやツールのサポートは Wiki - Editor and tool support にまとめられている。
ざっと眺めてみる。
ぼくは pulp
を npm run-scripts 経由で使っているのと、 VS Code: Visual Studio Code の拡張として PureScript IDE と PureScript Language Support を使っている。
各種エディタ用のものが挙げられている。ほかにもいくつか挙げられている。
- Grunt は DEPRECATED 。
- Gulp は npm run-scripts と
pulp
で足りなくなったら。 - psvm-js Version Manager 。
npm i -g purescript
を避けて project local なので不要。 - purs-loader WebPack の Loader 。たぶん JavaScript + Source Map を食わせれば十分なので不要。
- psc-pane よく分からない。
- purescript-psa よく分からない。
- pscid ウォッチャー。
npm
にあるものを使うので、とりあえずは不要。
psc-package
などを中心として npm
を捨てたら状況が変わってきそう。
PureScript IDE (VS Code)
ぼくが使っている VS Code の拡張は次のとおりだ。
- nwolverson/vscode-ide-purescript / PureScript IDE
- nwolverson/vscode-language-purescript / PureScript Language Support
PureScript IDE は PureScript Language Support に依存しているので、 PureScript IDE だけを気にすれば良さそうだ。
設定は "purescript.addNpmPath": true,
だけ入れている。 npm i -g purescript
を避けているので、 $(npm bin)
を PATH に入れてもらえないと困る。
Mac OS X で使っている範囲だと Ctrl+Space を押すといい感じに補完してくれる。import
すべき候補を挙げてくれたりする。ツールチップも出るし、Cmd+Click で定義にジャンプできたりもする。内部的には、元は kRITZCREEK/psc-ide 、現在は purescript/purescript に統合された psc-ide-server
/ psc-ide-client
を使っているようだ。
Pursuit や PSCI のサポートは特にない。気が向いたら開発に参加するかも。
まとめ
ちょっと手を抜いて、 VS Code での PureScript IDE という拡張を紹介した。
参考
- Wiki - Editor and tool support
- nwolverson/vscode-ide-purescript
- nwolverson/vscode-language-purescript
- Visual Studio Marketplace - PureScript IDE
- Visual Studio Marketplace - PureScript Language Support
- purescript/purescript
- kRITZCREEK/psc-ide
次回以降の TODO
- PureScript by Example & PureScript Language Guide を読み進める
- Tagged Unions / Newtype
psc-package
- 24 Days of PureScript, 2016
- 24 Days of PureScript, 2014
- 某氏の記事の紹介
- github.com/purescript のコードを読む
- github.com/purescript-node のコードを読む
- github.com/purescript-contrib のコードを読む