From b0d552ffe3e336606de907897181a0f0718b3149 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Sat, 1 Jun 2019 21:56:52 +0200 Subject: Reword terminal output to better modularization. --- module/vulgar/escape.scm | 42 ------------------------------------------ 1 file changed, 42 deletions(-) delete mode 100644 module/vulgar/escape.scm (limited to 'module/vulgar/escape.scm') diff --git a/module/vulgar/escape.scm b/module/vulgar/escape.scm deleted file mode 100644 index 513e66d2..00000000 --- a/module/vulgar/escape.scm +++ /dev/null @@ -1,42 +0,0 @@ -;;; Module for terminal (ANSI) escape codes. - -(define-module (vulgar escape) - #:use-module (srfi srfi-60) - #:use-module (vulgar termios) - #:use-module (util) - #:export (with-vulgar)) - -(define-public (cls) - (display "\x1b[H") ; Move cursor to the origin - (display "\x1b[J") ; Clear everything after cursor - ) - -;;; I don't curse, I'm just vulgar. - -(define-syntax with-vulgar - (syntax-rules () - ((_ thunk) - (let* ((ifd (current-input-port)) - (ofd (current-output-port)) - (iattr (make-termios)) - (oattr (make-termios)) - iattr* oattr*) - (dynamic-wind - (lambda () - (tcgetattr! iattr ifd) - (tcgetattr! oattr ofd) - - ;; Store current settings to enable resetting the terminal later - (set! iattr* (copy-termios iattr)) - (set! oattr* (copy-termios oattr)) - - (let ((bits (bitwise-not (bitwise-ior ECHO ICANON)))) - (set! (lflag iattr) (bitwise-and (lflag iattr) bits)) - (set! (lflag oattr) (bitwise-and (lflag oattr) bits))) - - (tcsetattr! iattr ifd) - (tcsetattr! oattr ofd)) - thunk - (lambda () - (tcsetattr! iattr* ifd) - (tcsetattr! oattr* ofd))))))) -- cgit v1.2.3