Skip to content
Open
Show file tree
Hide file tree
Changes from 8 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 43 additions & 0 deletions lib/AnsiTerminal.fram
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
{# This file is part of DBL, released under MIT license.
# See LICENSE for details.
#}

pub let escStr = "\x1b" #

pub let (csi : String) = escStr + "[" #

pub module Color
pub let setMode reset flag =
if not reset then
csi + flag + "m"
else
csi + "2" + flag + "m"

pub let resetAll = setMode False "0"

pub data Color =
| Black
| Red
| Green
| Yellow
| Blue
| Magenta
| Cyan
| White

pub method colorCode cl =
match cl with
| Black => 0
| Red => 1
| Green => 2
| Yellow => 3
| Blue => 4
| Magenta => 5
| Cyan => 6
| White => 7
end

pub let setFgColor (cl : Color) = setMode False ((cl.colorCode + 30 : Int) >. toString)
pub let setBgColor (cl : Color) = setMode False ((cl.colorCode + 40 : Int) >. toString)

end
Loading