Summary
Upstream semble #244 (b491200) fixed find_related on Windows: resolve_chunk now normalizes \ → / on both the incoming file_path and each chunk's stored path before comparing. csp compares paths verbatim, so on Windows a file_path copied from a search result (or typed with the other separator) can fail to resolve.
Upstream
file_path = file_path.replace("\\", "/")
for chunk in chunks:
if chunk.file_path.replace("\\", "/") == file_path and chunk.start_line <= line <= chunk.end_line:
csp status
crates/csp/src/utils.rs::resolve_chunk: chunk.file_path == file_path exact match. Not reflected.
- csp stores chunk paths via
Path::strip_prefix(display_root).to_string_lossy() (indexing/create.rs), i.e. the platform-native separator — same situation as upstream.
- csp ships Windows binaries (
x86_64-pc-windows-msvc in release-rust.yml), so this is reachable.
Tasks
Refs
Summary
Upstream semble #244 (
b491200) fixedfind_relatedon Windows:resolve_chunknow normalizes\→/on both the incomingfile_pathand each chunk's stored path before comparing. csp compares paths verbatim, so on Windows afile_pathcopied from a search result (or typed with the other separator) can fail to resolve.Upstream
csp status
crates/csp/src/utils.rs::resolve_chunk:chunk.file_path == file_pathexact match. Not reflected.Path::strip_prefix(display_root).to_string_lossy()(indexing/create.rs), i.e. the platform-native separator — same situation as upstream.x86_64-pc-windows-msvcinrelease-rust.yml), so this is reachable.Tasks
resolve_chunk(both sides), keeping the existing end-line fallback behavior.Refs
b491200)949559b..6bbbd32, 2026-09-03