#!/usr/bin/env uiua ┌─╴CommandLine # "~/..." ? cwd Pretty ↚ ⊂@~▽⊸⬚@\0≠&var"HOME" COLORS ↚ map ⊙≡°□ ≡°⊟ [ {"red" 1} {"green" 2} {"yellow" 3} {"blue" 4} ] ColorCode ↚ ˜⊂"\x1b[0m" ⊂$"\x1b[1;3_m" C ↚ ( ⍣(⍩(ColorCode get ⊙COLORS) °"truecolor" &var"COLORTERM" | ◌) ) PS₁ ← &pf ⊂(C"blue" Pretty)(°&cd C"green" " λ ") └─╴ ┌─╴Commands # ? {"cd" ...} CD ← ( ⍣(⍩(&cd&var"HOME") °0⧻↘1 | ⍩(⍣&cd(&ep"cd: invalid path") ⊢) °1⊸⧻↘1 | &ep"cd: too many arguments") ) # ? {"exit" [code]} Exit ← |1.0 ( ⍣(⍩(&exit 0) °0⧻↘1 | ⍩(&exit ⋕°□⊢) °1⊸⧻↘1 | &ep"exit: too many arguments") ) # handle uiua eval and shell fallback # ? {...} Otherwise ← ( ⍣(⍩(&pf◌)°0&runc ⊂⊙(□/◇$"_ _") ⊜□⊸≠@\s $ uiua eval --experimental | °0&runi | &ep⊂"failed to run " /◇$"_ _" ) ) └─╴ ┌─╴Main F ← |1.0 ( ⊜□⊸≠@\s ⍣(⍩Commands~CD ◇°"cd"⊸⊢ | ⍩Commands~Exit ◇°"exit"⊸⊢ | ⍩Commands~Otherwise °1>0⊸⧻ | ◌) CommandLine~PS₁ ) CommandLine~PS₁ &rlF 0 └─╴