DoxigAlpha

setIndentDelta

Function parameters

Parameters

#
ais:*AutoIndentingStream
new_indent_delta:usize

Type definitions in this namespace

Types

#

Functions in this namespace

Functions

#

Error sets in this namespace

Error Sets

#

Source

Implementation

#
pub fn setIndentDelta(ais: *AutoIndentingStream, new_indent_delta: usize) void {
    if (ais.indent_delta == new_indent_delta) {
        return;
    } else if (ais.indent_delta > new_indent_delta) {
        assert(ais.indent_delta % new_indent_delta == 0);
        ais.indent_count = ais.indent_count * (ais.indent_delta / new_indent_delta);
    } else {
        // assert that the current indentation (in spaces) in a multiple of the new delta
        assert((ais.indent_count * ais.indent_delta) % new_indent_delta == 0);
        ais.indent_count = ais.indent_count / (new_indent_delta / ais.indent_delta);
    }
    ais.indent_delta = new_indent_delta;
}