初めてelisp書いてみました。力技丸出しです。
C-c jでJavaScriptを書く状態を作る
バッファを上下に2分割して上はjs2-mode下はjs-console(Ejacs)を実行。
C-c j
リージョンをjs-consoleに渡して評価してもらう
JavaScriptのコードを入力
リージョンを選択し、C-c C-r
以上(w
ほんとはScheme-modeくらい評価方法が選択できたらいいんだけど取り合えずこれでいいや。
C-c jでjs2-modeとjs-consoleを起動
(defun js-other-window ()
"Run JavaScript on other window"
(interactive)
(split-window)
(let ((buf-name (buffer-name (current-buffer))))
(js2-mode)
(js-console)
(switch-to-buffer-other-window
(get-buffer-create buf-name)))) (define-key global-map
"\C-cj" 'js-other-window) |
リージョンを評価
(defun js-execute-region ()
"Execute region"
(interactive)
(let ((buf-name (buffer-name (current-buffer))))
(copy-region-as-kill (point-min)(point-max))
(let ((js-code (car kill-ring)))
(switch-to-buffer-other-window "*js*")
(js-console-exec-input (car kill-ring))
(js-console-display-output (switch-to-buffer-other-window buf-name))
))) |
(add-hook 'js2-mode-hook '(lambda ()
(local-set-key "\C-x\C-e" 'js-send-last-sexp)
(local-set-key "\C-\M-x" 'js-send-last-sexp-and-go)
(local-set-key "\C-cb" 'js-send-buffer)
(local-set-key "\C-c\C-b" 'js-send-buffer-and-go)
(local-set-key "\C-cl" 'js-load-file-and-go)
(local-set-key "\C-c\C-r" 'js-execute-region)
)) |
0 件のコメント:
コメントを投稿