Method code for $code_lib.punctuation_type()

[Turn on line numbering]
arg str;
var end, offset, noses;

end = str.length();
switch (str[end]) {
    case "!":
        return "exclaim";
    case "?":
        return "ask";
    case ".":
        return "say";
    case ")":
        if (end > 1) {
            if (end > 2 && str[end - 1] == "-")
                offset = 2;
            else
                offset = 1;
            switch (str[end - offset]) {
                case ";":
                    return "wink";
                case ":", "=":
                    return "smile";
                case "8":
                    return "grin";
                default:
                    return "say";
            }
        }
    case "(":
        if (end > 1) {
            if (end > 2 && str[end - 1] == "-")
                offset = 2;
            else
                offset = 1;
            if (str[end - offset] in ["=", "8", ":"])
                return "frown";
        }
}
return "say";

// $#Edited: 18 Aug 97 22:51 $user_neale
// $#Edited: 28 Sep 97 14:18 $user_neale

["// Created 26-Mar-1995 as a part of ColdCore, see: @help Credit"]

the Cold Dark