2011年4月8日 星期五

Vim - cascading

由於 setter 通常不回傳值,因此利用 setter 回傳物件本身,再接著呼叫該物件其他 method 的方式,就叫做 cascading 。

cascading 最普遍的一個範例就是 jQuery, 譬如:

$('div').css({ border:'1px solid #ccc' }).click( function() { }).fadeIn();

有的時候 cascading 接得太長,又沒分斷行,手動再去分段與 indent 實在太煩人了。

因此寫了這個 plugin, cascading.vim

https://github.com/c9s/cascading.vim

只要在寫完一段 statement 之後按下 -- 便可自動依照 filetype 來將 statement 依照 cascading 分段。

譬如:



不過目前 filetype 只大概的支援 ruby, perl, php ,在 indent 的部份是假設使用者使用 expandtab 的狀況下 indent,其他狀況還未處理。 待有需求再加上。

As people said , patches are welcome.

2011年4月3日 星期日

Git - Show Changed Files n days ago

用以產生某段時間內所修改的檔案清單

$ git log --name-only --pretty="format:" --since "1 days ago" | sort | uniq

使用:

$ git file-changed --since "2 days ago"

檔案 git-file-changed 內容: