fix(windows): translate LSP paths back to standard windows paths

This commit is contained in:
CJ van den Berg 2024-08-08 23:07:36 +02:00
parent d364ac0f48
commit 2b90fe66e8

View file

@ -440,7 +440,12 @@ fn navigate_to_location_link(_: *Self, from: tp.pid_ref, location_link: []const
if (!std.mem.eql(u8, targetUri.?[0..7], "file://")) return error.InvalidTargetURI;
var file_path_buf: [std.fs.max_path_bytes]u8 = undefined;
var file_path = std.Uri.percentDecodeBackwards(&file_path_buf, targetUri.?[7..]);
if (builtin.os.tag == .windows and file_path[0] == '/') file_path = file_path[1..];
if (builtin.os.tag == .windows) {
if (file_path[0] == '/') file_path = file_path[1..];
for (file_path, 0..) |c, i| if (c == '/') {
file_path[i] = '\\';
};
}
if (targetSelectionRange) |sel| {
try from.send(.{ "cmd", "navigate", .{
.file = file_path,