Skip to content

Conversation

@figsoda
Copy link
Contributor

@figsoda figsoda commented Feb 8, 2026

without the change, having something like

# .ignore
!/foo

would ignore foo, since check would set ignored = false, but mark_ignored only checks ignored ~= nil

@pynappo
Copy link
Collaborator

pynappo commented Feb 10, 2026

the intention with ~= nil is that if you have multiple ignore files that have patterns that match a given path, then the innermost ignore file w/ highest priority and a matching rule gets to set the ignore status of the file and none of the outer ones do

with this change, wouldn't any ignore file that ignores a file ignore it even if the innermost one purposely excludes it? i think the underlying issue is what neo-tree does with the information

edit: p sure the commits i pushed should fix it but lmk if it doesn't

(the ci failing is because windows tests tend to be flaky but not your issue)

@figsoda
Copy link
Contributor Author

figsoda commented Feb 10, 2026

It doesn't seem to be working on my end with the new changes. To reproduce this run

echo !/foo > .ignore
touch foo

in a new directory. foo is hidden when hidden files is turned off, but its not grayed out when hidden files is turned on

@pynappo pynappo merged commit dfe9d8b into nvim-neo-tree:main Feb 11, 2026
11 checks passed
@figsoda figsoda deleted the ignore branch February 11, 2026 11:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants