Hatena::Groupvimperator

vimpがあればなんでもできるっ! RSSフィード

 | 

2010ねん09がつ22にち、

auto_reload.jsで複数のファイルを監視対象とするための修正パッチ

| 03:59 | auto_reload.jsで複数のファイルを監視対象とするための修正パッチ - vimpがあればなんでもできるっ! を含むブックマーク はてなブックマーク - auto_reload.jsで複数のファイルを監視対象とするための修正パッチ - vimpがあればなんでもできるっ!

htmlとかcssとかjsが別ファイルになっているケースに対応できるように修正してみた。

:autoreload hoge.html
:autoreload fuga.css
  :

というように、監視対象ファイルを追加することができ、いずれかのファイルが更新されたらリロードされる。

Index: auto_reload.js
===================================================================
--- auto_reload.js	(revision 38514)
+++ auto_reload.js	(working copy)
@@ -71,15 +71,20 @@
       let (file = io.File(args.string)) {
         if (file.exists() && file.isFile()) {
           let filepath = file.path;
-          storage.lastModifiedTime = file.lastModifiedTime;
+          if (!storage.lastModifiedTime)
+            storage.lastModifiedTime = {}
+          storage.lastModifiedTime[filepath] = file.lastModifiedTime;
           time = 200;
           func = function () {
-            let file = io.File(filepath);
-            let mt = file.lastModifiedTime;
-            if (storage.lastModifiedTime == mt)
-              return;
-            storage.lastModifiedTime = mt;
-            reload();
+            for (let filepath in storage.lastModifiedTime) {
+              let file = io.File(filepath);
+              let mt = file.lastModifiedTime;
+              if (storage.lastModifiedTime[filepath] != mt) {
+                storage.lastModifiedTime[filepath] = mt;
+                reload();
+                break;
+              }
+            }
           };
         }
       }

追記

気が向いたら、!付きなら追加、無しなら今までどおりの挙動、という感じにしてCodereposにCommitするかもしれない(誰かしてくれたらうれしい)

トラックバック - http://vimperator.g.hatena.ne.jp/snaka72/20100922
 |