Skip to content
Surge edited this page Jul 14, 2025 · 2 revisions

Welcome to the (barebones) Aegis wiki!

Aegis strives to be a crossplatform shell with a modern (non-posix) syntax. This wiki will be updated every time a new piece of syntax is added.

Syntax

Shell

Anything starting with a character will be interpreted as a word. Words make up commands, functions, variables. If a word is not a function or a variable it is interpreted as a shell command:

A> echo test
<  test

A> git status
<  On branch main...

Types

0 - Int (64 bit)
0.0 - Float (64 bit)
"foo" - Strings
true - Bools

Variable Declaration

The type of a variable is inferred by the value.

let foo = 12;

A> let bar = "abc";

Control Structures

If Statements

if expr {
    body;
}

if expr {
    body;
} elif expr {
    body;
} else {
    body;
}

A> if true {
    echo bar;
}
<  bar

While Loop

while expr {
    body;
}

A> while true {
    echo foo;
}
< foo
foo
foo
...

Other

Math

1 * 2 + 0.3 - (200 + 2)

A> 1 * 2 + 0.3 - (200 + 2)
<  -199.7

Examples

A> let test = 5;

while test {
    test = test - 1;
    echo a;
}

< a
a
a
a
a

Clone this wiki locally