@@ -34,12 +34,12 @@ func main() {
34
34
log .Fatalf ("Failed to parse file: %v" , err )
35
35
}
36
36
37
- var startLine , endLine int
37
+ var start , end int
38
38
ast .Inspect (node , func (n ast.Node ) bool {
39
39
fn , ok := n .(* ast.FuncDecl )
40
40
if ok && fn .Name .Name == functionName {
41
- startLine = fset .Position (fn .Pos ()).Line
42
- endLine = fset .Position (fn .End ()).Line
41
+ start = fset .Position (fn .Pos ()).Line
42
+ end = fset .Position (fn .End ()).Line
43
43
return false
44
44
}
45
45
return true
@@ -54,7 +54,7 @@ func main() {
54
54
buf := new (bytes.Buffer )
55
55
scanner := bufio .NewScanner (file )
56
56
for l := 1 ; scanner .Scan (); {
57
- if l < startLine || l > endLine {
57
+ if l < start || l > end {
58
58
if _ , err := buf .Write (append (scanner .Bytes (), '\n' )); err != nil {
59
59
log .Fatalf ("Failed to write to buffer: %v" , err )
60
60
}
@@ -71,7 +71,11 @@ func main() {
71
71
log .Fatalf ("Failed to format source: %v" , err )
72
72
}
73
73
// write to file
74
- if err := os .WriteFile (fileName , b , 0644 ); err != nil {
74
+ info , err := file .Stat ()
75
+ if err != nil {
76
+ log .Fatalf ("Failed to get file info: %v" , err )
77
+ }
78
+ if err := os .WriteFile (fileName , b , info .Mode ()); err != nil {
75
79
log .Fatalf ("Failed to write to file: %v" , err )
76
80
}
77
81
}
0 commit comments