(local ns
       { :green         "#07d101"
	     :blue          "#00bfff"
	     :cream         "#edf0e0"
	     :pink          "#f584c6"
	     :red           "#f85624"
	     :dustypink     "#d8916e"
	     :navy          "#0047ab"
	     :gray          "#c0c0c0"
	     :greenyellow   "#adff2f"
	     :electriclime  "#ccff00"
	     :darkgreen     "#228b22"
	     :lightpink     "#ffb7c5"
	     :gold          "#ffd700" })

(local hi (partial vim.api.nvim_set_hl 0))

(hi :Normal        { :bg "none" })
(hi :NormalNC      { :bg "none" })
(hi :SignColumn    { :bg "none" })
(hi :CursorLine    { :bg "none" })
(hi :CursorLineNR  { :bg "none" :fg ns.red :bold true })
(hi :CursorLineNC  { :bg "none" })
(hi :LineNr        { :bg "none" :fg ns.navy })
(hi :StatusLine    { :bg "none" })
(hi :StatusLineNC  { :bg "none" })
(hi :LspInlayHint  { :fg "DarkCyan" })
(hi :Visual        { :bg ns.blue })
(hi :PmenuSel      { :bg ns.blue :fg ns.gold })
(hi :Search        { :fg ns.cream })
(hi :CurSearch     { :bg ns.cream :fg ns.darkgreen })
(hi :Substitute    { :fg ns.cream })
(hi :WinSeparator  { :fg ns.blue })

(hi :Boolean       { :fg ns.blue })
(hi :Comment       { :fg ns.gray })
(hi :Constant      { :fg ns.pink })
(hi :Statement     { :fg ns.green :bold true })
(hi :KeyWord       { :fg ns.cream :bold true })
(hi :PreProc       { :fg ns.dustypink })
(hi :Identifier    { :fg ns.greenyellow :bold true })
(hi :Special       { :fg ns.blue })
(hi :String        { :fg ns.lightpink })
(hi :Type          { :fg ns.blue :bold true })
(hi :Number        { :fg ns.gold })
(hi :Todo          { :bg ns.cream :fg ns.navy :bold true })
(hi :Operator      { :fg ns.cream })
(hi :Function      { :fg ns.gold })
(hi :SpecialChar   { :fg ns.pink })
(hi :Delimiter     { :fg ns.cream })

(hi "@variable"             { :fg ns.electriclime })
(hi "@variable.parameter"   { :italic true })

nil