#!/bin/sh

# Exit if anything fails
set -e

# Find the host triple so we can find lldb in rustlib.
host=$(rustc -vV | sed -n -e 's/^host: //p')

# Find out where to look for the pretty printer Python module
RUSTC_SYSROOT=$(rustc --print sysroot)
RUST_LLDB="$RUSTC_SYSROOT/lib/rustlib/$host/bin/lldb"

lldb=lldb
if [ -f "$RUST_LLDB" ]; then
    lldb="$RUST_LLDB"
else
    if ! command -v "$lldb" > /dev/null; then
        echo "$lldb not found! Please install it." >&2
        exit 1
    else
        LLDB_VERSION=$("$lldb" --version | cut -d ' ' -f3)

        if [ "$LLDB_VERSION" = "3.5.0" ]; then
            cat << EOF >&2
***
WARNING: This version of LLDB has known issues with Rust and cannot display the contents of local variables!
***
EOF
        fi
    fi
fi

# Prepare commands that will be loaded before any file on the command line has been loaded
script_import="command script import \"$RUSTC_SYSROOT/lib/rustlib/etc/lldb_rust_formatters.py\""
category_definition="type summary add --no-value --python-function lldb_rust_formatters.print_val -x \".*\" --category Rust"
category_enable="type category enable Rust"

# Call LLDB with the commands added to the argument list
exec "$lldb" --one-line-before-file "$script_import" \
    --one-line-before-file "$category_definition" \
    --one-line-before-file "$category_enable" \
    "$@"
