local_setup.zsh 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. # generated from ament_package/template/package_level/local_setup.zsh.in
  2. AMENT_SHELL=zsh
  3. # source local_setup.sh from same directory as this file
  4. _this_path=$(builtin cd -q "`dirname "${(%):-%N}"`" > /dev/null && pwd)
  5. # provide AMENT_CURRENT_PREFIX to shell script
  6. AMENT_CURRENT_PREFIX=$(builtin cd -q "`dirname "${(%):-%N}"`/../.." > /dev/null && pwd)
  7. # store AMENT_CURRENT_PREFIX to restore it before each environment hook
  8. _package_local_setup_AMENT_CURRENT_PREFIX=$AMENT_CURRENT_PREFIX
  9. # function to convert array-like strings into arrays
  10. # to wordaround SH_WORD_SPLIT not being set
  11. ament_zsh_to_array() {
  12. local _listname=$1
  13. local _dollar="$"
  14. local _split="{="
  15. local _to_array="(\"$_dollar$_split$_listname}\")"
  16. eval $_listname=$_to_array
  17. }
  18. # trace output
  19. if [ -n "$AMENT_TRACE_SETUP_FILES" ]; then
  20. echo "# . \"$_this_path/local_setup.sh\""
  21. fi
  22. # the package-level local_setup file unsets AMENT_CURRENT_PREFIX
  23. . "$_this_path/local_setup.sh"
  24. unset _this_path
  25. # unset AMENT_ENVIRONMENT_HOOKS
  26. # if not appending to them for return
  27. if [ -z "$AMENT_RETURN_ENVIRONMENT_HOOKS" ]; then
  28. unset AMENT_ENVIRONMENT_HOOKS
  29. fi
  30. # restore AMENT_CURRENT_PREFIX before evaluating the environment hooks
  31. AMENT_CURRENT_PREFIX=$_package_local_setup_AMENT_CURRENT_PREFIX
  32. # list all environment hooks of this package
  33. # source all shell-specific environment hooks of this package
  34. # if not returning them
  35. if [ -z "$AMENT_RETURN_ENVIRONMENT_HOOKS" ]; then
  36. _package_local_setup_IFS=$IFS
  37. IFS=":"
  38. for _hook in $AMENT_ENVIRONMENT_HOOKS; do
  39. # restore AMENT_CURRENT_PREFIX for each environment hook
  40. AMENT_CURRENT_PREFIX=$_package_local_setup_AMENT_CURRENT_PREFIX
  41. # restore IFS before sourcing other files
  42. IFS=$_package_local_setup_IFS
  43. . "$_hook"
  44. done
  45. unset _hook
  46. IFS=$_package_local_setup_IFS
  47. unset _package_local_setup_IFS
  48. unset AMENT_ENVIRONMENT_HOOKS
  49. fi
  50. unset _package_local_setup_AMENT_CURRENT_PREFIX
  51. unset AMENT_CURRENT_PREFIX