const char * c_keywords[] = { "register", "volatile", "auto", "const", "static", "extern", "if", "else", "do", "while", "for", "continue", "switch", "case", "default", "break", "enum", "union", "struct", "typedef", "goto", "void", "return", "sizeof", "char", "short", "int", "long", "signed", "unsigned", "float", "double", NULL }; const char * preprocessor_keywords[] = { "#include", "#pragma", "#define", "#undef", "#ifdef", "#ifndef", "#elifdef", "#elifndef", "#if", "#elif", "#else", "#endif", "#embed", "#line", "#error", "#warning", NULL }; new_char_tokens("+-&|.()[]{}", operator_hl); new_keyword_tokens(c_keywords, control_hl); new_keyword_tokens(preprocessor_keywords, special_hl); new_region_token("/\\*", "\\*/", comment_hl); new_region_token("//", "\\n", comment_hl); new_region_token("\"", "\"", string_literal_hl); new_region_token("<", ">", string_literal_hl); new_keyword_token("keyword", special_hl); new_keyword_token("while", operator_hl);