From 5da724fc91c9e0db1272bbdecb13ad7c651fe08b Mon Sep 17 00:00:00 2001 From: Dmitry Trofimov Date: Wed, 6 Jul 2016 14:47:17 +0200 Subject: [PATCH] Add possibility to customize terminal environment variables --- .../terminal/resources/META-INF/terminal.xml | 5 +++ .../terminal/LocalTerminalCustomizer.java | 31 +++++++++++++++++++ .../terminal/LocalTerminalDirectRunner.java | 6 +++- 3 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 plugins/terminal/src/org/jetbrains/plugins/terminal/LocalTerminalCustomizer.java diff --git a/plugins/terminal/resources/META-INF/terminal.xml b/plugins/terminal/resources/META-INF/terminal.xml index 7fa3b27a7c30..0906025d4809 100644 --- a/plugins/terminal/resources/META-INF/terminal.xml +++ b/plugins/terminal/resources/META-INF/terminal.xml @@ -18,4 +18,9 @@ org.jetbrains.plugins.terminal.TerminalView + + + + diff --git a/plugins/terminal/src/org/jetbrains/plugins/terminal/LocalTerminalCustomizer.java b/plugins/terminal/src/org/jetbrains/plugins/terminal/LocalTerminalCustomizer.java new file mode 100644 index 000000000000..1768a79b0e3e --- /dev/null +++ b/plugins/terminal/src/org/jetbrains/plugins/terminal/LocalTerminalCustomizer.java @@ -0,0 +1,31 @@ +/* + * Copyright 2000-2016 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.jetbrains.plugins.terminal; + +import com.intellij.openapi.extensions.ExtensionPointName; +import org.jetbrains.annotations.NotNull; + +import java.util.Map; + +/** + * @author traff + */ +public interface LocalTerminalCustomizer { + ExtensionPointName EP_NAME = + ExtensionPointName.create("org.jetbrains.plugins.terminal.localTerminalCustomizer"); + + void setupEnvironment(@NotNull Map envs); +} diff --git a/plugins/terminal/src/org/jetbrains/plugins/terminal/LocalTerminalDirectRunner.java b/plugins/terminal/src/org/jetbrains/plugins/terminal/LocalTerminalDirectRunner.java index d7cb0abad2fa..65504be072f6 100644 --- a/plugins/terminal/src/org/jetbrains/plugins/terminal/LocalTerminalDirectRunner.java +++ b/plugins/terminal/src/org/jetbrains/plugins/terminal/LocalTerminalDirectRunner.java @@ -27,7 +27,6 @@ import com.intellij.openapi.roots.ProjectRootManager; import com.intellij.openapi.util.SystemInfo; import com.intellij.openapi.vfs.CharsetToolkit; import com.intellij.openapi.vfs.VirtualFile; -import com.intellij.util.Consumer; import com.intellij.util.concurrency.AppExecutorUtil; import com.intellij.util.containers.HashMap; import com.jediterm.pty.PtyProcessTtyConnector; @@ -94,6 +93,11 @@ public class LocalTerminalDirectRunner extends AbstractTerminalRunner