fix(windows): translate LSP paths back to standard windows paths
This commit is contained in:
parent
d364ac0f48
commit
2b90fe66e8
1 changed files with 6 additions and 1 deletions
|
@ -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;
|
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_buf: [std.fs.max_path_bytes]u8 = undefined;
|
||||||
var file_path = std.Uri.percentDecodeBackwards(&file_path_buf, targetUri.?[7..]);
|
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| {
|
if (targetSelectionRange) |sel| {
|
||||||
try from.send(.{ "cmd", "navigate", .{
|
try from.send(.{ "cmd", "navigate", .{
|
||||||
.file = file_path,
|
.file = file_path,
|
||||||
|
|
Loading…
Add table
Reference in a new issue