Skip to content

Commit 0bf326c

Browse files
authored
fix(renderer): don't show (git)ignored if hidden by other ignore (#1928)
1 parent 6087d20 commit 0bf326c

File tree

1 file changed

+16
-10
lines changed

1 file changed

+16
-10
lines changed

lua/neo-tree/ui/renderer.lua

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -204,12 +204,14 @@ local remove_filtered = function(source_items, filtered_items)
204204
local hidden = {}
205205
local show_gitignored = filtered_items and filtered_items.hide_gitignored == false
206206
local show_ignored = filtered_items and filtered_items.hide_ignored == false
207+
local check_ignore_status = show_gitignored or show_gitignored
207208
for _, item in ipairs(source_items) do
208209
local fby = item.filtered_by
209210
if not fby or item.contains_reveal_target then
210211
visible[#visible + 1] = item
211212
else
212213
while fby do
214+
-- items that should always be hidden/perma-hidden/visible
213215
if fby.never_show then
214216
-- pretend it doesn't exist
215217
break
@@ -219,20 +221,24 @@ local remove_filtered = function(source_items, filtered_items)
219221
elseif fby.name or fby.pattern or fby.dotfiles or fby.hidden then
220222
hidden[#hidden + 1] = item
221223
break
222-
elseif show_gitignored and fby.gitignored then
223-
visible[#visible + 1] = item
224-
break
225-
elseif show_ignored and fby.ignored then
226-
visible[#visible + 1] = item
227-
break
228-
elseif fby.parent then
229-
fby = fby.parent
230-
-- continue to next iteration
231-
else
224+
end
225+
226+
if check_ignore_status and fby.ignored or fby.gitignored then
227+
local hidden_by_gitignore = fby.gitignored and not show_gitignored
228+
local hidden_by_ignore = fby.ignored and not show_ignored
229+
if not hidden_by_gitignore and not hidden_by_ignore then
230+
visible[#visible + 1] = item
231+
break
232+
end
233+
end
234+
235+
if not fby.parent then
232236
-- filtered by some other reason
233237
hidden[#hidden + 1] = item
234238
break
235239
end
240+
241+
fby = fby.parent
236242
end
237243
end
238244
end

0 commit comments

Comments
 (0)