fix: prevent infinite loop when started from non-filesystem buffer #35
No reviewers
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
barrettruth/live-server.nvim!35
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/oil-infinite-loop"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
Calling `:LiveServerStart` from an oil.nvim buffer (or any URI-scheme buffer) caused two issues: first, `find_cached_dir` entered an infinite loop as `fnamemodify(cur, ':h')` degenerated to `.`, freezing Neovim and pegging the CPU; second, even after fixing the loop, the server would error out instead of doing the right thing — serving the directory being browsed.
Solution
Add a progress check to `find_cached_dir` so it bails if the path stops changing. Fix `resolve_dir` to detect URI-scheme buffer names (e.g. `oil:///path/to/dir`) and extract the real filesystem path from them, so `:LiveServerStart` correctly serves the browsed directory. Also corrects the bug report repro template (`require('lazy')`, `lazy = false`, no deprecated `opts`) and ignores `repro.lua`.
Closes #34