Zig 0.17.0-dev (Split by item)

This is an example of documentation generated by ZigDoc, an alternative to Zig's built-in Auto Doc feature. See also examples in other modes/formats. The project being documented here (as the example) is the Zig library itself.

appendIncludeDirFlags

Assumes unused capacity for at least 2 items.

Compile.appendIncludeDirFlags
pub fn appendIncludeDirFlags(
    arena: Allocator,
    include_dir: Configuration.Module.IncludeDir,
    zig_args: *std.ArrayList([]const u8),
    asking_step: Configuration.Step.Index,
    maker: *const Maker,
) !void

File

lib/compiler/Maker/Step/Compile.zig:1334

Code

pub fn appendIncludeDirFlags(
    arena: Allocator,
    include_dir: Configuration.Module.IncludeDir,
    zig_args: *std.ArrayList([]const u8),
    asking_step: Configuration.Step.Index,
    maker: *const Maker,
) !void {
    const conf = &maker.scanned_config.configuration;

    switch (include_dir) {
        .path => |lp| {
            zig_args.appendAssumeCapacity("-I");
            zig_args.appendAssumeCapacity(try maker.resolveLazyPathIndexAbs(arena, lp, asking_step));
        },
        .path_system => |lp| {
            zig_args.appendAssumeCapacity("-isystem");
            zig_args.appendAssumeCapacity(try maker.resolveLazyPathIndexAbs(arena, lp, asking_step));
        },
        .path_after => |lp| {
            zig_args.appendAssumeCapacity("-idirafter");
            zig_args.appendAssumeCapacity(try maker.resolveLazyPathIndexAbs(arena, lp, asking_step));
        },
        .framework_path => |lp| {
            zig_args.appendAssumeCapacity("-F");
            zig_args.appendAssumeCapacity(try maker.resolveLazyPathIndexAbs(arena, lp, asking_step));
        },
        .framework_path_system => |lp| {
            zig_args.appendAssumeCapacity("-iframework");
            zig_args.appendAssumeCapacity(try maker.resolveLazyPathIndexAbs(arena, lp, asking_step));
        },
        .config_header_step => |ch_index| {
            const conf_ch = ch_index.ptr(conf).extended.get(conf.extra).config_header;
            const path = maker.generatedPath(conf_ch.generated_dir).*;
            zig_args.appendAssumeCapacity("-I");
            zig_args.appendAssumeCapacity(try path.toString(arena));
        },
        .embed_path => |lazy_path| {
            zig_args.appendAssumeCapacity(try arena.print("--embed-dir={f}", .{
                try maker.resolveLazyPathIndex(arena, lazy_path, asking_step),
            }));
        },
    }
}