.gitignore added
[dotfiles/.git] / .config / coc / extensions / coc-go-data / tools / pkg / mod / golang.org / x / tools@v0.1.1-0.20210319172145-bda8f5cee399 / cmd / gorename / main.go
1 // Copyright 2014 The Go Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style
3 // license that can be found in the LICENSE file.
4
5 // The gorename command performs precise type-safe renaming of
6 // identifiers in Go source code.
7 //
8 // Run with -help for usage information, or view the Usage constant in
9 // package golang.org/x/tools/refactor/rename, which contains most of
10 // the implementation.
11 //
12 package main // import "golang.org/x/tools/cmd/gorename"
13
14 import (
15         "flag"
16         "fmt"
17         "go/build"
18         "log"
19         "os"
20
21         "golang.org/x/tools/go/buildutil"
22         "golang.org/x/tools/refactor/rename"
23 )
24
25 var (
26         offsetFlag = flag.String("offset", "", "file and byte offset of identifier to be renamed, e.g. 'file.go:#123'.  For use by editors.")
27         fromFlag   = flag.String("from", "", "identifier to be renamed; see -help for formats")
28         toFlag     = flag.String("to", "", "new name for identifier")
29         helpFlag   = flag.Bool("help", false, "show usage message")
30 )
31
32 func init() {
33         flag.Var((*buildutil.TagsFlag)(&build.Default.BuildTags), "tags", buildutil.TagsFlagDoc)
34         flag.BoolVar(&rename.Force, "force", false, "proceed, even if conflicts were reported")
35         flag.BoolVar(&rename.Verbose, "v", false, "print verbose information")
36         flag.BoolVar(&rename.Diff, "d", false, "display diffs instead of rewriting files")
37         flag.StringVar(&rename.DiffCmd, "diffcmd", "diff", "diff command invoked when using -d")
38 }
39
40 func main() {
41         log.SetPrefix("gorename: ")
42         log.SetFlags(0)
43         flag.Parse()
44         if len(flag.Args()) > 0 {
45                 log.Fatal("surplus arguments")
46         }
47
48         if *helpFlag || (*offsetFlag == "" && *fromFlag == "" && *toFlag == "") {
49                 fmt.Println(rename.Usage)
50                 return
51         }
52
53         if err := rename.Main(&build.Default, *offsetFlag, *fromFlag, *toFlag); err != nil {
54                 if err != rename.ConflictError {
55                         log.Fatal(err)
56                 }
57                 os.Exit(1)
58         }
59 }