You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
135 lines
3.4 KiB
135 lines
3.4 KiB
#!/bin/bash
|
|
|
|
if [ -n "$LOGIN_SHELL" ]; then
|
|
unset LOGIN_SHELL
|
|
|
|
# When bash is invoked as an interactive login shell, or as a non-interac-
|
|
# tive shell with the --login option, it first reads and executes commands
|
|
# from the file /etc/profile, if that file exists. After reading that
|
|
# file, it looks for ~/.bash_profile, ~/.bash_login, and ~/.profile, in
|
|
# that order, and reads and executes commands from the first one that
|
|
# exists and is readable.
|
|
|
|
if [ -f /etc/profile ]; then
|
|
source /etc/profile
|
|
fi
|
|
|
|
if [ -f ~/.bash_profile ]; then
|
|
source ~/.bash_profile
|
|
else
|
|
if [ -f ~/.bash_login ]; then
|
|
source ~/.bash_login
|
|
else
|
|
if [ -f ~/.profile ]; then
|
|
source ~/.profile
|
|
fi
|
|
fi
|
|
fi
|
|
else
|
|
if [ -f ~/.bashrc ]; then
|
|
source ~/.bashrc
|
|
fi
|
|
fi
|
|
|
|
function disable_posix() {
|
|
if shopt -qo posix
|
|
then
|
|
set +o posix
|
|
__jetbrains_intellij_restore_posix_flag=1
|
|
fi
|
|
}
|
|
|
|
function restore_posix() {
|
|
if [ -n "${__jetbrains_intellij_restore_posix_flag-}" ]
|
|
then
|
|
set -o posix
|
|
unset __jetbrains_intellij_restore_posix_flag
|
|
fi
|
|
}
|
|
|
|
# Disable posix for overriding ENV
|
|
disable_posix
|
|
|
|
function override_jb_variables {
|
|
while read VARIABLE
|
|
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
|
|
if [[ $NAME = '_INTELLIJ_FORCE_PREPEND_'* ]]
|
|
then
|
|
NEW_NAME=${NAME:24}
|
|
if [ -n "$NEW_NAME" ]
|
|
then
|
|
VALUE=${VARIABLE#*=}
|
|
export "$NEW_NAME"="$VALUE${!NEW_NAME}"
|
|
fi
|
|
fi
|
|
done < <(env)
|
|
}
|
|
|
|
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'
|
|
bind '"\e\O[C":forward-word'
|
|
bind '"\e\O[D": backward-word'
|
|
|
|
# Restore posix again, as we are going to source user RC file next
|
|
restore_posix
|
|
|
|
if [ -n "${JEDITERM_USER_RCFILE-}" ]
|
|
then
|
|
source "$JEDITERM_USER_RCFILE"
|
|
unset JEDITERM_USER_RCFILE
|
|
fi
|
|
|
|
# Disable posix for the rest of the script
|
|
disable_posix
|
|
|
|
if [ -n "${JEDITERM_SOURCE-}" ]
|
|
then # JEDITERM_SOURCE_ARGS might be either list of args or one arg depending on JEDITERM_SOURCE_SINGLE_ARG
|
|
if [ -n "${JEDITERM_SOURCE_SINGLE_ARG}" ]; then
|
|
source "$JEDITERM_SOURCE" "${JEDITERM_SOURCE_ARGS}"
|
|
else
|
|
source "$JEDITERM_SOURCE" ${JEDITERM_SOURCE_ARGS-}
|
|
fi
|
|
unset JEDITERM_SOURCE
|
|
unset JEDITERM_SOURCE_ARGS
|
|
fi
|
|
|
|
function configureCommandHistory {
|
|
local commandHistoryFile="$__INTELLIJ_COMMAND_HISTFILE__"
|
|
unset __INTELLIJ_COMMAND_HISTFILE__
|
|
if [ -n "$commandHistoryFile" ] && [ -z "`trap -p EXIT`" ]
|
|
then
|
|
trap "$(builtin printf 'history -w %q; HISTFILE=%q' "$commandHistoryFile" "$HISTFILE")" EXIT
|
|
if [ -s "$commandHistoryFile" ]
|
|
then
|
|
HISTFILE="$commandHistoryFile"
|
|
fi
|
|
fi
|
|
}
|
|
configureCommandHistory
|
|
|
|
JETBRAINS_INTELLIJ_BASH_DIR="$(dirname "${BASH_SOURCE[0]}")"
|
|
if [ -r "${JETBRAINS_INTELLIJ_BASH_DIR}/command-block-support.bash" ]; then
|
|
source "${JETBRAINS_INTELLIJ_BASH_DIR}/command-block-support.bash"
|
|
fi
|
|
if [ -r "${JETBRAINS_INTELLIJ_BASH_DIR}/command-block-support-reworked.bash" ]; then
|
|
source "${JETBRAINS_INTELLIJ_BASH_DIR}/command-block-support-reworked.bash"
|
|
fi
|
|
unset JETBRAINS_INTELLIJ_BASH_DIR
|
|
|
|
# Should be the last lines!
|
|
restore_posix
|
|
unset -f disable_posix
|
|
unset -f restore_posix |