From: Ryan C. Price [pricerc@ihug.co.nz] Sent: Thursday, March 16, 2000 1:50 PM To: Info-VAX@Mvb.Saic.Com Subject: Re: VT Escape Sequences - was Vax programming Here's a DCL proc I wrote years ago to help me remember. I assign global symbol names to each attribute, and then you can use them as names in your later DCL - you can even just execute this within a DCL proc to get all the symbols (code reuse): $! ansi_attributes.com $! $ esc[0,8] == 27 $ sas == esc + "[" $ eas == "m" $! $ normal == "0" $ bold == "1" $ underline == "4" $ blink == "5" $ reverse == "7" $ fg_black == "30" $ fg_red == "31" $ fg_green == "32" $ fg_yellow == "33" $ fg_blue == "34" $ fg_magenta == "35" $ fg_cyan == "36" $ fg_white == "37" $ bg_black == "40" $ bg_red == "41" $ bg_green == "42" $ bg_yellow == "43" $ bg_blue == "44" $ bg_magenta == "45" $ bg_cyan == "46" $ bg_white == "47" $! $ ansi_reset == sas + "0" + eas $! $ red_on_black == sas + fg_red + ";" + bg_black + eas $ red_on_green == sas + fg_red + ";" + bg_green + eas $ red_on_yellow == sas + fg_red + ";" + bg_yellow + eas $ red_on_cyan == sas + fg_red + ";" + bg_cyan + eas $ red_on_white == sas + fg_red + ";" + bg_white + eas $ green_on_black == sas + fg_green + ";" + bg_black + eas $ green_on_blue == sas + fg_green + ";" + bg_blue + eas $ green_on_magenta == sas + fg_green + ";" + bg_magenta + eas $ yellow_on_black == sas + fg_yellow + ";" + bg_black + eas $ yellow_on_red == sas + fg_yellow + ";" + bg_red + eas $ yellow_on_blue == sas + fg_yellow + ";" + bg_blue + eas $ yellow_on_magenta == sas + fg_yellow + ";" + bg_magenta + eas $ blue_on_green == sas + fg_blue + ";" + bg_green + eas $ blue_on_yellow == sas + fg_blue + ";" + bg_yellow + eas $ blue_on_cyan == sas + fg_blue + ";" + bg_cyan + eas $ blue_on_white == sas + fg_blue + ";" + bg_white + eas $ magenta_on_green == sas + fg_magenta + ";" + bg_green + eas $ magenta_on_yellow == sas + fg_magenta + ";" + bg_yellow + eas $ magenta_on_cyan == sas + fg_magenta + ";" + bg_cyan + eas $ magenta_on_white == sas + fg_magenta + ";" + bg_white + eas $ cyan_on_black == sas + fg_cyan + ";" + bg_black + eas $ cyan_on_red == sas + fg_cyan + ";" + bg_red + eas $ cyan_on_blue == sas + fg_cyan + ";" + bg_blue + eas $ cyan_on_magenta == sas + fg_cyan + ";" + bg_magenta + eas $ white_on_black == sas + fg_white + ";" + bg_black + eas $ white_on_red == sas + fg_white + ";" + bg_red + eas $ white_on_blue == sas + fg_white + ";" + bg_blue + eas $ white_on_magenta == sas + fg_white + ";" + bg_magenta + eas $! $if p1.eqs."" then exit $! $say = "write sys$output" $say red_on_black , "testing ansi sequences - this is red_on_black " , ansi_reset $say red_on_green , "testing ansi sequences - this is red_on_green " , ansi_reset $say red_on_yellow , "testing ansi sequences - this is red_on_yellow " , ansi_reset $say red_on_cyan , "testing ansi sequences - this is red_on_cyan " , ansi_reset $say red_on_white , "testing ansi sequences - this is red_on_white " , ansi_reset $say green_on_black , "testing ansi sequences - this is green_on_black " , ansi_reset $say green_on_blue , "testing ansi sequences - this is green_on_blue " , ansi_reset $say green_on_magenta , "testing ansi sequences - this is green_on_magenta " , ansi_reset $say yellow_on_black , "testing ansi sequences - this is yellow_on_black " , ansi_reset $say yellow_on_red , "testing ansi sequences - this is yellow_on_red " , ansi_reset $say yellow_on_blue , "testing ansi sequences - this is yellow_on_blue " , ansi_reset $say yellow_on_magenta , "testing ansi sequences - this is yellow_on_magenta " , ansi_reset $say blue_on_green , "testing ansi sequences - this is blue_on_green " , ansi_reset $say blue_on_yellow , "testing ansi sequences - this is blue_on_yellow " , ansi_reset $say blue_on_cyan , "testing ansi sequences - this is blue_on_cyan " , ansi_reset $say blue_on_white , "testing ansi sequences - this is blue_on_white " , ansi_reset $say magenta_on_green , "testing ansi sequences - this is magenta_on_green " , ansi_reset $say magenta_on_yellow , "testing ansi sequences - this is magenta_on_yellow " , ansi_reset $say magenta_on_cyan , "testing ansi sequences - this is magenta_on_cyan " , ansi_reset $say magenta_on_white , "testing ansi sequences - this is magenta_on_white " , ansi_reset $say cyan_on_black , "testing ansi sequences - this is cyan_on_black " , ansi_reset $say cyan_on_red , "testing ansi sequences - this is cyan_on_red " , ansi_reset $say cyan_on_blue , "testing ansi sequences - this is cyan_on_blue " , ansi_reset $say cyan_on_magenta , "testing ansi sequences - this is cyan_on_magenta " , ansi_reset $say white_on_black , "testing ansi sequences - this is white_on_black " , ansi_reset $say white_on_red , "testing ansi sequences - this is white_on_red " , ansi_reset $say white_on_blue , "testing ansi sequences - this is white_on_blue " , ansi_reset $say white_on_magenta , "testing ansi sequences - this is white_on_magenta " , ansi_reset $! $!