diff --git a/base/src/com/google/idea/blaze/base/run/filter/BlazeTargetFilter.java b/base/src/com/google/idea/blaze/base/run/filter/BlazeTargetFilter.java index 20b5cbcf9e9..711560cf2a5 100644 --- a/base/src/com/google/idea/blaze/base/run/filter/BlazeTargetFilter.java +++ b/base/src/com/google/idea/blaze/base/run/filter/BlazeTargetFilter.java @@ -40,9 +40,9 @@ /** Parse blaze targets in streamed output. */ public class BlazeTargetFilter implements Filter { - // See Bazel's LabelValidator class. Whitespace character intentionally not included here. - private static final String PACKAGE_NAME_CHARS = "a-zA-Z0-9/\\-\\._$()"; - private static final String TARGET_CHARS = "a-zA-Z0-9+,=~#()$_@\\-/"; + // See Bazel's LabelValidator class. Whitespace character and ' intentionally not included here. + private static final String PACKAGE_NAME_CHARS = "a-zA-Z0-9/\\-\\._$()@"; + private static final String TARGET_CHARS = "a-zA-Z0-9!%@^_\"#$&()*\\-+,;<=>?\\[\\]{|}~/\\."; // ignore '//' preceded by text (e.g. https://...) // format: ([@external_workspace]//package:rule) diff --git a/base/tests/unittests/com/google/idea/blaze/base/run/filter/BlazeTargetFilterTest.java b/base/tests/unittests/com/google/idea/blaze/base/run/filter/BlazeTargetFilterTest.java index e6f0fb2f445..e4157f5a58d 100644 --- a/base/tests/unittests/com/google/idea/blaze/base/run/filter/BlazeTargetFilterTest.java +++ b/base/tests/unittests/com/google/idea/blaze/base/run/filter/BlazeTargetFilterTest.java @@ -48,8 +48,8 @@ public void testQuotedTarget() { @Test public void testUnusualCharsInTarget() { - String line = "Something //Package-._$():T0+,=~#target_@name something else"; - assertThat(findMatch(line)).isEqualTo("//Package-._$():T0+,=~#target_@name"); + String line = "Something //Package-._$()@:T0!%^_\"#$&()*-+,;<=>?[]{|}~/.target_@name something else"; + assertThat(findMatch(line)).isEqualTo("//Package-._$()@:T0!%^_\"#$&()*-+,;<=>?[]{|}~/.target_@name"); } @Test