#### Balancing text

##### Balance

Alt-B | Balance block

Balance selects text inside ( ), { }, [ ] and optionally < > pairs, including the brackets; press multiple times to expand to outer levels. This function is usefull for determining whether a particular block of code is properly enclosed in brackets.

Place a cursor anywhere inside a parentheses pair and press Alt-B.

The selection expands to enclose the parentheses in the if statement. Press Alt-B again.

This time the curly braces of the enclosing block are balanced. Balance again.

This time you hit the outermost block.

##### Balancing using the mouse

You can also balance by double clicking one of the ( ), { }, [ ], " ", ' ' and optionally < > pairs. Eddie will expand the selection to the enclosing brackets. Note that unlike hitting Alt-B, when balancing using a double-click, the balanced brackets themselves are not selected. In our previous example, if we double-click the opening parentheses of the if statement, we get:

Unlike Balance (Alt-B), double-click balancing also works on " " and ' ' pairs. The balancing algorithm uses the syntax coloring plugin to help it determine if a given quote is opening or closing. If syntax coloring is turned off in a document, the double-clicked quote is treated as if it was the string-opening quote.

Balancing < > pairs is usefull when working with C++ templates a lot. You may turn off balancing < > pairs in Application settings if you do not use C++ templates frequently - balancing < > pairs is a little tricky because the < > characters are also used as less and greater than in arithmetic expressions and may confuse the balancing algorithm. This will not happen if the < > balancing is turned off.

##### Balancing #ifdefs

By using the Alt-double-click on a line with #if, #ifdef, #else and #endif you may select text enclosed in an #ifdef block (this feature is part of the IfdefBalancer plugin)