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.
37 lines
1.7 KiB
37 lines
1.7 KiB
# Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
|
|
|
# IF YOU ARE FROM FIG TEAM DO NOT HACK THIS
|
|
# Please go to issue tracker to discuss https://youtrack.jetbrains.com/issues
|
|
|
|
# Fig breaks shell integration. E.g. v2.17.0 incorrectly operates with bash-preexec and completely break preeexec functionality.
|
|
# This is especially bad for Fleet. Even though it doesn't seem to break critical parts of IntelliJ shell integration,
|
|
# Fig isn't needed in the block terminal anyway. Let's remove it in both IDEs to have a more stable shell integration.
|
|
|
|
# Remove fig from preexec
|
|
for index in "${!precmd_functions[@]}"; do
|
|
if [[ "${precmd_functions[$index]}" == "__fig_"* ]]; then
|
|
unset -v 'precmd_functions[$index]'
|
|
fi
|
|
done
|
|
|
|
# Remove fig from precmd
|
|
for index in "${!preexec_functions[@]}"; do
|
|
if [[ "${preexec_functions[$index]}" == "__fig_"* ]]; then
|
|
unset -v 'preexec_functions[$index]'
|
|
fi
|
|
done
|
|
|
|
# Fully remove fig integration
|
|
PROMPT_COMMAND="${PROMPT_COMMAND/__fig_post_prompt$'\n'/}"
|
|
|
|
# Fig may call '__bp_install_after_session_init' twice and next happened:
|
|
# 1. PROMPT_COMMAND contains double '__bp_install_string'
|
|
# 2. '__bp_install_string' contains:
|
|
# trap - DEBUG
|
|
# __bp_install
|
|
# 3. When '__bp_install' called first time all is fine
|
|
# 4. When '__bp_install' called second time it assumes that everything is initialized already and returns,
|
|
# but previous 'trap - DEBUG' already removed DEBUG trap, so there is no any trap anymore
|
|
__bp_broken_string=$__bp_install_string$'\n'$__bp_install_string
|
|
PROMPT_COMMAND="${PROMPT_COMMAND//$__bp_broken_string/$__bp_install_string}"
|
|
unset __bp_broken_string |