diff options
Diffstat (limited to 'main.go')
| -rw-r--r-- | main.go | 17 | 
1 files changed, 15 insertions, 2 deletions
| @@ -26,6 +26,10 @@ func main() {  			Name:  "file, f",  			Usage: "only move imports in a file",  		}, +		cli.StringFlag{ +			Name:  "safe-mode, s", +			Usage: "run program in safe mode (comments will be wiped)", +		},  	}  	app.Action = func(c *cli.Context) { @@ -35,7 +39,7 @@ func main() {  		to := c.Args().Get(1)  		if file != "" { -			ProcessFileNative(file, from, to) +			ProcessFile(file, from, to, c)  		} else {  			ScanDir(dir, from, to, c)  		} @@ -54,7 +58,7 @@ func ScanDir(dir string, from string, to string, c *cli.Context) {  		filepath.Walk(dir, func(filePath string, info os.FileInfo, err error) error {  			// Only process go files  			if path.Ext(filePath) == ".go" { -				ProcessFileNative(filePath, from, to) +				ProcessFile(filePath, from, to, c)  			}  			return nil  		}) @@ -64,3 +68,12 @@ func ScanDir(dir string, from string, to string, c *cli.Context) {  	}  } + +// ProcessFile processes file according to what mode is chosen +func ProcessFile(filePath string, from string, to string, c *cli.Context) { +	if c.String("safe-mode") == "true" { +		ProcessFileAST(filePath, from, to) +	} else { +		ProcessFileNative(filePath, from, to) +	} +} | 
