summaryrefslogtreecommitdiff
path: root/ngx_stream_lua-0.0.16/util/fix-test-indent.pl
blob: 7ee4b7e2d599168f0f5c8dc4f877e82b20cd698e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#!/usr/bin/env perl

use strict;
use warnings;

my ($entered, $indent, $delta);
while (<>) {
    if (/^(\s+)\w+_by_lua_block \{$/) {
        #die "HERE, enter";
        $entered = 1;
        $indent = $1;
        undef $delta;
        print;
        next;
    }

    if ($entered) {
        if (/^${indent}\}$/) {
            undef $entered;
            undef $indent;
            undef $delta;
            print;
            next;
        }

        if (/^${indent}(\s+)(.*)/) {
            my ($extra, $lua) = ($1, $2);
            if (!defined $delta) {
                $delta = length($extra);
                if ($delta > 4) {
                    $delta -= 4;
                } else {
                    $delta = 0;
                }
            }
            #warn "delta: $delta";
            if ($delta > 0) {
                $extra = " " x (length($extra) - $delta);
            }
            print "$indent$extra$lua\n";
            next;
        }

        if (/^\s*$/) {
            print;
            next;
        }

        undef $entered;
        undef $indent;
        undef $delta;
        print;
        next;
    }

    print;
    next;
}