Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- COMMENT_STYLE="\x1b[37;2m"
- KEYWORD_STYLE="\x1b[33;1m"
- TYPES_STYLE="\x1b[36;6m"
- STRING_STYLE="\x1b[32;6m"
- NUMBER_STYLE="\x1b[32;6m"
- RST="\x1b[0m"
- COMMENT_REGEX="/\\*(.|[\\n\\r])*?\\*/|//.*|^\\#include\\s+[\\<\"].*?[\\>\"]$|^\\#define .*$"
- KEYWORD_REGEX="\\b(attribute|const|goto|case|break|continue|do|for|while|if|else|bool|true|false|struct|reinterpret_cast|static_cast|NULL)\\b"
- TYPES_REGEX="\\b(int|float|double|bool|u?int[0-9]{2}_t|char|void|byte)\\b"
- STRING_REGEX="\".+?\""
- NUMBER_REGEX="\\b(0x[A-Za-z0-9]+?|[0-9]+)\\b"
- sed -E "s#$NUMBER_REGEX#$NUMBER_STYLE\0$RST#g" | \
- sed -E "s#$KEYWORD_REGEX#$KEYWORD_STYLE\0$RST#g" | \
- sed -E "s#$TYPES_REGEX#$TYPES_STYLE\0$RST#g" | \
- sed -E "s#$COMMENT_REGEX#$COMMENT_STYLE\0$RST#g" | \
- sed -E "s#$STRING_REGEX#$STRING_STYLE\0$RST#g"
Add Comment
Please, Sign In to add comment