From 00fe8d8384e1a52ac2bb72c4727c1fd4af8b6352 Mon Sep 17 00:00:00 2001 From: Katarzyna Mielnik Date: Fri, 30 Aug 2024 14:40:40 +0200 Subject: [PATCH] read file name and line number from matched text --- .../idea/blaze/python/run/BlazePyTracebackParser.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/python/src/com/google/idea/blaze/python/run/BlazePyTracebackParser.java b/python/src/com/google/idea/blaze/python/run/BlazePyTracebackParser.java index 5ca2e8a947f..6eb2fedf2ff 100644 --- a/python/src/com/google/idea/blaze/python/run/BlazePyTracebackParser.java +++ b/python/src/com/google/idea/blaze/python/run/BlazePyTracebackParser.java @@ -34,8 +34,14 @@ protected LinkInTrace findLinkInTrace(String line, Matcher matchedMatcher) { if (!enabled.getValue()) { return super.findLinkInTrace(line, matchedMatcher); } - final String fileName = matchedMatcher.group(1).replace('\\', '/'); - final int lineNumber = Integer.parseInt(matchedMatcher.group(2)); + final String file1 = matchedMatcher.group("file"); + final String file2 = matchedMatcher.group("file2"); + + String fileName = (file1 != null ? file1 : file2).replace('\\', '/'); + + String lineNumber1 = matchedMatcher.group("line"); + String lineNumber2 = matchedMatcher.group("line2"); + int lineNumber = Integer.parseInt((lineNumber1 != null ? lineNumber1 : lineNumber2)); final int startPos = line.indexOf('\"') + 1; final int endPos = line.indexOf('\"', startPos); return new LinkInTrace(getCanonicalFilePath(fileName), lineNumber, startPos, endPos);