12345678910111213141516171819202122232425262728293031323334353637383940 |
- #!/bin/bash
- # Copyright 2016 The Chromium Authors. All rights reserved.
- # Use of this source code is governed by a BSD-style license that can be
- # found in the LICENSE file.
- if [[ -z "${@}" ]]; then
- echo >&2 "Usage: `basename $0` <paths_to_clang_format...>"
- exit 1
- fi
- which clang-format >/dev/null 2>&1
- if [[ $? -ne 0 ]]; then
- echo >&2 "Sorry, but you need \`clang-format\` on your \$PATH to run this script"
- exit 1
- fi
- for arg in ${@}; do
- echo "Processing ${arg}"
- dir=`readlink -f "${arg}"`
- if [[ -d "${dir}" ]]; then
- dir="${dir}/stripped-by-dirname-on-next-line"
- fi
- while dir=`dirname ${dir}`; do
- if [[ -f "${dir}/.clang-format" ]]; then
- echo "Using style from: ${dir}/.clang-format"
- break
- elif [[ "${dir}" == "/" ]]; then
- echo >&2 "No .clang-format file found. Make one at or above ${arg}"
- exit 1
- fi
- done
- js_files=$(git ls-tree -r --name-only HEAD -- "${arg}" | grep '\.js$')
- for js_file in ${js_files}; do
- echo "Formatting ${js_file}"
- clang-format -i -style=file "$js_file"
- done
- done
|