Pages

2013年3月31日日曜日

node.jsでEmacsからjavascriptを実行するelispを書いてみた。

node.jsの本を読んでいてふとEmacsからnode.jsでjavascriptを実行できたら便利と思いelispを書いてみました。popwin.elが必要です。それとv8-optionをhelmで表示するようにしたのでhelmもあると便利かもしれません。

インストール

el-getを利用していれば以下のコードでel-get-installできると思います。
もし利用していなければ、git cloneでクローンしてロードパスを通してください。

(app-to-list 'el-get-sources
(:name node-console
:type git
:url "https://github.com/yuutayamada/node-console"
:load-path "./"))


ロードパスを通したら、以下のコードを.emacsなどに設定します。
js2-modeの部分は利用しているjavascript-modeのメジャーモード名に変えてください。
またキーバインドも好きなものに変えてください。

(require 'node-console)
(eval-after-load "js2-mode"
'(progn
(define-key js2-mode-map (kbd "C-c C-c") 'node-console)))

利用法

node-consoleコマンド

nodeで-eオプションでコマンドの実行ができるので、Emacsで範囲選択している場合、
その範囲を実行します。
範囲選択していない場合は、そのバッファが.jsで終わる名前かnode-console-javascript-modeで指定したmajar-mode名の場合そのファイルをnodeで実行します。

C-uを押したあとnode-consoleコマンドを実行すると

helmで指定できるv8-optionsを表示します。
node-console-v8-optionsで何かしていれば色が変わります。
アクションを実行するとそのoptionのつけはずしができます。
helmでなんかやってみたかっただけなので、ちょっと微妙です。
optionを見るのにはいいかも。。。

TODO

NODE_ENVとかNODE_PATHとか読み込んだほうがいいのか迷い中。
http://d.hatena.ne.jp/Jxck/20120410/1334071898 このサイト見るとpackage.jsonの
中のscriptに書く場合もあるもよう。
node.jsやjavascriptの習慣に疎いので、よくわからにゃい。。。


0 件のコメント:

コメントを投稿