forked from sudo-tee/opencode.nvim
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathicons.lua
More file actions
118 lines (112 loc) · 2.47 KB
/
Copy pathicons.lua
File metadata and controls
118 lines (112 loc) · 2.47 KB
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
-- Centralized icon utility with presets and overrides
local config = require('opencode.config')
local M = {}
local presets = {
nerdfonts = {
-- headers
header_user = '▌ ',
header_assistant = ' ',
-- actions/tools
run = ' ',
task = ' ',
read = ' ',
edit = ' ',
write = ' ',
plan = ' ',
search = ' ',
web = ' ',
list = ' ',
tool = ' ',
skill = ' ',
snapshot = ' ',
restore_point = ' ',
file = ' ',
folder = ' ',
attached_file = ' ',
agent = ' ',
reference = ' ',
reasoning = ' ',
question = '',
-- statuses
status_on = ' ',
status_off = ' ',
guard_on = ' ',
-- borders and misc
border = '▌',
-- context bar
cursor_data = ' ',
error = ' ',
warning = ' ',
info = ' ',
filter = '/',
selection = ' ',
command = ' ',
bash = ' ',
preferred = ' ',
last_used = ' ',
completed = ' ',
pending = ' ',
running = ' ',
},
text = {
-- headers
header_user = '▌$ ',
header_assistant = '@ ',
-- actions/tools
run = '::',
task = '::',
read = '::',
edit = '::',
write = '::',
plan = '::',
search = '::',
web = '::',
list = '::',
tool = '::',
skill = '::',
snapshot = '::',
restore_point = '::',
file = '@',
folder = '[@]',
attached_file = '@',
agent = '@',
reference = '@',
question = '?',
-- statuses
status_on = 'ON',
status_off = 'OFF',
guard_on = 'X',
-- borders and misc
border = '▌',
-- context bar
cursor_data = '[|] ',
error = '[E]',
warning = '[W]',
info = '[I] ',
filter = '/*',
selection = "'<'> ",
command = '::',
bash = '$ ',
preferred = '* ',
last_used = '~ ',
completed = 'X ',
pending = '- ',
running = '> ',
},
}
---Get icon by key, honoring preset and user overrides
---@param key string
---@return string
function M.get(key)
local ui = (config.ui or {})
local icons_cfg = ui.icons or {}
local preset_name = icons_cfg.preset or 'nerdfonts'
local preset = presets[preset_name] or presets.nerdfonts
-- user overrides table: icons = { overrides = { key = 'value' } }
local override = icons_cfg.overrides and icons_cfg.overrides[key]
if override ~= nil then
return override
end
return preset[key] or ''
end
return M