diff -urN a/gopls/go.mod b/gopls/go.mod
--- a/gopls/go.mod 2019-10-05 15:31:08.989587605 -0400
+++ b/gopls/go.mod 1969-12-31 19:00:00.000000000 -0500
@@ -1,10 +0,0 @@
-module golang.org/x/tools/gopls
-
-go 1.11
-
-require (
-	golang.org/x/tools v0.0.0-20190918214516-5a1a30219888
-	honnef.co/go/tools v0.0.1-2019.2.3
-)
-
-replace golang.org/x/tools => ../
diff -urN a/gopls/go.sum b/gopls/go.sum
--- a/gopls/go.sum 2019-10-05 15:31:08.989587605 -0400
+++ b/gopls/go.sum 1969-12-31 19:00:00.000000000 -0500
@@ -1,24 +0,0 @@
-github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ=
-github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
-github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
-github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
-github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
-github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
-github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
-github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
-golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
-golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
-golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc=
-golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
-golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/sync v0.0.0-20190423024810-112230192c58 h1:8gQV6CLnAEikrhgkHFbMAEhagSSnXWGV915qUMm9mrU=
-golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
-golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7 h1:9zdDQZ7Thm29KFXgAX/+yaf3eVbP7djjWp/dXAppNCc=
-golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
-gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
-gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
-honnef.co/go/tools v0.0.1-2019.2.3 h1:3JgtbtFHMiCmsznwGVTUWbgGov+pVqnlf1dEJTNAXeM=
-honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=
diff -urN a/gopls/internal/hooks/analysis.go b/gopls/internal/hooks/analysis.go
--- a/gopls/internal/hooks/analysis.go 2019-10-05 15:31:08.989587605 -0400
+++ b/gopls/internal/hooks/analysis.go 1969-12-31 19:00:00.000000000 -0500
@@ -1,28 +0,0 @@
-// 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.
-
-package hooks
-
-import (
-	"golang.org/x/tools/go/analysis"
-	"golang.org/x/tools/internal/lsp/source"
-	"honnef.co/go/tools/simple"
-	"honnef.co/go/tools/staticcheck"
-	"honnef.co/go/tools/stylecheck"
-)
-
-func updateAnalyzers(v source.View, analyzers []*analysis.Analyzer) []*analysis.Analyzer {
-	if v.Options().StaticCheck {
-		for _, a := range simple.Analyzers {
-			analyzers = append(analyzers, a)
-		}
-		for _, a := range staticcheck.Analyzers {
-			analyzers = append(analyzers, a)
-		}
-		for _, a := range stylecheck.Analyzers {
-			analyzers = append(analyzers, a)
-		}
-	}
-	return analyzers
-}
diff -urN a/gopls/internal/hooks/hooks.go b/gopls/internal/hooks/hooks.go
--- a/gopls/internal/hooks/hooks.go 2019-10-05 15:31:08.989587605 -0400
+++ b/gopls/internal/hooks/hooks.go 1969-12-31 19:00:00.000000000 -0500
@@ -1,19 +0,0 @@
-// 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.
-
-// Package hooks adds all the standard gopls implementations.
-// This can be used in tests without needing to use the gopls main, and is
-// also the place to edit for custom builds of gopls.
-package hooks // import "golang.org/x/tools/gopls/internal/hooks"
-
-import (
-	"context"
-
-	"golang.org/x/tools/internal/lsp/cache"
-)
-
-func Install(ctx context.Context) context.Context {
-	cache.UpdateAnalyzers = updateAnalyzers
-	return ctx
-}
diff -urN a/gopls/main.go b/gopls/main.go
--- a/gopls/main.go 2019-10-05 15:31:08.989587605 -0400
+++ b/gopls/main.go 1969-12-31 19:00:00.000000000 -0500
@@ -1,24 +0,0 @@
-// 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.
-
-// The gopls command 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.
-package main // import "golang.org/x/tools/gopls"
-
-import (
-	"context"
-	"os"
-
-	"golang.org/x/tools/gopls/internal/hooks"
-	"golang.org/x/tools/internal/lsp/cmd"
-	"golang.org/x/tools/internal/tool"
-)
-
-func main() {
-	ctx := context.Background()
-	ctx = hooks.Install(ctx)
-	tool.Main(ctx, cmd.New("gopls", "", nil), os.Args[1:])
-}
diff -urN a/gopls/test/gopls_test.go b/gopls/test/gopls_test.go
--- a/gopls/test/gopls_test.go 2019-10-05 15:31:08.989587605 -0400
+++ b/gopls/test/gopls_test.go 1969-12-31 19:00:00.000000000 -0500
@@ -1,38 +0,0 @@
-// 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.
-
-package gopls_test
-
-import (
-	"context"
-	"os"
-	"testing"
-
-	"golang.org/x/tools/go/packages/packagestest"
-	"golang.org/x/tools/gopls/internal/hooks"
-	cmdtest "golang.org/x/tools/internal/lsp/cmd/test"
-	"golang.org/x/tools/internal/lsp/tests"
-	"golang.org/x/tools/internal/testenv"
-)
-
-func TestMain(m *testing.M) {
-	testenv.ExitIfSmallMachine()
-	os.Exit(m.Run())
-}
-
-func TestCommandLine(t *testing.T) {
-	packagestest.TestAll(t, testCommandLine)
-}
-
-func testCommandLine(t *testing.T, exporter packagestest.Exporter) {
-	const testdata = "../../internal/lsp/testdata"
-	if stat, err := os.Stat(testdata); err != nil || !stat.IsDir() {
-		t.Skip("testdata directory not present")
-	}
-	ctx := context.Background()
-	hooks.Install(ctx)
-	data := tests.Load(t, exporter, testdata)
-	defer data.Exported.Cleanup()
-	tests.Run(t, cmdtest.NewRunner(exporter, data, tests.Context(t)), data)
-}
