Uh oh!
There was an error while loading. Please reload this page.
fix(opencode): follow symlinks in file scan and directory listing - #29102
fix(opencode): follow symlinks in file scan and directory listing#29102mormubis wants to merge 1 commit into
Conversation
The following comment was made by an LLM, it may be inaccurate: Based on the search results, I found a related PR that addresses a similar concern: Related PR:
The other PRs found (#27639 and #24973) are related to symlink handling but focus on different aspects (circular symlinks and ripgrep-specific handling respectively). No exact duplicates were found (the current PR #29102 should not be marked as a duplicate of itself), but you may want to review #28532 to ensure your changes complement rather than conflict with that work. |
5e3809b to
4379e15CompareThanks for updating your PR! It now meets our contributing guidelines. 👍 |
sghng
commented
Jun 4, 2026
Any updates on this PR? This feature is very needed! @mormubis seems like there are some merge conflicts that need to be resolved? |
4379e15 to
060e94bComparerg.files() in scan() was not passing --follow, so files inside symlinked directories were invisible to @file autocomplete. the remaining readDirectoryEntries consumer fixes (symlinked dirs in list() and the global home scan path) are covered by anomalyco#28532 which fixes the root cause in readDirectoryEntries itself. closesanomalyco#29080
060e94b to
cc536dbCompare
Issue for this PR
Closes#29080
Type of change
What does this PR do?
@filementions cannot find files inside symlinked directories becauseFile.scan()callsrg.files()without--follow— ripgrep skips symlinked directories by default.this adds
follow: trueto therg.files()call so ripgrep traverses symlinks when building the file search cache.the other half of the issue (
readDirectoryEntriesclassifying symlinked dirs as"symlink"instead of"directory") is addressed by #28532 which fixes the root cause inreadDirectoryEntriesitself.How did you verify your code works?
bun typecheckpassesbun test test/file/index.test.ts— 52 tests passChecklist