NULL::something

Login via flickr, はてな, TypeKey.

2006-07-31

自動リロードで開発をアジャイルにするたった一つの方法!

vim の保存と同時にIE/Opera on Windows をリロードするデモ

遠隔オートリロード
動画と説明
reload.rb
本体
reload-config.yaml
設定

みたいなのの変化版。下地をバイト先をちまちま作って、使いにくかったのでスクラッチから結局書き直した。同じように HTTP 鯖を webrick で立てるやつです。

dl で win32api を読んでる。使うのは PostMessage。でもなんか、SetForegroundWindow がないとだめだったり、あるとでしゃばってきたり、なくても普通に動いたりと怪しいのでウゴカネーってときはそのへんみたらいいかも。あと mswin32 版じゃないと SEGV する。

EnumWindows で列挙して、タイトルがソレっぽいやつに対して F5 を送るだけ。Fx はこの方法だとリロードされない。残念。

設定の chain でリクエストあったときにさらにリクエストを出すことができるので、こいつのトリガひくだけで、ma.la さんの Safari のスクリプトも同時にひけます。


vim 側

command! AutoReloadOFF let b:autoReload_disable = 1
command! AutoReloadON let b:autoReload_disable = 0

augroup AutoReload
    au!
    autocmd BufUnload,FileWritePost,BufWritePost * call <SID>AutoReload()
augroup END

function! s:AutoReload(...)
    " Check enable
    if exists('b:autoReload_disable') && b:autoReload_disable != 0
        return
    endif
    silent exe "!GET 'http://nina:4321/reload' > /dev/null"
endfunction

Comments (2)

's image
ne1 says:
 
2008-06-15T00:03:49+09:00
's image
ne1 says:
 
2008-06-15T00:03:49+09:00

Trackback URI: http://lowreal.net/logs/2006/07/31/1.trackback

NULL

RSS feed meter for http://lowreal.net/logs/latest

Alternates

  1. RSS 1.0
  2. Atom 1.0

Generated with Taglibro

この日記は Taglibro と呼ばれる XML ベースの XSLT をテンプレートとして使ったシステムを使っています。現在の Taglibro は Ruby, ruby-xslt, libxml-ruby による実装です。ソースコードはとりあえず公開していません。