]> git.lizzy.rs Git - rust.git/commitdiff
fix: in VSCode, correctly resolve relative paths to errors
authorAleksey Kladov <aleksey.kladov@gmail.com>
Sat, 8 Oct 2022 22:18:11 +0000 (23:18 +0100)
committerAleksey Kladov <aleksey.kladov@gmail.com>
Sat, 8 Oct 2022 22:25:13 +0000 (23:25 +0100)
VS Code problem matcher are restricted to be static "regexes". You can't
create a problem matcher dynamically, and you can't use custom code in
lieu of problem matcher.

This creates a problem for rust/cargo compiler errors. They use paths
relative to the root of the Cargo workspace, but VS Code doesn't
necessary know where that root is.

Luckily, there's a way out: our current problem matcher is defined like
this:

    "fileLocation": [ "autoDetect", "${workspaceRoot}" ],

That means that relative pahts would be resoleved relative to workspace
root. VS Code allows to specify a command inside `${}`. So we can plug
custom logic there to fetch Cargo's workspace root!

And that's exactly what this PR is doing!


No differences found