John KoleszarInitial WebM release0ea50ce16 years agoHistory
84 lines · 2.3 KB · Shell
RawDownload
#!/bin/bash####  Copyright (c) 2010 The VP8 project authors. All Rights Reserved.####  Use of this source code is governed by a BSD-style license and patent##  grant that can be found in the LICENSE file in the root of the source##  tree. All contributing project authors may be found in the AUTHORS##  file in the root of the source tree.##  # gen_example_code.sh self=$0 die_usage() {    echo "Usage: $self <example.txt>"    exit 1} die() {    echo "$@"    exit 1} include_block() {    show_bar=$1    block_name=${line##*@}    indent=${line%%${block_name}}    indent=${#indent}    [ $indent -eq 1 ] && indent=0    local on_block    while IFS=$'\n' read -r t_line; do        case "$t_line" in            \~*\ ${block_name})                if [ "x$on_block" == "xyes" ]; then                    return 0;                else                    on_block=yes                fi                ;;            @DEFAULT)                if [ "x$on_block" == "xyes" ]; then                    include_block $show_bar < "${template%.c}.txt"                    return 0                fi                ;;            *)                if [ "x$on_block" == "xyes" ]; then                    local rem                    (( rem = 78 - indent ))                    case "$block_name" in                      \**) printf "%${indent}s * %s\n" "" "$t_line" ;;                        *)                            if [ "$show_bar" == "yes" ]; then                                printf "%${indent}s%-${rem}s//\n" "" "$t_line"                            else                                printf "%${indent}s%s\n" "" "$t_line"                            fi                            ;;                    esac                fi        esac    done    return 1} txt=$1[ -f "$txt" ] || die_usageread -r template < "$txt"case "$template" in    @TEMPLATE*) template=${txt%/*}/${template##@TEMPLATE } ;;    *) die "Failed to parse template name from '$template'" ;;esac while IFS=$'\n' read -r line; do    case "$line" in        @*) include_block yes < "$txt" \            || include_block < "${template%.c}.txt" \            #|| echo "WARNING: failed to find text for block $block_name" >&2            ;;        *)  echo "$line" ;;    esacdone < "$template"

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t