What have you found for these years?

2009-02-02

trailing whitespace

非常好:

Stage this hunk [y/n/a/d/s/e/?]? y
:27: trailing whitespace.

warning: 1 line adds whitespace errors.

git 真的是越來越強大了,連這也有 warning!
大家要養成好習慣啊,不要弄一堆詭異的 trailing whitespace.
可以用 source-tools st:strip XD

http://github.com/godfat/source-tools

這東西會做以下幾件事:

1. strip trailing whitespace
2. 把所有的 CRLF 都轉成 LF(windows 滾)
3. 刪除 utf-8 BOM(windows 滾)
4. 如果檔案最後一行沒有 newline, 則補上(最後留一空行是好習慣)
5. 把所有的 tab 都轉成 space. 可以指定 tab 要轉幾個 space:

source-tools st:strip[4]

source-tools st:strip spaces=4

預設是 2.

會對所有事先定義好的檔案執行,包含 .txt, .rb, .cpp, ...等等。
寫好這個之後,我拿去跑之前別人寫的 project,
然後就會看到恐怖的 Stripping message XD

接著 commit 可以看到 +1xxx lines -1xxx lines 感覺很爽...

有了 source-tools st:strip, 別人丟亂七八糟的文字檔也沒關係了 @_@

曾經還想做自動 iconv -f big5-hkscs -t utf-8
不過這個比較麻煩,要判斷編碼,沒有 100% 的方法...
好在後來很少再看到 big5 了。至於 CRLF 和 utf-8 BOM,
還有 tab 的問題就常有,所以才順手一起寫上去。

0 retries:

Post a Comment

All texts are licensed under CC Attribution 3.0