# Author : WindSoilder<WindSoilder@outlook.com>
# The unofficial Monokai Pro theme, simply migrate from jetbrains monokai pro theme: https://github.com/subtheme-dev/monokai-pro
# Credit goes to the original creator: https://monokai.pro

"ui.linenr.selected" = { bg = "base3" }
"ui.text.focus" = { fg = "yellow", modifiers= ["bold"] }
"ui.menu" = { fg = "base8", bg = "base3" }
"ui.menu.selected" = { fg = "base2", bg = "yellow" }
"ui.virtual.whitespace" = "base5"
"ui.virtual.ruler" = { bg = "base1" }
"ui.virtual.jump-label" = { fg = "red", modifiers = ["bold"] }

"info" = "base8"
"hint" = "base8"

# background color
"ui.background" = { bg = "base2" }
"ui.statusline.inactive" = { fg = "base8", bg = "base8x0c" }

# status bars, panels, modals, autocompletion
"ui.statusline" = { fg = "base8", bg = "base4" }
"ui.statusline.normal" = { fg = "base4", bg = "blue" }
"ui.statusline.insert" = { fg = "base4", bg = "green" }
"ui.statusline.select" = { fg = "base4", bg = "purple" }
"ui.popup" = { bg = "base3" }
"ui.window" = { bg = "base3" }
"ui.help" = { fg = "base8", bg = "base3" }

# active line, highlighting
"ui.selection" = { bg = "base4" }
"ui.cursor.match" = { bg = "base4" }
"ui.cursorline" = { bg = "base1" }

# bufferline, inlay hints
"ui.bufferline" = { fg = "base6", bg = "base8x0c" }
"ui.bufferline.active" = { fg = "base8", bg = "base4" }
"ui.virtual.inlay-hint" = { fg = "base6" }

# comments, nord3 based lighter color
"comment" = { fg = "base5", modifiers = ["italic"] }
"ui.linenr" = { fg = "base5" }

# cursor, variables, constants, attributes, fields
"ui.cursor.primary" = { fg = "base7", modifiers = ["reversed"] }
"attribute" = "blue"
"variable"  = "base8"
"constant"  = "orange"
"variable.builtin" = "red"
"constant.builtin" = "red"
"namespace" = "base8"

# base text, punctuation
"ui.text" = { fg = "base8" }
"punctuation" = "base6"

# classes, types, primitives
"type" = "green"
"type.builtin" = { fg = "red"}
"label" = "base8"

# declaration, methods, routines
"constructor" = "blue"
"function" = "green"
"function.macro" = { fg = "blue" }
"function.builtin" = { fg = "cyan" }

# operator, tags, units, punctuations
"operator" = "red"
"variable.other.member" = "base8"

# keywords, special
"keyword" = { fg = "red" }
"keyword.directive" = "blue"
"variable.parameter" = "#f59762"

# error
"error" = "red"

# annotations, decorators
"special" = "#f59762"
"module" = "#f59762"

# warnings, escape characters, regex
"warning" = "orange"
"constant.character.escape" = { fg = "base8" }

# strings
"string" = "yellow"

# integer, floating point
"constant.numeric" = "purple"

# vcs
"diff.plus" = "green"
"diff.delta" = "orange"
"diff.minus" = "red"

# make diagnostic underlined, to distinguish with selection text.
"diagnostic.warning" = { underline = { color = "orange", style = "curl" } }
"diagnostic.error" = { underline = { color = "red", style = "curl" } }
"diagnostic.info" = { underline = { color = "base8", style = "curl" } }
"diagnostic.hint" = { underline = { color = "base8", style = "curl" } }
"diagnostic.unnecessary" = { modifiers = ["dim"] }
"diagnostic.deprecated" = { modifiers = ["crossed_out"] }

# markup highlight, no need for `markup.raw` and `markup.list`, make them to be default
"markup.heading" = "green"
"markup.bold" = { fg = "orange", modifiers = ["bold"] }
"markup.italic" = { fg = "orange", modifiers = ["italic"] }
"markup.strikethrough" = { modifiers = ["crossed_out"] }
"markup.link.url" = { fg = "orange", modifiers = ["underlined"] }
"markup.link.text" = "yellow"
"markup.quote" = "green"

[palette]
# primary colors
"red" = "#ff657a"
"orange" = "#ff9b5e"
"yellow" = "#ffd76d"
"green" = "#bad761"
"blue" = "#9cd1bb"
"purple" = "#c39ac9"
# base colors
"base0" = "#161821"
"base1" = "#1e1f2b"
"base2" = "#282a3a"
"base3" = "#3a3d4b"
"base4" = "#535763"
"base5" = "#696d77"
"base6" = "#767b81"
"base7" = "#b2b9bd"
"base8" = "#eaf2f1"
# variants
"base8x0c" = "#303342"
