From c8d2f5d619af6f7d74678f9ad1b340a7dfc387be Mon Sep 17 00:00:00 2001 From: Alexander Zolotov Date: Thu, 24 May 2018 19:08:08 +0300 Subject: [PATCH] Allow to override particular environment variables in builtin Terminal --- plugins/terminal/resources/.zshrc | 20 +++++++++++++++++++- plugins/terminal/resources/fish/config.fish | 18 +++++++++++++++++- plugins/terminal/resources/jediterm-bash.in | 18 ++++++++++++++++++ 3 files changed, 54 insertions(+), 2 deletions(-) diff --git a/plugins/terminal/resources/.zshrc b/plugins/terminal/resources/.zshrc index f59d73d081b7..b5f609e17002 100644 --- a/plugins/terminal/resources/.zshrc +++ b/plugins/terminal/resources/.zshrc @@ -43,4 +43,22 @@ if [ -n "$JEDITERM_SOURCE" ] then source $(echo $JEDITERM_SOURCE) unset JEDITERM_SOURCE -fi \ No newline at end of file +fi + +function override_jb_variables { + for VARIABLE in $(env) + do + NAME=${VARIABLE%%=*} + if [[ $NAME = '_INTELLIJ_FORCE_SET_'* ]] + then + NEW_NAME=${NAME:20} + if [ -n "$NEW_NAME" ] + then + VALUE=${VARIABLE#*=} + export "$NEW_NAME"="$VALUE" + fi + fi + done +} + +override_jb_variables \ No newline at end of file diff --git a/plugins/terminal/resources/fish/config.fish b/plugins/terminal/resources/fish/config.fish index d239f0eae02f..1d85522365b2 100644 --- a/plugins/terminal/resources/fish/config.fish +++ b/plugins/terminal/resources/fish/config.fish @@ -16,4 +16,20 @@ end if test -n "$JEDITERM_SOURCE" . "$JEDITERM_SOURCE" set -e JEDITERM_SOURCE -end \ No newline at end of file +end + +function override_jb_variables { + for variable in (env) + set name_and_value (string split -m 2 "=" -- $variable) + set name $name_and_value[1] + set value $name_and_value[2] + if string match -q -- "_INTELLIJ_FORCE_SET_*" $name + set new_name (string sub -s 21 -- $name) + if [ $new_name ] + set -x $new_name $value + end + end + end +} + +override_jb_variables \ No newline at end of file diff --git a/plugins/terminal/resources/jediterm-bash.in b/plugins/terminal/resources/jediterm-bash.in index cb81acd05994..29f4a5378d7d 100644 --- a/plugins/terminal/resources/jediterm-bash.in +++ b/plugins/terminal/resources/jediterm-bash.in @@ -31,6 +31,22 @@ function load_interactive_configs { fi } +function override_jb_variables { + for VARIABLE in $(env) + do + NAME=${VARIABLE%%=*} + if [[ $NAME = '_INTELLIJ_FORCE_SET_'* ]] + then + NEW_NAME=${NAME:20} + if [ -n "$NEW_NAME" ] + then + VALUE=${VARIABLE#*=} + export "$NEW_NAME"="$VALUE" + fi + fi + done +} + if [ -n $LOGIN_SHELL ]; then load_login_configs unset LOGIN_SHELL @@ -38,6 +54,8 @@ fi load_interactive_configs +override_jb_variables + # mappings for Ctrl-left-arrow and Ctrl-right-arrow for word moving bind '"\e\e[C":forward-word' bind '"\e\e[D": backward-word'