#!/bin/bash
# Copyright 2019 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

### generate tags for .fidl files

## usage: fx fidltags

source "$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)"/../lib/vars.sh || exit $?
fx-config-read

main () {
    if [ $# -gt 0 ]; then
        echo "Script to generate TAGS for .fidl files"
        echo "Uses the (already built) outputs of fidlc, so you want to run this after"
        echo "completion of a successful build."
        echo
        echo "Generates ${FUCHSIA_DIR}/fidl-tags, which you can use in (e.g.) Vim as:"
        echo "  :set tags^=${FUCHSIA_DIR}/fidl-tags"
        echo
        echo "Usage: fx fidltags"
        echo
        exit
    fi

    "${PREBUILT_PYTHON3}" "${FUCHSIA_DIR}/scripts/generate-fidl-tags.py" \
        --build-dir="${FUCHSIA_BUILD_DIR}" \
        --output="${FUCHSIA_DIR}/fidl-tags"
}

main "$@"
