|
1 | 1 | = view_marker |
2 | 2 |
|
3 | | -> local argfile_line argfile_key argfile_value escaped |
4 | | -> [[ -f "{{ argfile }}" ]] || return |
| 3 | +> local argfile argfile_line argfile_key argfile_value env_argfile env_argfile_var |
| 4 | +> argfile="{{ argfile }}" |
| 5 | +> env_argfile_var="{{ Settings.argfile_var }}" |
| 6 | +> env_argfile="${!env_argfile_var:-}" |
5 | 7 | > |
6 | | -> while IFS= read -r argfile_line || [[ -n "$argfile_line" ]]; do |
7 | | -> [[ "$argfile_line" =~ ^[[:space:]]*(-{1,2}[^[:space:]]+)([[:space:]]+(.+))?[[:space:]]*$ ]] || continue |
8 | | -> argfile_key="${BASH_REMATCH[1]}" |
9 | | -> argfile_value="${BASH_REMATCH[3]:-}" |
10 | | -> argfile_value="${argfile_value#"${argfile_value%%[![:space:]]*}"}" |
11 | | -> argfile_value="${argfile_value%"${argfile_value##*[![:space:]]}"}" |
12 | | -> [[ "$argfile_value" =~ ^\"(.*)\"$ || "$argfile_value" =~ ^\'(.*)\'$ ]] && argfile_value="${BASH_REMATCH[1]}" |
| 8 | +> case "${env_argfile,,}" in |
| 9 | +> 0 | off | no | false) |
| 10 | +> argfile='' |
| 11 | +> ;; |
| 12 | +> esac |
13 | 13 | > |
14 | | -> case "$argfile_key" in |
15 | | -= flags.map { |flag| flag.render(:argfile_case) }.join.indent 4 |
16 | | -> esac |
17 | | -> done <"{{ argfile }}" |
| 14 | +> [[ -n "$env_argfile" ]] && argfile="$env_argfile" |
| 15 | +> if [[ -f "$argfile" ]]; then |
| 16 | +> while IFS= read -r argfile_line || [[ -n "$argfile_line" ]]; do |
| 17 | +> [[ "$argfile_line" =~ ^[[:space:]]*(-{1,2}[^[:space:]]+)([[:space:]]+(.+))?[[:space:]]*$ ]] || continue |
| 18 | +> argfile_key="${BASH_REMATCH[1]}" |
| 19 | +> argfile_value="${BASH_REMATCH[3]:-}" |
| 20 | +> argfile_value="${argfile_value#"${argfile_value%%[![:space:]]*}"}" |
| 21 | +> argfile_value="${argfile_value%"${argfile_value##*[![:space:]]}"}" |
| 22 | +> [[ "$argfile_value" =~ ^\"(.*)\"$ || "$argfile_value" =~ ^\'(.*)\'$ ]] && argfile_value="${BASH_REMATCH[1]}" |
| 23 | +> |
| 24 | +> case "$argfile_key" in |
| 25 | += flags.map { |flag| flag.render(:argfile_case) }.join.indent 6 |
| 26 | +> esac |
| 27 | +> done <"$argfile" |
| 28 | +> fi |
18 | 29 | > |
0 commit comments