From 232afbb059cadfbce54543d46ea16f30889b84d7 Mon Sep 17 00:00:00 2001 From: Wessel Tip Date: Thu, 18 Sep 2025 13:18:26 +0200 Subject: [PATCH] feat(fish): Add initialize script --- activate.fish | 36 ++++++++++++++++++++++++++ src/les_pkg/CMakeLists.txt | 3 +++ src/les_pkg/src/les3/action_server.cpp | 1 - 3 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 activate.fish diff --git a/activate.fish b/activate.fish new file mode 100644 index 0000000..2ec192b --- /dev/null +++ b/activate.fish @@ -0,0 +1,36 @@ +export env_name="ros2-lectures" + +# Check if a previous initialization has occurred +if test -n "$__ACTIVATE_INITIALIZED" + exit 1 +end + +export __ACTIVATE_INITIALIZED="1" + +# Check if running inside distrobox +if test -f /run/.containerenv; or test -n "$CONTAINER_ID" + bass source /opt/ros/jazzy/setup.bash + bass source ./install/setup.bash + # Set environment variable for the prompt prefix + set -gx ROS2_LECTURES_ACTIVE 1 + + # Save the original prompt function if it exists + if not functions -q __ros2_lectures_orig_prompt + if functions -q fish_prompt + functions -c fish_prompt __ros2_lectures_orig_prompt + else + function __ros2_lectures_orig_prompt + echo -n (whoami)'@'(prompt_hostname)' '(set_color $fish_color_cwd)(prompt_pwd)(set_color normal)'> ' + end + end + end + + # Define new prompt with ros2-lectures prefix + function fish_prompt + echo -n (set_color green)'('$env_name')'(set_color normal) + __ros2_lectures_orig_prompt + end +else + echo "This script should only be run inside a distrobox container" + exit 1 +end diff --git a/src/les_pkg/CMakeLists.txt b/src/les_pkg/CMakeLists.txt index 2fcd289..935b16b 100644 --- a/src/les_pkg/CMakeLists.txt +++ b/src/les_pkg/CMakeLists.txt @@ -21,6 +21,7 @@ add_executable(les2_service src/les2/service_server.cpp) add_executable(les2_service_client src/les2/service_client.cpp) add_executable(les3_action_server src/les3/action_server.cpp) +add_executable(les3_action_client src/les3/action_client.cpp) ament_target_dependencies(les1_clock rclcpp) ament_target_dependencies(les1_publisher rclcpp std_msgs geometry_msgs les_interface) @@ -30,6 +31,7 @@ ament_target_dependencies(les2_service rclcpp les_interface) ament_target_dependencies(les2_service_client rclcpp les_interface) ament_target_dependencies(les3_action_server rclcpp rclcpp_action les_interface) +ament_target_dependencies(les3_action_client rclcpp rclcpp_action les_interface) install ( TARGETS @@ -39,6 +41,7 @@ install ( les2_service les2_service_client les3_action_server + les3_action_client DESTINATION lib/${PROJECT_NAME} ) diff --git a/src/les_pkg/src/les3/action_server.cpp b/src/les_pkg/src/les3/action_server.cpp index 41cd6e5..8dc44bd 100644 --- a/src/les_pkg/src/les3/action_server.cpp +++ b/src/les_pkg/src/les3/action_server.cpp @@ -29,7 +29,6 @@ public: NodeActionServer() : Node("node_les3_action_server") { - // Communication and timer objects: // Callback groups make thread handling possible cb_group_ = this->create_callback_group(rclcpp::CallbackGroupType::Reentrant);