Method: Dispersion.ansi
- Defined in:
- lib/dispersion.rb
.ansi(code) ⇒ Object
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/dispersion.rb', line 28 def self.ansi(code) code.dup.tap do |buffer| offset = 0 for start_offset, end_offset, token in annotate(code) start = THEME.fetch(token) buffer.bytesplice(start_offset + offset, 0, start) offset += start.bytesize buffer.bytesplice(end_offset + offset, 0, "\e[0m") offset += 4 end end end |