Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 27 additions & 0 deletions src/scip-lib/registry/BUILD.bazel
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
load("@bazel_gomock//rules:gomock.bzl", "gomock")
load("@rules_go//go:def.bzl", "go_library", "go_test")

go_library(
Expand All @@ -20,6 +21,32 @@ go_library(
],
)

gomock(
name = "registrymock",
out = "registry_mock_for_test.go",
interfaces = [
"Registry",
],
library = ":go_default_library",
mockgen_tool = "@org_uber_go_mock//mockgen",
package = "registrymock",
self_package = "github.com/uber/scip-lsp/src/scip-lib/registry/registrymock",
)

go_library(
name = "go_registry_gomock_library",
srcs = [":registrymock"],
importpath = "github.com/uber/scip-lsp/src/scip-lib/registry/registrymock",
visibility = ["//visibility:public"],
deps = [
":go_default_library",
"//src/scip-lib/model:go_default_library",
"@dev_lsp_go_protocol//:go_default_library",
"@dev_lsp_go_uri//:go_default_library",
"@org_uber_go_mock//gomock:go_default_library",
],
)

go_test(
name = "go_default_test",
srcs = ["partial_registry_test.go"],
Expand Down
1 change: 1 addition & 0 deletions src/scip-lib/registry/registrymock/BUILD.bazel
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# gazelle:exclude dummy.go
1 change: 1 addition & 0 deletions src/scip-lib/registry/registrymock/dummy.go
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
package dummy
3 changes: 3 additions & 0 deletions src/ulsp/controller/scip/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ go_library(
"//src/scip-lib/mapper:go_default_library",
"//src/scip-lib/model:go_default_library",
"//src/scip-lib/partialloader:go_default_library",
"//src/scip-lib/registry:go_default_library",
"//src/ulsp/controller/diagnostics:go_default_library",
"//src/ulsp/controller/doc-sync:go_default_library",
"//src/ulsp/entity:go_default_library",
Expand Down Expand Up @@ -59,6 +60,8 @@ go_test(
"//src/scip-lib/mapper:go_default_library",
"//src/scip-lib/model:go_default_library",
"//src/scip-lib/partialloader:go_loader_gomock_library",
"//src/scip-lib/registry:go_default_library",
"//src/scip-lib/registry:go_registry_gomock_library",
"//src/ulsp/controller/diagnostics:go_diagnostics_gomock_library",
"//src/ulsp/controller/doc-sync:go_default_library",
"//src/ulsp/controller/doc-sync:go_docsync_gomock_library",
Expand Down
11 changes: 6 additions & 5 deletions src/ulsp/controller/scip/scip.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import (
tally "github.com/uber-go/tally/v4"
"github.com/uber/scip-lsp/src/scip-lib/mapper"
"github.com/uber/scip-lsp/src/scip-lib/model"
"github.com/uber/scip-lsp/src/scip-lib/registry"
diagnostics "github.com/uber/scip-lsp/src/ulsp/controller/diagnostics"
docsync "github.com/uber/scip-lsp/src/ulsp/controller/doc-sync"
"github.com/uber/scip-lsp/src/ulsp/entity"
Expand Down Expand Up @@ -67,15 +68,15 @@ type controller struct {
stats tally.Scope
documents docsync.Controller
diagnostics diagnostics.Controller
registries map[string]Registry
registries map[string]registry.Registry
registriesMu sync.Mutex
watcher *fsnotify.Watcher
once sync.Once
fs fs.UlspFS
initialLoad chan bool
watchCloser chan bool
loadedIndices map[string]string
newScipRegistry func(workspaceRoot, indexFolder string) Registry
newScipRegistry func(workspaceRoot, indexFolder string) registry.Registry
debounceTimers map[string]*time.Timer
debounceMu sync.Mutex
indexNotifier *IndexNotifier
Expand Down Expand Up @@ -107,22 +108,22 @@ func New(p Params) (Controller, error) {
stats: p.Stats.SubScope("scip"),
documents: p.PluginDocSync,
diagnostics: p.PluginDiagnostics,
registries: make(map[string]Registry),
registries: make(map[string]registry.Registry),
watcher: watcher,
fs: p.FS,
initialLoad: make(chan bool, 1),
watchCloser: make(chan bool, 1),
loadedIndices: make(map[string]string),
debounceTimers: make(map[string]*time.Timer),
indexNotifier: NewIndexNotifier(notifier.NewNotificationManager(notificationManagerParams)),
newScipRegistry: func(workspaceRoot, indexFolder string) Registry {
newScipRegistry: func(workspaceRoot, indexFolder string) registry.Registry {
p.Logger.Infof("Creating new SCIP registry for %q, index folder %q", workspaceRoot, indexFolder)
return NewPartialScipRegistry(workspaceRoot, indexFolder, p.Logger.Named("fast-loader"))
},
}, nil
}

func (c *controller) createNewScipRegistry(workspaceRoot string, monorepo entity.MonorepoName) Registry {
func (c *controller) createNewScipRegistry(workspaceRoot string, monorepo entity.MonorepoName) registry.Registry {
indexFolder := path.Join(workspaceRoot, ".scip")
if len(c.configs[monorepo].Scip.Directories) > 0 {
indexFolder = path.Join(workspaceRoot, c.configs["_default"].Scip.Directories[0])
Expand Down
Loading
Loading