Skip to content

fix(provider): Harden file/grep parsing and add LSP request timeout#28

Merged
mhiro2 merged 4 commits intomainfrom
fix/provider-parsing-and-timeout
Mar 19, 2026
Merged

fix(provider): Harden file/grep parsing and add LSP request timeout#28
mhiro2 merged 4 commits intomainfrom
fix/provider-parsing-and-timeout

Conversation

@mhiro2
Copy link
Copy Markdown
Owner

@mhiro2 mhiro2 commented Mar 19, 2026

Summary

  • Fix file provider to correctly parse paths with :line:col suffixes (e.g., file.lua:10:5)
  • Improve grep provider to handle filenames containing colons by validating candidates against the filesystem
  • Add timeout mechanism to LSP multi-client requests to prevent indefinite blocking
  • Add edge case tests for popup source-mode close behavior

Changes

  • 2058898 fix(file): parse path line suffixes
    • Parse :line[:col] suffixes from cursor target (e.g., <cWORD> expanding to path:10:5)
    • Resolve relative paths correctly against the source buffer's directory
    • Handle Windows drive letters and absolute paths
  • 96d3420 fix(grep): harden rg line parsing
    • Collect all :num:num: pattern candidates instead of assuming the first match
    • Validate each candidate path against the filesystem from last to first
    • Fallback to first candidate if none resolve to an actual file
  • 281930a test(popup): cover source-mode close focus edge case
    • Add test coverage for closing the popup while in source-mode focus
  • 7a5f4ed fix(lsp): add timeout for multi-client requests
    • Add configurable timeout (default 1500ms) for LSP requests across multiple clients
    • Return partial results on timeout with a warning notification
    • Prevent indefinite blocking when an LSP server is unresponsive

@mhiro2 mhiro2 self-assigned this Mar 19, 2026
@mhiro2 mhiro2 added the bug Something isn't working label Mar 19, 2026
@mhiro2 mhiro2 merged commit 4646695 into main Mar 19, 2026
3 checks passed
@mhiro2 mhiro2 deleted the fix/provider-parsing-and-timeout branch March 19, 2026 06:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant