ansi-escape-sequences
TOC »
Description
Procedures to generate ANSI escape sequences.
Author
Requirements
None
Procedures
- (cursor-position #!optional (line 0) (column 0)) procedure
Move the cursor to the specified position (coordinates). If a position is not specified, the cursor is moved to the home position at the upper-left corner of the screen (line 0, column 0).
- (cursor-up lines) procedure
Move the cursor up by the specified number of lines without changing columns.
- (cursor-down lines) procedure
Move the cursor down by the specified number of lines without changing columns.
- (cursor-forward columns) procedure
Move the cursor forward by the specified number of columns without changing lines.
- (cursor-backward columns) procedure
Move the cursor back by the specified number of columns without changing lines.
- (save-cursor-position) procedure
Save the current cursor position. You can move the cursor to the saved cursor position by using the restore-cursor-position procedure.
- (restore-cursor-position) procedure
Return the cursor to the position stored by the save-cursor-position.
- (erase-display) procedure
Clear the screen and move the cursor to the home position (line 0, column 0).
- (erase-line) procedure
Clear all characters from the cursor position to the end of the line (including the character at the cursor position).
- (set-mode attrib) procedure
Change the screen width or type to the mode specified by one of the following values (symbols):
- 40x25-monochrome
- 40x25-color
- 80x25-monochrome
- 80x25-color
- 320x200-4-color
- 320x200-monochrome
- 640x200-monochrome
- line-wrapping
- 320x200-color
- 640x200-color
- 640x350-monochrome
- 640x350-color
- 640x480-monochrome
- 640x480-color
- 320x200-color
- (reset-mode attrib) procedure
Reset the mode by using the same values as set-mode.
- (set-text attribs text #!optional (reset #t)) procedure
Change the colors and attributes of text (such as bold and underline) displayed on the screen. The following attributes are available (symbols):
- reset
- bold
- underscore
- blink
- reverse-video
- concealed
- fg-black
- fg-red
- fg-green
- fg-yellow
- fg-blue
- fg-magenta
- fg-cyan
- fg-white
- bg-black
- bg-red
- bg-green
- bg-yellow
- bg-blue
- bg-magenta
- bg-cyan
- bg-white
bg- is for background. fg- is for foreground.
Examples
There are videos showing the execution of the program below: OGV (Theora), AVI
(use posix ansi-escape-sequences)
(set-buffering-mode! (current-output-port) #:none)
(display (save-cursor-position))
(for-each (lambda (letter)
(display letter)
(sleep 1)
(cursor-forward 1))
'("c" "h" "i" "c" "k" "e" "n"))
(display " ")
(for-each (lambda (letter)
(display (set-text '(bg-black fg-yellow) letter))
(sleep 1)
(cursor-forward 1))
'("r" "o" "c" "k" "s" "!"))
(display (restore-cursor-position))
(display (erase-line))
(for-each (lambda (letter)
(display letter)
(sleep 1)
(cursor-forward 1))
'("c" "h" "i" "c" "k" "e" "n"))
(display " ")
(for-each (lambda (letter)
(display (set-text '(bg-red fg-white) letter))
(sleep 1)
(cursor-forward 1))
'("r" "u" "l" "e" "s" "!"))
(print "")License
BSD
Version history
Version 0.2
Fixed escape sequences with more than one argument (reported by Felix)
Version 0.1
Initial release