string decode_color (string lan_name, int c) { language lan= prog_language (lan_name); if (N(lan->color_decoding) == 0) initialize_color_decodings (lan_name); if (lan->color_decoding->contains (c)) return lan->color_decoding[c]; else return ""; }
language edit_typeset_rep::get_env_language () { string mode= get_env_string (MODE); if (mode == "text") return text_language (get_env_string (LANGUAGE)); else if (mode == "math") return math_language (get_env_string (MATH_LANGUAGE)); else return prog_language (get_env_string (PROG_LANGUAGE)); }
void initialize_color_decodings (string lan_name) { language lan= prog_language(lan_name); string pfx= "syntax:" * lan->lan_name * ":"; lan->color_decoding (-1)= get_preference (pfx * "none", "red"); lan->color_decoding (1) = get_preference (pfx * "comment", "brown"); lan->color_decoding (3) = get_preference (pfx * "error", "dark red"); lan->color_decoding (4) = get_preference (pfx * "preprocessor", "#004000"); lan->color_decoding (5) = get_preference (pfx * "preprocessor_directive", "#20a000"); lan->color_decoding (10)= get_preference (pfx * "constant", "#4040c0"); lan->color_decoding (11)= get_preference (pfx * "constant_identifier", "#4040c0"); lan->color_decoding (12)= get_preference (pfx * "constant_function", "#4040c0"); lan->color_decoding (13)= get_preference (pfx * "constant_type", "#4040c0"); lan->color_decoding (14)= get_preference (pfx * "constant_category", "#4040c0"); lan->color_decoding (15)= get_preference (pfx * "constant_module", "#4040c0"); lan->color_decoding (16)= get_preference (pfx * "constant_number", "#3030b0"); lan->color_decoding (17)= get_preference (pfx * "constant_string", "dark grey"); lan->color_decoding (18)= get_preference (pfx * "constant_char", "#333333"); lan->color_decoding (20)= get_preference (pfx * "variable", "#606060"); lan->color_decoding (21)= get_preference (pfx * "variable_identifier", "#204080"); lan->color_decoding (22)= get_preference (pfx * "variable_function", "#606060"); lan->color_decoding (23)= get_preference (pfx * "variable_type", "#00c000"); lan->color_decoding (24)= get_preference (pfx * "variable_category", "#00c000"); lan->color_decoding (25)= get_preference (pfx * "variable_module", "#00c000"); lan->color_decoding (26)= get_preference (pfx * "variable_ioarg", "#00b000"); lan->color_decoding (30)= get_preference (pfx * "declare", "#0000c0"); lan->color_decoding (31)= get_preference (pfx * "declare_identifier", "#0000c0"); lan->color_decoding (32)= get_preference (pfx * "declare_function", "#0000c0"); lan->color_decoding (33)= get_preference (pfx * "declare_type", "#0000c0"); lan->color_decoding (34)= get_preference (pfx * "declare_category", "#d030d0"); lan->color_decoding (35)= get_preference (pfx * "declare_module", "#0000c0"); lan->color_decoding (40)= get_preference (pfx * "operator", "#8b008b"); lan->color_decoding (41)= get_preference (pfx * "operator_openclose", "#B02020"); lan->color_decoding (42)= get_preference (pfx * "operator_field", "#888888"); lan->color_decoding (43)= get_preference (pfx * "operator_special", "orange"); lan->color_decoding (50)= get_preference (pfx * "keyword", "#309090"); lan->color_decoding (51)= get_preference (pfx * "keyword_conditional", "#309090"); lan->color_decoding (52)= get_preference (pfx * "keyword_control", "#000080"); }