diff options
| author | Kaushal Subedi | 2015-10-26 21:00:44 -0600 | 
|---|---|---|
| committer | Kaushal Subedi | 2015-10-26 21:00:44 -0600 | 
| commit | c3aad4d448840ddefcb15fb689ecb69444a9a9f7 (patch) | |
| tree | 51b03088eddbaae63b392d7fd5c0b6fcd44f5fe2 /ast.go | |
| parent | c78a0df497330138e7938d183a6aff42f18a6466 (diff) | |
| download | gomove-c3aad4d448840ddefcb15fb689ecb69444a9a9f7.tar.bz2 | |
minor refactoring and added comments
Diffstat (limited to 'ast.go')
| -rw-r--r-- | ast.go | 76 | 
1 files changed, 36 insertions, 40 deletions
| @@ -8,7 +8,6 @@ import (  	"go/token"  	"io/ioutil"  	"os" -	"path"  	"strings"  	"github.com/mgutz/ansi" @@ -25,56 +24,53 @@ func ProcessFileAST(filePath string, from string, to string) {  	//Reset the color  	reset := ansi.ColorCode("reset") -	// If the file is a go file scan it -	if path.Ext(filePath) == ".go" { -		// New FileSet to parse the go file to -		fSet := token.NewFileSet() +	// New FileSet to parse the go file to +	fSet := token.NewFileSet() -		// Parse the file -		file, err := parser.ParseFile(fSet, filePath, nil, 0) -		if err != nil { -			fmt.Println(err) -		} +	// Parse the file +	file, err := parser.ParseFile(fSet, filePath, nil, 0) +	if err != nil { +		fmt.Println(err) +	} -		// Get the list of imports from the ast -		imports := astutil.Imports(fSet, file) +	// Get the list of imports from the ast +	imports := astutil.Imports(fSet, file) -		// Keep track of number of changes -		numChanges := 0 +	// Keep track of number of changes +	numChanges := 0 -		// Iterate through the imports array -		for _, mPackage := range imports { -			for _, mImport := range mPackage { -				// Since astutil returns the path string with quotes, remove those -				importString := mImport.Path.Value +	// Iterate through the imports array +	for _, mPackage := range imports { +		for _, mImport := range mPackage { +			// Since astutil returns the path string with quotes, remove those +			importString := mImport.Path.Value -				// If the path matches the oldpath, replace it with the new one -				if strings.Contains(importString, from) { -					//If it needs to be replaced, increase numChanges so we can write the file later -					numChanges++ +			// If the path matches the oldpath, replace it with the new one +			if strings.Contains(importString, from) { +				//If it needs to be replaced, increase numChanges so we can write the file later +				numChanges++ -					// Join the path of the import package with the remainder from the old one after removing the old import package -					replacePackage := strings.Replace(importString, from, to, -1) +				// Join the path of the import package with the remainder from the old one after removing the old import package +				replacePackage := strings.Replace(importString, from, to, -1) -					fmt.Println(red + "Updating import " + importString + " from file " + reset + white + filePath + reset + red + " to " + reset + white + replacePackage + reset) +				fmt.Println(red + "Updating import " + importString + " from file " + reset + white + filePath + reset + red + " to " + reset + white + replacePackage + reset) -					// Remove the old import and replace it with the replacement -					astutil.DeleteImport(fSet, file, importString) -					astutil.AddImport(fSet, file, replacePackage) -				} +				// Remove the old import and replace it with the replacement +				astutil.DeleteImport(fSet, file, importString) +				astutil.AddImport(fSet, file, replacePackage)  			}  		} +	} -		// If the number of changes are more than 0, write file -		if numChanges > 0 { -			// Print the new AST tree to a new output buffer -			var outputBuffer bytes.Buffer -			printer.Fprint(&outputBuffer, fSet, file) +	// If the number of changes are more than 0, write file +	if numChanges > 0 { +		// Print the new AST tree to a new output buffer +		var outputBuffer bytes.Buffer +		printer.Fprint(&outputBuffer, fSet, file) -			ioutil.WriteFile(filePath, outputBuffer.Bytes(), os.ModePerm) -			fmt.Printf(blackOnWhite+"File "+filePath+" saved after %d changes."+reset+"\n", numChanges) -		} else { -			fmt.Println(greenUnderline + "No changes needed on file " + filePath + reset) -		} +		ioutil.WriteFile(filePath, outputBuffer.Bytes(), os.ModePerm) +		fmt.Printf(blackOnWhite+"File "+filePath+" saved after %d changes."+reset+"\n", numChanges) +	} else { +		fmt.Println(greenUnderline + "No changes needed on file " + filePath + reset)  	}  } | 
