Skip to content

Commit 6eb7354

Browse files
committed
chore(icons): deprecate emoji icons in favor of nerdfonts
1 parent 3dea370 commit 6eb7354

3 files changed

Lines changed: 20 additions & 3 deletions

File tree

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@ require('opencode').setup({
168168
display_cost = true, -- Display cost in the footer
169169
window_highlight = 'Normal:OpencodeBackground,FloatBorder:OpencodeBorder', -- Highlight group for the opencode window
170170
icons = {
171-
preset = 'emoji', -- 'emoji' | 'text'. Choose UI icon style (default: 'emoji')
171+
preset = 'nerdfonts', -- 'nerdfonts' | 'text'. Choose UI icon style (default: 'nerdfonts')
172172
overrides = {}, -- Optional per-key overrides, see section below
173173
},
174174
output = {

lua/opencode/types.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@
9595
---@field display_context_size boolean
9696
---@field display_cost boolean
9797
---@field window_highlight string
98-
---@field icons { preset: 'emoji'|'text'|'nerdfonts', overrides: table<string,string> }
98+
---@field icons { preset: 'text'|'nerdfonts', overrides: table<string,string> }
9999
---@field loading_animation OpencodeLoadingAnimationConfig
100100
---@field output OpencodeUIOutputConfig
101101
---@field input { text: { wrap: boolean } }

lua/opencode/ui/icons.lua

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,13 +78,30 @@ local presets = {
7878
},
7979
}
8080

81+
local deprecated_warning_shown = false
82+
83+
local deprecated_warning_shown = false
84+
8185
---Get icon by key, honoring preset and user overrides
8286
---@param key string
8387
---@return string
8488
function M.get(key)
8589
local ui = (config.ui or {})
8690
local icons_cfg = ui.icons or {}
87-
local preset_name = icons_cfg.preset or 'emoji'
91+
if icons_cfg.preset == 'emoji' then
92+
icons_cfg.preset = nil
93+
if not deprecated_warning_shown then
94+
vim.schedule(function()
95+
vim.notify(
96+
"[opencode] 'emoji' preset is deprecated. Using 'nerdfonts' preset instead. Please update your configuration.",
97+
vim.log.levels.WARN,
98+
{ title = 'Opencode' }
99+
)
100+
end)
101+
deprecated_warning_shown = true
102+
end
103+
end
104+
local preset_name = icons_cfg.preset or 'nerdfonts'
88105
local preset = presets[preset_name] or presets.emoji
89106

90107
-- user overrides table: icons = { overrides = { key = 'value' } }

0 commit comments

Comments
 (0)