@@ -100,18 +100,27 @@ 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 )
106- if err != nil {
107- slog .Warn ("Could not determine repositories from tmux server." , "server" , sesh .Server (), "error" , err )
108- } else {
109- repos = st .Repositories ()
110- repo , _ , err := st .WorkUnit (ctx , sesh )
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 {
117+ all = st .Repositories ()
118+ if curSesh != nil {
119+ repo , _ , err := st .WorkUnit (ctx , curSesh )
111120 if err != nil {
112- slog .Warn ("Could not determine current repository from tmux." , "server" , sesh . Server () , "error" , err )
121+ slog .Warn ("Could not determine current repository from tmux." , "server" , curSesh , "error" , err )
113122 } else {
114- return repo , repos
123+ return repo , all
115124 }
116125 }
117126 }
@@ -121,10 +130,10 @@ func discoverRepositories(ctx context.Context, vcs api.VersionControlSystems) (c
121130 cur , err := vcs .MaybeCurrentRepository (ctx )
122131 if err != nil {
123132 slog .Warn ("Could not determine current repository." , "error" , err )
124- return nil , repos
133+ return nil , all
125134 }
126- repos [state .NewRepoName (cur )] = cur
127- return cur , repos
135+ all [state .NewRepoName (cur )] = cur
136+ return cur , all
128137}
129138
130139func update (ctx context.Context ) error {
0 commit comments