debugger: Fix Go locator for subtests (#33694)
Closes #33054 Release Notes: - Fixed debugging Go subtests.
This commit is contained in:
parent
0629804390
commit
a5b2428897
1 changed files with 14 additions and 1 deletions
|
@ -117,7 +117,20 @@ impl DapLocator for GoLocator {
|
||||||
// HACK: tasks assume that they are run in a shell context,
|
// HACK: tasks assume that they are run in a shell context,
|
||||||
// so the -run regex has escaped specials. Delve correctly
|
// so the -run regex has escaped specials. Delve correctly
|
||||||
// handles escaping, so we undo that here.
|
// handles escaping, so we undo that here.
|
||||||
if arg.starts_with("\\^") && arg.ends_with("\\$") {
|
if let Some((left, right)) = arg.split_once("/")
|
||||||
|
&& left.starts_with("\\^")
|
||||||
|
&& left.ends_with("\\$")
|
||||||
|
&& right.starts_with("\\^")
|
||||||
|
&& right.ends_with("\\$")
|
||||||
|
{
|
||||||
|
let mut left = left[1..left.len() - 2].to_string();
|
||||||
|
left.push('$');
|
||||||
|
|
||||||
|
let mut right = right[1..right.len() - 2].to_string();
|
||||||
|
right.push('$');
|
||||||
|
|
||||||
|
args.push(format!("{left}/{right}"));
|
||||||
|
} else if arg.starts_with("\\^") && arg.ends_with("\\$") {
|
||||||
let mut arg = arg[1..arg.len() - 2].to_string();
|
let mut arg = arg[1..arg.len() - 2].to_string();
|
||||||
arg.push('$');
|
arg.push('$');
|
||||||
args.push(arg);
|
args.push(arg);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue