# Priority decreases going downward ie. If two regexes match the same piece of # text, the one defined earlier will take precedence over the one defined later. # Comments '//.*': GRAY '/\*[^*]*\*+(?:[^/*][^*]*\*+)*/': GRAY # Constants '\b[A-Z0-9_]*\b': MAGENTA # Numbers '\b\-?[0-9]*\b': MAGENTA # Strings in double quotes and single quotes '"(.*?)"': BLUE "'(.)'": BLUE # Text inside angle-brackets (used in 'include' statements) '\<(.*?)\>': BLUE # Assignments and comparisons # TODO: Add less than, greater than, not equal to, and struct pointer member access '(?:\s|\b)(=|==|!=|<=|>=|\->)(\s|\b)' : CYAN # Keywords '\b(if|else|while|do|for|return)\b': CYAN '(\n|^)(#ifdef|#ifndef|#define|#include)\b': CYAN # Data Types '\b(int|char|float|double|void|long|short|unsigned|signed|bool)\b': YELLOW