|
|
|
@ -1,454 +1,432 @@
|
|
|
|
|
local cmd = vim.api.nvim_command
|
|
|
|
|
local M = {}
|
|
|
|
|
|
|
|
|
|
local c = require('user.themes.nord.colors')
|
|
|
|
|
local hi = require('user.utils.functions').highlight
|
|
|
|
|
|
|
|
|
|
-- Set terminal colors
|
|
|
|
|
function M.set_vim_termcolors()
|
|
|
|
|
local termcolors = {
|
|
|
|
|
c.grey1,
|
|
|
|
|
c.red,
|
|
|
|
|
c.green,
|
|
|
|
|
c.yellow,
|
|
|
|
|
c.blue,
|
|
|
|
|
c.purple,
|
|
|
|
|
c.cyan,
|
|
|
|
|
c.white1,
|
|
|
|
|
c.grey_bright,
|
|
|
|
|
c.red,
|
|
|
|
|
c.green,
|
|
|
|
|
c.yellow,
|
|
|
|
|
c.blue,
|
|
|
|
|
c.purple,
|
|
|
|
|
c.teal,
|
|
|
|
|
c.white2,
|
|
|
|
|
}
|
|
|
|
|
M.termcolors = {
|
|
|
|
|
c.grey1,
|
|
|
|
|
c.red,
|
|
|
|
|
c.green,
|
|
|
|
|
c.yellow,
|
|
|
|
|
c.blue,
|
|
|
|
|
c.purple,
|
|
|
|
|
c.cyan,
|
|
|
|
|
c.white1,
|
|
|
|
|
c.grey_bright,
|
|
|
|
|
c.red,
|
|
|
|
|
c.green,
|
|
|
|
|
c.yellow,
|
|
|
|
|
c.blue,
|
|
|
|
|
c.purple,
|
|
|
|
|
c.teal,
|
|
|
|
|
c.white2,
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
for index, val in ipairs(termcolors) do
|
|
|
|
|
local key = 'terminal_color_' .. (index - 1)
|
|
|
|
|
vim.g[key] = val
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
-- Editor related groups
|
|
|
|
|
function M.highlight_editor()
|
|
|
|
|
-- Editor
|
|
|
|
|
hi('NormalFloat', c.fg, '', '', '')
|
|
|
|
|
hi('FloatBorder', c.fg, '', '', '')
|
|
|
|
|
hi('ColorColumn', '', c.grey1, '', '')
|
|
|
|
|
hi('Cursor', c.black, c.fg, '', '')
|
|
|
|
|
hi('CursorIM', c.black, c.white1, '', '')
|
|
|
|
|
hi('CursorLine', '', c.grey1, '', '')
|
|
|
|
|
cmd('hi! link CurSearch IncSearch')
|
|
|
|
|
hi('TermCursorNC', '', c.grey1, '', '')
|
|
|
|
|
hi('Underlined', c.green, '', 'underline', '')
|
|
|
|
|
hi('Ignore', c.grey1, '', '', '')
|
|
|
|
|
hi('Error', c.fg, c.red, '', '')
|
|
|
|
|
hi('LineNr', c.grey3, '', '', '')
|
|
|
|
|
hi('MatchParen', c.cyan, c.grey3, '', '')
|
|
|
|
|
hi('NonText', c.highlight, '', '', '')
|
|
|
|
|
hi('Whitespace', c.highlight, '', '', '')
|
|
|
|
|
hi('EndOfBuffer', c.black, '', '', '') -- hide filler line ~ completely
|
|
|
|
|
hi('Normal', c.fg, '', '', '')
|
|
|
|
|
hi('Pmenu', c.fg, c.grey2, '', '')
|
|
|
|
|
hi('PmenuSbar', c.fg, c.grey2, '', '')
|
|
|
|
|
hi('PmenuSel', c.cyan, c.grey3, '', '')
|
|
|
|
|
hi('PmenuThumb', c.cyan, c.grey3, '', '')
|
|
|
|
|
hi('SpecialKey', c.grey3, '', '', '')
|
|
|
|
|
hi('SpellBad', c.red, '', 'undercurl', c.red)
|
|
|
|
|
hi('SpellCap', c.yellow, '', 'undercurl', c.yellow)
|
|
|
|
|
hi('SpellLocal', c.white1, '', 'undercurl', c.white1)
|
|
|
|
|
hi('SpellRare', c.white2, '', 'undercurl', c.white2)
|
|
|
|
|
hi('Visual', '', c.grey2, '', '')
|
|
|
|
|
hi('VisualNOS', '', c.grey2, '', '')
|
|
|
|
|
M.highlight_editor = {
|
|
|
|
|
-- editor
|
|
|
|
|
Normal = { fg = c.fg },
|
|
|
|
|
NormalFloat = { fg = c.fg },
|
|
|
|
|
FloatBorder = { fg = c.fg },
|
|
|
|
|
ColorColumn = { bg = c.grey1 },
|
|
|
|
|
Cursor = { fg = c.black, bg = c.fg },
|
|
|
|
|
CursorIM = { fg = c.black, bg = c.white1 },
|
|
|
|
|
CursorLine = { bg = c.grey1 },
|
|
|
|
|
TermCursorNC = { bg = c.grey1 },
|
|
|
|
|
Underlined = { fg = c.green, underline = true },
|
|
|
|
|
Ignore = { fg = c.grey1 },
|
|
|
|
|
Error = { fg = c.fg, bg = c.red },
|
|
|
|
|
LineNr = { fg = c.grey3 },
|
|
|
|
|
MatchParen = { fg = c.cyan, bg = c.grey3 },
|
|
|
|
|
NonText = { fg = c.highlight },
|
|
|
|
|
Whitespace = { fg = c.highlight },
|
|
|
|
|
EndOfBuffer = { fg = c.black }, -- hide filler lines with '~' completely
|
|
|
|
|
Pmenu = { fg = c.fg, bg = c.grey2 },
|
|
|
|
|
PmenuSbar = { fg = c.fg, bg = c.grey2 },
|
|
|
|
|
PmenuSel = { fg = c.cyan, bg = c.grey3 },
|
|
|
|
|
PmenuThumb = { fg = c.cyan, bg = c.grey3 },
|
|
|
|
|
SpecialKey = { fg = c.grey3 },
|
|
|
|
|
SpellBad = { fg = c.red, sp = c.red, undercurl = true },
|
|
|
|
|
SpellCap = { fg = c.yellow, sp = c.yellow, undercurl = true },
|
|
|
|
|
SpellLocal = { fg = c.white1, sp = c.white1, undercurl = true },
|
|
|
|
|
SpellRare = { fg = c.white2, sp = c.white2, undercurl = true },
|
|
|
|
|
Visual = { bg = c.grey2 },
|
|
|
|
|
VisualNOS = { bg = c.grey2 },
|
|
|
|
|
|
|
|
|
|
-- quickfix
|
|
|
|
|
hi('QuickFixLine', '', c.blue, '', '')
|
|
|
|
|
hi('qfLineNr', c.yellow, '', '', '')
|
|
|
|
|
QuickFixLine = { bg = c.blue },
|
|
|
|
|
qfLineNr = { fg = c.yellow },
|
|
|
|
|
|
|
|
|
|
-- :checkhealth
|
|
|
|
|
hi('healthError', c.red, c.grey1, '', '')
|
|
|
|
|
hi('healthSuccess', c.green, c.grey1, '', '')
|
|
|
|
|
hi('healthWarning', c.yellow, c.grey1, '', '')
|
|
|
|
|
healthError = { fg = c.red, bg = c.grey1 },
|
|
|
|
|
healthSuccess = { fg = c.green, bg = c.grey1 },
|
|
|
|
|
healthWarning = { fg = c.yellow, bg = c.grey1 },
|
|
|
|
|
|
|
|
|
|
-- Gutter
|
|
|
|
|
hi('CursorColumn', '', c.grey1, '', '')
|
|
|
|
|
hi('CursorLineNr', c.fg, '', '', '')
|
|
|
|
|
hi('Folded', c.highlight, c.grey1, '', '')
|
|
|
|
|
hi('FoldColumn', c.grey3, '', '', '')
|
|
|
|
|
hi('SignColumn', c.grey1, '', '', '')
|
|
|
|
|
-- gutter
|
|
|
|
|
CursorColumn = { bg = c.grey1 },
|
|
|
|
|
CursorLineNr = { fg = c.fg },
|
|
|
|
|
Folded = { fg = c.highlight, bg = c.grey1 },
|
|
|
|
|
FoldColumn = { fg = c.grey3 },
|
|
|
|
|
SignColumn = { fg = c.grey1 },
|
|
|
|
|
|
|
|
|
|
-- Navigation
|
|
|
|
|
hi('Directory', c.cyan, '', '', '')
|
|
|
|
|
-- navigation
|
|
|
|
|
Directory = { fg = c.cyan },
|
|
|
|
|
|
|
|
|
|
-- Prompt
|
|
|
|
|
cmd('hi! link MsgArea Normal')
|
|
|
|
|
hi('ErrorMsg', c.fg, c.red, '', '')
|
|
|
|
|
hi('ModeMsg', c.fg, '', '', '')
|
|
|
|
|
hi('MoreMsg', c.cyan, '', '', '')
|
|
|
|
|
hi('Question', c.fg, '', '', '')
|
|
|
|
|
hi('WarningMsg', c.black, c.yellow, '', '')
|
|
|
|
|
hi('WildMenu', c.cyan, c.grey1, '', '')
|
|
|
|
|
-- prompt
|
|
|
|
|
MsgArea = 'Normal',
|
|
|
|
|
ErrorMsg = { fg = c.fg, bg = c.red },
|
|
|
|
|
ModeMsg = { fg = c.fg },
|
|
|
|
|
MoreMsg = { fg = c.cyan },
|
|
|
|
|
Question = { fg = c.fg },
|
|
|
|
|
WarningMsg = { fg = c.black, bg = c.yellow },
|
|
|
|
|
WildMenu = { fg = c.cyan, bg = c.grey1 },
|
|
|
|
|
|
|
|
|
|
-- Statusline
|
|
|
|
|
hi('StatusLine', c.cyan, c.grey3, '', '')
|
|
|
|
|
hi('StatusLineNC', c.fg, c.grey3, '', '')
|
|
|
|
|
hi('StatusLineTerm', c.cyan, c.grey3, '', '')
|
|
|
|
|
hi('StatusLineTermNC', c.fg, c.grey3, '', '')
|
|
|
|
|
-- statusline
|
|
|
|
|
Statusline = { fg = c.cyan, bg = c.grey3 },
|
|
|
|
|
StatusLineNC = { fg = c.fg, bg = c.grey3 },
|
|
|
|
|
|
|
|
|
|
-- Search
|
|
|
|
|
hi('IncSearch', c.white2, c.dark_blue, 'underline', '')
|
|
|
|
|
hi('Search', c.grey1, c.cyan, '', '')
|
|
|
|
|
-- search
|
|
|
|
|
IncSearch = { fg = c.white2, bg = c.dark_blue, underline = true },
|
|
|
|
|
Search = { fg = c.grey1, bg = c.cyan },
|
|
|
|
|
CurSearch = 'IncSearch',
|
|
|
|
|
|
|
|
|
|
-- Tabline
|
|
|
|
|
hi('TabLine', c.fg, c.grey1, '', '')
|
|
|
|
|
hi('TabLineFill', c.fg, c.grey1, '', '')
|
|
|
|
|
hi('TabLineSel', c.cyan, c.grey3, '', '')
|
|
|
|
|
-- tabline
|
|
|
|
|
TabLine = { fg = c.fg, bg = c.grey1 },
|
|
|
|
|
TabLineFill = { fg = c.fg, bg = c.grey1 },
|
|
|
|
|
TabLineSel = { fg = c.cyan, bg = c.grey3 },
|
|
|
|
|
|
|
|
|
|
-- Window
|
|
|
|
|
hi('Title', c.fg, '', '', '')
|
|
|
|
|
hi('VertSplit', c.grey_bright, '', '', '')
|
|
|
|
|
end
|
|
|
|
|
-- window
|
|
|
|
|
Title = { fg = c.fg },
|
|
|
|
|
VertSplit = { fg = c.grey_bright },
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
-- Syntax groups
|
|
|
|
|
function M.highlight_syntax()
|
|
|
|
|
-- Base syntax
|
|
|
|
|
hi('Boolean', c.blue, '', '', '')
|
|
|
|
|
hi('Character', c.fg, '', '', '')
|
|
|
|
|
hi('Comment', c.grey_bright, '', 'italic', '')
|
|
|
|
|
hi('Conceal', '', '', '', '')
|
|
|
|
|
hi('Conditional', c.blue, '', '', '')
|
|
|
|
|
hi('Constant', c.fg, '', '', '')
|
|
|
|
|
hi('Define', c.blue, '', '', '')
|
|
|
|
|
hi('Delimiter', c.white2, '', '', '')
|
|
|
|
|
hi('Exception', c.blue, '', '', '')
|
|
|
|
|
hi('Float', c.purple, '', '', '')
|
|
|
|
|
hi('Function', c.cyan, '', '', '')
|
|
|
|
|
hi('Identifier', c.fg, '', '', '')
|
|
|
|
|
hi('Include', c.blue, '', '', '')
|
|
|
|
|
hi('Keyword', c.blue, '', 'bold', '')
|
|
|
|
|
hi('Label', c.blue, '', '', '')
|
|
|
|
|
hi('Number', c.purple, '', '', '')
|
|
|
|
|
hi('Operator', c.blue, '', '', '')
|
|
|
|
|
hi('PreProc', c.blue, '', '', '')
|
|
|
|
|
hi('Repeat', c.blue, '', '', '')
|
|
|
|
|
hi('Special', c.fg, '', '', '')
|
|
|
|
|
hi('SpecialChar', c.yellow, '', '', '')
|
|
|
|
|
hi('SpecialComment', c.cyan, '', 'italic', '')
|
|
|
|
|
hi('Statement', c.blue, '', '', '')
|
|
|
|
|
hi('StorageClass', c.blue, '', '', '')
|
|
|
|
|
hi('String', c.green, '', '', '')
|
|
|
|
|
hi('Structure', c.blue, '', '', '')
|
|
|
|
|
hi('Tag', c.fg, '', '', '')
|
|
|
|
|
hi('Todo', c.yellow, '', '', '')
|
|
|
|
|
hi('Type', c.dark_blue, '', 'bold', '')
|
|
|
|
|
hi('Typedef', c.blue, '', '', '')
|
|
|
|
|
cmd('hi! link Macro Define')
|
|
|
|
|
cmd('hi! link PreCondit PreProc')
|
|
|
|
|
cmd('hi! link Variable Identifier')
|
|
|
|
|
M.highlight_syntax = {
|
|
|
|
|
-- base syntax
|
|
|
|
|
Boolean = { fg = c.blue },
|
|
|
|
|
Character = { fg = c.fg },
|
|
|
|
|
Comment = { fg = c.grey_bright, italic = true },
|
|
|
|
|
Conceal = {},
|
|
|
|
|
Conditional = { fg = c.blue },
|
|
|
|
|
Constant = { fg = c.fg },
|
|
|
|
|
Define = { fg = c.blue },
|
|
|
|
|
Delimiter = { fg = c.white2 },
|
|
|
|
|
Exception = { fg = c.blue },
|
|
|
|
|
Float = { fg = c.purple },
|
|
|
|
|
Function = { fg = c.cyan },
|
|
|
|
|
Identifier = { fg = c.fg },
|
|
|
|
|
Include = { fg = c.blue },
|
|
|
|
|
Keyword = { fg = c.blue, bold = true },
|
|
|
|
|
Label = { fg = c.blue },
|
|
|
|
|
Number = { fg = c.purple },
|
|
|
|
|
Operator = { fg = c.blue },
|
|
|
|
|
PreProc = { fg = c.blue },
|
|
|
|
|
Repeat = { fg = c.blue },
|
|
|
|
|
Special = { fg = c.fg },
|
|
|
|
|
SpecialChar = { fg = c.yellow },
|
|
|
|
|
SpecialComment = { fg = c.cyan, italic = true },
|
|
|
|
|
Statement = { fg = c.blue },
|
|
|
|
|
StorageClass = { fg = c.blue },
|
|
|
|
|
String = { fg = c.green },
|
|
|
|
|
Structure = { fg = c.blue },
|
|
|
|
|
Tag = { fg = c.fg },
|
|
|
|
|
Todo = { fg = c.yellow },
|
|
|
|
|
Type = { fg = c.dark_blue, bold = true },
|
|
|
|
|
Typedef = { fg = c.blue },
|
|
|
|
|
Macro = 'Define',
|
|
|
|
|
PreCondit = 'PreProc',
|
|
|
|
|
Variable = 'Identifier',
|
|
|
|
|
|
|
|
|
|
-- Diff
|
|
|
|
|
hi('DiffAdd', c.green, c.grey1, '', '')
|
|
|
|
|
hi('DiffChange', c.yellow, c.grey1, '', '')
|
|
|
|
|
hi('DiffDelete', c.red, c.grey1, '', '')
|
|
|
|
|
hi('DiffText', c.blue, c.grey1, '', '')
|
|
|
|
|
-- Legacy diff groups for some plugins
|
|
|
|
|
hi('diffOldFile', c.dark_blue, c.grey1, '', '')
|
|
|
|
|
hi('diffNewFile', c.blue, c.grey1, '', '')
|
|
|
|
|
hi('diffFile', c.cyan, c.grey1, '', '')
|
|
|
|
|
hi('diffLine', c.purple, c.grey1, '', '')
|
|
|
|
|
hi('diffIndexLine', c.fg, c.grey1, '', '')
|
|
|
|
|
cmd('hi! link diffAdded DiffAdd')
|
|
|
|
|
cmd('hi! link diffRemoved DiffDelete')
|
|
|
|
|
cmd('hi! link diffChanged DiffChange')
|
|
|
|
|
end
|
|
|
|
|
-- diff
|
|
|
|
|
DiffAdd = { fg = c.green, bg = c.grey1 },
|
|
|
|
|
DiffChange = { fg = c.yellow, bg = c.grey1 },
|
|
|
|
|
DiffDelete = { fg = c.red, bg = c.grey1 },
|
|
|
|
|
DiffText = { fg = c.blue, bg = c.grey1 },
|
|
|
|
|
-- legacy diff groups for some plugins
|
|
|
|
|
diffOldFile = { fg = c.dark_blue, bg = c.grey1 },
|
|
|
|
|
diffNewFile = { fg = c.blue, bg = c.grey1 },
|
|
|
|
|
diffFile = { fg = c.cyan, bg = c.grey1 },
|
|
|
|
|
diffLine = { fg = c.purple, bg = c.grey1 },
|
|
|
|
|
diffIndexLine = { fg = c.fg, bg = c.grey1 },
|
|
|
|
|
diffAdded = 'DiffAdd',
|
|
|
|
|
diffRemoved = 'DiffDelete',
|
|
|
|
|
diffChanged = 'DiffChange',
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
-- No treesitter support yet
|
|
|
|
|
function M.highlight_languages()
|
|
|
|
|
-- No tree-sitter grammar yet
|
|
|
|
|
M.highlight_lang = {
|
|
|
|
|
-- sql
|
|
|
|
|
cmd('hi! link sqlKeyword Keyword')
|
|
|
|
|
cmd('hi! link sqlSpecial Keyword')
|
|
|
|
|
sqlKeyword = 'Keyword',
|
|
|
|
|
sqlSpecial = 'Keyword',
|
|
|
|
|
|
|
|
|
|
-- AsciiDoc
|
|
|
|
|
hi('asciidocAttributeEntry', c.dark_blue, '', '', '')
|
|
|
|
|
hi('asciidocAttributeList', c.dark_blue, '', '', '')
|
|
|
|
|
hi('asciidocAttributeRef', c.dark_blue, '', '', '')
|
|
|
|
|
hi('asciidocHLabel', c.blue, '', '', '')
|
|
|
|
|
hi('asciidocListingBlock', c.teal, '', '', '')
|
|
|
|
|
hi('asciidocMacroAttributes', c.purple, '', '', '')
|
|
|
|
|
hi('asciidocOneLineTitle', c.cyan, '', '', '')
|
|
|
|
|
hi('asciidocPassthroughBlock', c.blue, '', '', '')
|
|
|
|
|
hi('asciidocTriplePlusPassthrough', c.teal, '', '', '')
|
|
|
|
|
hi('asciidocAttributeRef', c.purple, '', 'bold', '')
|
|
|
|
|
cmd('hi! link asciidocAdmonition Keyword')
|
|
|
|
|
cmd('hi! link asciidocBackslash Keywork')
|
|
|
|
|
cmd('hi! link asciidocMacro Keyword')
|
|
|
|
|
hi('asciidocQuotedBold', '', '', 'bold', '')
|
|
|
|
|
hi('asciidocQuotedEmphasized', '', '', 'italic', '')
|
|
|
|
|
hi('asciidocQuotedMonospaced', c.teal, '', '', '')
|
|
|
|
|
cmd('hi! link asciidocQuotedMonospaced2 asciidocQuotedMonospaced')
|
|
|
|
|
cmd('hi! link asciidocQuotedUnconstrainedBold asciidocQuotedBold')
|
|
|
|
|
cmd('hi! link asciidocQuotedUnconstrainedEmphasized asciidocQuotedEmphasized')
|
|
|
|
|
cmd('hi! link asciidocURL asciidocMacroAttributes')
|
|
|
|
|
-- asciidoc
|
|
|
|
|
asciidocAttributeEntry = { fg = c.dark_blue },
|
|
|
|
|
asciidocAttributeList = { fg = c.dark_blue },
|
|
|
|
|
asciidocAttributeRef = { fg = c.purple, bold = true },
|
|
|
|
|
asciidocHLabel = { fg = c.blue },
|
|
|
|
|
asciidocListingBlock = { fg = c.teal },
|
|
|
|
|
asciidocMacro = 'Keyword',
|
|
|
|
|
asciidocMacroAttributes = { fg = c.purple },
|
|
|
|
|
asciidocOneLineTitle = { fg = c.cyan },
|
|
|
|
|
asciidocPassthroughBlock = { fg = c.blue },
|
|
|
|
|
asciidocTriplePlusPassthrough = { fg = c.teal },
|
|
|
|
|
asciidocAdmonition = 'Keyword',
|
|
|
|
|
asciidocBackslash = 'Keyword',
|
|
|
|
|
asciidocQuotedBold = { bold = true },
|
|
|
|
|
asciidocQuotedEmphasized = { italic = true },
|
|
|
|
|
asciidocQuotedMonospaced = { fg = c.teal },
|
|
|
|
|
asciidocQuotedMonospaced2 = 'asciidocQuotedMonospaced',
|
|
|
|
|
asciidocQuotedUnconstrainedBold = 'asciidocQuotedBold',
|
|
|
|
|
asciidocQuotedUnconstrainedEmphasized = 'asciidocQuotedEmphasized',
|
|
|
|
|
asciidocURL = 'asciidocMacroAttributes',
|
|
|
|
|
|
|
|
|
|
-- jinja (Vim-Jinja2-Syntax)
|
|
|
|
|
hi('jinjaStatement', c.purple, '', 'bold,italic', '')
|
|
|
|
|
hi('jinjaOperator', c.blue, '', '', '')
|
|
|
|
|
hi('jinjaString', c.green, '', '', '')
|
|
|
|
|
hi('jinjaNumber', c.cyan, '', '', '')
|
|
|
|
|
hi('jinjaVariable', c.yellow, '', '', '')
|
|
|
|
|
jinjaStatement = { fg = c.purple, bold = true, italic = true },
|
|
|
|
|
jinjaOperator = { fg = c.blue },
|
|
|
|
|
jinjaString = { fg = c.green },
|
|
|
|
|
jinjaNumber = { fg = c.cyan },
|
|
|
|
|
jinjaVariable = { fg = c.yellow },
|
|
|
|
|
|
|
|
|
|
-- mermaid (mermaid.vim)
|
|
|
|
|
hi('mermaidDiagramType', c.purple, '', 'bold', '')
|
|
|
|
|
end
|
|
|
|
|
mermaidDiagramType = { fg = c.purple, bold = true },
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
-- Treesitter (:h nvim-treesitter-highlights)
|
|
|
|
|
function M.highlight_treesitter()
|
|
|
|
|
hi('TSAnnotation', c.dark_blue, '', 'italic', '')
|
|
|
|
|
hi('TSCharacter', c.green, '', '', '')
|
|
|
|
|
hi('TSConstructor', c.blue, '', '', '')
|
|
|
|
|
hi('TSConstant', c.yellow, '', '', '')
|
|
|
|
|
hi('TSFloat', c.purple, '', '', '')
|
|
|
|
|
hi('TSNumber', c.purple, '', '', '')
|
|
|
|
|
hi('TSString', c.green, '', '', '')
|
|
|
|
|
-- :help nvim-treesitter-highlights
|
|
|
|
|
M.highlight_treesitter = {
|
|
|
|
|
TSAnnotation = { fg = c.dark_blue, italic = true },
|
|
|
|
|
TSCharacter = { fg = c.green },
|
|
|
|
|
TSConstructor = { fg = c.blue },
|
|
|
|
|
TSConstant = { fg = c.yellow },
|
|
|
|
|
TSFloat = { fg = c.purple },
|
|
|
|
|
TSNumber = { fg = c.purple },
|
|
|
|
|
TSString = { fg = c.green },
|
|
|
|
|
TSAttribute = { fg = c.purple },
|
|
|
|
|
TSBoolean = 'Boolean',
|
|
|
|
|
TSConstBuiltin = { fg = c.teal },
|
|
|
|
|
TSConstMacro = { fg = c.teal },
|
|
|
|
|
TSError = { fg = c.red },
|
|
|
|
|
TSException = { fg = c.purple },
|
|
|
|
|
TSField = { fg = c.teal },
|
|
|
|
|
TSFuncMacro = { fg = c.teal },
|
|
|
|
|
TSInclude = { fg = c.blue },
|
|
|
|
|
TSLabel = { fg = c.purple },
|
|
|
|
|
TSNamespace = { fg = c.fg },
|
|
|
|
|
TSOperator = { fg = c.blue },
|
|
|
|
|
TSParameter = { fg = c.purple, italic = true },
|
|
|
|
|
TSParameterReference = { fg = c.purple, italic = true },
|
|
|
|
|
TSProperty = { fg = c.teal },
|
|
|
|
|
TSPunctDelimiter = { fg = c.fg },
|
|
|
|
|
TSPunctBracket = { fg = c.cyan },
|
|
|
|
|
TSPunctSpecial = { fg = c.cyan },
|
|
|
|
|
TSStringRegex = { fg = c.teal },
|
|
|
|
|
TSStringEscape = { fg = c.purple },
|
|
|
|
|
TSSymbol = { fg = c.purple },
|
|
|
|
|
TSType = { fg = c.dark_blue, bold = true },
|
|
|
|
|
TSTypeBuiltin = { fg = c.dark_blue, bold = true },
|
|
|
|
|
TSTag = { fg = c.fg },
|
|
|
|
|
TSTagDelimiter = { fg = c.purple },
|
|
|
|
|
TSText = { fg = c.fg },
|
|
|
|
|
TSTextReference = { fg = c.purple },
|
|
|
|
|
TSStrong = { fg = c.fg, bold = true },
|
|
|
|
|
TSEmphasis = { fg = c.fg, bold = true, italic = true },
|
|
|
|
|
TSUnderline = { underline = true },
|
|
|
|
|
TSStrike = { strikethrough = true },
|
|
|
|
|
TSTitle = { fg = c.dark_blue, bold = true },
|
|
|
|
|
TSLiteral = { fg = c.green, italic = true },
|
|
|
|
|
TSURI = { fg = c.green, underline = true },
|
|
|
|
|
TSComment = 'Comment',
|
|
|
|
|
TSConditional = { fg = c.blue, bold = true },
|
|
|
|
|
TSKeyword = { fg = c.blue, bold = true },
|
|
|
|
|
TSRepeat = { fg = c.blue, bold = true },
|
|
|
|
|
TSKeywordFunction = { fg = c.blue, bold = true },
|
|
|
|
|
TSKeywordOperator = { fg = c.blue, bold = true },
|
|
|
|
|
TSFunction = 'Function',
|
|
|
|
|
TSMethod = { fg = c.teal },
|
|
|
|
|
TSFuncBuiltin = 'Function',
|
|
|
|
|
TSVariable = 'Variable',
|
|
|
|
|
TSVariableBuiltin = 'Variable',
|
|
|
|
|
TSStructure = 'Structure',
|
|
|
|
|
TSNote = { fg = c.blue, bold = true },
|
|
|
|
|
TSWarning = { fg = c.yellow, bold = true },
|
|
|
|
|
TSDanger = { fg = c.red, bold = true },
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
hi('TSAttribute', c.purple, '', '', '')
|
|
|
|
|
cmd('hi! link TSBoolean Boolean')
|
|
|
|
|
hi('TSConstBuiltin', c.teal, '', '', '')
|
|
|
|
|
hi('TSConstMacro', c.teal, '', '', '')
|
|
|
|
|
hi('TSError', c.red, '', '', '')
|
|
|
|
|
hi('TSException', c.purple, '', '', '')
|
|
|
|
|
hi('TSField', c.teal, '', '', '')
|
|
|
|
|
hi('TSFuncMacro', c.teal, '', '', '')
|
|
|
|
|
hi('TSInclude', c.blue, '', '', '')
|
|
|
|
|
hi('TSLabel', c.purple, '', '', '')
|
|
|
|
|
hi('TSNamespace', c.fg, '', '', '')
|
|
|
|
|
hi('TSOperator', c.blue, '', '', '')
|
|
|
|
|
hi('TSParameter', c.purple, '', 'italic', '')
|
|
|
|
|
hi('TSParameterReference', c.purple, '', 'italic', '')
|
|
|
|
|
hi('TSProperty', c.teal, '', '', '')
|
|
|
|
|
hi('TSPunctDelimiter', c.fg, '', '', '')
|
|
|
|
|
hi('TSPunctBracket', c.cyan, '', '', '')
|
|
|
|
|
hi('TSPunctSpecial', c.cyan, '', '', '')
|
|
|
|
|
hi('TSStringRegex', c.teal, '', '', '')
|
|
|
|
|
hi('TSStringEscape', c.purple, '', '', '')
|
|
|
|
|
hi('TSSymbol', c.purple, '', '', '')
|
|
|
|
|
hi('TSType', c.dark_blue, '', 'bold', '')
|
|
|
|
|
hi('TSTypeBuiltin', c.dark_blue, '', 'bold', '')
|
|
|
|
|
hi('TSTag', c.fg, '', '', '')
|
|
|
|
|
hi('TSTagDelimiter', c.purple, '', '', '')
|
|
|
|
|
hi('TSText', c.fg, '', '', '')
|
|
|
|
|
hi('TSTextReference', c.purple, '', '', '')
|
|
|
|
|
hi('TSStrong', c.fg, '', 'bold', '')
|
|
|
|
|
hi('TSEmphasis', c.fg, '', 'bold,italic', '')
|
|
|
|
|
hi('TSUnderline', '', '', 'underline', '')
|
|
|
|
|
hi('TSStrike', c.orange, '', 'italic', '')
|
|
|
|
|
hi('TSTitle', c.dark_blue, '', 'bold', '')
|
|
|
|
|
hi('TSLiteral', c.green, '', 'italic', '')
|
|
|
|
|
hi('TSURI', c.green, '', '', '')
|
|
|
|
|
M.highlight_lsp = {
|
|
|
|
|
DiagnosticError = { fg = c.red },
|
|
|
|
|
DiagnosticWarn = { fg = c.yellow },
|
|
|
|
|
DiagnosticInfo = { fg = c.blue },
|
|
|
|
|
DiagnosticHint = { fg = c.cyan },
|
|
|
|
|
|
|
|
|
|
cmd('hi! link TSComment Comment')
|
|
|
|
|
hi('TSConditional', c.blue, '', 'bold', '')
|
|
|
|
|
hi('TSKeyword', c.blue, '', 'bold', '')
|
|
|
|
|
hi('TSRepeat', c.blue, '', 'bold', '')
|
|
|
|
|
hi('TSKeywordFunction', c.blue, '', 'bold', '')
|
|
|
|
|
hi('TSKeywordOperator', c.blue, '', 'bold', '')
|
|
|
|
|
cmd('hi! link TSFunction Function')
|
|
|
|
|
hi('TSMethod', c.teal, '', '', '')
|
|
|
|
|
cmd('hi! link TSFuncBuiltin Function')
|
|
|
|
|
cmd('hi! link TSVariable Variable')
|
|
|
|
|
cmd('hi! link TSVariableBuiltin Variable')
|
|
|
|
|
cmd('hi! link TSStructure Structure')
|
|
|
|
|
DiagnosticUnderlineError = { sp = c.red, underline = true },
|
|
|
|
|
DiagnosticUnderlineWarn = { sp = c.yellow, underline = true },
|
|
|
|
|
DiagnosticUnderlineInfo = { sp = c.blue, underline = true },
|
|
|
|
|
DiagnosticUnderlineHint = { sp = c.cyan, underline = true },
|
|
|
|
|
|
|
|
|
|
hi('TSNote', c.blue, '', 'bold', '')
|
|
|
|
|
hi('TSWarning', c.yellow, '', 'bold', '')
|
|
|
|
|
hi('TSDanger', c.red, '', 'bold', '')
|
|
|
|
|
end
|
|
|
|
|
DiagnosticVirtualTextError = { fg = c.red, italic = true },
|
|
|
|
|
DiagnosticVirtualTextWarn = { fg = c.yellow, italic = true },
|
|
|
|
|
DiagnosticVirtualTextInfo = { fg = c.blue, italic = true },
|
|
|
|
|
DiagnosticVirtualTextHint = { fg = c.cyan, italic = true },
|
|
|
|
|
|
|
|
|
|
-- LSP groups
|
|
|
|
|
function M.highlight_lsp()
|
|
|
|
|
hi('DiagnosticError', c.red, '', '', '')
|
|
|
|
|
hi('DiagnosticWarn', c.yellow, '', '', '')
|
|
|
|
|
hi('DiagnosticInfo', c.blue, '', '', '')
|
|
|
|
|
hi('DiagnosticHint', c.cyan, '', '', '')
|
|
|
|
|
DiagnosticFloatingError = 'DiagnosticError',
|
|
|
|
|
DiagnosticFloatingWarn = 'DiagnosticWarn',
|
|
|
|
|
DiagnosticFloatingInfo = 'DiagnosticInfo',
|
|
|
|
|
DiagnosticFloatingHint = 'DiagnosticHint',
|
|
|
|
|
|
|
|
|
|
hi('DiagnisticUnderlineError', '', '', 'underline', c.red)
|
|
|
|
|
hi('DiagnosticUnderlineWarn', '', '', 'underline', c.yellow)
|
|
|
|
|
hi('DiagnosticUnderlineInfo', '', '', 'underline', c.blue)
|
|
|
|
|
hi('DiagnosticUnderlineHint', '', '', 'underline', c.cyan)
|
|
|
|
|
DiagnosticSignError = 'DiagnosticError',
|
|
|
|
|
DiagnosticSignWarn = 'DiagnosticWarn',
|
|
|
|
|
DiagnosticSignInfo = 'DiagnosticInfo',
|
|
|
|
|
DiagnosticSignHint = 'DiagnosticHint',
|
|
|
|
|
|
|
|
|
|
hi('DiagnosticVirtualTextError', c.red, '', 'italic', '')
|
|
|
|
|
hi('DiagnosticVirtualTextWarn', c.yellow, '', 'italic', '')
|
|
|
|
|
hi('DiagnosticVirtualTextInfo', c.blue, '', 'italic', '')
|
|
|
|
|
hi('DiagnosticVirtualTextHint', c.cyan, '', 'italic', '')
|
|
|
|
|
LspReferenceText = { fg = c.fg, bg = c.grey_bright },
|
|
|
|
|
LspReferenceRead = { fg = c.fg, bg = c.grey_bright },
|
|
|
|
|
LspReferenceWrite = { fg = c.fg, bg = c.grey_bright },
|
|
|
|
|
LspCodeLens = 'Comment',
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
cmd('hi! link DiagnosticFloatingError DiagnosticError')
|
|
|
|
|
cmd('hi! link DiagnosticFloatingWarn DiagnosticWarn')
|
|
|
|
|
cmd('hi! link DiagnosticFloatingInfo DiagnosticInfo')
|
|
|
|
|
cmd('hi! link DiagnosticFloatingHint DiagnosticHint')
|
|
|
|
|
|
|
|
|
|
cmd('hi! link DiagnosticSignError DiagnosticError')
|
|
|
|
|
cmd('hi! link DiagnosticSignWarn DiagnosticWarn')
|
|
|
|
|
cmd('hi! link DiagnosticSignInfo DiagnosticInfo')
|
|
|
|
|
cmd('hi! link DiagnosticSignHint DiagnosticHint')
|
|
|
|
|
|
|
|
|
|
hi('LspReferenceText', c.fg, c.grey_bright, '', '')
|
|
|
|
|
hi('LspReferenceRead', c.fg, c.grey_bright, '', '')
|
|
|
|
|
hi('LspReferenceWrite', c.fg, c.grey_bright, '', '')
|
|
|
|
|
cmd('hi! link LspCodeLens Comment')
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
-- Specify groups for plugins
|
|
|
|
|
function M.highlight_plugins()
|
|
|
|
|
M.highlight_plugins = {
|
|
|
|
|
-- nvim-cmp
|
|
|
|
|
hi('CmpItemAbbr', c.fg, '', '', '')
|
|
|
|
|
hi('CmpItemAbbrMatch', c.yellow, '', 'bold', '')
|
|
|
|
|
hi('CmpItemAbbrMatchFuzzy', c.yellow, '', 'bold', '')
|
|
|
|
|
hi('CmpItemAbbrDeprecated', c.highlight, '', 'strikethrough', '')
|
|
|
|
|
hi('CmpItemKind', c.green, '', 'bold', '')
|
|
|
|
|
hi('CmpItemMenu', c.blue, '', 'bold', '')
|
|
|
|
|
CmpItemAbbr = { fg = c.fg },
|
|
|
|
|
CmpItemAbbrMatch = { fg = c.yellow, bold = true },
|
|
|
|
|
CmpItemAbbrMatchFuzzy = { fg = c.yellow, bold = true },
|
|
|
|
|
CmpItemAbbrDeprecated = { fg = c.highlight, strikethrough = true },
|
|
|
|
|
CmpItemKind = { fg = c.green, bold = true },
|
|
|
|
|
CmpItemMenu = { fg = c.blue, bold = true },
|
|
|
|
|
|
|
|
|
|
-- LuaSnip
|
|
|
|
|
hi('LuaSnipChoice', c.orange, '', '', '')
|
|
|
|
|
hi('LuaSnipInsert', c.blue, '', '', '')
|
|
|
|
|
LuaSnipChoice = { fg = c.orange },
|
|
|
|
|
LuaSnipInsert = { fg = c.blue },
|
|
|
|
|
|
|
|
|
|
-- Gitsigns
|
|
|
|
|
hi('GitSignsAdd', c.green, '', 'bold', '')
|
|
|
|
|
hi('GitSignsAddNr', c.green, '', '', '')
|
|
|
|
|
hi('GitSignsChange', c.yellow, '', 'bold', '')
|
|
|
|
|
hi('GitSignsChangeNr', c.yellow, '', '', '')
|
|
|
|
|
hi('GitSignsDelete', c.red, '', 'bold', '')
|
|
|
|
|
hi('GitSignsDeleteNr', c.red, '', '', '')
|
|
|
|
|
hi('GitSignsCurrentLineBlame', c.grey_bright, '', 'italic,bold', '')
|
|
|
|
|
-- gitsigns.nvim
|
|
|
|
|
GitSignsAdd = { fg = c.green, bold = true },
|
|
|
|
|
GitSignsAddNr = { fg = c.green },
|
|
|
|
|
GitSignsChange = { fg = c.yellow, bold = true },
|
|
|
|
|
GitSignsChangeNr = { fg = c.yellow },
|
|
|
|
|
GitSignsDelete = { fg = c.red, bold = true },
|
|
|
|
|
GitSignsDeleteNr = { fg = c.red },
|
|
|
|
|
GitSignsCurrentLineBlame = { fg = c.grey_bright, bold = true, italic = true },
|
|
|
|
|
|
|
|
|
|
-- dap.nvim
|
|
|
|
|
hi('DapSignDefault', c.orange, '', '', '')
|
|
|
|
|
hi('DapSignRejected', c.red, '', '', '')
|
|
|
|
|
-- nvim-dap
|
|
|
|
|
DapSignDefault = { fg = c.orange },
|
|
|
|
|
DapSignRejected = { fg = c.red },
|
|
|
|
|
|
|
|
|
|
-- ts-rainbow
|
|
|
|
|
hi('rainbowcol1', c.red, '', 'bold', '')
|
|
|
|
|
hi('rainbowcol2', c.orange, '', 'bold', '')
|
|
|
|
|
hi('rainbowcol3', c.yellow, '', 'bold', '')
|
|
|
|
|
hi('rainbowcol4', c.green, '', 'bold', '')
|
|
|
|
|
hi('rainbowcol5', c.cyan, '', 'bold', '')
|
|
|
|
|
hi('rainbowcol6', c.blue, '', 'bold', '')
|
|
|
|
|
hi('rainbowcol7', c.purple, '', 'bold', '')
|
|
|
|
|
rainbowcol1 = { fg = c.red, bold = true },
|
|
|
|
|
rainbowcol2 = { fg = c.orange, bold = true },
|
|
|
|
|
rainbowcol3 = { fg = c.yellow, bold = true },
|
|
|
|
|
rainbowcol4 = { fg = c.green, bold = true },
|
|
|
|
|
rainbowcol5 = { fg = c.cyan, bold = true },
|
|
|
|
|
rainbowcol6 = { fg = c.blue, bold = true },
|
|
|
|
|
rainbowcol7 = { fg = c.purple, bold = true },
|
|
|
|
|
|
|
|
|
|
-- dashboard-nvim / alpha-nvim
|
|
|
|
|
hi('DashboardHeader', c.blue, '', 'bold', '')
|
|
|
|
|
hi('DashboardCenter', c.green, '', 'bold', '')
|
|
|
|
|
hi('DashboardShortcut', c.purple, '', 'bold,italic', '')
|
|
|
|
|
hi('DashboardFooter', c.yellow, '', 'bold', '')
|
|
|
|
|
-- dashboard.nvim / alpha-nvim
|
|
|
|
|
DashboardHeader = { fg = c.blue, bold = true },
|
|
|
|
|
DashboardCenter = { fg = c.green, bold = true },
|
|
|
|
|
DashboardShortcut = { fg = c.purple, bold = true, italic = true },
|
|
|
|
|
DashboardFooter = { fg = c.yellow, bold = true },
|
|
|
|
|
|
|
|
|
|
-- symbols-outline.nvim
|
|
|
|
|
hi('FocusedSymbol', c.yellow, '', 'bold', '')
|
|
|
|
|
hi('SymbolsOutlineConnector', c.blue, '', '', '')
|
|
|
|
|
FocusedSymbol = { fg = c.yellow, bold = true },
|
|
|
|
|
SymbolsOutlineConnector = { fg = c.blue },
|
|
|
|
|
|
|
|
|
|
-- NvimTree
|
|
|
|
|
hi('NvimTreeNormal', c.fg, '', '', '')
|
|
|
|
|
hi('NvimTreeIndentMarker', c.grey3, '', '', '')
|
|
|
|
|
hi('NvimTreeFolderIcon', c.fg, '', '', '')
|
|
|
|
|
hi('NvimTreeRootFolder', c.teal, '', 'bold', '')
|
|
|
|
|
hi('NvimTreeFolderName', c.blue, '', '', '')
|
|
|
|
|
hi('NvimTreeEmptyFolderName', c.grey_bright, '', '', '')
|
|
|
|
|
hi('NvimTreeImageFile', c.yellow, '', '', '')
|
|
|
|
|
hi('NvimTreeExecFile', c.green, '', '', '')
|
|
|
|
|
hi('NvimTreeSpecialFile', c.dark_blue, '', 'underline', '')
|
|
|
|
|
hi('NvimTreeGitDirty', c.yellow, '', '', '')
|
|
|
|
|
hi('NvimTreeGitNew', c.green, '', '', '')
|
|
|
|
|
hi('NvimTreeGitDeleted', c.red, '', '', '')
|
|
|
|
|
cmd('hi! link NvimTreeWindowPicker WindowPicker')
|
|
|
|
|
-- nvim-tree.lua
|
|
|
|
|
NvimTreeNormal = { fg = c.fg },
|
|
|
|
|
NvimTreeIndentMarker = { fg = c.grey3 },
|
|
|
|
|
NvimTreeFolderIcon = { fg = c.fg },
|
|
|
|
|
NvimTreeRootFolder = { fg = c.teal, bold = true },
|
|
|
|
|
NvimTreeFolderName = { fg = c.blue },
|
|
|
|
|
NvimTreeEmptyFolderName = { fg = c.grey_bright },
|
|
|
|
|
NvimTreeImageFile = { fg = c.yellow },
|
|
|
|
|
NvimTreeExecFile = { fg = c.green },
|
|
|
|
|
NvimTreeSpecialFile = { fg = c.dark_blue, underline = true },
|
|
|
|
|
NvimTreeGitDirty = { fg = c.yellow },
|
|
|
|
|
NvimTreeGitDeleted = { fg = c.red },
|
|
|
|
|
NvimTreeWindowPicker = 'WindowPicker',
|
|
|
|
|
|
|
|
|
|
-- WhichKey
|
|
|
|
|
hi('WhichKey', c.green, '', 'bold', '')
|
|
|
|
|
hi('WhichKeyGroup', c.cyan, '', '', '')
|
|
|
|
|
hi('WhichKeyDesc', c.purple, '', '', '')
|
|
|
|
|
hi('WhichKeySeperator', c.grey_bright, '', '', '')
|
|
|
|
|
cmd('hi! link WhichKeyFloat NormalFloat')
|
|
|
|
|
cmd('hi! link WhichKeyValue Comment')
|
|
|
|
|
-- which-key.nvim
|
|
|
|
|
WhichKey = { fg = c.green, bold = true },
|
|
|
|
|
WhichKeyGroup = { fg = c.cyan },
|
|
|
|
|
WhichKeyDesc = { fg = c.purple },
|
|
|
|
|
WhichKeySeperator = { fg = c.grey_bright },
|
|
|
|
|
WhichKeyFloat = 'NormalFloat',
|
|
|
|
|
WhichKeyValue = 'Comment',
|
|
|
|
|
|
|
|
|
|
-- nvim-notify
|
|
|
|
|
hi('NotifyERRORBorder', c.red, '', '', '')
|
|
|
|
|
hi('NotifyWARNBorder', c.yellow, '', '', '')
|
|
|
|
|
hi('NotifyINFOBorder', c.blue, '', '', '')
|
|
|
|
|
hi('NotifyDEBUGBorder', c.green, '', '', '')
|
|
|
|
|
hi('NotifyTRACEBorder', c.purple, '', '', '')
|
|
|
|
|
hi('NotifyERRORIcon', c.red, '', '', '')
|
|
|
|
|
hi('NotifyWARNIcon', c.yellow, '', '', '')
|
|
|
|
|
hi('NotifyINFOIcon', c.blue, '', '', '')
|
|
|
|
|
hi('NotifyDEBUGIcon', c.green, '', '', '')
|
|
|
|
|
hi('NotifyTRACEIcon', c.purple, '', '', '')
|
|
|
|
|
hi('NotifyERRORTitle', c.red, '', '', '')
|
|
|
|
|
hi('NotifyWARNTitle', c.yellow, '', '', '')
|
|
|
|
|
hi('NotifyINFOTitle', c.blue, '', '', '')
|
|
|
|
|
hi('NotifyDEBUGTitle', c.green, '', '', '')
|
|
|
|
|
hi('NotifyTRACETitle', c.purple, '', '', '')
|
|
|
|
|
NotifyERRORBorder = { fg = c.red },
|
|
|
|
|
NotifyWARNBorder = { fg = c.yellow },
|
|
|
|
|
NotifyINFOBorder = { fg = c.blue },
|
|
|
|
|
NotifyDEBUGBorder = { fg = c.green },
|
|
|
|
|
NotifyTRACEBorder = { fg = c.purple },
|
|
|
|
|
NotifyERRORIcon = 'NotifyERRORBorder',
|
|
|
|
|
NotifyWARNIcon = 'NotifyWARNBorder',
|
|
|
|
|
NotifyINFOIcon = 'NotifyINFOBorder',
|
|
|
|
|
NotifyDEBUGIcon = 'NotifyDEBUGBorder',
|
|
|
|
|
NotifyTRACEIcon = 'NotifyTRACEBorder',
|
|
|
|
|
NotifyERRORTitle = 'NotifyERRORBorder',
|
|
|
|
|
NotifyWARNTitle = 'NotifyWARNBorder',
|
|
|
|
|
NotifyINFOTitle = 'NotifyINFOBorder',
|
|
|
|
|
NotifyDEBUGTitle = 'NotifyDEBUGBorder',
|
|
|
|
|
NotifyTRACETitle = 'NotifyTRACEBorder',
|
|
|
|
|
|
|
|
|
|
-- Indent Blankline
|
|
|
|
|
hi('IndentBlanklineChar', c.grey1, '', '', '')
|
|
|
|
|
hi('IndentBlanklineContextChar', c.grey_bright, '', '', '')
|
|
|
|
|
-- indent-blankline.nvim
|
|
|
|
|
IndentBlanklineChar = { fg = c.grey1 },
|
|
|
|
|
IndentBlanklineContextChar = { fg = c.grey_bright },
|
|
|
|
|
|
|
|
|
|
-- nvim-treesitter-context
|
|
|
|
|
cmd('hi! link TreesitterContext Pmenu')
|
|
|
|
|
TreesitterContext = 'Pmenu',
|
|
|
|
|
|
|
|
|
|
-- orgmode.nvim
|
|
|
|
|
hi('OrgHeadlineLevel1', c.purple, '', 'bold', '')
|
|
|
|
|
hi('OrgHeadlineLevel2', c.dark_blue, '', 'bold', '')
|
|
|
|
|
hi('OrgHeadlineLevel3', c.blue, '', 'bold', '')
|
|
|
|
|
hi('OrgHeadlineLevel4', c.cyan, '', 'bold', '')
|
|
|
|
|
hi('OrgHeadlineLevel5', c.teal, '', 'bold', '')
|
|
|
|
|
hi('OrgHeadlineLevel6', c.green, '', 'bold', '')
|
|
|
|
|
hi('OrgTSCheckboxChecked', c.grey3, '', 'bold', '')
|
|
|
|
|
hi('OrgTSCheckboxUnchecked', c.green, '', 'bold', '')
|
|
|
|
|
hi('OrgTSCheckboxHalfChecked', c.blue, '', 'bold', '')
|
|
|
|
|
hi('OrgAgendaDealine', c.red, '', 'bold', '')
|
|
|
|
|
hi('OrgAgendaScheduled', c.green, '', 'bold', '')
|
|
|
|
|
hi('OrgAgendaScheduledPast', c.blue, '', 'bold', '')
|
|
|
|
|
-- nvim-orgmode
|
|
|
|
|
OrgHeadlineLevel1 = { fg = c.purple, bold = true },
|
|
|
|
|
OrgHeadlineLevel2 = { fg = c.dark_blue, bold = true },
|
|
|
|
|
OrgHeadlineLevel3 = { fg = c.blue, bold = true },
|
|
|
|
|
OrgHeadlineLevel4 = { fg = c.cyan, bold = true },
|
|
|
|
|
OrgHeadlineLevel5 = { fg = c.teal, bold = true },
|
|
|
|
|
OrgHeadlineLevel6 = { fg = c.green, bold = true },
|
|
|
|
|
OrgTSCheckboxChecked = { fg = c.grey3, bold = true },
|
|
|
|
|
OrgTSCheckboxUnchecked = { fg = c.green, bold = true },
|
|
|
|
|
OrgTSCheckboxHalfChecked = { fg = c.blue, bold = true },
|
|
|
|
|
OrgAgendaDealine = { fg = c.red, bold = true },
|
|
|
|
|
OrgAgendaScheduled = { fg = c.green, bold = true },
|
|
|
|
|
OrgAgendaScheduledPast = { fg = c.blue, bold = true },
|
|
|
|
|
|
|
|
|
|
-- window-picker.nvim
|
|
|
|
|
hi('WindowPicker', c.white2, c.blue, 'bold', '')
|
|
|
|
|
hi('WindowPickerZap', c.white2, c.red, 'bold', '')
|
|
|
|
|
hi('WindowPickerSwap', c.white2, c.orange, 'bold', '')
|
|
|
|
|
WindowPicker = { fg = c.white2, bg = c.blue, bold = true },
|
|
|
|
|
WindowPickerZap = { fg = c.white2, bg = c.red, bold = true },
|
|
|
|
|
WindowPickerSwap = { fg = c.white2, bg = c.orange, bold = true },
|
|
|
|
|
|
|
|
|
|
-- trouble.nvim
|
|
|
|
|
hi('LspTroubleText', c.blue, '', 'bold', '')
|
|
|
|
|
LspTroubleText = { fg = c.blue, bold = true },
|
|
|
|
|
|
|
|
|
|
-- Telescope
|
|
|
|
|
hi('TelescopePromptBorder', c.cyan, '', 'bold', '')
|
|
|
|
|
hi('TelescopeResultsBorder', c.blue, '', 'bold', '')
|
|
|
|
|
hi('TelescopePreviewBorder', c.green, '', 'bold', '')
|
|
|
|
|
hi('TelescopeSelection', c.fg, c.grey2, '', '')
|
|
|
|
|
hi('TelescopeMultiSelection', c.fg, c.grey2, 'bold', '')
|
|
|
|
|
hi('TelescopeSelectionCaret', c.red, c.grey2, 'bold', '')
|
|
|
|
|
hi('TelescopeMatching', c.yellow, '', 'bold', '')
|
|
|
|
|
hi('TelescopePromptTitle', c.black, c.cyan, 'bold', '')
|
|
|
|
|
hi('TelescopePreviewTitle', c.black, c.green, 'bold', '')
|
|
|
|
|
hi('TelescopeResultsTitle', c.black, c.blue, 'bold', '')
|
|
|
|
|
-- telescope.nvim
|
|
|
|
|
TelescopePromptBorder = { fg = c.cyan, bold = true },
|
|
|
|
|
TelescopeResultsBorder = { fg = c.blue, bold = true },
|
|
|
|
|
TelescopePreviewBorder = { fg = c.green, bold = true },
|
|
|
|
|
TelescopeSelection = { fg = c.fg, bg = c.grey2 },
|
|
|
|
|
TelescopeMultiSelection = { fg = c.fg, bg = c.grey2, bold = true },
|
|
|
|
|
TelescopeSelectionCaret = { fg = c.red, bg = c.grey2, bold = true },
|
|
|
|
|
TelescopeMatching = { fg = c.yellow, bold = true },
|
|
|
|
|
TelescopePromptTitle = { fg = c.black, bg = c.cyan, bold = true },
|
|
|
|
|
TelescopeResultsTitle = { fg = c.black, bg = c.blue, bold = true },
|
|
|
|
|
TelescopePreviewTitle = { fg = c.black, bg = c.green, bold = true },
|
|
|
|
|
|
|
|
|
|
-- Neogit
|
|
|
|
|
hi('NeogitBranch', c.purple, '', '', '')
|
|
|
|
|
hi('NeogitRemote', c.blue, '', '', '')
|
|
|
|
|
hi('NeogitHunkHeader', c.cyan, c.grey2, 'bold', '')
|
|
|
|
|
hi('NeogitHunkHeaderHighlight', c.yellow, c.grey2, 'bold', '')
|
|
|
|
|
hi('NeogitDiffContextHighlight', c.fg, c.grey2, '', '')
|
|
|
|
|
hi('NeogitDiffDeleteHighlight', c.red, c.grey2, '', '')
|
|
|
|
|
hi('NeogitDiffAddHighlight', c.green, c.grey2, '', '')
|
|
|
|
|
hi('NeogitNotificationInfo', c.green, '', '', '')
|
|
|
|
|
hi('NeogitNotificationWarning', c.yellow, '', '', '')
|
|
|
|
|
hi('NeogitNotificationError', c.red, '', '', '')
|
|
|
|
|
-- neogit
|
|
|
|
|
NeogitBranch = { fg = c.purple },
|
|
|
|
|
NeogitRemote = { fg = c.green },
|
|
|
|
|
NeogitHunkHeader = { fg = c.cyan, bg = c.grey2, bold = true },
|
|
|
|
|
NeogitHunkHeaderHighlight = { fg = c.yellow, bg = c.grey2, bold = true },
|
|
|
|
|
NeogitDiffContextHighlight = { fg = c.fg, bg = c.grey2 },
|
|
|
|
|
NeogitDiffDeleteHighlight = { fg = c.red, bg = c.grey2 },
|
|
|
|
|
NeogitDiffAddHighlight = { fg = c.green, bg = c.grey2 },
|
|
|
|
|
NeogitNotificationInfo = { fg = c.blue },
|
|
|
|
|
NeogitNotificationWarning = { fg = c.yellow },
|
|
|
|
|
NeogitNotificationError = { fg = c.red },
|
|
|
|
|
|
|
|
|
|
-- fidget.nvim
|
|
|
|
|
hi('FidgetTitle', c.green, '', 'bold', '')
|
|
|
|
|
hi('FidgetTask', c.blue, '', 'italic', '')
|
|
|
|
|
FidgetTitle = { fg = c.green, bold = true },
|
|
|
|
|
FidgetTask = { fg = c.blue, italic = true },
|
|
|
|
|
|
|
|
|
|
-- lightspeed.nvim
|
|
|
|
|
hi('LightspeedLabel', c.red, '', 'bold,underline', '')
|
|
|
|
|
hi('LightspeedLabelDistant', c.cyan, '', 'bold,underline', '')
|
|
|
|
|
hi('LightspeedShortcut', c.fg, c.red, 'bold', '')
|
|
|
|
|
hi('LightspeedMaskedChar', c.highlight, '', '', '')
|
|
|
|
|
hi('LightspeedUnlabeledMatch', c.white2, '', 'bold', '')
|
|
|
|
|
cmd('hi! link LightspeedGreyWash Comment')
|
|
|
|
|
end
|
|
|
|
|
LightspeedLabel = { fg = c.red, bold = true, underline = true },
|
|
|
|
|
LightspeedLabelDistant = { fg = c.cyan, bold = true, underline = true },
|
|
|
|
|
LightspeedShortcut = { fg = c.fg, bg = c.red, bold = true },
|
|
|
|
|
LightspeedMaskedChar = { fg = c.highlight },
|
|
|
|
|
LightspeedUnlabeledMatch = { fg = c.white2, bold = true },
|
|
|
|
|
LightspeedGreyWash = 'Comment',
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return M
|
|
|
|
|