Put terminal shell integration scripts in build

This commit is contained in:
Dmitry Trofimov
2016-10-19 19:12:32 +02:00
parent 4976d5b179
commit 2c8fa04911
2 changed files with 12 additions and 1 deletions
@@ -238,7 +238,11 @@ class CommunityRepositoryModules {
withModule("java-decompiler-engine", mainJarName)
doNotCreateSeparateJarForLocalizableResources()
},
javaFXPlugin("javaFX-CE")
javaFXPlugin("javaFX-CE"),
plugin("terminal") {
withResource("resources/.zshrc", "")
withResource("resources/jediterm-sh.in", "")
}
]
static PluginLayout androidPlugin(Map<String, String> additionalModulesToJars) {
@@ -34,6 +34,7 @@ import com.intellij.util.containers.HashMap;
import com.jediterm.pty.PtyProcessTtyConnector;
import com.jediterm.terminal.TtyConnector;
import com.pty4j.PtyProcess;
import com.pty4j.util.PtyUtil;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -81,6 +82,12 @@ public class LocalTerminalDirectRunner extends AbstractTerminalRunner<PtyProcess
rcfile = ".zshrc";
}
URL resource = LocalTerminalDirectRunner.class.getClassLoader().getResource(rcfile);
if (resource != null && "jar".equals(resource.getProtocol())) {
File file = new File(new File(PtyUtil.getJarContainingFolderPath(LocalTerminalDirectRunner.class)).getParent(), rcfile);
if (file.exists()) {
return file.getAbsolutePath();
}
}
if (resource != null) {
URI uri = resource.toURI();
return uri.getPath();