summaryrefslogtreecommitdiff
path: root/colors/parchment2.lua
diff options
context:
space:
mode:
authorMohammad Reza Karimi <m.r.karimi.j@gmail.com>2026-01-20 15:55:27 -0500
committerMohammad Reza Karimi <m.r.karimi.j@gmail.com>2026-01-20 15:55:27 -0500
commitaa5717f00fd14430c80939a68d7107c26de6e554 (patch)
tree784e99d9b018e0554369c41cb33e2e195e28d3c6 /colors/parchment2.lua
first commit
Diffstat (limited to 'colors/parchment2.lua')
-rw-r--r--colors/parchment2.lua257
1 files changed, 257 insertions, 0 deletions
diff --git a/colors/parchment2.lua b/colors/parchment2.lua
new file mode 100644
index 0000000..79358f5
--- /dev/null
+++ b/colors/parchment2.lua
@@ -0,0 +1,257 @@
+--- Source: http//github.com/moreka/parchment2.nvim
+--- parchment2 - a Neovim colorscheme inspired by Acme, Leuven, Parchment, and Dookie.nvim
+--- Maintainer: Mohammad Reza Karimi <m.r.karimi.j@gmail.com>
+--- Version: 0.1.0
+--- License: This file is placed under an MIT license. See the included LICENSE file for details.
+
+vim.cmd.highlight("clear")
+vim.o.background = "light"
+vim.g.colors_name = "parchment2"
+
+-- from $VIMRUNTIME/colors/vim.lua
+local hi = function(name, val)
+ val.force = true
+ val.cterm = val.cterm or {}
+ vim.api.nvim_set_hl(0, name, val)
+end
+
+-- stylua: ignore start
+-- Color palette
+local black = "#000000"
+local red = "#880000"
+local green = "#005500"
+local brown = "#663311"
+local blue = "#004488"
+local magenta = "#770077"
+local cyan = "#007777"
+local beige = "#eeeecc"
+local pale_gray = "#eaeaea"
+local pale_red = "#ffeaea"
+local pale_green = "#eaffea"
+local yellow = "#eeee9e"
+local pale_blue = "#cceeff"
+local pale_magenta = "#ffeaff"
+local pale_cyan = "#eaffff"
+local pale_yellow = "#ffffea"
+local shadow = "#808075"
+local mustard = "#998800"
+local sline = "#aeeeee" -- from Dookie.nvim
+local sline_nc = "#eaffff" -- from Dookie.nvim
+
+hi("Normal", { fg = black, bg = pale_yellow })
+hi("NonText", { fg = cyan, bg = pale_cyan })
+hi("Whitespace", { fg = shadow, bg = nil })
+
+hi("Cursor", { fg = pale_yellow, bg = magenta })
+hi("lCursor", { fg = pale_yellow, bg = magenta })
+hi("TermCursor", { fg = nil, bg = nil, reverse = true })
+hi("TermCursorNC", { fg = pale_yellow, bg = cyan })
+
+hi("Search", { fg = nil, bg = pale_blue })
+hi("IncSearch", { fg = nil, bg = pale_blue, bold = true })
+hi("CurSearch", { fg = pale_yellow, bg = cyan, bold = true })
+hi("Substitute", { link = "Search" })
+
+hi("DiffText", { fg = magenta, bg = pale_magenta, bold = true })
+hi("DiffAdd", { fg = green, bg = pale_green })
+hi("DiffDelete", { fg = red, bg = pale_red })
+hi("DiffChange", { fg = magenta, bg = pale_magenta })
+hi("DiffTextAdd", { link = "DiffText" })
+
+hi("ErrorMsg", { fg = pale_yellow, bg = red, bold = true })
+hi("ModeMsg", { fg = nil, bg = nil, bold = true })
+hi("MoreMsg", { fg = nil, bg = nil, bold = true })
+hi("WarningMsg", { fg = mustard, bg = nil })
+
+hi("StatusLine", { fg = nil, bg = sline, bold = true })
+hi("StatusLineNC", { fg = shadow, bg = sline_nc })
+hi("TabLine", { fg = nil, bg = pale_gray })
+hi("TabLineSel", { fg = nil, bg = pale_gray, bold = true })
+hi("TabLineFill", { fg = nil, bg = pale_gray })
+hi("WinBar", { fg = nil, bg = nil, bold = true })
+hi("VertSplit", { fg = shadow, bg = nil })
+hi("EndOfBuffer", { fg = shadow, bg = nil })
+hi("FoldColumn", { fg = nil, bg = nil })
+hi("SignColumn", { fg = nil, bg = nil })
+hi("ColorColumn", { fg = nil, bg = pale_red })
+hi("CursorColumn", { fg = nil, bg = beige })
+hi("WinSeparator", { link = "VertSplit" })
+hi("WinBarNC", { link = "WinBar" })
+
+hi("WildMenu", { fg = pale_yellow, bg = cyan, bold = true })
+hi("Pmenu", { fg = nil, bg = pale_cyan })
+hi("PmenuSel", { fg = pale_yellow, bg = cyan, bold = true })
+hi("PmenuThumb", { fg = nil, bg = cyan })
+hi("PmenuSbar", { fg = nil, bg = pale_cyan })
+hi("PmenuKind", { link = "Pmenu" })
+hi("PmenuKindSel", { link = "PmenuSel" })
+hi("PmenuMatch", { link = "Pmenu" })
+hi("PmenuMatchSel", { link = "PmenuSel" })
+hi("PmenuExtra", { link = "Pmenu" })
+hi("PmenuExtraSel", { link = "PmenuSel" })
+hi("ComplHint", { link = "NonText" })
+hi("ComplHintMore", { link = "MoreMsg" })
+hi("PreInsert", { link = "Added" })
+hi("ComplMatchIns", {})
+
+hi("QuickFixLine", { fg = nil, bg = pale_blue })
+
+hi("NormalFloat", { fg = nil, bg = pale_gray })
+hi("FloatShadow", { fg = nil, bg = black, blend = 80 })
+hi("FloatShadowThrough", { fg = nil, bg = black, blend = 100 })
+hi("FloatBorder", { link = "WinSeparator" })
+hi("FloatTitle", { link = "Title" })
+hi("FloatFooter", { link = "Title" })
+hi("MsgSeparator", { link = "StatusLine" })
+
+hi("LineNr", { fg = shadow, bg = nil })
+hi("CursorLine", { fg = nil, bg = beige })
+hi("CursorLineNr", { fg = nil, bg = beige, bold = true })
+hi("LineNrAbove", { link = "LineNr" })
+hi("LineNrBelow", { link = "LineNr" })
+hi("CursorLineSign", { bg = beige })
+hi("CursorLineFold", { bg = beige })
+
+hi("Error", { fg = red, bg = nil })
+hi("Todo", { fg = blue, bg = nil, bold = true })
+
+hi("Constant", { fg = nil, bg = nil })
+hi("Identifier", { fg = nil, bg = nil })
+hi("Ignore", { fg = nil, bg = nil })
+hi("Type", { fg = blue, bg = nil })
+hi("Statement", { fg = nil, bg = nil })
+hi("Keyword", { fg = nil, bg = nil, bold = true })
+hi("Function", { fg = nil, bg = nil })
+hi("Comment", { fg = brown, bg = nil, italic = true })
+hi("String", { fg = green, bg = nil })
+hi("Special", { fg = magenta, bg = nil })
+hi("SpecialComment", { fg = brown, bg = nil })
+hi("PreProc", { fg = nil, bg = nil })
+hi("Underlined", { fg = nil, bg = nil, underline = true })
+hi("MatchParen", { fg = nil, bg = pale_blue })
+hi("Delimiter", { fg = nil, bg = nil })
+hi("SpecialKey", { fg = cyan, bg = pale_cyan })
+hi("Conceal", { fg = nil, bg = nil })
+hi("Question", { fg = nil, bg = nil, bold = true })
+hi("Title", { fg = magenta, bg = nil })
+hi("Visual", { fg = nil, bg = yellow })
+hi("VisualNOS", { fg = nil, bg = nil, bold = true, underline = true })
+hi("Directory", { fg = blue, bg = nil, bold = true })
+hi("Folded", { fg = nil, bg = pale_gray })
+
+hi("SpellBad", { fg = red, bg = nil, undercurl = true })
+hi("SpellCap", { fg = green, bg = nil, undercurl = true })
+hi("SpellRare", { fg = green, bg = nil, undercurl = true })
+hi("SpellLocal", { fg = green, bg = nil, undercurl = true })
+
+hi("DiagnosticError", { fg = red })
+hi("DiagnosticWarn", { fg = mustard })
+hi("DiagnosticInfo", { fg = blue })
+hi("DiagnosticHint", { fg = shadow })
+hi("DiagnosticOk", { fg = green })
+hi("DiagnosticUnderlineError", { sp = red, underline = true })
+hi("DiagnosticUnderlineWarn", { sp = mustard, underline = true })
+hi("DiagnosticUnderlineInfo", { sp = pale_blue, underline = true })
+hi("DiagnosticUnderlineHint", { sp = shadow, underline = true })
+hi("DiagnosticUnderlineOk", { sp = green, underline = true })
+hi("DiagnosticVirtualTextError", { link = "DiagnosticError" })
+hi("DiagnosticVirtualTextWarn", { link = "DiagnosticWarn" })
+hi("DiagnosticVirtualTextInfo", { link = "DiagnosticInfo" })
+hi("DiagnosticVirtualTextHint", { link = "DiagnosticHint" })
+hi("DiagnosticVirtualTextOk", { link = "DiagnosticOk" })
+hi("DiagnosticFloatingError", { link = "DiagnosticError" })
+hi("DiagnosticFloatingWarn", { link = "DiagnosticWarn" })
+hi("DiagnosticFloatingInfo", { link = "DiagnosticInfo" })
+hi("DiagnosticFloatingHint", { link = "DiagnosticHint" })
+hi("DiagnosticFloatingOk", { link = "DiagnosticOk" })
+hi("DiagnosticSignError", { link = "DiagnosticError" })
+hi("DiagnosticSignWarn", { link = "DiagnosticWarn" })
+hi("DiagnosticSignInfo", { link = "DiagnosticInfo" })
+hi("DiagnosticSignHint", { link = "DiagnosticHint" })
+hi("DiagnosticSignOk", { link = "DiagnosticOk" })
+hi("DiagnosticDeprecated", { sp = red, strikethrough = true })
+
+hi("DiagnosticUnnecessary", { link = "Comment" })
+hi("LspInlayHint", { link = "NonText" })
+hi("SnippetTabstop", { link = "Visual" })
+hi("SnippetTabstopActive", { link = "SnippetTabstop" })
+
+-- Text
+hi("@markup.raw", { link = "Comment" })
+hi("@markup.link", { link = "Identifier" })
+hi("@markup.heading", { link = "Title" })
+hi("@markup.link.url", { link = "Underlined" })
+hi("@markup.underline", { link = "Underlined" })
+hi("@comment.todo", { link = "Todo" })
+
+-- Miscs
+hi("@comment", { link = "Comment" })
+hi("@punctuation", { link = "Delimiter" })
+
+-- Constants
+hi("@constant", { link = "Constant" })
+hi("@constant.builtin", { link = "Special" })
+hi("@constant.macro", { link = "Define" })
+hi("@keyword.directive", { link = "Define" })
+hi("@string", { link = "String" })
+hi("@string.escape", { link = "SpecialChar" })
+hi("@string.special", { link = "SpecialChar" })
+hi("@character", { link = "Character" })
+hi("@character.special", { link = "SpecialChar" })
+hi("@number", { link = "Number" })
+hi("@boolean", { link = "Boolean" })
+hi("@number.float", { link = "Float" })
+
+-- Functions
+hi("@function", { link = "Function" })
+hi("@function.builtin", { link = "Special" })
+hi("@function.macro", { link = "Macro" })
+hi("@function.method", { link = "Function" })
+hi("@variable.parameter", { link = "Identifier" })
+hi("@variable.parameter.builtin", { link = "Special" })
+hi("@variable.member", { link = "Identifier" })
+hi("@property", { link = "Identifier" })
+hi("@attribute", { link = "Macro" })
+hi("@attribute.builtin", { link = "Special" })
+hi("@constructor", { link = "Special" })
+
+-- Keywords
+hi("@keyword.conditional", { link = "Conditional" })
+hi("@keyword.repeat", { link = "Repeat" })
+hi("@keyword.type", { link = "Structure" })
+hi("@label", { link = "Label" })
+hi("@operator", { link = "Operator" })
+hi("@keyword", { link = "Keyword" })
+hi("@keyword.exception", { link = "Exception" })
+
+hi("@variable", { link = "Identifier" })
+hi("@type", { link = "Type" })
+hi("@type.definition", { link = "Typedef" })
+hi("@module", { link = "Identifier" })
+hi("@keyword.import", { link = "Include" })
+hi("@keyword.directive", { link = "PreProc" })
+hi("@keyword.debug", { link = "Debug" })
+hi("@tag", { link = "Tag" })
+hi("@tag.builtin", { link = "Special" })
+
+-- LSP semantic tokens
+hi("@lsp.type.class", { link = "Structure" })
+hi("@lsp.type.comment", { link = "Comment" })
+hi("@lsp.type.decorator", { link = "Function" })
+hi("@lsp.type.enum", { link = "Structure" })
+hi("@lsp.type.enumMember", { link = "Constant" })
+hi("@lsp.type.function", { link = "Function" })
+hi("@lsp.type.interface", { link = "Structure" })
+hi("@lsp.type.macro", { link = "Macro" })
+hi("@lsp.type.method", { link = "Function" })
+hi("@lsp.type.namespace", { link = "Structure" })
+hi("@lsp.type.parameter", { link = "Identifier" })
+hi("@lsp.type.property", { link = "Identifier" })
+hi("@lsp.type.struct", { link = "Structure" })
+hi("@lsp.type.type", { link = "Type" })
+hi("@lsp.type.typeParameter", { link = "TypeDef" })
+hi("@lsp.type.variable", { link = "Identifier" })
+
+-- Vimtex
+hi("texCmd", { link = "Type" })
+-- stylua: ignore end