-
-
Notifications
You must be signed in to change notification settings - Fork 133
/
symbols.rb
65 lines (61 loc) · 1.33 KB
/
symbols.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# frozen_string_literal: true
module TTY
class Prompt
# Cross platform common Unicode symbols.
#
# @api public
module Symbols
KEYS = {
tick: '✓',
cross: '✘',
star: '★',
square: '◼',
square_empty: '◻',
mask: '•',
pointer: '‣',
line: '─',
pipe: '|',
handle: '●',
ellipsis: '…',
radio_on: '⬢',
radio_off: '⬡',
checkbox_on: '☒',
checkbox_off: '☐',
circle_on: 'ⓧ',
circle_off: 'Ⓘ'
}.freeze
WIN_KEYS = {
tick: '√',
cross: 'x',
star: '*',
square: '[█]',
square_empty: '[ ]',
mask: '.',
pointer: '>',
line: '-',
pipe: '|',
handle: 'O',
ellipsis: '...',
radio_on: '(*)',
radio_off: '( )',
checkbox_on: '[×]',
checkbox_off: '[ ]',
circle_on: '(x)',
circle_off: '( )'
}.freeze
def symbols
@symbols ||= windows? ? WIN_KEYS : KEYS
end
module_function :symbols
# Check if Windowz
#
# @return [Boolean]
#
# @api public
def windows?
::File::ALT_SEPARATOR == "\\"
end
module_function :windows?
end # Symbols
end # Prompt
end # TTY