[jbosstools-commits] JBoss Tools SVN: r41679 - trunk/forge/plugins/org.jboss.tools.forge.runtime.ext/src/org/jboss/tools/forge/runtime/ext.

jbosstools-commits at lists.jboss.org jbosstools-commits at lists.jboss.org
Mon Jun 4 09:45:18 EDT 2012


Author: koen.aers at jboss.com
Date: 2012-06-04 09:45:17 -0400 (Mon, 04 Jun 2012)
New Revision: 41679

Modified:
   trunk/forge/plugins/org.jboss.tools.forge.runtime.ext/src/org/jboss/tools/forge/runtime/ext/AllCommandsInterceptor.java
Log:
JBIDE-11168: Command 'cd #' not working on windows

Modified: trunk/forge/plugins/org.jboss.tools.forge.runtime.ext/src/org/jboss/tools/forge/runtime/ext/AllCommandsInterceptor.java
===================================================================
--- trunk/forge/plugins/org.jboss.tools.forge.runtime.ext/src/org/jboss/tools/forge/runtime/ext/AllCommandsInterceptor.java	2012-06-04 13:41:50 UTC (rev 41678)
+++ trunk/forge/plugins/org.jboss.tools.forge.runtime.ext/src/org/jboss/tools/forge/runtime/ext/AllCommandsInterceptor.java	2012-06-04 13:45:17 UTC (rev 41679)
@@ -52,14 +52,27 @@
 	}
 	
 	private String handleWorkspaceShortCut(String str) {
-		if (str.startsWith("#")) {
-			return System.getProperty("forge.workspace") + str.substring(1);
+		String result = str;
+		if (str.startsWith("#")) {			
+			result = encloseWithDoubleQuotesIfNeeded(System.getProperty("forge.workspace")) + str.substring(1);
 		}
-		return str;
+		return result;
 	}
 
 	private void sendEscaped(String str) {
 		shell.print(ESCAPE + str + ESCAPE); 
 	}
 
+	private String encloseWithDoubleQuotesIfNeeded(String str) {
+		if (str.contains(" ") && !isEnclosedWithDoubleQuotes(str)) { 
+			return "\"" + str + "\"";
+		} else {
+			return str;
+		}
+	}
+	
+	private boolean isEnclosedWithDoubleQuotes(String str) {
+		return str.charAt(0) == '\"' && str.charAt(str.length() - 1) == '\"';
+	}
+	
 }



More information about the jbosstools-commits mailing list