fix: Escape special regex chars in buffer lookup #1022
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Buffer lookup failed for filenames containing [], (), . and other regex metacharacters.
Summary
This PR fixes buffer lookup failures when filenames contain regex special characters like
[]
,()
,.
, etc. The issue occurred becausevim.fn.bufnr()
patterns weren't properly escaped for Vim regex syntax, causing buffer operations (todo state, links, refiling) to fail.Related Issues
Closes #1021
Changes
utils.get_buffer_by_filename()
utility function with proper Vim regex escaping usingvim.fn.escape()
files/file.lua
,api/init.lua
,api/headline.lua
,api/file.lua
)tests/plenary/utils_spec.lua
Checklist
I confirm that I have:
Conventional Commits
specification (e.g.,
feat: add new feature
,fix: correct bug
,docs: update documentation
).make test
.