|  | // Copyright 2019 The Go Authors. All rights reserved. | 
|  | // Use of this source code is governed by a BSD-style | 
|  | // license that can be found in the LICENSE file. | 
|  |  | 
|  | // Gopls (pronounced “go please”) is an LSP server for Go. | 
|  | // The Language Server Protocol allows any text editor | 
|  | // to be extended with IDE-like features; | 
|  | // see https://langserver.org/ for details. | 
|  | // | 
|  | // See https://github.com/golang/tools/blob/master/gopls/README.md | 
|  | // for the most up-to-date documentation. | 
|  | package main // import "golang.org/x/tools/gopls" | 
|  |  | 
|  | //go:generate go run doc/generate.go | 
|  |  | 
|  | import ( | 
|  | "context" | 
|  | "os" | 
|  |  | 
|  | "golang.org/x/tools/gopls/internal/cmd" | 
|  | "golang.org/x/tools/gopls/internal/hooks" | 
|  | "golang.org/x/tools/gopls/internal/telemetry" | 
|  | versionpkg "golang.org/x/tools/gopls/internal/version" | 
|  | "golang.org/x/tools/internal/tool" | 
|  | ) | 
|  |  | 
|  | var version = "" // if set by the linker, overrides the gopls version | 
|  |  | 
|  | func main() { | 
|  | versionpkg.VersionOverride = version | 
|  |  | 
|  | telemetry.CounterOpen() | 
|  | telemetry.StartCrashMonitor() | 
|  | ctx := context.Background() | 
|  | tool.Main(ctx, cmd.New(hooks.Options), os.Args[1:]) | 
|  | } |