@@ -99,6 +99,7 @@ public string SearchBranchFilter
9999 var builder = BuildBranchTree ( _branches , _remotes ) ;
100100 LocalBranchTrees = builder . Locals ;
101101 RemoteBranchTrees = builder . Remotes ;
102+ VisibleTags = BuildVisibleTags ( ) ;
102103 }
103104 }
104105 }
@@ -145,6 +146,13 @@ public List<Models.Tag> Tags
145146 private set => SetProperty ( ref _tags , value ) ;
146147 }
147148
149+ [ JsonIgnore ]
150+ public List < Models . Tag > VisibleTags
151+ {
152+ get => _visibleTags ;
153+ private set => SetProperty ( ref _visibleTags , value ) ;
154+ }
155+
148156 [ JsonIgnore ]
149157 public List < string > Submodules
150158 {
@@ -295,6 +303,7 @@ public void Close()
295303 _localBranchTrees . Clear ( ) ;
296304 _remoteBranchTrees . Clear ( ) ;
297305 _tags . Clear ( ) ;
306+ _visibleTags . Clear ( ) ;
298307 _submodules . Clear ( ) ;
299308 _searchedCommits . Clear ( ) ;
300309 }
@@ -633,6 +642,7 @@ public void RefreshTags()
633642 Dispatcher . UIThread . Invoke ( ( ) =>
634643 {
635644 Tags = tags ;
645+ VisibleTags = BuildVisibleTags ( ) ;
636646 } ) ;
637647 }
638648
@@ -1827,6 +1837,25 @@ private BranchTreeNode.Builder BuildBranchTree(List<Models.Branch> branches, Lis
18271837 return builder ;
18281838 }
18291839
1840+ private List < Models . Tag > BuildVisibleTags ( )
1841+ {
1842+ var visible = new List < Models . Tag > ( ) ;
1843+ if ( string . IsNullOrEmpty ( _searchBranchFilter ) )
1844+ {
1845+ visible . AddRange ( _tags ) ;
1846+ }
1847+ else
1848+ {
1849+ foreach ( var t in _tags )
1850+ {
1851+ if ( t . Name . Contains ( _searchBranchFilter , StringComparison . OrdinalIgnoreCase ) )
1852+ visible . Add ( t ) ;
1853+ }
1854+ }
1855+
1856+ return visible ;
1857+ }
1858+
18301859 private string _fullpath = string . Empty ;
18311860 private string _gitDir = string . Empty ;
18321861
@@ -1854,6 +1883,7 @@ private BranchTreeNode.Builder BuildBranchTree(List<Models.Branch> branches, Lis
18541883 private List < BranchTreeNode > _remoteBranchTrees = new List < BranchTreeNode > ( ) ;
18551884 private List < Models . Worktree > _worktrees = new List < Models . Worktree > ( ) ;
18561885 private List < Models . Tag > _tags = new List < Models . Tag > ( ) ;
1886+ private List < Models . Tag > _visibleTags = new List < Models . Tag > ( ) ;
18571887 private List < string > _submodules = new List < string > ( ) ;
18581888 private bool _includeUntracked = true ;
18591889
0 commit comments