diff options
author | Eugene Teo <eteo@redhat.com> | 2009-04-03 23:46:43 +0800 |
---|---|---|
committer | Eugene Teo <eteo@redhat.com> | 2009-04-03 23:46:43 +0800 |
commit | 8e6c3aa3d61109b0276e96cdbc9ffdde60a5ac0a (patch) | |
tree | 4e2b40ebf341e27089535b3388512d96d62033c5 /tapset/ansi.stp | |
parent | 8c1b9e271c944f64fc11fa9679c653b84ceaa77c (diff) | |
download | systemtap-steved-8e6c3aa3d61109b0276e96cdbc9ffdde60a5ac0a.tar.gz systemtap-steved-8e6c3aa3d61109b0276e96cdbc9ffdde60a5ac0a.tar.xz systemtap-steved-8e6c3aa3d61109b0276e96cdbc9ffdde60a5ac0a.zip |
New ANSI escape sequences tapset
This adds a new tapset for ANSI escape sequences. It is based on an
existing tapset that was written by Masami Hiramatsu for the stapgames
project. This also adds a version of ansi_color.stp script that displays
other attributes other than the bold effect.
Diffstat (limited to 'tapset/ansi.stp')
-rw-r--r-- | tapset/ansi.stp | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/tapset/ansi.stp b/tapset/ansi.stp new file mode 100644 index 00000000..0152fb37 --- /dev/null +++ b/tapset/ansi.stp @@ -0,0 +1,70 @@ +# ANSI escape sequences tapset +# Copyright (C) 2009 Red Hat, Inc., Eugene Teo <eteo@redhat.com> +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2 as +# published by the Free Software Foundation. +# +# Based on some previous work done by Masami Hiramatsu for stapgames. +# Reference: http://en.wikipedia.org/wiki/ANSI_escape_code +# + +function ansi_clear_screen() { + print("\033[1;1H\033[J") +} + +# Foreground colors | Background colors +# Black 30 | Black 40 +# Blue 34 | Red 41 +# Green 32 | Green 42 +# Cyan 36 | Yellow 43 +# Red 31 | Blue 44 +# Purple 35 | Magenta 45 +# Brown 33 | Cyan 46 +# Light Gray 37 | White 47 +function ansi_set_color(fg:long) { + printf("\033[%dm", fg) +} + +function ansi_set_color2(fg:long, bg:long) { + printf("\033[%d;%dm", bg, fg) +} + +# All attributes off 0 +# Intensity: Bold 1 +# Underline: Single 4 +# Blink: Slow 5 +# Blink: Rapid 6 +# Image: Negative 7 +function ansi_set_color3(fg:long, bg:long, attr:long) { + attr_str = attr ? sprintf(";%dm", attr) : "m" + printf("\033[%d;%d%s", bg, fg, attr_str) +} + +function ansi_reset_color() { + ansi_set_color3(0, 0, 0) +} + +function ansi_new_line() { + printf("\12") +} + +function ansi_cursor_move(x:long, y:long) { + printf("\033[%d;%dH", y, x) +} + +function ansi_cursor_hide() { + print("\033[>5I") +} + +function ansi_cursor_save() { + print("\033[s") +} + +function ansi_cursor_restore() { + print("\033[u") +} + +function ansi_cursor_show() { + print("\033[>5h") +} |