Module: AI::Ansi
- Defined in:
- lib/ansi.rb
Overview
── ANSI helpers ─────────────────────────────────────────────────────
Class Method Summary collapse
Class Method Details
.bold ⇒ Object
7 |
# File 'lib/ansi.rb', line 7 def bold = "\e[1m" |
.dim ⇒ Object
8 |
# File 'lib/ansi.rb', line 8 def dim = "\e[2m" |
.fg(n) ⇒ Object
9 |
# File 'lib/ansi.rb', line 9 def fg(n) = "\e[38;5;#{n}m" |
.reset ⇒ Object
6 |
# File 'lib/ansi.rb', line 6 def reset = "\e[0m" |
.strip(s) ⇒ Object
10 |
# File 'lib/ansi.rb', line 10 def strip(s) = s.gsub(/\e\[[\d;]*m/, "") |
.width(s) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/ansi.rb', line 12 def width(s) strip(s).each_char.sum do |c| case c.ord when 0..126, 57344..63743 then 1 when 65024..65039, 8205 then 0 when 4352..4447, 9000..9215, 9728..9983, 11088..11093, 11904..40959, 44032..55215, 63744..64255, 65040..65135, 65281..65376, 127744..131071, 131072..262143 then 2 else 1 end end end |