Skip to content

Commit 2ee87ea

Browse files
authored
feat(extensions): extend neogit pallete and highlights (#153)
* Provide custom palette directly to neogit * Better highlights; Removed neogit.setup() call
1 parent 7312900 commit 2ee87ea

File tree

1 file changed

+98
-21
lines changed

1 file changed

+98
-21
lines changed

lua/cyberdream/extensions/neogit.lua

+98-21
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,109 @@
11
local M = {}
2+
local util = require("cyberdream.util")
23

34
--- Get extension configuration
45
--- @param opts Config
56
--- @param t CyberdreamPalette
67
function M.get(opts, t)
78
opts = opts or {}
9+
local p = {
10+
-- redifined for further customization
11+
bg = t.bg,
12+
white = t.fg,
13+
grey = t.grey,
14+
cyan = t.cyan,
15+
blue = t.blue,
16+
pink = t.pink,
17+
orange = t.orange,
18+
yellow = t.yellow,
19+
purple = t.purple,
20+
magenta = t.magenta,
21+
bg_solid = t.bg_solid,
22+
-- blended colors
23+
red = util.blend(t.bg_solid, t.red, 0.20),
24+
green = util.blend(t.bg_solid, t.green, 0.20),
25+
bg_red = util.blend(t.bg_solid, t.red, 0.65),
26+
bg_green = util.blend(t.bg_solid, t.green, 0.65),
27+
diffbg_red = util.blend(t.bg_solid, t.red, 0.85),
28+
diffbg_green = util.blend(t.bg_solid, t.green, 0.85),
29+
bg_cyan = util.blend(t.bg_solid, t.cyan, 0.20),
30+
bg_blue = util.blend(t.bg_solid, t.blue, 0.20),
31+
bg_magenta = util.blend(t.bg_solid, t.magenta, 0.20),
32+
bg_alt = util.blend(t.bg_solid, t.bgHighlight, 0.02),
33+
-- styles
34+
bold = true,
35+
italic = true,
36+
underline = true,
37+
}
838
local highlights = {
9-
NeogitNormal = { bg = t.bg },
10-
NeogitPopupSwitchKey = { fg = t.orange },
11-
NeogitPopupOptionKey = { fg = t.orange },
12-
NeogitPopupActionKey = { fg = t.orange },
13-
NeogitPopupBranchName = { fg = t.cyan, bold = true },
14-
NeogitPopupSectionTitle = { fg = t.pink, bold = true },
15-
NeogitFold = { fg = t.fg },
16-
NeogitRemote = { fg = t.cyan },
17-
NeogitBranch = { fg = t.pink, bold = true },
18-
NeogitBranchHead = { fg = t.pink, bold = true },
19-
NeogitWinSeparator = { bg = t.bg, fg = t.bgHighlight },
20-
NeogitChangeDeleted = { fg = t.red, bold = true, italic = true },
21-
NeogitChangeModified = { fg = t.blue, bold = true, italic = true },
22-
NeogitSectionHeader = { fg = t.orange, bold = true },
23-
NeogitCommitViewHeader = { bg = t.pink, fg = t.bgAlt },
24-
NeogitHunkHeader = { bg = t.cyan, fg = t.bgAlt, bold = true },
25-
NeogitHunkHeaderHighlight = { bg = t.pink, fg = t.bgAlt, bold = true },
26-
NeogitDiffHeader = { bg = t.fg, fg = t.bgAlt },
27-
NeogitDiffContext = { bg = t.bg },
28-
NeogitDiffHeaderHighlight = { bg = t.bgHighlight, fg = t.orange, bold = true, italic = true },
29-
NeogitDiffContextHighlight = { bg = t.bgHighlight },
39+
NeogitGraphAuthor = { fg = p.orange },
40+
NeogitGraphRed = { fg = p.red },
41+
NeogitGraphWhite = { fg = p.white },
42+
NeogitGraphYellow = { fg = p.yellow },
43+
NeogitGraphGreen = { fg = p.green },
44+
NeogitGraphCyan = { fg = p.cyan },
45+
NeogitGraphBlue = { fg = p.blue },
46+
NeogitGraphPurple = { fg = p.purple },
47+
NeogitGraphGray = { fg = p.grey },
48+
NeogitGraphOrange = { fg = p.orange },
49+
NeogitGraphBoldOrange = { fg = p.orange, bold = p.bold },
50+
NeogitGraphBoldRed = { fg = p.red, bold = p.bold },
51+
NeogitGraphBoldWhite = { fg = p.white, bold = p.bold },
52+
NeogitGraphBoldYellow = { fg = p.yellow, bold = p.bold },
53+
NeogitGraphBoldGreen = { fg = p.green, bold = p.bold },
54+
NeogitGraphBoldCyan = { fg = p.cyan, bold = p.bold },
55+
NeogitGraphBoldBlue = { fg = p.blue, bold = p.bold },
56+
NeogitGraphBoldPurple = { fg = p.purple, bold = p.bold },
57+
NeogitGraphBoldGray = { fg = p.grey, bold = p.bold },
58+
NeogitHunkMergeHeader = { fg = p.bg_alt, bg = p.grey, bold = p.bold },
59+
NeogitHunkMergeHeaderHighlight = { fg = p.bg, bg = p.bg_cyan, bold = p.bold },
60+
NeogitHunkMergeHeaderCursor = { fg = p.bg, bg = p.bg_cyan, bold = p.bold },
61+
NeogitHunkHeader = { fg = p.bg, bg = p.grey, bold = p.bold },
62+
NeogitHunkHeaderHighlight = { fg = p.bg, bg = p.bg_magenta, bold = p.bold },
63+
NeogitHunkHeaderCursor = { fg = p.bg, bg = p.bg_magenta, bold = p.bold },
64+
NeogitDiffContext = { bg = p.bg_alt },
65+
NeogitDiffContextHighlight = { bg = p.bg_alt },
66+
NeogitDiffContextCursor = { bg = p.bg_alt },
67+
NeogitDiffAdditions = { fg = p.bg_green },
68+
NeogitDiffAdd = { bg = p.diffbg_green, fg = p.bg_green },
69+
NeogitDiffAddHighlight = { bg = p.diffbg_green, fg = p.green },
70+
NeogitDiffAddCursor = { bg = p.bg_alt, fg = p.green },
71+
NeogitDiffDeletions = { fg = p.bg_red },
72+
NeogitDiffDelete = { bg = p.diffbg_red, fg = p.bg_red },
73+
NeogitDiffDeleteHighlight = { bg = p.diffbg_red, fg = p.red },
74+
NeogitDiffDeleteCursor = { bg = p.bg_alt, fg = p.red },
75+
NeogitPopupSectionTitle = { fg = p.blue },
76+
NeogitPopupBranchName = { fg = p.cyan },
77+
NeogitPopupBold = { bold = p.bold },
78+
NeogitPopupSwitchKey = { fg = p.magenta },
79+
NeogitPopupSwitchEnabled = { link = "NeogitPopupSwitchKey" },
80+
NeogitPopupOptionKey = { link = "NeogitPopupSwitchKey" },
81+
NeogitPopupConfigKey = { link = "NeogitPopupSwitchKey" },
82+
NeogitPopupActionKey = { link = "NeogitPopupSwitchKey" },
83+
NeogitFilePath = { fg = p.blue, italic = p.italic },
84+
NeogitCommitViewHeader = { bg = p.bg_cyan, fg = p.bg_solid },
85+
NeogitDiffHeader = { bg = p.bg_alt, fg = p.blue, bold = p.bold },
86+
NeogitDiffHeaderHighlight = { bg = p.bg_alt, fg = p.orange, bold = p.bold },
87+
NeogitBranch = { fg = p.cyan, bold = p.bold },
88+
NeogitBranchHead = { fg = p.blue, bold = p.bold, underline = p.underline },
89+
NeogitRemote = { fg = p.blue, bold = p.bold },
90+
NeogitUnmergedInto = { fg = p.pink, bold = p.bold },
91+
NeogitUnpushedTo = { fg = p.pink, bold = p.bold },
92+
NeogitUnpulledFrom = { fg = p.pink, bold = p.bold },
93+
NeogitChangeModified = { fg = p.blue, bold = p.bold, italic = p.italic },
94+
NeogitChangeAdded = { fg = p.green, bold = p.bold, italic = p.italic },
95+
NeogitChangeDeleted = { fg = p.red, bold = p.bold, italic = p.italic },
96+
NeogitChangeRenamed = { fg = p.purple, bold = p.bold, italic = p.italic },
97+
NeogitChangeUpdated = { fg = p.orange, bold = p.bold, italic = p.italic },
98+
NeogitChangeCopied = { fg = p.cyan, bold = p.bold, italic = p.italic },
99+
NeogitChangeUnmerged = { fg = p.yellow, bold = p.bold, italic = p.italic },
100+
NeogitChangeNewFile = { fg = p.green, bold = p.bold, italic = p.italic },
101+
NeogitSectionHeader = { fg = p.green, bold = p.bold },
102+
NeogitTagName = { fg = p.yellow },
103+
NeogitTagDistance = { fg = p.cyan },
104+
NeogitFloatHeader = { bg = p.bg, bold = p.bold },
105+
NeogitFloatHeaderHighlight = { bg = p.bg_alt, fg = p.cyan, bold = p.bold },
106+
NeogitActiveItem = { bg = p.orange, fg = p.bg_solid, bold = p.bold },
30107
}
31108

32109
return highlights

0 commit comments

Comments
 (0)