Repository navigation
Expand file tree
/
Copy pathicons.lua
More file actions
74 lines (69 loc) · 1.55 KB
/
Copy pathicons.lua
File metadata and controls
74 lines (69 loc) · 1.55 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
-- Centralized icon utility with presets and overrides
local M = {}
local presets = {
emoji = {
-- headers
header_user = '▌💬',
header_assistant = '🤖',
-- actions/tools
run = '💻',
task = '💻',
read = '👀',
edit = '✏️',
write = '📝',
plan = '📃',
search = '🔍',
web = '🌐',
list = '📂',
tool = '🔧',
snapshot = '📸',
restore_point = '🕛',
file = '📄',
-- statuses
status_on = '🟢',
status_off = '⚫',
-- borders and misc
border = '▌',
},
text = {
-- headers
header_user = '▌$ ',
header_assistant = '@ ',
-- actions/tools
run = '::',
task = '::',
read = '::',
edit = '::',
write = '::',
plan = '::',
search = '::',
web = '::',
list = '::',
tool = '::',
snapshot = '::',
restore_point = '::',
file = '::',
-- statuses
status_on = 'ON',
status_off = 'OFF',
-- borders and misc
border = '▌',
},
}
---Get icon by key, honoring preset and user overrides
---@param key string
---@return string
function M.get(key)
local config = require('opencode.config').get()
local ui = (config.ui or {})
local icons_cfg = ui.icons or {}
local preset_name = icons_cfg.preset or 'emoji'
local preset = presets[preset_name] or presets.emoji
-- 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