quickrun.el 進捗 2011/DEC/18
outputterの拡張
Vim quickrunにある定義済みの outputter機能をいくつか実装しました。
利用できるのは以下の 6つです。
- browser(出力結果をブラウザで開く)
- buffer:buffername(出力を buffernameのバッファに行う)
- file:filename(出力を filenameに書きだす)
- variable:varname(出力を変数 varnameに代入する)
- message(出力を *Message*バッファに表示)
- null(出力を行わない)
buffer以外を指定した場合結果のバッファをポップアップしません。
HTMLの生成で生のソースを見るより、ブラウザで見たいというのに
使うのが主なんじゃないかなと思っています。
例を示します。以下では file local variableを使って指定しました。
これに対して quickrunを実行すると結果がブラウザで開かれます。
browse-urlを使っていますので、使われるブラウザはそれに準ずるものです。
#!perl use strict; use warnings; use Text::Xslate; use Data::Section::Simple qw(get_data_section); my $tx = Text::Xslate->new( syntax => 'Kolon' ); my $tmpl_arg = { quickrun => [ { name => 'quickrun.vim', author => 'thinca', url => 'https://github.com/thinca/vim-quickrun', }, { name => 'quickrun.el', author => 'Syohei Yoshida', url => 'https://github.com/syohex/emacs-quickrun', }, ], }; print $tx->render_string(get_data_section('tmpl.html'), $tmpl_arg); __DATA__ @@ tmpl.html <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta http-equiv="Content-Style-Type" content="text/css" /> <title></title> </head> <body> <h1>Quickrun</h1> <ul> : for $quickrun -> $q { <li><a href="<: $q.url :>"><: $q.name :></a> is developed by <: $q.author :></li> : } </ul> </body> </html> __END__ # # Local Variables: # quickrun-option-outputter: browser # End: #
ファイルへの出力例も示します。以下では qr_test.txtに出力が行われます。
#!perl use strict; use warnings; print "I love emacs\n"; print "You love emacs\n"; print "We love emacs\n"; # # Local Variables: # quickrun-option-outputter: file:qr_test.txt # End: #
その他修正
- 実行前にファイルを削除してしまう問題の修正
- recentfのリストが汚染されるので find-file-noselectの利用をやめる
- テンプレートパラメータに %d(ディレクトリ名に展開される)を追加
- リファクタリング
終わりに
Vimテクニックバイブルを見ながら作成していますが、runnerモジュールと
いう機能を除きだいたい実装できたのではないかと思います。あとはドキュメントを
しっかり書いて、EmacsWikiに書くという作業ですかね。英語は超苦手ですが、
頑張って書きます。
問題があれば issueトラッカーまでどうぞ。