dbeam | 54c48b3 | 2016-12-22 21:12:04 | [diff] [blame] | 1 | #!/bin/bash |
Avi Drissman | dfd88085 | 2022-09-15 20:11:09 | [diff] [blame] | 2 | # Copyright 2016 The Chromium Authors |
dbeam | 54c48b3 | 2016-12-22 21:12:04 | [diff] [blame] | 3 | # Use of this source code is governed by a BSD-style license that can be |
4 | # found in the LICENSE file. | ||||
5 | |||||
Thiago Perrotta | 89089d3 | 2022-11-18 21:05:38 | [diff] [blame] | 6 | if[[-z"$@"||"$1"=="-h"||"$1"=="--help"]];then |
dbeam | c427878 | 2017-01-10 04:38:51 | [diff] [blame] | 7 | echo>&2"Usage: `basename $0` <paths_to_clang_format...>" |
8 | exit1 | ||||
dbeam | 54c48b3 | 2016-12-22 21:12:04 | [diff] [blame] | 9 | fi |
10 | |||||
dbeam | c427878 | 2017-01-10 04:38:51 | [diff] [blame] | 11 | which clang-format>/dev/null2>&1 |
dbeam | 54c48b3 | 2016-12-22 21:12:04 | [diff] [blame] | 12 | if[[ $?-ne0]];then |
dbeam | c427878 | 2017-01-10 04:38:51 | [diff] [blame] | 13 | echo>&2"Sorry, but you need \`clang-format\` on your \$PATH to run this script" |
14 | exit1 | ||||
dbeam | 54c48b3 | 2016-12-22 21:12:04 | [diff] [blame] | 15 | fi |
16 | |||||
dbeam | c427878 | 2017-01-10 04:38:51 | [diff] [blame] | 17 | for argin ${@};do |
18 | echo"Processing ${arg}" | ||||
19 | |||||
dbeam | 54c48b3 | 2016-12-22 21:12:04 | [diff] [blame] | 20 | dir=`readlink -f "${arg}"` |
dbeam | e6533f5 | 2016-12-23 01:28:23 | [diff] [blame] | 21 | if[[-d"${dir}"]];then |
22 | dir="${dir}/stripped-by-dirname-on-next-line" | ||||
23 | fi | ||||
dbeam | 54c48b3 | 2016-12-22 21:12:04 | [diff] [blame] | 24 | while dir=`dirname ${dir}`;do |
25 | if[[-f"${dir}/.clang-format"]];then | ||||
dbeam | c427878 | 2017-01-10 04:38:51 | [diff] [blame] | 26 | echo"Using style from: ${dir}/.clang-format" |
27 | break | ||||
dbeam | 54c48b3 | 2016-12-22 21:12:04 | [diff] [blame] | 28 | elif[["${dir}"=="/"]];then |
dbeam | c427878 | 2017-01-10 04:38:51 | [diff] [blame] | 29 | echo>&2"No .clang-format file found. Make one at or above ${arg}" |
30 | exit1 | ||||
dbeam | 54c48b3 | 2016-12-22 21:12:04 | [diff] [blame] | 31 | fi |
32 | done | ||||
dbeam | 54c48b3 | 2016-12-22 21:12:04 | [diff] [blame] | 33 | |
dbeam | c427878 | 2017-01-10 04:38:51 | [diff] [blame] | 34 | js_files=$(git ls-tree-r--name-only HEAD--"${arg}"| grep'\.js$') |
35 | |||||
36 | for js_filein ${js_files};do | ||||
37 | echo"Formatting ${js_file}" | ||||
38 | clang-format-i-style=file"$js_file" | ||||
39 | done | ||||
40 | done |