mirror of
https://github.com/rose-pine/neovim.git
synced 2025-10-15 12:38:53 +02:00
Compare commits
82 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
72a04c4065 |
||
|
|
0e70556c8c |
||
|
|
72befaffea |
||
|
|
f93360149e |
||
|
|
83c66bcadb |
||
|
|
6b9840790c | ||
|
|
d195ed8673 | ||
|
|
a67f5ef34b | ||
|
|
39ec539f83 | ||
|
|
5ccc379822 | ||
|
|
d7dc9cd3f2 | ||
|
|
44739383b9 | ||
|
|
8b216f7252 | ||
|
|
0511701746 | ||
|
|
946de320f4 | ||
|
|
340cf5ed5e | ||
|
|
f01eac6eed | ||
|
|
3d71ab02f2 | ||
|
|
0ca4bfbc6f | ||
|
|
8db1217704 | ||
|
|
2b88dfb054 | ||
|
|
ffd5b69948 | ||
|
|
6b51153905 | ||
|
|
40f03c4df1 | ||
|
|
463742691b | ||
|
|
c306f13158 | ||
|
|
fc418a716f | ||
|
|
36526815ee | ||
|
|
a449bb2599 | ||
|
|
5e7bf83782 | ||
|
|
1ebe0a5171 | ||
|
|
8869e546d4 | ||
|
|
2f44ef189f | ||
|
|
22f873c7db | ||
|
|
33a1ba3126 | ||
|
|
fe9e661cda | ||
|
|
94ffdb7748 | ||
|
|
d97cc7fcd7 | ||
|
|
7f0b8c4c7f | ||
|
|
c14da532fa | ||
|
|
8b1a2e73d2 | ||
|
|
d6112a7c56 | ||
|
|
535240c846 | ||
|
|
f7c01f07ee | ||
|
|
656f360ded | ||
|
|
5929bc8683 | ||
|
|
bf7ceb32fa | ||
|
|
3bbd8a865c | ||
|
|
afb46f9b66 | ||
|
|
f2bf6e8d49 | ||
|
|
2f1733d36f | ||
|
|
c4b55e85fb | ||
|
|
fe5f4e11f7 | ||
|
|
69b3aa9500 | ||
|
|
71852123cc | ||
|
|
6d476a5c64 | ||
|
|
958dce3da9 | ||
|
|
511e82e272 | ||
|
|
f67828be44 | ||
|
|
cbc2064f4c | ||
|
|
c8477ee978 | ||
|
|
8d9c83d145 | ||
|
|
465b7dc623 | ||
|
|
e4c22a9163 | ||
|
|
01dc90af2f | ||
|
|
63f4613365 | ||
|
|
1f22d4e97e | ||
|
|
a959c73910 | ||
|
|
3dbb8a99bd | ||
|
|
e901a53e41 | ||
|
|
c8e97915d1 | ||
|
|
12ace889a0 | ||
|
|
e28cda232b | ||
|
|
ea3f15ca95 | ||
|
|
4372c4eb49 | ||
|
|
95e9767165 | ||
|
|
9d0e1b70d9 | ||
|
|
75d145fa08 | ||
|
|
4452ecd140 | ||
|
|
0b77ef0e7b | ||
|
|
8514c638bc | ||
|
|
e62a61166e |
12 changed files with 649 additions and 179 deletions
|
|
@ -1,4 +1,10 @@
|
||||||
local p = require("rose-pine.palette")
|
local p = require("rose-pine.palette")
|
||||||
|
local config = require("rose-pine.config")
|
||||||
|
|
||||||
|
local bg_base = p.base
|
||||||
|
if config.options.styles.transparency then
|
||||||
|
bg_base = "NONE"
|
||||||
|
end
|
||||||
|
|
||||||
return {
|
return {
|
||||||
normal = {
|
normal = {
|
||||||
|
|
@ -19,8 +25,8 @@ return {
|
||||||
a = { bg = p.surface, fg = p.love, gui = "bold" },
|
a = { bg = p.surface, fg = p.love, gui = "bold" },
|
||||||
},
|
},
|
||||||
inactive = {
|
inactive = {
|
||||||
a = { bg = p.base, fg = p.subtle, gui = "bold" },
|
a = { bg = bg_base, fg = p.subtle, gui = "bold" },
|
||||||
b = { bg = p.base, fg = p.subtle },
|
b = { bg = bg_base, fg = p.subtle },
|
||||||
c = { bg = p.base, fg = p.subtle, gui = "italic" },
|
c = { bg = bg_base, fg = p.subtle, gui = "italic" },
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
local p = require("rose-pine.palette")
|
local p = require("rose-pine.palette")
|
||||||
local config = require("rose-pine.config")
|
local config = require("rose-pine.config")
|
||||||
|
|
||||||
local bg_base = p.base
|
local bg_base = p.surface
|
||||||
if config.options.styles.transparency then
|
if config.options.styles.transparency then
|
||||||
bg_base = "NONE"
|
bg_base = "NONE"
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -91,7 +91,7 @@ local function set_highlights()
|
||||||
DiffAdd = { bg = groups.git_add, blend = 20 },
|
DiffAdd = { bg = groups.git_add, blend = 20 },
|
||||||
DiffChange = { bg = groups.git_change, blend = 20 },
|
DiffChange = { bg = groups.git_change, blend = 20 },
|
||||||
DiffDelete = { bg = groups.git_delete, blend = 20 },
|
DiffDelete = { bg = groups.git_delete, blend = 20 },
|
||||||
DiffText = { bg = groups.git_text, blend = 20 },
|
DiffText = { bg = groups.git_text, blend = 40 },
|
||||||
diffAdded = { link = "DiffAdd" },
|
diffAdded = { link = "DiffAdd" },
|
||||||
diffChanged = { link = "DiffChange" },
|
diffChanged = { link = "DiffChange" },
|
||||||
diffRemoved = { link = "DiffDelete" },
|
diffRemoved = { link = "DiffDelete" },
|
||||||
|
|
@ -99,7 +99,7 @@ local function set_highlights()
|
||||||
-- EndOfBuffer = {},
|
-- EndOfBuffer = {},
|
||||||
ErrorMsg = { fg = groups.error, bold = styles.bold },
|
ErrorMsg = { fg = groups.error, bold = styles.bold },
|
||||||
FloatBorder = make_border(),
|
FloatBorder = make_border(),
|
||||||
FloatTitle = { link = "Directory" },
|
FloatTitle = { fg = palette.foam, bg = groups.panel, bold = styles.bold },
|
||||||
FoldColumn = { fg = palette.muted },
|
FoldColumn = { fg = palette.muted },
|
||||||
Folded = { fg = palette.text, bg = groups.panel },
|
Folded = { fg = palette.text, bg = groups.panel },
|
||||||
IncSearch = { link = "CurSearch" },
|
IncSearch = { link = "CurSearch" },
|
||||||
|
|
@ -121,12 +121,12 @@ local function set_highlights()
|
||||||
PmenuSel = { fg = palette.text, bg = palette.overlay },
|
PmenuSel = { fg = palette.text, bg = palette.overlay },
|
||||||
PmenuThumb = { bg = palette.muted },
|
PmenuThumb = { bg = palette.muted },
|
||||||
Question = { fg = palette.gold },
|
Question = { fg = palette.gold },
|
||||||
-- QuickFixLink = {},
|
QuickFixLine = { fg = palette.foam },
|
||||||
-- RedrawDebugNormal = {},
|
-- RedrawDebugNormal = {},
|
||||||
RedrawDebugClear = { fg = palette.base, bg = palette.gold },
|
RedrawDebugClear = { fg = palette.base, bg = palette.gold },
|
||||||
RedrawDebugComposed = { fg = palette.base, bg = palette.pine },
|
RedrawDebugComposed = { fg = palette.base, bg = palette.pine },
|
||||||
RedrawDebugRecompose = { fg = palette.base, bg = palette.love },
|
RedrawDebugRecompose = { fg = palette.base, bg = palette.love },
|
||||||
Search = { fg = palette.base, bg = palette.text },
|
Search = { fg = palette.text, bg = palette.gold, blend = 20 },
|
||||||
SignColumn = { fg = palette.text, bg = "NONE" },
|
SignColumn = { fg = palette.text, bg = "NONE" },
|
||||||
SpecialKey = { fg = palette.foam },
|
SpecialKey = { fg = palette.foam },
|
||||||
SpellBad = { sp = palette.subtle, undercurl = true },
|
SpellBad = { sp = palette.subtle, undercurl = true },
|
||||||
|
|
@ -143,7 +143,7 @@ local function set_highlights()
|
||||||
TabLineSel = { fg = palette.text, bg = palette.overlay, bold = styles.bold },
|
TabLineSel = { fg = palette.text, bg = palette.overlay, bold = styles.bold },
|
||||||
Title = { fg = palette.foam, bold = styles.bold },
|
Title = { fg = palette.foam, bold = styles.bold },
|
||||||
VertSplit = { fg = groups.border },
|
VertSplit = { fg = groups.border },
|
||||||
Visual = { bg = palette.highlight_med },
|
Visual = { bg = palette.iris, blend = 15 },
|
||||||
-- VisualNOS = {},
|
-- VisualNOS = {},
|
||||||
WarningMsg = { fg = groups.warn, bold = styles.bold },
|
WarningMsg = { fg = groups.warn, bold = styles.bold },
|
||||||
-- Whitespace = {},
|
-- Whitespace = {},
|
||||||
|
|
@ -155,26 +155,32 @@ local function set_highlights()
|
||||||
DiagnosticError = { fg = groups.error },
|
DiagnosticError = { fg = groups.error },
|
||||||
DiagnosticHint = { fg = groups.hint },
|
DiagnosticHint = { fg = groups.hint },
|
||||||
DiagnosticInfo = { fg = groups.info },
|
DiagnosticInfo = { fg = groups.info },
|
||||||
|
DiagnosticOk = { fg = groups.ok },
|
||||||
DiagnosticWarn = { fg = groups.warn },
|
DiagnosticWarn = { fg = groups.warn },
|
||||||
DiagnosticDefaultError = { link = "DiagnosticError" },
|
DiagnosticDefaultError = { link = "DiagnosticError" },
|
||||||
DiagnosticDefaultHint = { link = "DiagnosticHint" },
|
DiagnosticDefaultHint = { link = "DiagnosticHint" },
|
||||||
DiagnosticDefaultInfo = { link = "DiagnosticInfo" },
|
DiagnosticDefaultInfo = { link = "DiagnosticInfo" },
|
||||||
|
DiagnosticDefaultOk = { link = "DiagnosticOk" },
|
||||||
DiagnosticDefaultWarn = { link = "DiagnosticWarn" },
|
DiagnosticDefaultWarn = { link = "DiagnosticWarn" },
|
||||||
DiagnosticFloatingError = { link = "DiagnosticError" },
|
DiagnosticFloatingError = { link = "DiagnosticError" },
|
||||||
DiagnosticFloatingHint = { link = "DiagnosticHint" },
|
DiagnosticFloatingHint = { link = "DiagnosticHint" },
|
||||||
DiagnosticFloatingInfo = { link = "DiagnosticInfo" },
|
DiagnosticFloatingInfo = { link = "DiagnosticInfo" },
|
||||||
|
DiagnosticFloatingOk = { link = "DiagnosticOk" },
|
||||||
DiagnosticFloatingWarn = { link = "DiagnosticWarn" },
|
DiagnosticFloatingWarn = { link = "DiagnosticWarn" },
|
||||||
DiagnosticSignError = { link = "DiagnosticError" },
|
DiagnosticSignError = { link = "DiagnosticError" },
|
||||||
DiagnosticSignHint = { link = "DiagnosticHint" },
|
DiagnosticSignHint = { link = "DiagnosticHint" },
|
||||||
DiagnosticSignInfo = { link = "DiagnosticInfo" },
|
DiagnosticSignInfo = { link = "DiagnosticInfo" },
|
||||||
|
DiagnosticSignOk = { link = "DiagnosticOk" },
|
||||||
DiagnosticSignWarn = { link = "DiagnosticWarn" },
|
DiagnosticSignWarn = { link = "DiagnosticWarn" },
|
||||||
DiagnosticUnderlineError = { sp = groups.error, undercurl = true },
|
DiagnosticUnderlineError = { sp = groups.error, undercurl = true },
|
||||||
DiagnosticUnderlineHint = { sp = groups.hint, undercurl = true },
|
DiagnosticUnderlineHint = { sp = groups.hint, undercurl = true },
|
||||||
DiagnosticUnderlineInfo = { sp = groups.info, undercurl = true },
|
DiagnosticUnderlineInfo = { sp = groups.info, undercurl = true },
|
||||||
|
DiagnosticUnderlineOk = { sp = groups.ok, undercurl = true },
|
||||||
DiagnosticUnderlineWarn = { sp = groups.warn, undercurl = true },
|
DiagnosticUnderlineWarn = { sp = groups.warn, undercurl = true },
|
||||||
DiagnosticVirtualTextError = { fg = groups.error, bg = groups.error, blend = 10 },
|
DiagnosticVirtualTextError = { fg = groups.error, bg = groups.error, blend = 10 },
|
||||||
DiagnosticVirtualTextHint = { fg = groups.hint, bg = groups.hint, blend = 10 },
|
DiagnosticVirtualTextHint = { fg = groups.hint, bg = groups.hint, blend = 10 },
|
||||||
DiagnosticVirtualTextInfo = { fg = groups.info, bg = groups.info, blend = 10 },
|
DiagnosticVirtualTextInfo = { fg = groups.info, bg = groups.info, blend = 10 },
|
||||||
|
DiagnosticVirtualTextOk = { fg = groups.ok, bg = groups.ok, blend = 10 },
|
||||||
DiagnosticVirtualTextWarn = { fg = groups.warn, bg = groups.warn, blend = 10 },
|
DiagnosticVirtualTextWarn = { fg = groups.warn, bg = groups.warn, blend = 10 },
|
||||||
|
|
||||||
Boolean = { fg = palette.rose },
|
Boolean = { fg = palette.rose },
|
||||||
|
|
@ -202,8 +208,8 @@ local function set_highlights()
|
||||||
Macro = { fg = palette.iris },
|
Macro = { fg = palette.iris },
|
||||||
Number = { fg = palette.gold },
|
Number = { fg = palette.gold },
|
||||||
Operator = { fg = palette.subtle },
|
Operator = { fg = palette.subtle },
|
||||||
PreConduit = { fg = palette.iris },
|
PreCondit = { fg = palette.iris },
|
||||||
PreProc = { link = "PreConduit" },
|
PreProc = { link = "PreCondit" },
|
||||||
Repeat = { fg = palette.pine },
|
Repeat = { fg = palette.pine },
|
||||||
Special = { fg = palette.foam },
|
Special = { fg = palette.foam },
|
||||||
SpecialChar = { link = "Special" },
|
SpecialChar = { link = "Special" },
|
||||||
|
|
@ -265,10 +271,12 @@ local function set_highlights()
|
||||||
mkdRule = { fg = palette.subtle },
|
mkdRule = { fg = palette.subtle },
|
||||||
mkdURL = { link = "markdownUrl" },
|
mkdURL = { link = "markdownUrl" },
|
||||||
|
|
||||||
--- Identifiers
|
--- Treesitter
|
||||||
|
--- |:help treesitter-highlight-groups|
|
||||||
["@variable"] = { fg = palette.text, italic = styles.italic },
|
["@variable"] = { fg = palette.text, italic = styles.italic },
|
||||||
["@variable.builtin"] = { fg = palette.text, bold = styles.bold },
|
["@variable.builtin"] = { fg = palette.love, italic = styles.italic, bold = styles.bold },
|
||||||
["@variable.parameter"] = { fg = palette.iris, italic = styles.italic },
|
["@variable.parameter"] = { fg = palette.iris, italic = styles.italic },
|
||||||
|
["@variable.parameter.builtin"] = { fg = palette.iris, italic = styles.italic, bold = styles.bold },
|
||||||
["@variable.member"] = { fg = palette.foam },
|
["@variable.member"] = { fg = palette.foam },
|
||||||
|
|
||||||
["@constant"] = { fg = palette.gold },
|
["@constant"] = { fg = palette.gold },
|
||||||
|
|
@ -279,7 +287,6 @@ local function set_highlights()
|
||||||
["@module.builtin"] = { fg = palette.text, bold = styles.bold },
|
["@module.builtin"] = { fg = palette.text, bold = styles.bold },
|
||||||
["@label"] = { link = "Label" },
|
["@label"] = { link = "Label" },
|
||||||
|
|
||||||
--- Literals
|
|
||||||
["@string"] = { link = "String" },
|
["@string"] = { link = "String" },
|
||||||
-- ["@string.documentation"] = {},
|
-- ["@string.documentation"] = {},
|
||||||
["@string.regexp"] = { fg = palette.iris },
|
["@string.regexp"] = { fg = palette.iris },
|
||||||
|
|
@ -295,28 +302,27 @@ local function set_highlights()
|
||||||
["@boolean"] = { link = "Boolean" },
|
["@boolean"] = { link = "Boolean" },
|
||||||
["@number"] = { link = "Number" },
|
["@number"] = { link = "Number" },
|
||||||
["@number.float"] = { link = "Number" },
|
["@number.float"] = { link = "Number" },
|
||||||
|
["@float"] = { link = "Number" },
|
||||||
|
|
||||||
--- Types
|
|
||||||
["@type"] = { fg = palette.foam },
|
["@type"] = { fg = palette.foam },
|
||||||
["@type.builtin"] = { fg = palette.foam, bold = styles.bold },
|
["@type.builtin"] = { fg = palette.foam, bold = styles.bold },
|
||||||
-- ["@type.definition"] = {},
|
-- ["@type.definition"] = {},
|
||||||
-- ["@type.qualifier"] = {},
|
|
||||||
|
|
||||||
-- ["@attribute"] = {},
|
["@attribute"] = { fg = palette.iris },
|
||||||
|
["@attribute.builtin"] = { fg = palette.iris, bold = styles.bold },
|
||||||
["@property"] = { fg = palette.foam, italic = styles.italic },
|
["@property"] = { fg = palette.foam, italic = styles.italic },
|
||||||
|
|
||||||
--- Functions
|
|
||||||
["@function"] = { fg = palette.rose },
|
["@function"] = { fg = palette.rose },
|
||||||
["@function.builtin"] = { fg = palette.rose, bold = styles.bold },
|
["@function.builtin"] = { fg = palette.rose, bold = styles.bold },
|
||||||
-- ["@function.call"] = {},
|
-- ["@function.call"] = {},
|
||||||
["@function.macro"] = { link = "Function" },
|
["@function.macro"] = { link = "Function" },
|
||||||
|
|
||||||
["@function.method"] = { fg = palette.rose },
|
["@function.method"] = { fg = palette.rose },
|
||||||
["@function.method.call"] = { fg = palette.iris },
|
["@function.method.call"] = { fg = palette.iris },
|
||||||
|
|
||||||
["@constructor"] = { fg = palette.foam },
|
["@constructor"] = { fg = palette.foam },
|
||||||
["@operator"] = { link = "Operator" },
|
["@operator"] = { link = "Operator" },
|
||||||
|
|
||||||
--- Keywords
|
|
||||||
["@keyword"] = { link = "Keyword" },
|
["@keyword"] = { link = "Keyword" },
|
||||||
-- ["@keyword.coroutine"] = {},
|
-- ["@keyword.coroutine"] = {},
|
||||||
-- ["@keyword.function"] = {},
|
-- ["@keyword.function"] = {},
|
||||||
|
|
@ -327,8 +333,10 @@ local function set_highlights()
|
||||||
["@keyword.return"] = { fg = palette.pine },
|
["@keyword.return"] = { fg = palette.pine },
|
||||||
["@keyword.debug"] = { fg = palette.rose },
|
["@keyword.debug"] = { fg = palette.rose },
|
||||||
["@keyword.exception"] = { fg = palette.pine },
|
["@keyword.exception"] = { fg = palette.pine },
|
||||||
|
|
||||||
["@keyword.conditional"] = { fg = palette.pine },
|
["@keyword.conditional"] = { fg = palette.pine },
|
||||||
["@keyword.conditional.ternary"] = { fg = palette.pine },
|
["@keyword.conditional.ternary"] = { fg = palette.pine },
|
||||||
|
|
||||||
["@keyword.directive"] = { fg = palette.iris },
|
["@keyword.directive"] = { fg = palette.iris },
|
||||||
["@keyword.directive.define"] = { fg = palette.iris },
|
["@keyword.directive.define"] = { fg = palette.iris },
|
||||||
|
|
||||||
|
|
@ -343,10 +351,10 @@ local function set_highlights()
|
||||||
|
|
||||||
["@comment.error"] = { fg = groups.error },
|
["@comment.error"] = { fg = groups.error },
|
||||||
["@comment.warning"] = { fg = groups.warn },
|
["@comment.warning"] = { fg = groups.warn },
|
||||||
["@comment.todo"] = { fg = groups.todo, bg = groups.todo, blend = 20 },
|
["@comment.todo"] = { fg = groups.todo, bg = groups.todo, blend = 15 },
|
||||||
["@comment.hint"] = { fg = groups.hint, bg = groups.hint, blend = 20 },
|
["@comment.hint"] = { fg = groups.hint, bg = groups.hint, blend = 15 },
|
||||||
["@comment.info"] = { fg = groups.info, bg = groups.info, blend = 20 },
|
["@comment.info"] = { fg = groups.info, bg = groups.info, blend = 15 },
|
||||||
["@comment.note"] = { fg = groups.note, bg = groups.note, blend = 20 },
|
["@comment.note"] = { fg = groups.note, bg = groups.note, blend = 15 },
|
||||||
|
|
||||||
--- Markup
|
--- Markup
|
||||||
["@markup.strong"] = { bold = styles.bold },
|
["@markup.strong"] = { bold = styles.bold },
|
||||||
|
|
@ -356,22 +364,38 @@ local function set_highlights()
|
||||||
|
|
||||||
["@markup.heading"] = { fg = palette.foam, bold = styles.bold },
|
["@markup.heading"] = { fg = palette.foam, bold = styles.bold },
|
||||||
|
|
||||||
["@markup.quote"] = { fg = palette.subtle },
|
["@markup.quote"] = { fg = palette.text },
|
||||||
["@markup.math"] = { link = "Special" },
|
["@markup.math"] = { link = "Special" },
|
||||||
["@markup.environment"] = { link = "Macro" },
|
["@markup.environment"] = { link = "Macro" },
|
||||||
["@markup.environment.name"] = { link = "@type" },
|
["@markup.environment.name"] = { link = "@type" },
|
||||||
|
|
||||||
-- ["@markup.link"] = {},
|
-- ["@markup.link"] = {},
|
||||||
["@markup.link.label"] = { fg = palette.text },
|
["@markup.link.markdown_inline"] = { fg = palette.subtle },
|
||||||
|
["@markup.link.label.markdown_inline"] = { fg = palette.foam },
|
||||||
["@markup.link.url"] = { fg = groups.link },
|
["@markup.link.url"] = { fg = groups.link },
|
||||||
|
|
||||||
-- ["@markup.raw"] = { bg = palette.surface },
|
-- ["@markup.raw"] = { bg = palette.surface },
|
||||||
-- ["@markup.raw.block"] = { bg = palette.surface },
|
-- ["@markup.raw.block"] = { bg = palette.surface },
|
||||||
|
["@markup.raw.delimiter.markdown"] = { fg = palette.subtle },
|
||||||
|
|
||||||
["@markup.list"] = { fg = palette.text },
|
["@markup.list"] = { fg = palette.pine },
|
||||||
["@markup.list.checked"] = { fg = palette.foam, bg = palette.foam, blend = 10 },
|
["@markup.list.checked"] = { fg = palette.foam, bg = palette.foam, blend = 10 },
|
||||||
["@markup.list.unchecked"] = { fg = palette.text },
|
["@markup.list.unchecked"] = { fg = palette.text },
|
||||||
|
|
||||||
|
-- Markdown headings
|
||||||
|
["@markup.heading.1.markdown"] = { link = "markdownH1" },
|
||||||
|
["@markup.heading.2.markdown"] = { link = "markdownH2" },
|
||||||
|
["@markup.heading.3.markdown"] = { link = "markdownH3" },
|
||||||
|
["@markup.heading.4.markdown"] = { link = "markdownH4" },
|
||||||
|
["@markup.heading.5.markdown"] = { link = "markdownH5" },
|
||||||
|
["@markup.heading.6.markdown"] = { link = "markdownH6" },
|
||||||
|
["@markup.heading.1.marker.markdown"] = { link = "markdownH1Delimiter" },
|
||||||
|
["@markup.heading.2.marker.markdown"] = { link = "markdownH2Delimiter" },
|
||||||
|
["@markup.heading.3.marker.markdown"] = { link = "markdownH3Delimiter" },
|
||||||
|
["@markup.heading.4.marker.markdown"] = { link = "markdownH4Delimiter" },
|
||||||
|
["@markup.heading.5.marker.markdown"] = { link = "markdownH5Delimiter" },
|
||||||
|
["@markup.heading.6.marker.markdown"] = { link = "markdownH6Delimiter" },
|
||||||
|
|
||||||
["@diff.plus"] = { fg = groups.git_add, bg = groups.git_add, blend = 20 },
|
["@diff.plus"] = { fg = groups.git_add, bg = groups.git_add, blend = 20 },
|
||||||
["@diff.minus"] = { fg = groups.git_delete, bg = groups.git_delete, blend = 20 },
|
["@diff.minus"] = { fg = groups.git_delete, bg = groups.git_delete, blend = 20 },
|
||||||
["@diff.delta"] = { bg = groups.git_change, blend = 20 },
|
["@diff.delta"] = { bg = groups.git_change, blend = 20 },
|
||||||
|
|
@ -383,22 +407,28 @@ local function set_highlights()
|
||||||
--- Non-highlighting captures
|
--- Non-highlighting captures
|
||||||
-- ["@none"] = {},
|
-- ["@none"] = {},
|
||||||
["@conceal"] = { link = "Conceal" },
|
["@conceal"] = { link = "Conceal" },
|
||||||
|
["@conceal.markdown"] = { fg = palette.subtle },
|
||||||
|
|
||||||
-- ["@spell"] = {},
|
-- ["@spell"] = {},
|
||||||
-- ["@nospell"] = {},
|
-- ["@nospell"] = {},
|
||||||
|
|
||||||
--- Semantic
|
--- Semantic
|
||||||
["@lsp.type.comment"] = {},
|
["@lsp.type.comment"] = {},
|
||||||
|
["@lsp.type.comment.c"] = { link = "@comment" },
|
||||||
|
["@lsp.type.comment.cpp"] = { link = "@comment" },
|
||||||
["@lsp.type.enum"] = { link = "@type" },
|
["@lsp.type.enum"] = { link = "@type" },
|
||||||
["@lsp.type.interface"] = { link = "@interface" },
|
["@lsp.type.interface"] = { link = "@interface" },
|
||||||
["@lsp.type.keyword"] = { link = "@keyword" },
|
["@lsp.type.keyword"] = { link = "@keyword" },
|
||||||
["@lsp.type.namespace"] = { link = "@namespace" },
|
["@lsp.type.namespace"] = { link = "@namespace" },
|
||||||
|
["@lsp.type.namespace.python"] = { link = "@variable" },
|
||||||
["@lsp.type.parameter"] = { link = "@parameter" },
|
["@lsp.type.parameter"] = { link = "@parameter" },
|
||||||
["@lsp.type.property"] = { link = "@property" },
|
["@lsp.type.property"] = { link = "@property" },
|
||||||
["@lsp.type.variable"] = {},
|
["@lsp.type.variable"] = {}, -- defer to treesitter for regular variables
|
||||||
|
["@lsp.type.variable.svelte"] = { link = "@variable" },
|
||||||
["@lsp.typemod.function.defaultLibrary"] = { link = "@function.builtin" },
|
["@lsp.typemod.function.defaultLibrary"] = { link = "@function.builtin" },
|
||||||
["@lsp.typemod.operator.injected"] = { link = "@operator" },
|
["@lsp.typemod.operator.injected"] = { link = "@operator" },
|
||||||
["@lsp.typemod.string.injected"] = { link = "@string" },
|
["@lsp.typemod.string.injected"] = { link = "@string" },
|
||||||
|
["@lsp.typemod.variable.constant"] = { link = "@constant" },
|
||||||
["@lsp.typemod.variable.defaultLibrary"] = { link = "@variable.builtin" },
|
["@lsp.typemod.variable.defaultLibrary"] = { link = "@variable.builtin" },
|
||||||
["@lsp.typemod.variable.injected"] = { link = "@variable" },
|
["@lsp.typemod.variable.injected"] = { link = "@variable" },
|
||||||
|
|
||||||
|
|
@ -422,9 +452,9 @@ local function set_highlights()
|
||||||
BufferVisibleTarget = { fg = palette.gold },
|
BufferVisibleTarget = { fg = palette.gold },
|
||||||
|
|
||||||
-- lewis6991/gitsigns.nvim
|
-- lewis6991/gitsigns.nvim
|
||||||
GitSignsAdd = { link = "SignAdd" },
|
GitSignsAdd = { fg = groups.git_add, bg = "NONE" },
|
||||||
GitSignsChange = { link = "SignChange" },
|
GitSignsChange = { fg = groups.git_change, bg = "NONE" },
|
||||||
GitSignsDelete = { link = "SignDelete" },
|
GitSignsDelete = { fg = groups.git_delete, bg = "NONE" },
|
||||||
SignAdd = { fg = groups.git_add, bg = "NONE" },
|
SignAdd = { fg = groups.git_add, bg = "NONE" },
|
||||||
SignChange = { fg = groups.git_change, bg = "NONE" },
|
SignChange = { fg = groups.git_change, bg = "NONE" },
|
||||||
SignDelete = { fg = groups.git_delete, bg = "NONE" },
|
SignDelete = { fg = groups.git_delete, bg = "NONE" },
|
||||||
|
|
@ -432,7 +462,9 @@ local function set_highlights()
|
||||||
-- mvllow/modes.nvim
|
-- mvllow/modes.nvim
|
||||||
ModesCopy = { bg = palette.gold },
|
ModesCopy = { bg = palette.gold },
|
||||||
ModesDelete = { bg = palette.love },
|
ModesDelete = { bg = palette.love },
|
||||||
|
ModesFormat = { bg = palette.rose },
|
||||||
ModesInsert = { bg = palette.foam },
|
ModesInsert = { bg = palette.foam },
|
||||||
|
ModesReplace = { bg = palette.pine },
|
||||||
ModesVisual = { bg = palette.iris },
|
ModesVisual = { bg = palette.iris },
|
||||||
|
|
||||||
-- kyazdani42/nvim-tree.lua
|
-- kyazdani42/nvim-tree.lua
|
||||||
|
|
@ -460,6 +492,26 @@ local function set_highlights()
|
||||||
NvimTreeSpecialFile = { link = "NvimTreeNormal" },
|
NvimTreeSpecialFile = { link = "NvimTreeNormal" },
|
||||||
NvimTreeWindowPicker = { link = "StatusLineTerm" },
|
NvimTreeWindowPicker = { link = "StatusLineTerm" },
|
||||||
|
|
||||||
|
-- nvim-neotest/neotest
|
||||||
|
NeotestAdapterName = { fg = palette.iris },
|
||||||
|
NeotestBorder = { fg = palette.highlight_med },
|
||||||
|
NeotestDir = { fg = palette.foam },
|
||||||
|
NeotestExpandMarker = { fg = palette.highlight_med },
|
||||||
|
NeotestFailed = { fg = palette.love },
|
||||||
|
NeotestFile = { fg = palette.text },
|
||||||
|
NeotestFocused = { fg = palette.gold, bg = palette.highlight_med },
|
||||||
|
NeotestIndent = { fg = palette.highlight_med },
|
||||||
|
NeotestMarked = { fg = palette.rose, bold = styles.bold },
|
||||||
|
NeotestNamespace = { fg = palette.gold },
|
||||||
|
NeotestPassed = { fg = palette.pine },
|
||||||
|
NeotestRunning = { fg = palette.gold },
|
||||||
|
NeotestWinSelect = { fg = palette.muted },
|
||||||
|
NeotestSkipped = { fg = palette.subtle },
|
||||||
|
NeotestTarget = { fg = palette.love },
|
||||||
|
NeotestTest = { fg = palette.gold },
|
||||||
|
NeotestUnknown = { fg = palette.subtle },
|
||||||
|
NeotestWatching = { fg = palette.iris },
|
||||||
|
|
||||||
-- nvim-neo-tree/neo-tree.nvim
|
-- nvim-neo-tree/neo-tree.nvim
|
||||||
NeoTreeGitAdded = { fg = groups.git_add },
|
NeoTreeGitAdded = { fg = groups.git_add },
|
||||||
NeoTreeGitConflict = { fg = groups.git_merge },
|
NeoTreeGitConflict = { fg = groups.git_merge },
|
||||||
|
|
@ -468,6 +520,10 @@ local function set_highlights()
|
||||||
NeoTreeGitModified = { fg = groups.git_dirty },
|
NeoTreeGitModified = { fg = groups.git_dirty },
|
||||||
NeoTreeGitRenamed = { fg = groups.git_rename },
|
NeoTreeGitRenamed = { fg = groups.git_rename },
|
||||||
NeoTreeGitUntracked = { fg = groups.git_untracked },
|
NeoTreeGitUntracked = { fg = groups.git_untracked },
|
||||||
|
NeoTreeTabActive = { fg = palette.text, bg = palette.overlay },
|
||||||
|
NeoTreeTabInactive = { fg = palette.subtle },
|
||||||
|
NeoTreeTabSeparatorActive = { link = "WinSeparator" },
|
||||||
|
NeoTreeTabSeparatorInactive = { link = "WinSeparator" },
|
||||||
NeoTreeTitleBar = { link = "StatusLineTerm" },
|
NeoTreeTitleBar = { link = "StatusLineTerm" },
|
||||||
|
|
||||||
-- folke/flash.nvim
|
-- folke/flash.nvim
|
||||||
|
|
@ -475,10 +531,23 @@ local function set_highlights()
|
||||||
|
|
||||||
-- folke/which-key.nvim
|
-- folke/which-key.nvim
|
||||||
WhichKey = { fg = palette.iris },
|
WhichKey = { fg = palette.iris },
|
||||||
|
WhichKeyBorder = make_border(),
|
||||||
WhichKeyDesc = { fg = palette.gold },
|
WhichKeyDesc = { fg = palette.gold },
|
||||||
WhichKeyFloat = { bg = groups.panel },
|
WhichKeyFloat = { bg = groups.panel },
|
||||||
WhichKeyGroup = { fg = palette.foam },
|
WhichKeyGroup = { fg = palette.foam },
|
||||||
|
WhichKeyIcon = { fg = palette.pine },
|
||||||
|
WhichKeyIconAzure = { fg = palette.pine },
|
||||||
|
WhichKeyIconBlue = { fg = palette.pine },
|
||||||
|
WhichKeyIconCyan = { fg = palette.foam },
|
||||||
|
WhichKeyIconGreen = { fg = palette.leaf },
|
||||||
|
WhichKeyIconGrey = { fg = palette.subtle },
|
||||||
|
WhichKeyIconOrange = { fg = palette.rose },
|
||||||
|
WhichKeyIconPurple = { fg = palette.iris },
|
||||||
|
WhichKeyIconRed = { fg = palette.love },
|
||||||
|
WhichKeyIconYellow = { fg = palette.gold },
|
||||||
|
WhichKeyNormal = { link = "NormalFloat" },
|
||||||
WhichKeySeparator = { fg = palette.subtle },
|
WhichKeySeparator = { fg = palette.subtle },
|
||||||
|
WhichKeyTitle = { link = "FloatTitle" },
|
||||||
WhichKeyValue = { fg = palette.rose },
|
WhichKeyValue = { fg = palette.rose },
|
||||||
|
|
||||||
-- lukas-reineke/indent-blankline.nvim
|
-- lukas-reineke/indent-blankline.nvim
|
||||||
|
|
@ -547,7 +616,7 @@ local function set_highlights()
|
||||||
-- tami5/lspsaga.nvim (fork of glepnir/lspsaga.nvim)
|
-- tami5/lspsaga.nvim (fork of glepnir/lspsaga.nvim)
|
||||||
DefinitionCount = { fg = palette.rose },
|
DefinitionCount = { fg = palette.rose },
|
||||||
DefinitionIcon = { fg = palette.rose },
|
DefinitionIcon = { fg = palette.rose },
|
||||||
DefintionPreviewTitle = { fg = palette.rose, bold = styles.bold },
|
DefinitionPreviewTitle = { fg = palette.rose, bold = styles.bold },
|
||||||
LspFloatWinBorder = make_border(),
|
LspFloatWinBorder = make_border(),
|
||||||
LspFloatWinNormal = { bg = groups.panel },
|
LspFloatWinNormal = { bg = groups.panel },
|
||||||
LspSagaAutoPreview = { fg = palette.subtle },
|
LspSagaAutoPreview = { fg = palette.subtle },
|
||||||
|
|
@ -604,27 +673,35 @@ local function set_highlights()
|
||||||
TelescopeTitle = { fg = palette.foam, bold = styles.bold },
|
TelescopeTitle = { fg = palette.foam, bold = styles.bold },
|
||||||
|
|
||||||
-- ibhagwan/fzf-lua
|
-- ibhagwan/fzf-lua
|
||||||
FzfLuaNormal = { link = "NormalFloat" },
|
|
||||||
FwzfLuaTitle = { fg = palette.foam, bold = styles.bold },
|
|
||||||
FzfLuaBorder = make_border(),
|
FzfLuaBorder = make_border(),
|
||||||
FzfLuaHeaderText = { fg = palette.love },
|
|
||||||
FzfLuaHeaderBind = { fg = palette.rose },
|
|
||||||
FzfLuaBufFlagCur = { fg = palette.subtle },
|
|
||||||
FzfLuaBufFlagAlt = { fg = palette.subtle },
|
FzfLuaBufFlagAlt = { fg = palette.subtle },
|
||||||
|
FzfLuaBufFlagCur = { fg = palette.subtle },
|
||||||
|
FzfLuaCursorLine = { fg = palette.text, bg = palette.overlay },
|
||||||
|
FzfLuaFilePart = { fg = palette.text },
|
||||||
|
FzfLuaHeaderBind = { fg = palette.rose },
|
||||||
|
FzfLuaHeaderText = { fg = palette.love },
|
||||||
|
FzfLuaNormal = { link = "NormalFloat" },
|
||||||
|
FzfLuaTitle = { link = "FloatTitle" },
|
||||||
|
|
||||||
-- rcarriga/nvim-notify
|
-- rcarriga/nvim-notify
|
||||||
|
NotifyBackground = { link = "NormalFloat" },
|
||||||
|
NotifyDEBUGBody = { link = "NormalFloat" },
|
||||||
NotifyDEBUGBorder = make_border(),
|
NotifyDEBUGBorder = make_border(),
|
||||||
NotifyDEBUGIcon = { link = "NotifyDEBUGTitle" },
|
NotifyDEBUGIcon = { link = "NotifyDEBUGTitle" },
|
||||||
NotifyDEBUGTitle = { fg = palette.muted },
|
NotifyDEBUGTitle = { fg = palette.muted },
|
||||||
|
NotifyERRORBody = { link = "NormalFloat" },
|
||||||
NotifyERRORBorder = make_border(groups.error),
|
NotifyERRORBorder = make_border(groups.error),
|
||||||
NotifyERRORIcon = { link = "NotifyERRORTitle" },
|
NotifyERRORIcon = { link = "NotifyERRORTitle" },
|
||||||
NotifyERRORTitle = { fg = groups.error },
|
NotifyERRORTitle = { fg = groups.error },
|
||||||
|
NotifyINFOBody = { link = "NormalFloat" },
|
||||||
NotifyINFOBorder = make_border(groups.info),
|
NotifyINFOBorder = make_border(groups.info),
|
||||||
NotifyINFOIcon = { link = "NotifyINFOTitle" },
|
NotifyINFOIcon = { link = "NotifyINFOTitle" },
|
||||||
NotifyINFOTitle = { fg = groups.info },
|
NotifyINFOTitle = { fg = groups.info },
|
||||||
|
NotifyTRACEBody = { link = "NormalFloat" },
|
||||||
NotifyTRACEBorder = make_border(palette.iris),
|
NotifyTRACEBorder = make_border(palette.iris),
|
||||||
NotifyTRACEIcon = { link = "NotifyTRACETitle" },
|
NotifyTRACEIcon = { link = "NotifyTRACETitle" },
|
||||||
NotifyTRACETitle = { fg = palette.iris },
|
NotifyTRACETitle = { fg = palette.iris },
|
||||||
|
NotifyWARNBody = { link = "NormalFloat" },
|
||||||
NotifyWARNBorder = make_border(groups.warn),
|
NotifyWARNBorder = make_border(groups.warn),
|
||||||
NotifyWARNIcon = { link = "NotifyWARNTitle" },
|
NotifyWARNIcon = { link = "NotifyWARNTitle" },
|
||||||
NotifyWARNTitle = { fg = groups.warn },
|
NotifyWARNTitle = { fg = groups.warn },
|
||||||
|
|
@ -646,6 +723,7 @@ local function set_highlights()
|
||||||
DapUIThread = { fg = palette.gold },
|
DapUIThread = { fg = palette.gold },
|
||||||
DapUIValue = { fg = palette.text },
|
DapUIValue = { fg = palette.text },
|
||||||
DapUIVariable = { fg = palette.text },
|
DapUIVariable = { fg = palette.text },
|
||||||
|
DapUIType = { fg = palette.iris },
|
||||||
DapUIWatchesEmpty = { fg = palette.love },
|
DapUIWatchesEmpty = { fg = palette.love },
|
||||||
DapUIWatchesError = { link = "DapUIWatchesEmpty" },
|
DapUIWatchesError = { link = "DapUIWatchesEmpty" },
|
||||||
DapUIWatchesValue = { link = "DapUIThread" },
|
DapUIWatchesValue = { link = "DapUIThread" },
|
||||||
|
|
@ -690,16 +768,143 @@ local function set_highlights()
|
||||||
-- folke/noice.nvim
|
-- folke/noice.nvim
|
||||||
NoiceCursor = { fg = palette.highlight_high, bg = palette.text },
|
NoiceCursor = { fg = palette.highlight_high, bg = palette.text },
|
||||||
|
|
||||||
-- echasnovski/mini.clue
|
-- folke/trouble.nvim
|
||||||
|
TroubleText = { fg = palette.subtle },
|
||||||
|
TroubleCount = { fg = palette.iris, bg = palette.surface },
|
||||||
|
TroubleNormal = { fg = palette.text, bg = groups.panel },
|
||||||
|
|
||||||
|
-- echasnovski/mini.nvim
|
||||||
|
MiniAnimateCursor = { reverse = true, nocombine = true },
|
||||||
|
MiniAnimateNormalFloat = { link = "NormalFloat" },
|
||||||
|
|
||||||
|
MiniClueBorder = { link = "FloatBorder" },
|
||||||
|
MiniClueDescGroup = { link = "DiagnosticFloatingWarn" },
|
||||||
|
MiniClueDescSingle = { link = "NormalFloat" },
|
||||||
|
MiniClueNextKey = { link = "DiagnosticFloatingHint" },
|
||||||
|
MiniClueNextKeyWithPostkeys = { link = "DiagnosticFloatingError" },
|
||||||
|
MiniClueSeparator = { link = "DiagnosticFloatingInfo" },
|
||||||
MiniClueTitle = { bg = groups.panel, bold = styles.bold },
|
MiniClueTitle = { bg = groups.panel, bold = styles.bold },
|
||||||
|
|
||||||
-- echasnovski/mini.pick
|
MiniCompletionActiveParameter = { underline = true },
|
||||||
|
|
||||||
|
MiniCursorword = { underline = true },
|
||||||
|
MiniCursorwordCurrent = { underline = true },
|
||||||
|
|
||||||
|
MiniDepsChangeAdded = { fg = groups.git_add },
|
||||||
|
MiniDepsChangeRemoved = { fg = groups.git_delete },
|
||||||
|
MiniDepsHint = { link = "DiagnosticHint" },
|
||||||
|
MiniDepsInfo = { link = "DiagnosticInfo" },
|
||||||
|
MiniDepsMsgBreaking = { link = "DiagnosticWarn" },
|
||||||
|
MiniDepsPlaceholder = { link = "Comment" },
|
||||||
|
MiniDepsTitle = { link = "Title" },
|
||||||
|
MiniDepsTitleError = { link = "DiffDelete" },
|
||||||
|
MiniDepsTitleSame = { link = "DiffText" },
|
||||||
|
MiniDepsTitleUpdate = { link = "DiffAdd" },
|
||||||
|
|
||||||
|
MiniDiffOverAdd = { fg = groups.git_add, bg = groups.git_add, blend = 20 },
|
||||||
|
MiniDiffOverChange = { fg = groups.git_change, bg = groups.git_change, blend = 20 },
|
||||||
|
MiniDiffOverContext = { bg = palette.surface },
|
||||||
|
MiniDiffOverDelete = { fg = groups.git_delete, bg = groups.git_delete, blend = 20 },
|
||||||
|
MiniDiffSignAdd = { fg = groups.git_add },
|
||||||
|
MiniDiffSignChange = { fg = groups.git_change },
|
||||||
|
MiniDiffSignDelete = { fg = groups.git_delete },
|
||||||
|
|
||||||
|
MiniFilesBorder = { link = "FloatBorder" },
|
||||||
|
MiniFilesBorderModified = { link = "DiagnosticFloatingWarn" },
|
||||||
|
MiniFilesCursorLine = { link = "CursorLine" },
|
||||||
|
MiniFilesDirectory = { link = "Directory" },
|
||||||
|
MiniFilesFile = { fg = palette.text },
|
||||||
|
MiniFilesNormal = { link = "NormalFloat" },
|
||||||
|
MiniFilesTitle = { link = "FloatTitle" },
|
||||||
|
MiniFilesTitleFocused = { fg = palette.rose, bg = groups.panel, bold = styles.bold },
|
||||||
|
|
||||||
|
MiniHipatternsFixme = { fg = palette.base, bg = groups.error, bold = styles.bold },
|
||||||
|
MiniHipatternsHack = { fg = palette.base, bg = groups.warn, bold = styles.bold },
|
||||||
|
MiniHipatternsNote = { fg = palette.base, bg = groups.info, bold = styles.bold },
|
||||||
|
MiniHipatternsTodo = { fg = palette.base, bg = groups.hint, bold = styles.bold },
|
||||||
|
|
||||||
|
MiniIconsAzure = { fg = palette.foam },
|
||||||
|
MiniIconsBlue = { fg = palette.pine },
|
||||||
|
MiniIconsCyan = { fg = palette.foam },
|
||||||
|
MiniIconsGreen = { fg = palette.leaf },
|
||||||
|
MiniIconsGrey = { fg = palette.subtle },
|
||||||
|
MiniIconsOrange = { fg = palette.rose },
|
||||||
|
MiniIconsPurple = { fg = palette.iris },
|
||||||
|
MiniIconsRed = { fg = palette.love },
|
||||||
|
MiniIconsYellow = { fg = palette.gold },
|
||||||
|
|
||||||
|
MiniIndentscopeSymbol = { fg = palette.muted },
|
||||||
|
MiniIndentscopeSymbolOff = { fg = palette.gold },
|
||||||
|
|
||||||
|
MiniJump = { sp = palette.gold, undercurl = true },
|
||||||
|
|
||||||
|
MiniJump2dDim = { fg = palette.subtle },
|
||||||
|
MiniJump2dSpot = { fg = palette.gold, bold = styles.bold, nocombine = true },
|
||||||
|
MiniJump2dSpotAhead = { fg = palette.foam, bg = palette.surface, nocombine = true },
|
||||||
|
MiniJump2dSpotUnique = { fg = palette.rose, bold = styles.bold, nocombine = true },
|
||||||
|
|
||||||
|
MiniMapNormal = { link = "NormalFloat" },
|
||||||
|
MiniMapSymbolCount = { link = "Special" },
|
||||||
|
MiniMapSymbolLine = { link = "Title" },
|
||||||
|
MiniMapSymbolView = { link = "Delimiter" },
|
||||||
|
|
||||||
|
MiniNotifyBorder = { link = "FloatBorder" },
|
||||||
|
MiniNotifyNormal = { link = "NormalFloat" },
|
||||||
|
MiniNotifyTitle = { link = "FloatTitle" },
|
||||||
|
|
||||||
|
MiniOperatorsExchangeFrom = { link = "IncSearch" },
|
||||||
|
|
||||||
|
MiniPickBorder = { link = "FloatBorder" },
|
||||||
|
MiniPickBorderBusy = { link = "DiagnosticFloatingWarn" },
|
||||||
MiniPickBorderText = { bg = groups.panel },
|
MiniPickBorderText = { bg = groups.panel },
|
||||||
|
MiniPickIconDirectory = { link = "Directory" },
|
||||||
|
MiniPickIconFile = { link = "MiniPickNormal" },
|
||||||
|
MiniPickHeader = { link = "DiagnosticFloatingHint" },
|
||||||
|
MiniPickMatchCurrent = { link = "CursorLine" },
|
||||||
|
MiniPickMatchMarked = { link = "Visual" },
|
||||||
|
MiniPickMatchRanges = { fg = palette.foam },
|
||||||
|
MiniPickNormal = { link = "NormalFloat" },
|
||||||
|
MiniPickPreviewLine = { link = "CursorLine" },
|
||||||
|
MiniPickPreviewRegion = { link = "IncSearch" },
|
||||||
MiniPickPrompt = { bg = groups.panel, bold = styles.bold },
|
MiniPickPrompt = { bg = groups.panel, bold = styles.bold },
|
||||||
|
|
||||||
-- echasnovski/mini.indentscope
|
MiniStarterCurrent = { nocombine = true },
|
||||||
MiniIndentscopeSymbol = { fg = palette.muted },
|
MiniStarterFooter = { fg = palette.subtle },
|
||||||
MiniIndentscopeSymbolOff = { fg = palette.muted },
|
MiniStarterHeader = { link = "Title" },
|
||||||
|
MiniStarterInactive = { link = "Comment" },
|
||||||
|
MiniStarterItem = { link = "Normal" },
|
||||||
|
MiniStarterItemBullet = { link = "Delimiter" },
|
||||||
|
MiniStarterItemPrefix = { link = "WarningMsg" },
|
||||||
|
MiniStarterSection = { fg = palette.rose },
|
||||||
|
MiniStarterQuery = { link = "MoreMsg" },
|
||||||
|
|
||||||
|
MiniStatuslineDevinfo = { fg = palette.subtle, bg = palette.overlay },
|
||||||
|
MiniStatuslineFileinfo = { link = "MiniStatuslineDevinfo" },
|
||||||
|
MiniStatuslineFilename = { fg = palette.muted, bg = palette.surface },
|
||||||
|
MiniStatuslineInactive = { link = "MiniStatuslineFilename" },
|
||||||
|
MiniStatuslineModeCommand = { fg = palette.base, bg = palette.love, bold = styles.bold },
|
||||||
|
MiniStatuslineModeInsert = { fg = palette.base, bg = palette.foam, bold = styles.bold },
|
||||||
|
MiniStatuslineModeNormal = { fg = palette.base, bg = palette.rose, bold = styles.bold },
|
||||||
|
MiniStatuslineModeOther = { fg = palette.base, bg = palette.rose, bold = styles.bold },
|
||||||
|
MiniStatuslineModeReplace = { fg = palette.base, bg = palette.pine, bold = styles.bold },
|
||||||
|
MiniStatuslineModeVisual = { fg = palette.base, bg = palette.iris, bold = styles.bold },
|
||||||
|
|
||||||
|
MiniSurround = { link = "IncSearch" },
|
||||||
|
|
||||||
|
MiniTablineCurrent = { fg = palette.text, bg = palette.overlay, bold = styles.bold },
|
||||||
|
MiniTablineFill = { link = "TabLineFill" },
|
||||||
|
MiniTablineHidden = { fg = palette.subtle, bg = groups.panel },
|
||||||
|
MiniTablineModifiedCurrent = { fg = palette.overlay, bg = palette.text, bold = styles.bold },
|
||||||
|
MiniTablineModifiedHidden = { fg = groups.panel, bg = palette.subtle },
|
||||||
|
MiniTablineModifiedVisible = { fg = groups.panel, bg = palette.text },
|
||||||
|
MiniTablineTabpagesection = { link = "Search" },
|
||||||
|
MiniTablineVisible = { fg = palette.text, bg = groups.panel },
|
||||||
|
|
||||||
|
MiniTestEmphasis = { bold = styles.bold },
|
||||||
|
MiniTestFail = { fg = palette.love, bold = styles.bold },
|
||||||
|
MiniTestPass = { fg = palette.foam, bold = styles.bold },
|
||||||
|
|
||||||
|
MiniTrailspace = { bg = palette.love },
|
||||||
|
|
||||||
-- goolord/alpha-nvim
|
-- goolord/alpha-nvim
|
||||||
AlphaButtons = { fg = palette.foam },
|
AlphaButtons = { fg = palette.foam },
|
||||||
|
|
@ -709,14 +914,169 @@ local function set_highlights()
|
||||||
|
|
||||||
-- github/copilot.vim
|
-- github/copilot.vim
|
||||||
CopilotSuggestion = { fg = palette.muted, italic = styles.italic },
|
CopilotSuggestion = { fg = palette.muted, italic = styles.italic },
|
||||||
|
|
||||||
|
-- nvim-treesitter/nvim-treesitter-context
|
||||||
|
TreesitterContext = { bg = palette.overlay },
|
||||||
|
TreesitterContextLineNumber = { fg = palette.rose, bg = palette.overlay },
|
||||||
|
|
||||||
|
-- RRethy/vim-illuminate
|
||||||
|
IlluminatedWordRead = { link = "LspReferenceRead" },
|
||||||
|
IlluminatedWordText = { link = "LspReferenceText" },
|
||||||
|
IlluminatedWordWrite = { link = "LspReferenceWrite" },
|
||||||
|
|
||||||
|
-- HiPhish/rainbow-delimiters.nvim
|
||||||
|
RainbowDelimiterBlue = { fg = palette.pine },
|
||||||
|
RainbowDelimiterCyan = { fg = palette.foam },
|
||||||
|
RainbowDelimiterGreen = { fg = palette.leaf },
|
||||||
|
RainbowDelimiterOrange = { fg = palette.rose },
|
||||||
|
RainbowDelimiterRed = { fg = palette.love },
|
||||||
|
RainbowDelimiterViolet = { fg = palette.iris },
|
||||||
|
RainbowDelimiterYellow = { fg = palette.gold },
|
||||||
|
|
||||||
|
-- MeanderingProgrammer/render-markdown.nvim
|
||||||
|
RenderMarkdownBullet = { fg = palette.rose },
|
||||||
|
RenderMarkdownChecked = { fg = palette.foam },
|
||||||
|
RenderMarkdownCode = { bg = palette.overlay },
|
||||||
|
RenderMarkdownCodeInline = { fg = palette.text, bg = palette.overlay },
|
||||||
|
RenderMarkdownDash = { fg = palette.muted },
|
||||||
|
RenderMarkdownH1Bg = { bg = groups.h1, blend = 20 },
|
||||||
|
RenderMarkdownH2Bg = { bg = groups.h2, blend = 20 },
|
||||||
|
RenderMarkdownH3Bg = { bg = groups.h3, blend = 20 },
|
||||||
|
RenderMarkdownH4Bg = { bg = groups.h4, blend = 20 },
|
||||||
|
RenderMarkdownH5Bg = { bg = groups.h5, blend = 20 },
|
||||||
|
RenderMarkdownH6Bg = { bg = groups.h6, blend = 20 },
|
||||||
|
RenderMarkdownQuote = { fg = palette.subtle },
|
||||||
|
RenderMarkdownTableFill = { link = "Conceal" },
|
||||||
|
RenderMarkdownTableHead = { fg = palette.subtle },
|
||||||
|
RenderMarkdownTableRow = { fg = palette.subtle },
|
||||||
|
RenderMarkdownUnchecked = { fg = palette.subtle },
|
||||||
|
|
||||||
|
-- MagicDuck/grug-far.nvim
|
||||||
|
GrugFarHelpHeader = { fg = palette.pine },
|
||||||
|
GrugFarHelpHeaderKey = { fg = palette.gold },
|
||||||
|
GrugFarHelpWinActionKey = { fg = palette.gold },
|
||||||
|
GrugFarHelpWinActionPrefix = { fg = palette.foam },
|
||||||
|
GrugFarHelpWinActionText = { fg = palette.pine },
|
||||||
|
GrugFarHelpWinHeader = { link = "FloatTitle" },
|
||||||
|
GrugFarInputLabel = { fg = palette.foam },
|
||||||
|
GrugFarInputPlaceholder = { link = "Comment" },
|
||||||
|
GrugFarResultsActionMessage = { fg = palette.foam },
|
||||||
|
GrugFarResultsChangeIndicator = { fg = groups.git_change },
|
||||||
|
GrugFarResultsRemoveIndicator = { fg = groups.git_delete },
|
||||||
|
GrugFarResultsAddIndicator = { fg = groups.git_add },
|
||||||
|
GrugFarResultsHeader = { fg = palette.pine },
|
||||||
|
GrugFarResultsLineNo = { fg = palette.iris },
|
||||||
|
GrugFarResultsLineColumn = { link = "GrugFarResultsLineNo" },
|
||||||
|
GrugFarResultsMatch = { link = "CurSearch" },
|
||||||
|
GrugFarResultsPath = { fg = palette.foam },
|
||||||
|
GrugFarResultsStats = { fg = palette.iris },
|
||||||
|
|
||||||
|
-- yetone/avante.nvim
|
||||||
|
AvanteTitle = { fg = palette.highlight_high, bg = palette.rose },
|
||||||
|
AvanteReversedTitle = { fg = palette.rose },
|
||||||
|
AvanteSubtitle = { fg = palette.highlight_med, bg = palette.foam },
|
||||||
|
AvanteReversedSubtitle = { fg = palette.foam },
|
||||||
|
AvanteThirdTitle = { fg = palette.highlight_med, bg = palette.iris },
|
||||||
|
AvanteReversedThirdTitle = { fg = palette.iris },
|
||||||
|
AvantePromptInput = { fg = palette.text, bg = groups.panel },
|
||||||
|
AvantePromptInputBorder = { fg = groups.border },
|
||||||
|
|
||||||
|
-- Saghen/blink.cmp
|
||||||
|
BlinkCmpDoc = { bg = palette.highlight_low },
|
||||||
|
BlinkCmpDocSeparator = { bg = palette.highlight_low },
|
||||||
|
BlinkCmpDocBorder = { fg = palette.highlight_high },
|
||||||
|
BlinkCmpGhostText = { fg = palette.muted },
|
||||||
|
|
||||||
|
BlinkCmpLabel = { fg = palette.muted },
|
||||||
|
BlinkCmpLabelDeprecated = { fg = palette.muted, strikethrough = true },
|
||||||
|
BlinkCmpLabelMatch = { fg = palette.text, bold = styles.bold },
|
||||||
|
|
||||||
|
BlinkCmpDefault = { fg = palette.highlight_med },
|
||||||
|
BlinkCmpKindText = { fg = palette.pine },
|
||||||
|
BlinkCmpKindMethod = { fg = palette.foam },
|
||||||
|
BlinkCmpKindFunction = { fg = palette.foam },
|
||||||
|
BlinkCmpKindConstructor = { fg = palette.foam },
|
||||||
|
BlinkCmpKindField = { fg = palette.pine },
|
||||||
|
BlinkCmpKindVariable = { fg = palette.rose },
|
||||||
|
BlinkCmpKindClass = { fg = palette.gold },
|
||||||
|
BlinkCmpKindInterface = { fg = palette.gold },
|
||||||
|
BlinkCmpKindModule = { fg = palette.foam },
|
||||||
|
BlinkCmpKindProperty = { fg = palette.foam },
|
||||||
|
BlinkCmpKindUnit = { fg = palette.pine },
|
||||||
|
BlinkCmpKindValue = { fg = palette.love },
|
||||||
|
BlinkCmpKindKeyword = { fg = palette.iris },
|
||||||
|
BlinkCmpKindSnippet = { fg = palette.rose },
|
||||||
|
BlinkCmpKindColor = { fg = palette.love },
|
||||||
|
BlinkCmpKindFile = { fg = palette.foam },
|
||||||
|
BlinkCmpKindReference = { fg = palette.love },
|
||||||
|
BlinkCmpKindFolder = { fg = palette.foam },
|
||||||
|
BlinkCmpKindEnum = { fg = palette.foam },
|
||||||
|
BlinkCmpKindEnumMember = { fg = palette.foam },
|
||||||
|
BlinkCmpKindConstant = { fg = palette.gold },
|
||||||
|
BlinkCmpKindStruct = { fg = palette.foam },
|
||||||
|
BlinkCmpKindEvent = { fg = palette.foam },
|
||||||
|
BlinkCmpKindOperator = { fg = palette.foam },
|
||||||
|
BlinkCmpKindTypeParameter = { fg = palette.iris },
|
||||||
|
BlinkCmpKindCodeium = { fg = palette.foam },
|
||||||
|
BlinkCmpKindCopilot = { fg = palette.foam },
|
||||||
|
BlinkCmpKindSupermaven = { fg = palette.foam },
|
||||||
|
BlinkCmpKindTabNine = { fg = palette.foam },
|
||||||
|
|
||||||
|
-- folke/snacks.nvim
|
||||||
|
SnacksIndent = { fg = palette.overlay },
|
||||||
|
SnacksIndentChunk = { fg = palette.overlay },
|
||||||
|
SnacksIndentBlank = { fg = palette.overlay },
|
||||||
|
SnacksIndentScope = { fg = palette.foam },
|
||||||
|
|
||||||
|
SnacksPickerMatch = { fg = palette.rose, bold = styles.bold },
|
||||||
|
|
||||||
|
-- justinmk/vim-sneak
|
||||||
|
Sneak = { fg = palette.base, bg = palette.love },
|
||||||
|
SneakCurrent = { link = "StatusLineTerm" },
|
||||||
|
SneakScope = { link = "IncSearch" },
|
||||||
|
|
||||||
|
-- sindrets/diffview.nvim
|
||||||
|
DiffviewPrimary = { fg = palette.pine },
|
||||||
|
DiffviewSecondary = { fg = palette.foam },
|
||||||
|
DiffviewNormal = { fg = palette.text, bg = palette.surface },
|
||||||
|
DiffviewWinSeparator = { fg = palette.text, bg = palette.surface },
|
||||||
|
|
||||||
|
DiffviewFilePanelTitle = { fg = palette.foam, bold = styles.bold },
|
||||||
|
DiffviewFilePanelCounter = { fg = palette.rose },
|
||||||
|
DiffviewFilePanelRootPath = { fg = palette.foam, bold = styles.bold },
|
||||||
|
DiffviewFilePanelFileName = { fg = palette.text },
|
||||||
|
DiffviewFilePanelSelected = { fg = palette.gold },
|
||||||
|
DiffviewFilePanelPath = { link = "Comment" },
|
||||||
|
|
||||||
|
DiffviewFilePanelInsertions = { fg = groups.git_add },
|
||||||
|
DiffviewFilePanelDeletions = { fg = groups.git_delete },
|
||||||
|
DiffviewFilePanelConflicts = { fg = groups.git_merge },
|
||||||
|
DiffviewFolderName = { fg = palette.foam, bold = styles.bold },
|
||||||
|
DiffviewFolderSign = { fg = palette.subtle },
|
||||||
|
DiffviewHash = { fg = palette.rose },
|
||||||
|
DiffviewReference = { fg = palette.foam, bold = styles.bold },
|
||||||
|
DiffviewReflogSelector = { fg = palette.rose },
|
||||||
|
DiffviewStatusAdded = { fg = groups.git_add },
|
||||||
|
DiffviewStatusUntracked = { fg = groups.untracked },
|
||||||
|
DiffviewStatusModified = { fg = groups.git_change },
|
||||||
|
DiffviewStatusRenamed = { fg = groups.git_rename },
|
||||||
|
DiffviewStatusCopied = { fg = groups.untracked },
|
||||||
|
DiffviewStatusTypeChange = { fg = groups.git_change },
|
||||||
|
DiffviewStatusUnmerged = { fg = groups.git_change },
|
||||||
|
DiffviewStatusUnknown = { fg = groups.git_delete },
|
||||||
|
DiffviewStatusDeleted = { fg = groups.git_delete },
|
||||||
|
DiffviewStatusBroken = { fg = groups.git_delete },
|
||||||
|
DiffviewStatusIgnored = { fg = groups.git_ignore },
|
||||||
}
|
}
|
||||||
local transparency_highlights = {
|
local transparency_highlights = {
|
||||||
DiagnosticVirtualTextError = { fg = groups.error },
|
DiagnosticVirtualTextError = { fg = groups.error },
|
||||||
DiagnosticVirtualTextHint = { fg = groups.hint },
|
DiagnosticVirtualTextHint = { fg = groups.hint },
|
||||||
DiagnosticVirtualTextInfo = { fg = groups.info },
|
DiagnosticVirtualTextInfo = { fg = groups.info },
|
||||||
|
DiagnosticVirtualTextOk = { fg = groups.ok },
|
||||||
DiagnosticVirtualTextWarn = { fg = groups.warn },
|
DiagnosticVirtualTextWarn = { fg = groups.warn },
|
||||||
|
|
||||||
FloatBorder = { fg = palette.muted, bg = "NONE" },
|
FloatBorder = { fg = palette.muted, bg = "NONE" },
|
||||||
|
FloatTitle = { fg = palette.foam, bg = "NONE", bold = styles.bold },
|
||||||
Folded = { fg = palette.text, bg = "NONE" },
|
Folded = { fg = palette.text, bg = "NONE" },
|
||||||
NormalFloat = { bg = "NONE" },
|
NormalFloat = { bg = "NONE" },
|
||||||
Normal = { fg = palette.text, bg = "NONE" },
|
Normal = { fg = palette.text, bg = "NONE" },
|
||||||
|
|
@ -726,10 +1086,12 @@ local function set_highlights()
|
||||||
SignColumn = { fg = palette.text, bg = "NONE" },
|
SignColumn = { fg = palette.text, bg = "NONE" },
|
||||||
StatusLine = { fg = palette.subtle, bg = "NONE" },
|
StatusLine = { fg = palette.subtle, bg = "NONE" },
|
||||||
StatusLineNC = { fg = palette.muted, bg = "NONE" },
|
StatusLineNC = { fg = palette.muted, bg = "NONE" },
|
||||||
|
TabLine = { bg = "NONE", fg = palette.subtle },
|
||||||
TabLineFill = { bg = "NONE" },
|
TabLineFill = { bg = "NONE" },
|
||||||
TabLineSel = { fg = palette.text, bg = "NONE", bold = styles.bold },
|
TabLineSel = { fg = palette.text, bg = "NONE", bold = styles.bold },
|
||||||
|
|
||||||
-- ["@markup.raw"] = { bg = "none" },
|
-- ["@markup.raw"] = { bg = "none" },
|
||||||
|
["@markup.raw.markdown_inline"] = { fg = palette.gold },
|
||||||
-- ["@markup.raw.block"] = { bg = "none" },
|
-- ["@markup.raw.block"] = { bg = "none" },
|
||||||
|
|
||||||
TelescopeNormal = { fg = palette.subtle, bg = "NONE" },
|
TelescopeNormal = { fg = palette.subtle, bg = "NONE" },
|
||||||
|
|
@ -737,16 +1099,22 @@ local function set_highlights()
|
||||||
TelescopeSelection = { fg = palette.text, bg = "NONE", bold = styles.bold },
|
TelescopeSelection = { fg = palette.text, bg = "NONE", bold = styles.bold },
|
||||||
TelescopeSelectionCaret = { fg = palette.rose },
|
TelescopeSelectionCaret = { fg = palette.rose },
|
||||||
|
|
||||||
|
TroubleNormal = { bg = "NONE" },
|
||||||
|
|
||||||
WhichKeyFloat = { bg = "NONE" },
|
WhichKeyFloat = { bg = "NONE" },
|
||||||
|
WhichKeyNormal = { bg = "NONE" },
|
||||||
|
|
||||||
IblIndent = { fg = palette.overlay, bg = "NONE" },
|
IblIndent = { fg = palette.overlay, bg = "NONE" },
|
||||||
IblScope = { fg = palette.foam, bg = "NONE" },
|
IblScope = { fg = palette.foam, bg = "NONE" },
|
||||||
IblWhitespace = { fg = palette.overlay, bg = "NONE" },
|
IblWhitespace = { fg = palette.overlay, bg = "NONE" },
|
||||||
|
|
||||||
MiniClueTitle = { bg = "NONE", bold = styles.bold },
|
TreesitterContext = { bg = "NONE" },
|
||||||
|
TreesitterContextLineNumber = { fg = palette.rose, bg = "NONE" },
|
||||||
|
|
||||||
|
MiniFilesTitleFocused = { fg = palette.rose, bg = "NONE", bold = styles.bold },
|
||||||
|
|
||||||
MiniPickBorderText = { bg = "NONE" },
|
|
||||||
MiniPickPrompt = { bg = "NONE", bold = styles.bold },
|
MiniPickPrompt = { bg = "NONE", bold = styles.bold },
|
||||||
|
MiniPickBorderText = { bg = "NONE" },
|
||||||
}
|
}
|
||||||
|
|
||||||
if config.options.enable.legacy_highlights then
|
if config.options.enable.legacy_highlights then
|
||||||
|
|
@ -767,6 +1135,12 @@ local function set_highlights()
|
||||||
if config.options.highlight_groups ~= nil and next(config.options.highlight_groups) ~= nil then
|
if config.options.highlight_groups ~= nil and next(config.options.highlight_groups) ~= nil then
|
||||||
for group, highlight in pairs(config.options.highlight_groups) do
|
for group, highlight in pairs(config.options.highlight_groups) do
|
||||||
local existing = highlights[group] or {}
|
local existing = highlights[group] or {}
|
||||||
|
-- Traverse link due to
|
||||||
|
-- "If link is used in combination with other attributes; only the link will take effect"
|
||||||
|
-- see: https://neovim.io/doc/user/api.html#nvim_set_hl()
|
||||||
|
while existing.link ~= nil do
|
||||||
|
existing = highlights[existing.link] or {}
|
||||||
|
end
|
||||||
local parsed = vim.tbl_extend("force", {}, highlight)
|
local parsed = vim.tbl_extend("force", {}, highlight)
|
||||||
|
|
||||||
if highlight.fg ~= nil then
|
if highlight.fg ~= nil then
|
||||||
|
|
@ -780,10 +1154,10 @@ local function set_highlights()
|
||||||
end
|
end
|
||||||
|
|
||||||
if (highlight.inherit == nil or highlight.inherit) and existing ~= nil then
|
if (highlight.inherit == nil or highlight.inherit) and existing ~= nil then
|
||||||
highlight.inherit = nil
|
parsed.inherit = nil
|
||||||
highlights[group] = vim.tbl_extend("force", existing, parsed)
|
highlights[group] = vim.tbl_extend("force", existing, parsed)
|
||||||
else
|
else
|
||||||
highlight.inherit = nil
|
parsed.inherit = nil
|
||||||
highlights[group] = parsed
|
highlights[group] = parsed
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
@ -793,9 +1167,18 @@ local function set_highlights()
|
||||||
if config.options.before_highlight ~= nil then
|
if config.options.before_highlight ~= nil then
|
||||||
config.options.before_highlight(group, highlight, palette)
|
config.options.before_highlight(group, highlight, palette)
|
||||||
end
|
end
|
||||||
|
|
||||||
if highlight.blend ~= nil and (highlight.blend >= 0 and highlight.blend <= 100) and highlight.bg ~= nil then
|
if highlight.blend ~= nil and (highlight.blend >= 0 and highlight.blend <= 100) and highlight.bg ~= nil then
|
||||||
highlight.bg = utilities.blend(highlight.bg, highlight.blend_on or palette.base, highlight.blend / 100)
|
highlight.bg = utilities.blend(highlight.bg, highlight.blend_on or palette.base, highlight.blend / 100)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
highlight.blend = nil
|
||||||
|
highlight.blend_on = nil
|
||||||
|
|
||||||
|
if highlight._nvim_blend ~= nil then
|
||||||
|
highlight.blend = highlight._nvim_blend
|
||||||
|
end
|
||||||
|
|
||||||
vim.api.nvim_set_hl(0, group, highlight)
|
vim.api.nvim_set_hl(0, group, highlight)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
@ -820,9 +1203,13 @@ local function set_highlights()
|
||||||
|
|
||||||
-- Support StatusLineTerm & StatusLineTermNC from vim
|
-- Support StatusLineTerm & StatusLineTermNC from vim
|
||||||
vim.cmd([[
|
vim.cmd([[
|
||||||
autocmd TermOpen * if &buftype=='terminal'
|
augroup rose-pine
|
||||||
\|setlocal winhighlight=StatusLine:StatusLineTerm,StatusLineNC:StatusLineTermNC
|
autocmd!
|
||||||
\|else|setlocal winhighlight=|endif
|
autocmd TermOpen * if &buftype=='terminal'
|
||||||
|
\|setlocal winhighlight=StatusLine:StatusLineTerm,StatusLineNC:StatusLineTermNC
|
||||||
|
\|else|setlocal winhighlight=|endif
|
||||||
|
autocmd ColorSchemePre * autocmd! rose-pine
|
||||||
|
augroup END
|
||||||
]])
|
]])
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
@ -838,6 +1225,12 @@ function M.colorscheme(variant)
|
||||||
end
|
end
|
||||||
vim.g.colors_name = "rose-pine"
|
vim.g.colors_name = "rose-pine"
|
||||||
|
|
||||||
|
if variant == "dawn" then
|
||||||
|
vim.o.background = "light"
|
||||||
|
elseif variant == "main" or variant == "moon" then
|
||||||
|
vim.o.background = "dark"
|
||||||
|
end
|
||||||
|
|
||||||
set_highlights()
|
set_highlights()
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
---@alias Variant "main" | "moon" | "dawn"
|
---@alias Variant "main" | "moon" | "dawn"
|
||||||
---@alias Palette { base: string, surface: string, overlay: string, muted: string, subtle: string, text: string, love: string, gold: string, rose: string, pine: string, foam: string, iris: string }
|
---@alias Palette { base: string, surface: string, overlay: string, muted: string, subtle: string, text: string, love: string, gold: string, rose: string, pine: string, foam: string, iris: string }
|
||||||
---@alias PaletteColor "base" | "surface" | "overlay" | "muted" | "subtle" | "text" | "love" | "gold" | "rose" | "pine" | "foam" | "iris" | "highlight_low" | "highlight_med" | "highlight_high"
|
---@alias PaletteColor "base" | "surface" | "overlay" | "muted" | "subtle" | "text" | "love" | "gold" | "rose" | "pine" | "foam" | "iris" | "highlight_low" | "highlight_med" | "highlight_high"
|
||||||
---@alias Highlight { fg: string, bg: string, sp: string, bold: boolean, italic: boolean, undercurl: boolean, underline: boolean, underdouble: boolean, underdotted: boolean, underdashed: boolean, strikethrough: boolean, inherit: boolean }
|
---@alias Highlight { link: string, inherit: boolean } | { fg: string, bg: string, sp: string, bold: boolean, italic: boolean, undercurl: boolean, underline: boolean, underdouble: boolean, underdotted: boolean, underdashed: boolean, strikethrough: boolean, inherit: boolean }
|
||||||
|
|
||||||
local config = {}
|
local config = {}
|
||||||
|
|
||||||
|
|
@ -35,6 +35,9 @@ config.options = {
|
||||||
transparency = false,
|
transparency = false,
|
||||||
},
|
},
|
||||||
|
|
||||||
|
---@type table<string, table<string, string>>
|
||||||
|
palette = {},
|
||||||
|
|
||||||
---@type table<string, string | PaletteColor>
|
---@type table<string, string | PaletteColor>
|
||||||
groups = {
|
groups = {
|
||||||
border = "muted",
|
border = "muted",
|
||||||
|
|
@ -44,9 +47,10 @@ config.options = {
|
||||||
error = "love",
|
error = "love",
|
||||||
hint = "iris",
|
hint = "iris",
|
||||||
info = "foam",
|
info = "foam",
|
||||||
|
ok = "leaf",
|
||||||
|
warn = "gold",
|
||||||
note = "pine",
|
note = "pine",
|
||||||
todo = "rose",
|
todo = "rose",
|
||||||
warn = "gold",
|
|
||||||
|
|
||||||
git_add = "foam",
|
git_add = "foam",
|
||||||
git_change = "rose",
|
git_change = "rose",
|
||||||
|
|
@ -65,7 +69,7 @@ config.options = {
|
||||||
h3 = "rose",
|
h3 = "rose",
|
||||||
h4 = "gold",
|
h4 = "gold",
|
||||||
h5 = "pine",
|
h5 = "pine",
|
||||||
h6 = "foam",
|
h6 = "leaf",
|
||||||
|
|
||||||
---@deprecated Replaced by `options.highlight_groups["Normal"]`
|
---@deprecated Replaced by `options.highlight_groups["Normal"]`
|
||||||
-- background = "base",
|
-- background = "base",
|
||||||
|
|
@ -133,24 +137,21 @@ local function migrate(options)
|
||||||
|
|
||||||
-- These never actually existed, but may be set intuitively by the user
|
-- These never actually existed, but may be set intuitively by the user
|
||||||
-- because of `disable_italics` existing.
|
-- because of `disable_italics` existing.
|
||||||
options.styles.bold = (options.disable_bold or options.disable_bolds) and false or options.styles.bold
|
options.styles.bold = not (options.disable_bold or options.disable_bolds) and options.styles.bold or false
|
||||||
|
|
||||||
-- Similar to bold options, `disable_italic` never existed but could be a
|
-- Similar to bold options, `disable_italic` never existed but could be a
|
||||||
-- common typo of the actual `disable_italics`.
|
-- common typo of the actual `disable_italics`.
|
||||||
options.styles.italic = (options.disable_italic or options.disable_italics) and false or options.styles.italic
|
options.styles.italic = not (options.disable_italic or options.disable_italics) and options.styles.italic or false
|
||||||
|
|
||||||
-- Set h1 through h6 to the same color if only one is specified
|
-- Set h1 through h6 to the same color if only one is specified
|
||||||
if type(options.groups.headings) == "string" then
|
if type(options.groups.headings) == "string" then
|
||||||
options.groups.headings = {
|
options.groups.h1 = options.groups.headings
|
||||||
h1 = options.groups.headings,
|
options.groups.h2 = options.groups.headings
|
||||||
h2 = options.groups.headings,
|
options.groups.h3 = options.groups.headings
|
||||||
h3 = options.groups.headings,
|
options.groups.h4 = options.groups.headings
|
||||||
h4 = options.groups.headings,
|
options.groups.h5 = options.groups.headings
|
||||||
h5 = options.groups.headings,
|
options.groups.h6 = options.groups.headings
|
||||||
h6 = options.groups.headings,
|
elseif options.groups.headings == "table" then
|
||||||
}
|
|
||||||
end
|
|
||||||
if type(options.groups.headings) == "table" then
|
|
||||||
options.groups.h1 = options.groups.headings.h1 or options.groups.h1
|
options.groups.h1 = options.groups.headings.h1 or options.groups.h1
|
||||||
options.groups.h2 = options.groups.headings.h2 or options.groups.h2
|
options.groups.h2 = options.groups.headings.h2 or options.groups.h2
|
||||||
options.groups.h3 = options.groups.headings.h3 or options.groups.h3
|
options.groups.h3 = options.groups.headings.h3 or options.groups.h3
|
||||||
|
|
@ -158,6 +159,7 @@ local function migrate(options)
|
||||||
options.groups.h5 = options.groups.headings.h5 or options.groups.h5
|
options.groups.h5 = options.groups.headings.h5 or options.groups.h5
|
||||||
options.groups.h6 = options.groups.headings.h6 or options.groups.h6
|
options.groups.h6 = options.groups.headings.h6 or options.groups.h6
|
||||||
end
|
end
|
||||||
|
options.groups.headings = nil
|
||||||
|
|
||||||
return options
|
return options
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,7 @@ local variants = {
|
||||||
pine = "#31748f",
|
pine = "#31748f",
|
||||||
foam = "#9ccfd8",
|
foam = "#9ccfd8",
|
||||||
iris = "#c4a7e7",
|
iris = "#c4a7e7",
|
||||||
|
leaf = "#95b1ac",
|
||||||
highlight_low = "#21202e",
|
highlight_low = "#21202e",
|
||||||
highlight_med = "#403d52",
|
highlight_med = "#403d52",
|
||||||
highlight_high = "#524f67",
|
highlight_high = "#524f67",
|
||||||
|
|
@ -33,6 +34,7 @@ local variants = {
|
||||||
pine = "#3e8fb0",
|
pine = "#3e8fb0",
|
||||||
foam = "#9ccfd8",
|
foam = "#9ccfd8",
|
||||||
iris = "#c4a7e7",
|
iris = "#c4a7e7",
|
||||||
|
leaf = "#95b1ac",
|
||||||
highlight_low = "#2a283e",
|
highlight_low = "#2a283e",
|
||||||
highlight_med = "#44415a",
|
highlight_med = "#44415a",
|
||||||
highlight_high = "#56526e",
|
highlight_high = "#56526e",
|
||||||
|
|
@ -45,13 +47,14 @@ local variants = {
|
||||||
overlay = "#f2e9e1",
|
overlay = "#f2e9e1",
|
||||||
muted = "#9893a5",
|
muted = "#9893a5",
|
||||||
subtle = "#797593",
|
subtle = "#797593",
|
||||||
text = "#575279",
|
text = "#464261",
|
||||||
love = "#b4637a",
|
love = "#b4637a",
|
||||||
gold = "#ea9d34",
|
gold = "#ea9d34",
|
||||||
rose = "#d7827e",
|
rose = "#d7827e",
|
||||||
pine = "#286983",
|
pine = "#286983",
|
||||||
foam = "#56949f",
|
foam = "#56949f",
|
||||||
iris = "#907aa9",
|
iris = "#907aa9",
|
||||||
|
leaf = "#6d8f89",
|
||||||
highlight_low = "#f4ede8",
|
highlight_low = "#f4ede8",
|
||||||
highlight_med = "#dfdad9",
|
highlight_med = "#dfdad9",
|
||||||
highlight_high = "#cecacd",
|
highlight_high = "#cecacd",
|
||||||
|
|
@ -59,6 +62,15 @@ local variants = {
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if options.palette ~= nil and next(options.palette) then
|
||||||
|
-- handle variant specific overrides
|
||||||
|
for variant_name, override_palette in pairs(options.palette) do
|
||||||
|
if variants[variant_name] then
|
||||||
|
variants[variant_name] = vim.tbl_extend("force", variants[variant_name], override_palette or {})
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
if variants[options.variant] ~= nil then
|
if variants[options.variant] ~= nil then
|
||||||
return variants[options.variant]
|
return variants[options.variant]
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -2,43 +2,43 @@
|
||||||
--- https://github.com/akinsho/bufferline.nvim
|
--- https://github.com/akinsho/bufferline.nvim
|
||||||
---
|
---
|
||||||
--- @usage
|
--- @usage
|
||||||
--- local highlights = require('rose-pine.plugins.bufferline')
|
--- local highlights = require("rose-pine.plugins.bufferline")
|
||||||
--- require('bufferline').setup({ highlights = highlights })
|
--- require("bufferline").setup({ highlights = highlights })
|
||||||
|
|
||||||
local p = require("rose-pine.palette")
|
local p = require("rose-pine.palette")
|
||||||
|
|
||||||
return {
|
return {
|
||||||
-- fill = {
|
-- fill = {
|
||||||
-- fg = '<color-value-here>',
|
-- fg = "<color-value-here>",
|
||||||
-- bg = '<color-value-here>',
|
-- bg = "<color-value-here>",
|
||||||
-- },
|
-- },
|
||||||
-- background = {
|
-- background = {
|
||||||
-- fg = '<color-value-here>',
|
-- fg = "<color-value-here>",
|
||||||
-- bg = '<color-value-here>',
|
-- bg = "<color-value-here>",
|
||||||
-- },
|
-- },
|
||||||
-- tab = {
|
-- tab = {
|
||||||
-- fg = '<color-value-here>',
|
-- fg = "<color-value-here>",
|
||||||
-- bg = '<color-value-here>',
|
-- bg = "<color-value-here>",
|
||||||
-- },
|
-- },
|
||||||
tab_selected = {
|
tab_selected = {
|
||||||
fg = p.text,
|
fg = p.text,
|
||||||
bg = p.overlay,
|
bg = p.overlay,
|
||||||
},
|
},
|
||||||
-- tab_close = {
|
-- tab_close = {
|
||||||
-- fg = '<color-value-here>',
|
-- fg = "<color-value-here>",
|
||||||
-- bg = '<color-value-here>',
|
-- bg = "<color-value-here>",
|
||||||
-- },
|
-- },
|
||||||
-- close_button = {
|
-- close_button = {
|
||||||
-- fg = '<color-value-here>',
|
-- fg = "<color-value-here>",
|
||||||
-- bg = '<color-value-here>',
|
-- bg = "<color-value-here>",
|
||||||
-- },
|
-- },
|
||||||
-- close_button_visible = {
|
-- close_button_visible = {
|
||||||
-- fg = '<color-value-here>',
|
-- fg = "<color-value-here>",
|
||||||
-- bg = '<color-value-here>',
|
-- bg = "<color-value-here>",
|
||||||
-- },
|
-- },
|
||||||
-- close_button_selected = {
|
-- close_button_selected = {
|
||||||
-- fg = '<color-value-here>',
|
-- fg = "<color-value-here>",
|
||||||
-- bg = '<color-value-here>',
|
-- bg = "<color-value-here>",
|
||||||
-- },
|
-- },
|
||||||
buffer_visible = {
|
buffer_visible = {
|
||||||
fg = p.subtle,
|
fg = p.subtle,
|
||||||
|
|
@ -51,172 +51,172 @@ return {
|
||||||
italic = true,
|
italic = true,
|
||||||
},
|
},
|
||||||
-- diagnostic = {
|
-- diagnostic = {
|
||||||
-- fg = '<color-value-here>',
|
-- fg = "<color-value-here>",
|
||||||
-- bg = '<color-value-here>',
|
-- bg = "<color-value-here>",
|
||||||
-- },
|
-- },
|
||||||
-- diagnostic_visible = {
|
-- diagnostic_visible = {
|
||||||
-- fg = '<color-value-here>',
|
-- fg = "<color-value-here>",
|
||||||
-- bg = '<color-value-here>',
|
-- bg = "<color-value-here>",
|
||||||
-- },
|
-- },
|
||||||
-- diagnostic_selected = {
|
-- diagnostic_selected = {
|
||||||
-- fg = '<color-value-here>',
|
-- fg = "<color-value-here>",
|
||||||
-- bg = '<color-value-here>',
|
-- bg = "<color-value-here>",
|
||||||
-- bold = true,
|
-- bold = true,
|
||||||
-- italic = true,
|
-- italic = true,
|
||||||
-- },
|
-- },
|
||||||
-- info = {
|
-- info = {
|
||||||
-- fg = '<color-value-here>',
|
-- fg = "<color-value-here>",
|
||||||
-- sp = '<color-value-here>',
|
-- sp = "<color-value-here>",
|
||||||
-- bg = '<color-value-here>',
|
-- bg = "<color-value-here>",
|
||||||
-- },
|
-- },
|
||||||
-- info_visible = {
|
-- info_visible = {
|
||||||
-- fg = '<color-value-here>',
|
-- fg = "<color-value-here>",
|
||||||
-- bg = '<color-value-here>',
|
-- bg = "<color-value-here>",
|
||||||
-- },
|
-- },
|
||||||
-- info_selected = {
|
-- info_selected = {
|
||||||
-- fg = '<color-value-here>',
|
-- fg = "<color-value-here>",
|
||||||
-- bg = '<color-value-here>',
|
-- bg = "<color-value-here>",
|
||||||
-- bold = true,
|
-- bold = true,
|
||||||
-- italic = true,
|
-- italic = true,
|
||||||
-- sp = '<color-value-here>',
|
-- sp = "<color-value-here>",
|
||||||
-- },
|
-- },
|
||||||
-- info_diagnostic = {
|
-- info_diagnostic = {
|
||||||
-- fg = '<color-value-here>',
|
-- fg = "<color-value-here>",
|
||||||
-- sp = '<color-value-here>',
|
-- sp = "<color-value-here>",
|
||||||
-- bg = '<color-value-here>',
|
-- bg = "<color-value-here>",
|
||||||
-- },
|
-- },
|
||||||
-- info_diagnostic_visible = {
|
-- info_diagnostic_visible = {
|
||||||
-- fg = '<color-value-here>',
|
-- fg = "<color-value-here>",
|
||||||
-- bg = '<color-value-here>',
|
-- bg = "<color-value-here>",
|
||||||
-- },
|
-- },
|
||||||
-- info_diagnostic_selected = {
|
-- info_diagnostic_selected = {
|
||||||
-- fg = '<color-value-here>',
|
-- fg = "<color-value-here>",
|
||||||
-- bg = '<color-value-here>',
|
-- bg = "<color-value-here>",
|
||||||
-- bold = true,
|
-- bold = true,
|
||||||
-- italic = true,
|
-- italic = true,
|
||||||
-- sp = '<color-value-here>',
|
-- sp = "<color-value-here>",
|
||||||
-- },
|
-- },
|
||||||
-- warning = {
|
-- warning = {
|
||||||
-- fg = '<color-value-here>',
|
-- fg = "<color-value-here>",
|
||||||
-- sp = '<color-value-here>',
|
-- sp = "<color-value-here>",
|
||||||
-- bg = '<color-value-here>',
|
-- bg = "<color-value-here>",
|
||||||
-- },
|
-- },
|
||||||
-- warning_visible = {
|
-- warning_visible = {
|
||||||
-- fg = '<color-value-here>',
|
-- fg = "<color-value-here>",
|
||||||
-- bg = '<color-value-here>',
|
-- bg = "<color-value-here>",
|
||||||
-- },
|
-- },
|
||||||
-- warning_selected = {
|
-- warning_selected = {
|
||||||
-- fg = '<color-value-here>',
|
-- fg = "<color-value-here>",
|
||||||
-- bg = '<color-value-here>',
|
-- bg = "<color-value-here>",
|
||||||
-- bold = true,
|
-- bold = true,
|
||||||
-- italic = true,
|
-- italic = true,
|
||||||
-- sp = '<color-value-here>',
|
-- sp = "<color-value-here>",
|
||||||
-- },
|
-- },
|
||||||
-- warning_diagnostic = {
|
-- warning_diagnostic = {
|
||||||
-- fg = '<color-value-here>',
|
-- fg = "<color-value-here>",
|
||||||
-- sp = '<color-value-here>',
|
-- sp = "<color-value-here>",
|
||||||
-- bg = '<color-value-here>',
|
-- bg = "<color-value-here>",
|
||||||
-- },
|
-- },
|
||||||
-- warning_diagnostic_visible = {
|
-- warning_diagnostic_visible = {
|
||||||
-- fg = '<color-value-here>',
|
-- fg = "<color-value-here>",
|
||||||
-- bg = '<color-value-here>',
|
-- bg = "<color-value-here>",
|
||||||
-- },
|
-- },
|
||||||
-- warning_diagnostic_selected = {
|
-- warning_diagnostic_selected = {
|
||||||
-- fg = '<color-value-here>',
|
-- fg = "<color-value-here>",
|
||||||
-- bg = '<color-value-here>',
|
-- bg = "<color-value-here>",
|
||||||
-- bold = true,
|
-- bold = true,
|
||||||
-- italic = true,
|
-- italic = true,
|
||||||
-- sp = warning_diagnostic_fg,
|
-- sp = warning_diagnostic_fg,
|
||||||
-- },
|
-- },
|
||||||
-- error = {
|
-- error = {
|
||||||
-- fg = '<color-value-here>',
|
-- fg = "<color-value-here>",
|
||||||
-- bg = '<color-value-here>',
|
-- bg = "<color-value-here>",
|
||||||
-- sp = '<color-value-here>',
|
-- sp = "<color-value-here>",
|
||||||
-- },
|
-- },
|
||||||
-- error_visible = {
|
-- error_visible = {
|
||||||
-- fg = '<color-value-here>',
|
-- fg = "<color-value-here>",
|
||||||
-- bg = '<color-value-here>',
|
-- bg = "<color-value-here>",
|
||||||
-- },
|
-- },
|
||||||
-- error_selected = {
|
-- error_selected = {
|
||||||
-- fg = '<color-value-here>',
|
-- fg = "<color-value-here>",
|
||||||
-- bg = '<color-value-here>',
|
-- bg = "<color-value-here>",
|
||||||
-- bold = true,
|
-- bold = true,
|
||||||
-- italic = true,
|
-- italic = true,
|
||||||
-- sp = '<color-value-here>',
|
-- sp = "<color-value-here>",
|
||||||
-- },
|
-- },
|
||||||
-- error_diagnostic = {
|
-- error_diagnostic = {
|
||||||
-- fg = '<color-value-here>',
|
-- fg = "<color-value-here>",
|
||||||
-- bg = '<color-value-here>',
|
-- bg = "<color-value-here>",
|
||||||
-- sp = '<color-value-here>',
|
-- sp = "<color-value-here>",
|
||||||
-- },
|
-- },
|
||||||
-- error_diagnostic_visible = {
|
-- error_diagnostic_visible = {
|
||||||
-- fg = '<color-value-here>',
|
-- fg = "<color-value-here>",
|
||||||
-- bg = '<color-value-here>',
|
-- bg = "<color-value-here>",
|
||||||
-- },
|
-- },
|
||||||
-- error_diagnostic_selected = {
|
-- error_diagnostic_selected = {
|
||||||
-- fg = '<color-value-here>',
|
-- fg = "<color-value-here>",
|
||||||
-- bg = '<color-value-here>',
|
-- bg = "<color-value-here>",
|
||||||
-- bold = true,
|
-- bold = true,
|
||||||
-- italic = true,
|
-- italic = true,
|
||||||
-- sp = '<color-value-here>',
|
-- sp = "<color-value-here>",
|
||||||
-- },
|
-- },
|
||||||
-- modified = {
|
-- modified = {
|
||||||
-- fg = '<color-value-here>',
|
-- fg = "<color-value-here>",
|
||||||
-- bg = '<color-value-here>',
|
-- bg = "<color-value-here>",
|
||||||
-- },
|
-- },
|
||||||
-- modified_visible = {
|
-- modified_visible = {
|
||||||
-- fg = '<color-value-here>',
|
-- fg = "<color-value-here>",
|
||||||
-- bg = '<color-value-here>',
|
-- bg = "<color-value-here>",
|
||||||
-- },
|
-- },
|
||||||
-- modified_selected = {
|
-- modified_selected = {
|
||||||
-- fg = '<color-value-here>',
|
-- fg = "<color-value-here>",
|
||||||
-- bg = '<color-value-here>',
|
-- bg = "<color-value-here>",
|
||||||
-- },
|
-- },
|
||||||
-- duplicate_selected = {
|
-- duplicate_selected = {
|
||||||
-- fg = '<color-value-here>',
|
-- fg = "<color-value-here>",
|
||||||
-- italic = true,
|
-- italic = true,
|
||||||
-- bg = '<color-value-here>',
|
-- bg = "<color-value-here>",
|
||||||
-- },
|
-- },
|
||||||
-- duplicate_visible = {
|
-- duplicate_visible = {
|
||||||
-- fg = '<color-value-here>',
|
-- fg = "<color-value-here>",
|
||||||
-- italic = true,
|
-- italic = true,
|
||||||
-- bg = '<color-value-here>',
|
-- bg = "<color-value-here>",
|
||||||
-- },
|
-- },
|
||||||
-- duplicate = {
|
-- duplicate = {
|
||||||
-- fg = '<color-value-here>',
|
-- fg = "<color-value-here>",
|
||||||
-- italic = true,
|
-- italic = true,
|
||||||
-- bg = '<color-value-here>',
|
-- bg = "<color-value-here>",
|
||||||
-- },
|
-- },
|
||||||
-- separator_selected = {
|
-- separator_selected = {
|
||||||
-- fg = '<color-value-here>',
|
-- fg = "<color-value-here>",
|
||||||
-- bg = '<color-value-here>',
|
-- bg = "<color-value-here>",
|
||||||
-- },
|
-- },
|
||||||
-- separator_visible = {
|
-- separator_visible = {
|
||||||
-- fg = '<color-value-here>',
|
-- fg = "<color-value-here>",
|
||||||
-- bg = '<color-value-here>',
|
-- bg = "<color-value-here>",
|
||||||
-- },
|
-- },
|
||||||
-- separator = {
|
-- separator = {
|
||||||
-- fg = '<color-value-here>',
|
-- fg = "<color-value-here>",
|
||||||
-- bg = '<color-value-here>',
|
-- bg = "<color-value-here>",
|
||||||
-- },
|
-- },
|
||||||
-- indicator_selected = {
|
-- indicator_selected = {
|
||||||
-- fg = '<color-value-here>',
|
-- fg = "<color-value-here>",
|
||||||
-- bg = '<color-value-here>',
|
-- bg = "<color-value-here>",
|
||||||
-- },
|
-- },
|
||||||
-- pick_selected = {
|
-- pick_selected = {
|
||||||
-- fg = '<color-value-here>',
|
-- fg = "<color-value-here>",
|
||||||
-- bg = '<color-value-here>',
|
-- bg = "<color-value-here>",
|
||||||
-- italic = true,
|
-- italic = true,
|
||||||
-- },
|
-- },
|
||||||
-- pick_visible = {
|
-- pick_visible = {
|
||||||
-- fg = '<color-value-here>',
|
-- fg = "<color-value-here>",
|
||||||
-- bg = '<color-value-here>',
|
-- bg = "<color-value-here>",
|
||||||
-- bold = true,
|
-- bold = true,
|
||||||
-- italic = true,
|
-- italic = true,
|
||||||
-- },
|
-- },
|
||||||
-- pick = {
|
-- pick = {
|
||||||
-- fg = '<color-value-here>',
|
-- fg = "<color-value-here>",
|
||||||
-- bg = '<color-value-here>',
|
-- bg = "<color-value-here>",
|
||||||
-- bold = true,
|
-- bold = true,
|
||||||
-- italic = true,
|
-- italic = true,
|
||||||
-- },
|
-- },
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
--- https://github.com/NTBBloodbath/galaxyline.nvim
|
--- https://github.com/NTBBloodbath/galaxyline.nvim
|
||||||
---
|
---
|
||||||
--- @usage
|
--- @usage
|
||||||
--- local highlights = require('rose-pine.plugins.galaxyline')
|
--- local highlights = require("rose-pine.plugins.galaxyline")
|
||||||
|
|
||||||
local p = require("rose-pine.palette")
|
local p = require("rose-pine.palette")
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
--- https://github.com/David-Kunz/markid
|
--- https://github.com/David-Kunz/markid
|
||||||
---
|
---
|
||||||
--- @usage
|
--- @usage
|
||||||
--- local highlights = require('rose-pine.plugins.markid')
|
--- local highlights = require("rose-pine.plugins.markid")
|
||||||
--- require("nvim-treesitter.configs").setup({ markid = { enable = true, colors = highlights } })
|
--- require("nvim-treesitter.configs").setup({ markid = { enable = true, colors = highlights } })
|
||||||
|
|
||||||
local p = require("rose-pine.palette")
|
local p = require("rose-pine.palette")
|
||||||
|
|
|
||||||
14
lua/rose-pine/plugins/obsidian.lua
Normal file
14
lua/rose-pine/plugins/obsidian.lua
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
--- Rosé Pine for Obsidian(epwalsh)
|
||||||
|
--- https://github.com/epwalsh/obsidian.nvim
|
||||||
|
---
|
||||||
|
--- @usage
|
||||||
|
--- local highlights = require("rose-pine.plugins.obsidian")
|
||||||
|
--- require("obsidian").setup({ ui = {hl_groups = highlights} })
|
||||||
|
|
||||||
|
local p = require("rose-pine.palette")
|
||||||
|
|
||||||
|
return {
|
||||||
|
ObsidianBullet = { fg = p.muted },
|
||||||
|
ObsidianRefText = { underline = true, fg = p.iris },
|
||||||
|
ObsidianDone = { bold = true, fg = p.foam }
|
||||||
|
}
|
||||||
|
|
@ -2,8 +2,8 @@
|
||||||
--- https://github.com/akinsho/toggleterm.nvim
|
--- https://github.com/akinsho/toggleterm.nvim
|
||||||
---
|
---
|
||||||
--- @usage
|
--- @usage
|
||||||
--- local highlights = require('rose-pine.plugins.toggleterm')
|
--- local highlights = require("rose-pine.plugins.toggleterm")
|
||||||
--- require('toggleterm').setup({ highlights = highlights })
|
--- require("toggleterm").setup({ highlights = highlights })
|
||||||
|
|
||||||
return {
|
return {
|
||||||
Normal = { link = "Normal" },
|
Normal = { link = "Normal" },
|
||||||
|
|
|
||||||
|
|
@ -14,10 +14,17 @@ local function color_to_rgb(color)
|
||||||
return { byte(new_color, 16), byte(new_color, 8), byte(new_color, 0) }
|
return { byte(new_color, 16), byte(new_color, 8), byte(new_color, 0) }
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local color_cache = {}
|
||||||
|
|
||||||
---@param color string Palette key or hex value
|
---@param color string Palette key or hex value
|
||||||
function utilities.parse_color(color)
|
function utilities.parse_color(color)
|
||||||
|
if color_cache[color] then
|
||||||
|
return color_cache[color]
|
||||||
|
end
|
||||||
|
|
||||||
if color == nil then
|
if color == nil then
|
||||||
return print("Invalid color: " .. color)
|
print("Invalid color: " .. color)
|
||||||
|
return nil
|
||||||
end
|
end
|
||||||
|
|
||||||
color = color:lower()
|
color = color:lower()
|
||||||
|
|
@ -26,13 +33,21 @@ function utilities.parse_color(color)
|
||||||
color = require("rose-pine.palette")[color] or vim.api.nvim_get_color_by_name(color)
|
color = require("rose-pine.palette")[color] or vim.api.nvim_get_color_by_name(color)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
color_cache[color] = color
|
||||||
return color
|
return color
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local blend_cache = {}
|
||||||
|
|
||||||
---@param fg string Foreground color
|
---@param fg string Foreground color
|
||||||
---@param bg string Background color
|
---@param bg string Background color
|
||||||
---@param alpha number Between 0 (background) and 1 (foreground)
|
---@param alpha number Between 0 (background) and 1 (foreground)
|
||||||
function utilities.blend(fg, bg, alpha)
|
function utilities.blend(fg, bg, alpha)
|
||||||
|
local cache_key = fg .. bg .. alpha
|
||||||
|
if blend_cache[cache_key] then
|
||||||
|
return blend_cache[cache_key]
|
||||||
|
end
|
||||||
|
|
||||||
local fg_rgb = color_to_rgb(fg)
|
local fg_rgb = color_to_rgb(fg)
|
||||||
local bg_rgb = color_to_rgb(bg)
|
local bg_rgb = color_to_rgb(bg)
|
||||||
|
|
||||||
|
|
@ -41,7 +56,10 @@ function utilities.blend(fg, bg, alpha)
|
||||||
return math.floor(math.min(math.max(0, ret), 255) + 0.5)
|
return math.floor(math.min(math.max(0, ret), 255) + 0.5)
|
||||||
end
|
end
|
||||||
|
|
||||||
return string.format("#%02X%02X%02X", blend_channel(1), blend_channel(2), blend_channel(3))
|
local result = string.format("#%02X%02X%02X", blend_channel(1), blend_channel(2), blend_channel(3))
|
||||||
|
|
||||||
|
blend_cache[cache_key] = result
|
||||||
|
return result
|
||||||
end
|
end
|
||||||
|
|
||||||
return utilities
|
return utilities
|
||||||
|
|
|
||||||
53
readme.md
53
readme.md
|
|
@ -13,18 +13,33 @@
|
||||||
|
|
||||||
## Getting started
|
## Getting started
|
||||||
|
|
||||||
Install `rose-pine/neovim` using your favourite plugin manager:
|
Install `rose-pine/neovim` using your favourite package manager:
|
||||||
|
|
||||||
**paq-nvim**
|
### [pam.nvim](https://github.com/mvllow/pam.nvim)
|
||||||
|
|
||||||
```lua
|
```lua
|
||||||
{ 'rose-pine/neovim', as = 'rose-pine' }
|
{ source = "rose-pine/neovim", as = "rose-pine" }
|
||||||
```
|
```
|
||||||
|
|
||||||
**lazy.nvim**
|
### [lazy.nvim](https://lazy.folke.io/installation)
|
||||||
|
|
||||||
|
**Structured Setup**
|
||||||
|
|
||||||
```lua
|
```lua
|
||||||
{ 'rose-pine/neovim', name = 'rose-pine' }
|
-- lua/plugins/rose-pine.lua
|
||||||
|
return {
|
||||||
|
"rose-pine/neovim",
|
||||||
|
name = "rose-pine",
|
||||||
|
config = function()
|
||||||
|
vim.cmd("colorscheme rose-pine")
|
||||||
|
end
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
**Single file**
|
||||||
|
|
||||||
|
```lua
|
||||||
|
{ "rose-pine/neovim", name = "rose-pine" }
|
||||||
```
|
```
|
||||||
|
|
||||||
## Gallery
|
## Gallery
|
||||||
|
|
@ -51,7 +66,7 @@ Rosé Pine has three variants: main, moon, and dawn. By default, `vim.o.backgrou
|
||||||
Colour values accept named colours from the [Rosé Pine palette](https://rosepinetheme.com/palette/ingredients/), e.g. "foam", or valid hex, e.g. "#fa8072".
|
Colour values accept named colours from the [Rosé Pine palette](https://rosepinetheme.com/palette/ingredients/), e.g. "foam", or valid hex, e.g. "#fa8072".
|
||||||
|
|
||||||
```lua
|
```lua
|
||||||
require('rose-pine').setup({
|
require("rose-pine").setup({
|
||||||
variant = "auto", -- auto, main, moon, or dawn
|
variant = "auto", -- auto, main, moon, or dawn
|
||||||
dark_variant = "main", -- main, moon, or dawn
|
dark_variant = "main", -- main, moon, or dawn
|
||||||
dim_inactive_windows = false,
|
dim_inactive_windows = false,
|
||||||
|
|
@ -59,10 +74,8 @@ require('rose-pine').setup({
|
||||||
|
|
||||||
enable = {
|
enable = {
|
||||||
terminal = true,
|
terminal = true,
|
||||||
-- Improve compatibility for previous versions of Neovim
|
legacy_highlights = true, -- Improve compatibility for previous versions of Neovim
|
||||||
legacy_highlights = true,
|
migrations = true, -- Handle deprecated options automatically
|
||||||
-- Handle deprecated options automatically
|
|
||||||
migrations = true,
|
|
||||||
},
|
},
|
||||||
|
|
||||||
styles = {
|
styles = {
|
||||||
|
|
@ -102,9 +115,21 @@ require('rose-pine').setup({
|
||||||
h6 = "foam",
|
h6 = "foam",
|
||||||
},
|
},
|
||||||
|
|
||||||
|
palette = {
|
||||||
|
-- Override the builtin palette per variant
|
||||||
|
-- moon = {
|
||||||
|
-- base = '#18191a',
|
||||||
|
-- overlay = '#363738',
|
||||||
|
-- },
|
||||||
|
},
|
||||||
|
|
||||||
|
-- NOTE: Highlight groups are extended (merged) by default. Disable this
|
||||||
|
-- per group via `inherit = false`
|
||||||
highlight_groups = {
|
highlight_groups = {
|
||||||
-- Comment = { fg = "foam" },
|
-- Comment = { fg = "foam" },
|
||||||
|
-- StatusLine = { fg = "love", bg = "love", blend = 15 },
|
||||||
-- VertSplit = { fg = "muted", bg = "muted" },
|
-- VertSplit = { fg = "muted", bg = "muted" },
|
||||||
|
-- Visual = { fg = "base", bg = "text", inherit = false },
|
||||||
},
|
},
|
||||||
|
|
||||||
before_highlight = function(group, highlight, palette)
|
before_highlight = function(group, highlight, palette)
|
||||||
|
|
@ -120,10 +145,10 @@ require('rose-pine').setup({
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
vim.cmd('colorscheme rose-pine')
|
vim.cmd("colorscheme rose-pine")
|
||||||
-- vim.cmd('colorscheme rose-pine-main')
|
-- vim.cmd("colorscheme rose-pine-main")
|
||||||
-- vim.cmd('colorscheme rose-pine-moon')
|
-- vim.cmd("colorscheme rose-pine-moon")
|
||||||
-- vim.cmd('colorscheme rose-pine-dawn')
|
-- vim.cmd("colorscheme rose-pine-dawn")
|
||||||
```
|
```
|
||||||
|
|
||||||
> [!NOTE]
|
> [!NOTE]
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue