mlisp/stdlib/terminal.lsp

23 lines
1.2 KiB
Plaintext

(def term-rst-esc "\x1B[0m")
(def term-red-esc '"\x1B[31m")
(def term-green-esc "\x1B[32m")
(def term-yellow-esc "\x1B[33m")
(def term-blue-esc "\x1B[34m")
(def term-magenta-esc "\x1B[35m")
(def term-cyan-esc "\x1B[36m")
(def term-white-esc "\x1B[37m")
(def term-bold-esc "\x1B[1m")
(def term-underline-esc "\x1B[4m")
(defn term-red (str) (sprintf (+ term-red-esc (string-replace str "%" "%%") term-rst-esc)))
(defn term-green (str) (sprintf (+ term-green-esc (string-replace str "%" "%%") term-rst-esc)))
(defn term-yellow (str) (sprintf (+ term-yellow-esc (string-replace str "%" "%%") term-rst-esc)))
(defn term-blue (str) (sprintf (+ term-blue-esc (string-replace str "%" "%%") term-rst-esc)))
(defn term-magenta (str) (sprintf (+ term-magenta-esc (string-replace str "%" "%%") term-rst-esc)))
(defn term-cyan (str) (sprintf (+ term-cyan-esc (string-replace str "%" "%%") term-rst-esc)))
(defn term-white (str) (sprintf (+ term-white-esc (string-replace str "%" "%%") term-rst-esc)))
(defn term-bold (str) (sprintf (+ term-bold-esc (string-replace str "%" "%%") term-rst-esc)))
(defn term-underline (str) (sprintf (+ term-underline-esc (string-replace str "%" "%%") term-rst-esc)))