Giant blob of minor changes
[dotfiles/.git] / .config / coc / extensions / coc-go-data / tools / pkg / mod / golang.org / x / tools@v0.0.0-20201028153306-37f0764111ff / cmd / gorename / main.go
diff --git a/.config/coc/extensions/coc-go-data/tools/pkg/mod/golang.org/x/tools@v0.0.0-20201028153306-37f0764111ff/cmd/gorename/main.go b/.config/coc/extensions/coc-go-data/tools/pkg/mod/golang.org/x/tools@v0.0.0-20201028153306-37f0764111ff/cmd/gorename/main.go
new file mode 100644 (file)
index 0000000..b1b895c
--- /dev/null
@@ -0,0 +1,55 @@
+// The gorename command performs precise type-safe renaming of
+// identifiers in Go source code.
+//
+// Run with -help for usage information, or view the Usage constant in
+// package golang.org/x/tools/refactor/rename, which contains most of
+// the implementation.
+//
+package main // import "golang.org/x/tools/cmd/gorename"
+
+import (
+       "flag"
+       "fmt"
+       "go/build"
+       "log"
+       "os"
+
+       "golang.org/x/tools/go/buildutil"
+       "golang.org/x/tools/refactor/rename"
+)
+
+var (
+       offsetFlag = flag.String("offset", "", "file and byte offset of identifier to be renamed, e.g. 'file.go:#123'.  For use by editors.")
+       fromFlag   = flag.String("from", "", "identifier to be renamed; see -help for formats")
+       toFlag     = flag.String("to", "", "new name for identifier")
+       helpFlag   = flag.Bool("help", false, "show usage message")
+)
+
+func init() {
+       flag.Var((*buildutil.TagsFlag)(&build.Default.BuildTags), "tags", buildutil.TagsFlagDoc)
+       flag.BoolVar(&rename.Force, "force", false, "proceed, even if conflicts were reported")
+       flag.BoolVar(&rename.Verbose, "v", false, "print verbose information")
+       flag.BoolVar(&rename.Diff, "d", false, "display diffs instead of rewriting files")
+       flag.StringVar(&rename.DiffCmd, "diffcmd", "diff", "diff command invoked when using -d")
+}
+
+func main() {
+       log.SetPrefix("gorename: ")
+       log.SetFlags(0)
+       flag.Parse()
+       if len(flag.Args()) > 0 {
+               log.Fatal("surplus arguments")
+       }
+
+       if *helpFlag || (*offsetFlag == "" && *fromFlag == "" && *toFlag == "") {
+               fmt.Println(rename.Usage)
+               return
+       }
+
+       if err := rename.Main(&build.Default, *offsetFlag, *fromFlag, *toFlag); err != nil {
+               if err != rename.ConflictError {
+                       log.Fatal(err)
+               }
+               os.Exit(1)
+       }
+}