root/tests/usr.bin/indent/opt_bl_br.c
/* $NetBSD: opt_bl_br.c,v 1.10 2025/01/03 23:37:18 rillig Exp $ */

//indent input
void
standard_style(int n)
{
        if (n > 99) {
                print("large");
        } else if (n > 9) {
                print("double-digit");
        } else if (n > 0)
                print("positive");
        else {
                print("negative");
        }
}
//indent end

//indent run-equals-input -br

//indent run -bl
void
standard_style(int n)
{
        if (n > 99)
        {
                print("large");
        } else if (n > 9)
        {
                print("double-digit");
        } else if (n > 0)
                print("positive");
        else
        {
                print("negative");
        }
}
//indent end


/*
 * In this very condensed style, the additional newline between '}' and 'else'
 * is kept.
 */
//indent input
void
condensed_style(int n)
{
        if (n > 99) { print("large"); }
        else if (n > 9) { print("double-digit"); }
        else if (n > 0) print("positive");
        else { print("negative"); }
}
//indent end

//indent run -bl
void
condensed_style(int n)
{
        if (n > 99)
        {
                print("large");
        }
        else if (n > 9)
        {
                print("double-digit");
        }
        else if (n > 0)
                print("positive");
        else
        {
                print("negative");
        }
}
//indent end

//indent run -br
void
condensed_style(int n)
{
        if (n > 99) {
                print("large");
        }
        else if (n > 9) {
                print("double-digit");
        }
        else if (n > 0)
                print("positive");
        else {
                print("negative");
        }
}
//indent end


/*
 * An end-of-line comment after 'if (expr)' forces the '{' to go to the next
 * line.
 */
//indent input
void
eol_comment(void)
{
        if (expr) // C99 comment
                stmt();

        if (expr) // C99 comment
        {
                stmt();
        }
}
//indent end

//indent run -br
void
eol_comment(void)
{
        if (expr)               // C99 comment
                stmt();

        if (expr)               // C99 comment
        {
                stmt();
        }
}
//indent end

//indent run-equals-prev-output -bl


/*
 * Test multiple mixed comments after 'if (expr)'.
 */
//indent input
void
function(void)
{
        if (expr)       // C99 comment 1
                        // C99 comment 2
                        // C99 comment 3
                stmt();
}
//indent end

//indent run
void
function(void)
{
        if (expr)               // C99 comment 1
                // C99 comment 2
                // C99 comment 3
                stmt();
}
//indent end


/*
 * The combination of the options '-br' and '-ei' (both active by default)
 * removes extra newlines between the tokens '}', 'else' and 'if'.
 */
//indent input
void
function(void)
{
        if (cond)
        {
                stmt();
        }
        else if (cond)
        {
                stmt();
        }
}
//indent end

/* TODO: Remove the newline between ')' and '{'. */
//indent run-equals-input -br


//indent input
void
comments(void)
{
        if(cond){}

        if (cond)
        {}

        if (cond) /* comment */
        {}

        if (cond)
        /* comment */
        {}

        if (cond)
        // comment1
        // comment2
        {}

        if (cond) // comment
        {}
}
//indent end

//indent run -bl
void
comments(void)
{
        if (cond)
        {
        }

        if (cond)
        {
        }

        if (cond)               /* comment */
        {
        }

        if (cond)
                /* comment */
        {
        }

        if (cond)
                // comment1
                // comment2
        {
        }

        if (cond)               // comment
        {
        }
}
//indent end

//indent run -br
void
comments(void)
{
        if (cond) {
        }

        if (cond)
        {
        }

        if (cond)               /* comment */
        {
        }

        if (cond)
                /* comment */
        {
        }

        if (cond)
                // comment1
                // comment2
        {
        }

        if (cond)               // comment
        {
        }
}
//indent end