From 6d701ab62e978e24e575db256654763d5b1ebdc0 Mon Sep 17 00:00:00 2001 From: Daniel Pressnitz Date: Thu, 1 Aug 2024 13:49:13 +0200 Subject: [PATCH] fix freezing of eclipse when typing '${...}' in working-dir Fixes #81 --- .../launching/validation/LcDslValidator.xtend | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/com.wamas.ide.launching/src/com/wamas/ide/launching/validation/LcDslValidator.xtend b/com.wamas.ide.launching/src/com/wamas/ide/launching/validation/LcDslValidator.xtend index 95c9824..658758f 100644 --- a/com.wamas.ide.launching/src/com/wamas/ide/launching/validation/LcDslValidator.xtend +++ b/com.wamas.ide.launching/src/com/wamas/ide/launching/validation/LcDslValidator.xtend @@ -45,6 +45,7 @@ import org.eclipse.xtext.validation.Check import static com.wamas.ide.launching.lcDsl.LaunchConfigType.* import org.eclipse.jdt.core.IType +import java.util.regex.Pattern /** * This class contains custom validation rules. @@ -325,8 +326,18 @@ class LcDslValidator extends AbstractLcDslValidator { @Check def checkPathExists(ExistingPath p) { try { + val value = p.name.value + if(value.blank){ + warning("No path entered", p, LC.path_Name) + return + } + + if(containsVariablePattern(value)){ + return + } + val x = p.name.expanded - val f = new File(x); + val f = new File(x) if (!f.exists) { warning("Path " + x + " does not exist", p, LC.path_Name) } @@ -334,6 +345,12 @@ class LcDslValidator extends AbstractLcDslValidator { warning(e.message, LC.path_Name) } } + + def containsVariablePattern(String value) { + val pattern = '\\$\\{([^}]+)\\}' + val matcher = Pattern.compile(pattern).matcher(value) + return matcher.find ? true : false + } @Check def checkTestContainer(LaunchConfig cfg) {