diff --git a/rse/plugins/org.eclipse.rse.services.dstore/serverruntime/patterns.dat b/rse/plugins/org.eclipse.rse.services.dstore/serverruntime/patterns.dat index a6cda3b70ae..0da3a742a44 100644 --- a/rse/plugins/org.eclipse.rse.services.dstore/serverruntime/patterns.dat +++ b/rse/plugins/org.eclipse.rse.services.dstore/serverruntime/patterns.dat @@ -96,10 +96,11 @@ command: .*bat\s.* error file line pattern=file:([\w,.,/,\\,:]*):(\d*):.* command: dir.* - directory file pattern=\d{2}/\d{2}/\d*\s\d{2}:\d{2}[a,p,AM,PM,\s].*\s*\s*([\w,.,/,\\,\s,\-,\+\+,\d]*).* - file file pattern=\d{2}/\d{2}/\d*\s\d{2}:\d{2}[a,p,AM,PM,\s].*\s*[\d,,]* ([\w,.,/,\\,\s,\-,\+\+,\d]*).* - directory file pattern=[\d,/,\\,.,-]+.\s*\d{2}[:,.]\d{2}.\s*\s*([\w,.,/,\\,\s,\-,\+\+,\d]*) - file file pattern=[\d,/,\\,.,-]+.\s*\d{2}[:,.]\d{2}.\s*[\d,,,.]*\s*([\w,.,/,\\,\s,\-,\+\+,\d]*) + directory file pattern=\d{2}/\d{2}/\d*\s*\d{2}:\d{2}\s[a,p,AM,PM]+\s*\s*([\w,.,/,\\,\s,\-,\+,\d]*).* + directory file pattern=.*\s*([\w,.,/,\\,\s,\-,\+,\d]*).* + file file pattern=\d{2}/\d{2}/\d*\s*\d{2}:\d{2}\s[a,p,AM,PM]+\s*[\d,,]*\s*([\w,.,/,\\,\s,\-,\+,\d]*).* + directory file pattern=[\d,/,\\,.,-]+.\s*\d{2}[:,.]\d{2}.\s*\s*([\w,.,/,\\,\s,\-,\+,\d]*) + file file pattern=[\d,/,\\,.,-]+.\s*\d{2}[:,.]\d{2}.\s*[\d,,,.]*\s*([\w,.,/,\\,\s,\-,\+,\d]*) command: ls -l.* file file pattern=-[-,r,w,x]+\s.*\s[\d{4},\d{2}:\d{2}]+,\s([\w,.,/,(,),\\,\-,\+\s,\d]*) diff --git a/rse/plugins/org.eclipse.rse.services.local/patterns.dat b/rse/plugins/org.eclipse.rse.services.local/patterns.dat index a6cda3b70ae..0da3a742a44 100644 --- a/rse/plugins/org.eclipse.rse.services.local/patterns.dat +++ b/rse/plugins/org.eclipse.rse.services.local/patterns.dat @@ -96,10 +96,11 @@ command: .*bat\s.* error file line pattern=file:([\w,.,/,\\,:]*):(\d*):.* command: dir.* - directory file pattern=\d{2}/\d{2}/\d*\s\d{2}:\d{2}[a,p,AM,PM,\s].*\s*\s*([\w,.,/,\\,\s,\-,\+\+,\d]*).* - file file pattern=\d{2}/\d{2}/\d*\s\d{2}:\d{2}[a,p,AM,PM,\s].*\s*[\d,,]* ([\w,.,/,\\,\s,\-,\+\+,\d]*).* - directory file pattern=[\d,/,\\,.,-]+.\s*\d{2}[:,.]\d{2}.\s*\s*([\w,.,/,\\,\s,\-,\+\+,\d]*) - file file pattern=[\d,/,\\,.,-]+.\s*\d{2}[:,.]\d{2}.\s*[\d,,,.]*\s*([\w,.,/,\\,\s,\-,\+\+,\d]*) + directory file pattern=\d{2}/\d{2}/\d*\s*\d{2}:\d{2}\s[a,p,AM,PM]+\s*\s*([\w,.,/,\\,\s,\-,\+,\d]*).* + directory file pattern=.*\s*([\w,.,/,\\,\s,\-,\+,\d]*).* + file file pattern=\d{2}/\d{2}/\d*\s*\d{2}:\d{2}\s[a,p,AM,PM]+\s*[\d,,]*\s*([\w,.,/,\\,\s,\-,\+,\d]*).* + directory file pattern=[\d,/,\\,.,-]+.\s*\d{2}[:,.]\d{2}.\s*\s*([\w,.,/,\\,\s,\-,\+,\d]*) + file file pattern=[\d,/,\\,.,-]+.\s*\d{2}[:,.]\d{2}.\s*[\d,,,.]*\s*([\w,.,/,\\,\s,\-,\+,\d]*) command: ls -l.* file file pattern=-[-,r,w,x]+\s.*\s[\d{4},\d{2}:\d{2}]+,\s([\w,.,/,(,),\\,\-,\+\s,\d]*) diff --git a/rse/plugins/org.eclipse.rse.shells.ui/src/org/eclipse/rse/shells/ui/view/SystemViewRemoteOutputAdapter.java b/rse/plugins/org.eclipse.rse.shells.ui/src/org/eclipse/rse/shells/ui/view/SystemViewRemoteOutputAdapter.java index 51394bb6aff..a860b395b9f 100644 --- a/rse/plugins/org.eclipse.rse.shells.ui/src/org/eclipse/rse/shells/ui/view/SystemViewRemoteOutputAdapter.java +++ b/rse/plugins/org.eclipse.rse.shells.ui/src/org/eclipse/rse/shells/ui/view/SystemViewRemoteOutputAdapter.java @@ -129,7 +129,8 @@ implements ISystemViewElementAdapter, ISystemRemoteElementAdapter, ISystemOutpu if (firstSelection instanceof IRemoteLineReference) { IRemoteOutput result = (IRemoteOutput) firstSelection; - if (result.getType().equals("prompt")) + String type = result.getType(); + if (type.equals("prompt")) { if (_pasteToPromptAction == null) { @@ -138,6 +139,15 @@ implements ISystemViewElementAdapter, ISystemRemoteElementAdapter, ISystemOutpu menu.add(menuGroup, _pasteToPromptAction); } + else if (type.equals("directory")) + { + IRemoteOutput output = (IRemoteOutput)firstSelection; + if (output.getAbsolutePath() != null) + { + // TODO + // add directory actions here + } + } else { IRemoteOutput output = (IRemoteOutput)firstSelection; diff --git a/rse/plugins/org.eclipse.rse.subsystems.shells.local/src/org/eclipse/rse/subsystems/shells/local/model/LocalServiceCommandShell.java b/rse/plugins/org.eclipse.rse.subsystems.shells.local/src/org/eclipse/rse/subsystems/shells/local/model/LocalServiceCommandShell.java index 09df86d1717..a4049895d59 100644 --- a/rse/plugins/org.eclipse.rse.subsystems.shells.local/src/org/eclipse/rse/subsystems/shells/local/model/LocalServiceCommandShell.java +++ b/rse/plugins/org.eclipse.rse.subsystems.shells.local/src/org/eclipse/rse/subsystems/shells/local/model/LocalServiceCommandShell.java @@ -1,6 +1,8 @@ package org.eclipse.rse.subsystems.shells.local.model; +import java.io.File; + import org.eclipse.rse.core.subsystems.ISubSystem; import org.eclipse.rse.internal.services.local.shells.ParsedOutput; import org.eclipse.rse.internal.services.local.shells.Patterns; @@ -83,7 +85,7 @@ public class LocalServiceCommandShell extends ServiceCommandShell if (event.isError()) { output = new RemoteError(this, type); - } + } else { output = new RemoteOutput(this, type); @@ -98,9 +100,15 @@ public class LocalServiceCommandShell extends ServiceCommandShell _workingDir = file; output.setAbsolutePath(_workingDir); } + /* + else if (type.equals("file") || type.equals("directory")) + { + output.setAbsolutePath(parsedMsg.file); + } + */ else { - output.setAbsolutePath(_workingDir + "\\" + file); + output.setAbsolutePath(_workingDir + File.separatorChar + file); } }