@@ -100,19 +100,26 @@ func suggestWorkUnitNames(ctx context.Context, toComplete state.WorkUnitName) []
100100}
101101
102102func discoverRepositories (ctx context.Context , vcs api.VersionControlSystems ) (current api.Repository , all map [state.RepoName ]api.Repository ) {
103- repos := make (map [state.RepoName ]api.Repository )
103+ all = make (map [state.RepoName ]api.Repository )
104+ var srv tmux.Server
105+ var curSesh tmux.Session
104106 if sesh := tmux .MaybeCurrentSession (); sesh != nil {
105- st , err := state .New (ctx , sesh .Server (), vcs )
107+ srv = sesh .Server ()
108+ curSesh = sesh
109+ } else {
110+ srv = tmux .DefaultServer ()
111+ }
112+
113+ st , err := state .New (ctx , srv , vcs )
114+ if err != nil {
115+ slog .Warn ("Could not determine repositories from tmux server." , "server" , srv , "error" , err )
116+ } else if curSesh != nil {
117+ all = st .Repositories ()
118+ repo , _ , err := st .WorkUnit (ctx , curSesh )
106119 if err != nil {
107- slog .Warn ("Could not determine repositories from tmux server ." , "server" , sesh . Server () , "error" , err )
120+ slog .Warn ("Could not determine current repository from tmux." , "server" , curSesh , "error" , err )
108121 } else {
109- repos = st .Repositories ()
110- repo , _ , err := st .WorkUnit (ctx , sesh )
111- if err != nil {
112- slog .Warn ("Could not determine current repository from tmux." , "server" , sesh .Server (), "error" , err )
113- } else {
114- return repo , repos
115- }
122+ return repo , all
116123 }
117124 }
118125
@@ -121,10 +128,10 @@ func discoverRepositories(ctx context.Context, vcs api.VersionControlSystems) (c
121128 cur , err := vcs .MaybeCurrentRepository (ctx )
122129 if err != nil {
123130 slog .Warn ("Could not determine current repository." , "error" , err )
124- return nil , repos
131+ return nil , all
125132 }
126- repos [state .NewRepoName (cur )] = cur
127- return cur , repos
133+ all [state .NewRepoName (cur )] = cur
134+ return cur , all
128135}
129136
130137func update (ctx context.Context ) error {
0 commit comments