Class: Presentify::Colorifer
- Inherits:
-
Object
- Object
- Presentify::Colorifer
- Defined in:
- lib/presentify/colorifer.rb
Constant Summary collapse
- RED =
31- GREEN =
32- YELLOW =
33- BLUE =
34- MAGENTA =
35- CYAN =
36- WHITE =
37- GRAY =
2- CONSTANTS_RE =
/true|false|nil/- SINGLE_STRINGS_RE =
/('|").*?((?![\\])\1)/- MUTLTI_STRINGS_RE =
/%(Q|w)[\{\[]([\s\S]*?)[\]\}]/m
- COMMENTS_RE =
/# [^\n|\Z]+/- KEYWORDS_RE =
/(\s|\n|\A)(while|do|end|sleep|puts|print|if|unless|else|def|class|ensure|rescue|yield)/- METHOD_CALLS_RE =
/\.[a-z_]+/- ESCAPE_CODES_RE =
/\\(r|b|n|(e\[[\d\;]+(m|A)))/- INTERPOLATIONS_RE =
/\#\{.+?\}/- CLASSES_RE =
/[A-Z][a-zA-Z_]+/
Instance Method Summary collapse
Instance Method Details
#colorify(code) ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/presentify/colorifer.rb', line 22 def colorify(code) #code = code.gsub NUMBERS_RE, "\e[3#{RED}m\\2\e[0m\\3" replacify code.dup, { CONSTANTS_RE => RED, ESCAPE_CODES_RE => YELLOW, INTERPOLATIONS_RE => YELLOW, MUTLTI_STRINGS_RE => GREEN, SINGLE_STRINGS_RE => GREEN, COMMENTS_RE => GRAY, KEYWORDS_RE => MAGENTA, METHOD_CALLS_RE => CYAN, CLASSES_RE => YELLOW } end |