Skip to content

Commit 08a5d56

Browse files
committed
feat: add basic support for light themes
This should fix sudo-tee#34
1 parent 689fe53 commit 08a5d56

1 file changed

Lines changed: 35 additions & 15 deletions

File tree

lua/opencode/ui/highlight.lua

Lines changed: 35 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,41 @@
11
local M = {}
22

33
function M.setup()
4-
vim.api.nvim_set_hl(0, 'OpencodeBorder', { fg = '#616161', default = true })
5-
vim.api.nvim_set_hl(0, 'OpencodeBackground', { link = 'Normal', default = true })
6-
vim.api.nvim_set_hl(0, 'OpencodeSessionDescription', { link = 'Comment', default = true })
7-
vim.api.nvim_set_hl(0, 'OpencodeMention', { link = 'Special', default = true })
8-
vim.api.nvim_set_hl(0, 'OpencodeToolBorder', { fg = '#3b4261', nocombine = true, default = true })
9-
vim.api.nvim_set_hl(0, 'OpencodeMessageRoleAssistant', { link = 'Added', default = true })
10-
vim.api.nvim_set_hl(0, 'OpencodeMessageRoleUser', { link = 'Question', default = true })
11-
vim.api.nvim_set_hl(0, 'OpencodeDiffAdd', { bg = '#2B3328', default = true })
12-
vim.api.nvim_set_hl(0, 'OpencodeDiffDelete', { bg = '#43242B', default = true })
13-
vim.api.nvim_set_hl(0, 'OpencodeAgentPlan', { bg = '#61AFEF', fg = '#FFFFFF', bold = true, default = true })
14-
vim.api.nvim_set_hl(0, 'OpencodeAgentBuild', { bg = '#616161', fg = '#FFFFFF', bold = true, default = true })
15-
vim.api.nvim_set_hl(0, 'OpencodeAgentCustom', { bg = '#3b4261', fg = '#FFFFFF', bold = true, default = true })
16-
vim.api.nvim_set_hl(0, 'OpencodeContextualActions', { bg = '#3b4261', fg = '#61AFEF', bold = true, default = true })
17-
vim.api.nvim_set_hl(0, 'OpencodeInputLegend', { bg = '#616161', fg = '#CCCCCC', bold = false, default = true })
18-
vim.api.nvim_set_hl(0, 'OpencodeHint', { link = 'Comment', default = true })
4+
local is_light = vim.o.background == 'light'
5+
6+
if is_light then
7+
vim.api.nvim_set_hl(0, 'OpencodeBorder', { fg = '#9E9E9E', default = true })
8+
vim.api.nvim_set_hl(0, 'OpencodeBackground', { link = 'Normal', default = true })
9+
vim.api.nvim_set_hl(0, 'OpencodeSessionDescription', { link = 'Comment', default = true })
10+
vim.api.nvim_set_hl(0, 'OpencodeMention', { link = 'Special', default = true })
11+
vim.api.nvim_set_hl(0, 'OpencodeToolBorder', { fg = '#B0BEC5', nocombine = true, default = true })
12+
vim.api.nvim_set_hl(0, 'OpencodeMessageRoleAssistant', { link = 'Special', default = true })
13+
vim.api.nvim_set_hl(0, 'OpencodeMessageRoleUser', { link = 'Question', default = true })
14+
vim.api.nvim_set_hl(0, 'OpencodeDiffAdd', { bg = '#E8F5E8', default = true })
15+
vim.api.nvim_set_hl(0, 'OpencodeDiffDelete', { bg = '#FFEBEE', default = true })
16+
vim.api.nvim_set_hl(0, 'OpencodeAgentPlan', { bg = '#2196F3', fg = '#FFFFFF', bold = true, default = true })
17+
vim.api.nvim_set_hl(0, 'OpencodeAgentBuild', { bg = '#757575', fg = '#FFFFFF', bold = true, default = true })
18+
vim.api.nvim_set_hl(0, 'OpencodeAgentCustom', { bg = '#90A4AE', fg = '#FFFFFF', bold = true, default = true })
19+
vim.api.nvim_set_hl(0, 'OpencodeContextualActions', { bg = '#90A4AE', fg = '#1976D2', bold = true, default = true })
20+
vim.api.nvim_set_hl(0, 'OpencodeInputLegend', { bg = '#757575', fg = '#424242', bold = false, default = true })
21+
vim.api.nvim_set_hl(0, 'OpencodeHint', { link = 'Comment', default = true })
22+
else
23+
vim.api.nvim_set_hl(0, 'OpencodeBorder', { fg = '#616161', default = true })
24+
vim.api.nvim_set_hl(0, 'OpencodeBackground', { link = 'Normal', default = true })
25+
vim.api.nvim_set_hl(0, 'OpencodeSessionDescription', { link = 'Comment', default = true })
26+
vim.api.nvim_set_hl(0, 'OpencodeMention', { link = 'Special', default = true })
27+
vim.api.nvim_set_hl(0, 'OpencodeToolBorder', { fg = '#3b4261', nocombine = true, default = true })
28+
vim.api.nvim_set_hl(0, 'OpencodeMessageRoleAssistant', { link = 'Added', default = true })
29+
vim.api.nvim_set_hl(0, 'OpencodeMessageRoleUser', { link = 'Question', default = true })
30+
vim.api.nvim_set_hl(0, 'OpencodeDiffAdd', { bg = '#2B3328', default = true })
31+
vim.api.nvim_set_hl(0, 'OpencodeDiffDelete', { bg = '#43242B', default = true })
32+
vim.api.nvim_set_hl(0, 'OpencodeAgentPlan', { bg = '#61AFEF', fg = '#FFFFFF', bold = true, default = true })
33+
vim.api.nvim_set_hl(0, 'OpencodeAgentBuild', { bg = '#616161', fg = '#FFFFFF', bold = true, default = true })
34+
vim.api.nvim_set_hl(0, 'OpencodeAgentCustom', { bg = '#3b4261', fg = '#FFFFFF', bold = true, default = true })
35+
vim.api.nvim_set_hl(0, 'OpencodeContextualActions', { bg = '#3b4261', fg = '#61AFEF', bold = true, default = true })
36+
vim.api.nvim_set_hl(0, 'OpencodeInputLegend', { bg = '#616161', fg = '#CCCCCC', bold = false, default = true })
37+
vim.api.nvim_set_hl(0, 'OpencodeHint', { link = 'Comment', default = true })
38+
end
1939
end
2040

2141
return M

0 commit comments

Comments
 (0)