diff --git a/lister/list.go b/lister/list.go index 1d8284b..c7969f1 100644 --- a/lister/list.go +++ b/lister/list.go @@ -2,6 +2,7 @@ package lister import ( "github.com/joshmedeski/sesh/v2/model" + "slices" ) type ( @@ -37,16 +38,6 @@ func (l *RealLister) List(opts ListOptions) (model.SeshSessions, error) { if err != nil { return model.SeshSessions{}, err } - if opts.HideAttached { - attachedSession, _ := GetAttachedTmuxSession(l) - sessionsCopy := sessions.OrderedIndex - for i, ses := range sessionsCopy { - if attachedSession.Name == sessions.Directory[ses].Name { - sessions.OrderedIndex = append(sessions.OrderedIndex[:i], - sessions.OrderedIndex[i+1:]...) - } - } - } fullOrderedIndex = append(fullOrderedIndex, sessions.OrderedIndex...) for _, i := range sessions.OrderedIndex { fullDirectory[i] = sessions.Directory[i] @@ -71,6 +62,16 @@ func (l *RealLister) List(opts ListOptions) (model.SeshSessions, error) { fullOrderedIndex = fullOrderedIndex[:destIndex] } + if opts.HideAttached { + attachedSession, _ := GetAttachedTmuxSession(l) + for i, index := range fullOrderedIndex { + if fullDirectory[index].Name == attachedSession.Name { + fullOrderedIndex = slices.Delete(fullOrderedIndex, i, i+1) + break + } + } + } + return model.SeshSessions{ OrderedIndex: fullOrderedIndex, Directory: fullDirectory,