diff --git a/export.fish b/export.fish index 4bf0519fc2..3725e677db 100644 --- a/export.fish +++ b/export.fish @@ -67,6 +67,12 @@ end idf_export_main -eval (env _IDF.PY_COMPLETE=source_fish idf.py) +set click_version (python -c 'import click; print(click.__version__.split(".")[0])') +if test $click_version -lt 8 + eval (env _IDF.PY_COMPLETE=source_fish idf.py) +else + eval (env _IDF.PY_COMPLETE=fish_source idf.py) +end + set -e idf_export_main diff --git a/export.sh b/export.sh index fe567bdac0..ddcced1c24 100644 --- a/export.sh +++ b/export.sh @@ -141,14 +141,27 @@ idf_export_main() { } enable_autocomplete() { + click_version="$(python -c 'import click; print(click.__version__.split(".")[0])')" + if [[ click_version -lt 8 ]] + then + SOURCE_ZSH=source_zsh + SOURCE_BASH=source_bash + else + SOURCE_ZSH=zsh_source + SOURCE_BASH=bash_source + fi if [ -n "${ZSH_VERSION-}" ] then autoload -Uz compinit && compinit -u - eval "$(env _IDF.PY_COMPLETE=source_zsh idf.py)" || echo "WARNING: Failed to load shell autocompletion!" + eval "$(env _IDF.PY_COMPLETE=$SOURCE_ZSH idf.py)" || echo "WARNING: Failed to load shell autocompletion!" elif [ -n "${BASH_SOURCE-}" ] then - eval "$(env _IDF.PY_COMPLETE=source_bash idf.py)" || echo "WARNING: Failed to load shell autocompletion!" + eval "$(env _IDF.PY_COMPLETE=$SOURCE_BASH idf.py)" || echo "WARNING: Failed to load shell autocompletion!" fi + + unset SOURCE_ZSH + unset SOURCE_BASH + } idf_export_main