Fork channel

Create a new channel as a copy of main.

Rename channel

Rename main to:

Delete channel

Delete main? This cannot be undone.

dir.zig
pub const Self = enum(u2) {
    left = 0,
    up = 1,
    right = 2,
    down = 3,
    const OPP: u2 = @enumToInt(Self.left) ^ @enumToInt(Self.right);
    pub fn opp(self: Self) Self {
        return @intToEnum(Self, OPP ^ @enumToInt(self));
    }
    pub fn xor(self: Self, other: Self) u2 {
        return @enumToInt(self) ^ @enumToInt(other);
    }
    pub fn sub(self: *Self, other: u2) void {
        self.* = @intToEnum(Self, @enumToInt(self.*) ^ other);
    }
    comptime {
        if (Self.down.opp() != Self.up) @compileError("WRONG");
    }
};
pub const arrows = "<^>V";
pub const pipes = " lqml kxqk jmxj";

pub usingnamespace Self;