diff --git a/internal/cli/cmds.go b/internal/cli/cmds.go index 0865356b..c6afd9bc 100644 --- a/internal/cli/cmds.go +++ b/internal/cli/cmds.go @@ -357,6 +357,7 @@ func runAdd( maybeInstall(ctx, b, forceInstall) } + store.ClearGuesses(ctx, b) store.UpdateFileHashes(ctx, b) store.Write(ctx) } @@ -415,6 +416,7 @@ func runRemove(language string, args []string, upgrade bool, maybeInstall(ctx, b, forceInstall) } + store.ClearGuesses(ctx, b) store.UpdateFileHashes(ctx, b) store.Write(ctx) } diff --git a/internal/store/store.go b/internal/store/store.go index 7c945f04..15363a4d 100644 --- a/internal/store/store.go +++ b/internal/store/store.go @@ -208,6 +208,16 @@ func GuessWithCache(ctx context.Context, b api.LanguageBackend, forceGuess bool) } } +func ClearGuesses(ctx context.Context, b api.LanguageBackend) { + span, ctx := tracer.StartSpanFromContext(ctx, "ClearGuesses") + defer span.Finish() + + cache := getLanguageCache(b.Name, b.Alias) + + cache.GuessedImports = nil + cache.GuessedImportsHash = "" +} + // UpdateFileHashes caches the current states of the specfile and // lockfile. Neither file need exist. func UpdateFileHashes(ctx context.Context, b api.LanguageBackend) {