Fix behaviors for whitespaces

Also add a couple of tests.
diff --git a/parser.go b/parser.go
index f461646..13da4df 100644
--- a/parser.go
+++ b/parser.go
@@ -134,7 +134,7 @@
 		if len(line) == 0 {
 			break
 		} else if line[0] == '\t' {
-			ast.cmds = append(ast.cmds, string(bytes.TrimSpace(line)))
+			ast.cmds = append(ast.cmds, string(bytes.TrimLeft(line, " \t")))
 		} else {
 			p.unreadLine(line)
 			break