| #!/bin/bash | |
| # Copyright 2018 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. | |
| #### CATEGORY=Source tree | |
| #### PREBUILTS=${PREBUILT_BLACK_DIR} ${PREBUILT_BUILDIFIER} ${PREBUILT_CLANG_DIR} ${PREBUILT_DART_DIR} ${PREBUILT_GN} ${PREBUILT_GO_DIR} ${PREBUILT_KEEP_SORTED} ${PREBUILT_PYTHON3} ${PREBUILT_RUST_DIR} ${PREBUILT_SHAC} | |
| ### runs source formatters on modified files via SHAC | |
| ## Usage: fx format-code [options] [files...] [-- shac_args...] | |
| ## | |
| ## Runs source formatters registered in SHAC on modified source files | |
| ## (or on explicit files if specified). | |
| ## | |
| ## Options: | |
| ## --emit Emit formatted output to stdout instead of modifying files. | |
| ## --all Format all tracked files in the repository. | |
| ## --only <check> Run only the specified formatter(s) (comma-separated or repeated). | |
| ## --skip <check> Skip the specified formatter(s) (comma-separated or repeated). | |
| ## --files <files> Comma-separated list of specific files to format. | |
| ## -v, --verbose Print verbose command execution output. | |
| ## --dry-run Print shac commands without executing. | |
| source "$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)"/lib/vars.sh || exit $? | |
| fx-config-read | |
| if [[ -z "${JIRI_PACKAGES_DIR}" ]]; then | |
| if git_common_dir=$(git -C "${FUCHSIA_DIR}" rev-parse --git-common-dir 2>/dev/null) && [[ -d "${git_common_dir}" ]]; then | |
| parent_root=$(cd "${git_common_dir}/.." 2>/dev/null && pwd) | |
| packages_dir="${parent_root}/.jiri_root/packages" | |
| if [[ -d "${packages_dir}" ]]; then | |
| export JIRI_PACKAGES_DIR="${packages_dir}" | |
| fi | |
| fi | |
| fi | |
| export PREBUILT_SHAC | |
| export PYTHONPATH="${FUCHSIA_DIR}/tools/devshell/lib${PYTHONPATH:+:${PYTHONPATH}}" | |
| exec "${PREBUILT_PYTHON3}" "${FUCHSIA_DIR}/tools/devshell/format_code.py" "$@" |