Refactoring

master
tiyn 1 year ago
parent 5a83cc8f26
commit 2799848919

@ -4,10 +4,10 @@ local config = require('tccs.config')
local c = require('tccs.colors').get_colors()
local line_c = {
fg_prim = c.fg,
bg_prim = c.bg_alt,
fg_sec = c.fg,
bg_sec = c.panel_shadow,
fg_prim = c.fg,
bg_prim = c.bg_alt,
fg_sec = c.fg,
bg_sec = c.panel_shadow,
visual = c.operator,
insert = c.comment,
normal = c.entity,

@ -1,56 +1,56 @@
local colors = {}
colors.get_colors = function()
local mycolors = {} ---@type table<string,string>
local mycolors = {} ---@type table<string,string>
mycolors = {
-- common
accent = "#C586C0",
bg = "#191919",
bg_alt = "#121212",
fg = "#D4D4D4",
ui = "#4D5566",
-- syntax
tag = "#9CDCFE",
func = "#DCDCAA",
entity = "#9CDCFE",
string = "#CE9178",
regexp = "#D16969",
markup = "#C586C0",
keyword = "#C586C0",
special = "#D7BA7D",
comment = "#608B4E",
constant = "#D4D4D4",
operator = "#C586C0",
error = "#FF0000",
-- extended color palette
fg_idle = "#FFFF00",
warning = "#FFFF00",
-- ui
line = "#00010A",
line_alt = "#772222",
panel_bg = "#0D1016",
panel_shadow = "#00010A",
panel_border = "#000000",
gutter_normal = "#323945",
gutter_active = "#464D5E",
selection_bg = "#273747",
selection_inactive = "#1B2733",
selection_border = "#304357",
guide_active = "#393F4D",
guide_normal = "#242A35",
-- vcs
vcs_added = "#608B4E",
vcs_modified = "#9CDCFE",
vcs_removed = "#D16969",
}
mycolors = {
-- common
accent = "#C586C0",
bg = "#191919",
bg_alt = "#121212",
fg = "#D4D4D4",
ui = "#4D5566",
-- syntax
tag = "#9CDCFE",
func = "#DCDCAA",
entity = "#9CDCFE",
string = "#CE9178",
regexp = "#D16969",
markup = "#C586C0",
keyword = "#C586C0",
special = "#D7BA7D",
comment = "#608B4E",
constant = "#D4D4D4",
operator = "#C586C0",
error = "#FF0000",
-- extended color palette
fg_idle = "#FFFF00",
warning = "#FFFF00",
-- ui
line = "#00010A",
line_alt = "#772222",
panel_bg = "#0D1016",
panel_shadow = "#00010A",
panel_border = "#000000",
gutter_normal = "#323945",
gutter_active = "#464D5E",
selection_bg = "#273747",
selection_inactive = "#1B2733",
selection_border = "#304357",
guide_active = "#393F4D",
guide_normal = "#242A35",
-- vcs
vcs_added = "#608B4E",
vcs_modified = "#9CDCFE",
vcs_removed = "#D16969",
}
-- Extend the colors with overrides passed by `color_overrides`
local config = require('tccs.config')
if config.opts.color_overrides then
mycolors = vim.tbl_extend('force', mycolors, config.opts.color_overrides)
end
-- Extend the colors with overrides passed by `color_overrides`
local config = require('tccs.config')
if config.opts.color_overrides then
mycolors = vim.tbl_extend('force', mycolors, config.opts.color_overrides)
end
return mycolors
return mycolors
end
return colors

@ -1,31 +1,31 @@
local config = {}
local defaults = {
transparent = 0,
italic_comments = 1,
disable_nvimtree_bg = 0,
color_overrides = {},
group_overrides = {},
transparent = 0,
italic_comments = 1,
disable_nvimtree_bg = 0,
color_overrides = {},
group_overrides = {},
}
config.opts = {}
---@param user_opts? table
config.setup = function(user_opts)
-- backwards compatibility: let users still set settings with global vars
local global_settings_opts = vim.tbl_extend('force', defaults, {
transparent = (vim.g.tccs_transparent == true or vim.g.tccs_transparent == 1),
italic_comments = (vim.g.tccs_italic_comment == true or vim.g.tccs_italic_comment == 1),
disable_nvimtree_bg = (vim.g.tccs_disable_nvim_tree_bg == true or vim.g.tccs_disable_nvim_tree_bg == 1),
})
-- backwards compatibility: let users still set settings with global vars
local global_settings_opts = vim.tbl_extend('force', defaults, {
transparent = (vim.g.tccs_transparent == true or vim.g.tccs_transparent == 1),
italic_comments = (vim.g.tccs_italic_comment == true or vim.g.tccs_italic_comment == 1),
disable_nvimtree_bg = (vim.g.tccs_disable_nvim_tree_bg == true or vim.g.tccs_disable_nvim_tree_bg == 1),
})
-- but override global vars settings with setup() settings
config.opts = vim.tbl_extend('force', defaults, user_opts or {})
-- but override global vars settings with setup() settings
config.opts = vim.tbl_extend('force', defaults, user_opts or {})
-- setting transparent to true removes the default background
if config.opts.transparent then
config.opts.color_overrides.vscBack = 'NONE'
end
-- setting transparent to true removes the default background
if config.opts.transparent then
config.opts.color_overrides.vscBack = 'NONE'
end
end
-- initialize config

@ -8,20 +8,20 @@ tccs.setup = config.setup
-- Load colorscheme with a given or default style
tccs.load = function()
if vim.fn.exists('syntax_on') then
vim.cmd('syntax reset')
end
if vim.fn.exists('syntax_on') then
vim.cmd('syntax reset')
end
vim.o.termguicolors = true
vim.g.colors_name = 'tccs'
vim.o.termguicolors = true
vim.g.colors_name = 'tccs'
theme.set_highlights(config.opts)
theme.set_highlights(config.opts)
if config.opts.group_overrides then
for group, val in pairs(config.opts['group_overrides']) do
vim.api.nvim_set_hl(0, group, val)
end
if config.opts.group_overrides then
for group, val in pairs(config.opts['group_overrides']) do
vim.api.nvim_set_hl(0, group, val)
end
end
end
return tccs

@ -2,287 +2,286 @@ local hl = vim.api.nvim_set_hl
local theme = {}
theme.set_highlights = function(opts)
local c = require('tccs.colors').get_colors()
hl(0, 'Normal', { fg = c.fg, bg = c.bg })
hl(0, 'ColorColumn', { bg = c.line_alt })
hl(0, 'Cursor', { fg = c.tag })
hl(0, 'CursorLine', { bg = c.line })
hl(0, 'CursorColumn', { bg = c.line })
hl(0, 'CursorLineNr', { fg = c.accent, bg = c.line })
hl(0, 'LineNr', { fg = c.guide_normal })
hl(0, 'Directory', { fg = c.func })
hl(0, 'ErrorMsg', { fg = c.fg, bg = c.error, standout = true })
hl(0, 'VertSplit', { fg = c.panel_bg, bg = c.panel_bg })
hl(0, 'Folded', { fg = c.fg_idle, bg = c.panel_bg })
hl(0, 'FoldColumn', { bg = c.panel_bg })
hl(0, 'SignColumn', { bg = c.panel_bg })
hl(0, 'MatchParen', { fg = c.fg, bg = c.bg, underline = true })
hl(0, 'ModeMsg', { fg = c.string })
hl(0, 'MoreMsg', { fg = c.string })
hl(0, 'NonText', { fg = c.guide_normal })
-- TODO: fix pmenu colors
hl(0, 'Pmenu', { fg = c.fg, bg = c.selection_inactive })
hl(0, 'PmenuSel', { fg = c.fg, bg = c.selection_inactive, reverse = true })
hl(0, 'FloatBorder', { fg = c.fg, bg = c.selection_inactive })
hl(0, 'Question', { fg = c.string })
hl(0, 'Search', { fg = c.bg, bg = c.constant }) -- TODO: fix color
hl(0, 'SpecialKey', { fg = c.selection_inactive })
hl(0, 'SpellCap', { fg = c.tag, undercurl = true, sp = c.error })
hl(0, 'SpellLocal', { fg = c.keyword, undercurl = true, sp = c.keyword })
hl(0, 'SpellBad', { fg = c.error, undercurl = true, sp = c.error })
hl(0, 'SpellRare', { fg = c.regexp, undercurl = true, sp = c.error })
hl(0, 'StatusLine', { fg = c.fg, bg = c.panel_bg })
hl(0, 'StatusLineNC', { fg = c.fg_idle, bg = c.panel_bg })
hl(0, 'WildMenu', { fg = c.fg, bg = c.markup }) -- TODO: fix color
hl(0, 'TabLine', { fg = c.comment, bg = c.panel_shadow })
hl(0, 'TabLineFill', { fg = c.fg, bg = c.panel_border })
hl(0, 'TabLineSel', { fg = c.fg, bg = c.bg })
hl(0, 'Title', { fg = c.keyword, bold = true })
hl(0, 'Visual', { bg = c.selection_inactive })
hl(0, 'WarningMsg', { fg = c.warning, bold = true })
-- syntax
hl(0, 'Comment', { fg = c.comment, italic = opts.italic_comments })
hl(0, 'Constant', { fg = c.constant })
hl(0, 'String', { fg = c.string })
hl(0, 'Identifier', { fg = c.entity })
hl(0, 'Function', { fg = c.func })
hl(0, 'Statement', { fg = c.keyword })
hl(0, 'Operator', { fg = c.operator })
hl(0, 'Exception', { fg = c.markup })
hl(0, 'PreProc', { fg = c.accent })
hl(0, 'Type', { fg = c.entity })
hl(0, 'Structure', { fg = c.special })
--hl(0, 'Special', { fg = c.accent })
hl(0, 'Delimiter', { fg = c.special })
hl(0, 'Underlined', { fg = c.tag, underline = true })
hl(0, 'Ignore', {})
hl(0, 'Error', { fg = c.fg, bg = c.error, undercurl = true, sp = c.error })
hl(0, 'Todo', { fg = c.markup })
-- quickfix window highlighting
hl(0, 'qfLineNr', { fg = c.keyword })
hl(0, 'Conceal', { fg = c.comment })
hl(0, 'CursorLineConceal', { fg = c.guide_normal, bg = c.line })
-- diff syntax highlighting
hl(0, 'DiffAdd', { fg = c.vcs_added, bg = c.guide_normal })
hl(0, 'diffAdded', { link = 'DiffAdd' })
hl(0, 'DiffChange', { fg = c.vcs_modified, bg = c.guide_normal })
hl(0, 'DiffDelete', { fg = c.vcs_removed, bg = c.guide_normal })
hl(0, 'diffRemoved', { link = 'DiffDelete' })
hl(0, 'DiffText', { fg = c.vcs_modified, bg = c.guide_active })
-- netrw
hl(0, 'netrwClassify', { fg = c.special })
-- gitgutter
hl(0, 'GitGutterAdd', { fg = c.vcs_added, bg = c.panel_bg })
hl(0, 'GitGutterChange', { fg = c.vcs_modified, bg = c.panel_bg })
hl(0, 'GitGutterDelete', { fg = c.vcs_removed, bg = c.panel_bg })
hl(0, 'GitGutterChangeDelete', { fg = c.vcs_modified, bg = c.panel_bg, underline = true })
-- signify
hl(0, 'SignifySignAdd', { fg = c.vcs_added, bg = c.panel_bg })
hl(0, 'SignifySignChange', { fg = c.vcs_modified, bg = c.panel_bg })
hl(0, 'SignifySignDelete', { fg = c.vcs_removed, bg = c.panel_bg })
hl(0, 'SignifySignChangeDelete', { fg = c.vcs_modified, bg = c.panel_bg, underline = true })
-- nerdtree
hl(0, 'NERDTreeOpenable', { fg = c.fg_idle })
hl(0, 'NERDTreeCloseable', { fg = c.accent })
hl(0, 'NERDTreeUp', { fg = c.fg_idle })
hl(0, 'NERDTreeDir', { fg = c.func })
hl(0, 'NERDTreeFile', {})
hl(0, 'NERDTreeDirSlash', { fg = c.special })
-- telescope
hl(0, 'TelescopeMatching', { fg = c.accent, bold = true })
hl(0, 'TelescopePromptBorder', { fg = c.guide_normal })
hl(0, 'TelescopeResultsBorder', { fg = c.guide_normal })
hl(0, 'TelescopePreviewBorder', { fg = c.guide_normal })
hl(0, 'TelescopeNormal', { fg = c.fg })
hl(0, 'TelescopeSelection', { fg = c.fg, bg = c.vscPopupHighlightBlue })
hl(0, 'TelescopeMultiSelection', { fg = c.fg, bg = c.vscPopupHighlightBlue })
hl(0, 'TelescopePromptPrefix', { fg = c.fg, bg = 'NONE' })
-- lsp
hl(0, 'DiagnosticDefaultError', { fg = c.error })
hl(0, 'DiagnosticUnderlineError', { fg = c.error, undercurl = true, sp = c.error })
hl(0, 'DiagnosticSignError', { fg = c.error, bg = c.panel_bg })
hl(0, 'DiagnosticWarn', { fg = c.warning })
hl(0, 'DiagnosticUnderlineWarn', { fg = c.warning, undercurl = true, sp = c.warning })
hl(0, 'DiagnosticSignWarning', { fg = c.warning, bg = c.panel_bg })
hl(0, 'DiagnosticVirtualTextHint', { fg = c.comment })
hl(0, 'DiagnosticSignHint', { fg = c.comment })
hl(0, 'DiagnosticHint', { fg = c.comment })
hl(0, 'DiagnosticVirtualTextInfo', { fg = c.fg })
hl(0, 'DiagnosticSignInfo', { fg = c.fg })
hl(0, 'DiagnosticInfo', { fg = c.fg })
-- yats
hl(0, 'typescriptDecorator', { fg = c.markup })
hl(0, 'typescriptImport', { fg = c.accent })
hl(0, 'typescriptExport', { fg = c.accent })
hl(0, 'typescriptIdentifier', { fg = c.tag, italic = opts.italic_comments })
hl(0, 'typescriptAssign', { fg = c.operator })
hl(0, 'typescriptBinaryOp', { fg = c.operator })
hl(0, 'typescriptTernaryOp', { fg = c.operator })
hl(0, 'typescriptModule', { fg = c.keyword })
hl(0, 'typescriptTypeBrackets', { fg = c.special })
hl(0, 'typescriptClassName', { fg = c.tag })
hl(0, 'typescriptAmbientDeclaration', { fg = c.keyword })
hl(0, 'typescriptRegextString', { fg = c.regexp })
hl(0, 'typescriptTry', { fg = c.markup })
hl(0, 'typescriptExceptions', { fg = c.markup })
hl(0, 'typescriptDebugger', { fg = c.markup, bold = true})
hl(0, 'typescriptParens', { fg = c.special })
hl(0, 'typescriptVariable', { fg = c.keyword })
hl(0, 'typescriptObjectLabel', { fg = c.tag })
hl(0, 'typescriptOperator', { fg = c.keyword })
hl(0, 'typescriptArrowFunc', { fg = c.operator })
hl(0, 'typescriptBraces', { fg = c.special })
hl(0, 'typescriptGlobal', { fg = c.accent })
hl(0, 'typescriptDOMFormProp', { fg = c.entity })
hl(0, 'typescriptDOMEventProp', { fg = c.entity })
hl(0, 'typescriptBOMWindowProp', { fg = c.accent })
hl(0, 'typescriptDateMethod', { fg = c.func })
hl(0, 'typescriptBlobMethod', { fg = c.func })
hl(0, 'typescriptArrayMethod', { fg = c.func })
hl(0, 'typescriptArrayStaticMethod', { fg = c.func })
hl(0, 'typescriptStringMethod', { fg = c.func })
hl(0, 'typescriptPaymentMethod', { fg = c.func })
hl(0, 'typescriptHeadersMethod', { fg = c.func })
hl(0, 'typescriptCacheMethod', { fg = c.func })
hl(0, 'typescriptDOMEEventMethod', { fg = c.func })
hl(0, 'typescriptDOMEEventTargetMethod', { fg = c.func })
hl(0, 'typescriptBOMWindowMethod', { fg = c.func })
hl(0, 'typescriptDOMStorageMethod', { fg = c.func })
hl(0, 'typescriptPromiseMethod', { fg = c.func })
hl(0, 'typescriptGlobalMethod', { fg = c.func })
hl(0, 'typescriptFunctionMethod', { fg = c.func })
hl(0, 'typescriptBOMLocationMethod', { fg = c.func })
-- javascript
hl(0, 'jsNull', { fg = c.constant })
hl(0, 'jsThis', { fg = c.constant, italic = opts.italic_comments })
hl(0, 'jsBrackets', { fg = c.special })
hl(0, 'jsDot', { fg = c.special })
hl(0, 'jsParens', { fg = c.special })
hl(0, 'jsFuncParens', { fg = c.special })
hl(0, 'jsFuncBraces', { fg = c.special })
hl(0, 'jsIfElseBraces', { fg = c.special })
hl(0, 'jsObjectKey', { fg = c.tag })
hl(0, 'jsObjectProp', { fg = c.tag })
hl(0, 'jsRegexpString', { fg = c.regexp })
hl(0, 'jsStorageClass', { fg = c.keyword })
hl(0, 'jsArrowFunction', { fg = c.operator })
-- treesitter
hl(0, '@include', { fg = c.accent })
hl(0, '@parameter', { fg = c.special })
hl(0, '@field', { fg = c.tag })
hl(0, '@property', { fg = c.tag })
hl(0, '@attribute', { fg = c.markup })
hl(0, '@variable.builtin', { fg = c.constant, italic = opts.italic_comments })
hl(0, '@constant.builtin', { fg = c.constant })
hl(0, '@string.regex', { fg = c.regexp })
hl(0, '@function.macro', { fg = c.func })
-- fugitive
hl(0, 'fugitiveUntrackedHeading', { fg = c.accent })
hl(0, 'fugitiveUnstagedHeading', { fg = c.accent })
hl(0, 'fugitiveStagedHeading', { fg = c.accent })
hl(0, 'fugitiveHeading', { fg = c.accent })
-- git commit
hl(0, 'gitcommitBranch', { fg = c.func })
hl(0, 'gitcommitHeader', { fg = c.accent })
hl(0, 'gitcommitSummary', { fg = c.fg })
hl(0, 'gitcommitOverflow', { fg = c.markup })
-- startify
hl(0, 'StartifyFile', { fg = c.fg })
-- vim
hl(0, 'vimUserfunc', { fg = c.func })
hl(0, 'vimFunction', { fg = c.func })
hl(0, 'vimIsCommand', {})
-- xml
hl(0, 'xmlTag', { fg = c.special })
hl(0, 'xmlTagName', { fg = c.keyword })
hl(0, 'xmlEntity', { fg = c.tag })
hl(0, 'xmlEntityPunct', { fg = c.operator })
hl(0, 'xmlEqual', { fg = c.operator })
-- ini
hl(0, 'dosiniHeader', { fg = c.keyword })
-- pandoc
hl(0, 'pandocPipeTableHeader', { fg = c.keyword })
hl(0, 'pandocPipeTableDelims', { fg = c.keyword })
hl(0, 'pandocDelimitedCodeBlock', { fg = c.accent })
-- shell
hl(0, 'shTestOpr', { fg = c.operator })
hl(0, 'shOption', { fg = c.special })
hl(0, 'shQuote', { fg = c.string })
-- shell
hl(0, 'haskellDeclKeyword', { fg = c.keyword })
hl(0, 'haskellLet', { fg = c.keyword })
hl(0, 'haskellWhere', { fg = c.keyword })
hl(0, 'haskellIdentifier', { fg = c.tag })
-- php
hl(0, 'phpDefine', { fg = c.keyword })
hl(0, 'phpStructure', { fg = c.keyword })
-- ruby
hl(0, 'rubyModule', { fg = c.keyword })
hl(0, 'rubyRegexp', { fg = c.regexp })
hl(0, 'rubyRegexpDelimiter', { fg = c.regexp })
hl(0, 'rubyStringDelimiter', { fg = c.string })
-- nvimtree
hl(0, 'NvimTreeRootFolder', { fg = c.fg, bold = true })
hl(0, 'NvimTreeGitDirty', { fg = c.vcs_modified })
hl(0, 'NvimTreeGitNew', { fg = c.vcs_added })
hl(0, 'NvimTreeImageFile', { fg = c.keyword })
hl(0, 'NvimTreeEmptyFolderName', { fg = c.ui })
hl(0, 'NvimTreeFolderName', { fg = c.fg })
hl(0, 'NvimTreeSpecialFile', { fg = c.keyword, underline = true })
hl(0, 'NvimTreeNormal', { fg = c.fg })
hl(0, 'NvimTreeCursorLine', {})
hl(0, 'NvimTreeVertSplit', { bg = c.bg })
hl(0, 'NvimTreeEndOfBuffer', {})
hl(0, 'NvimTreeOpenedFolderName', {})
hl(0, 'NvimTreeGitRenamed', { fg = c.vcs_modified })
hl(0, 'NvimTreeGitIgnored', { fg = c.ui })
hl(0, 'NvimTreeGitDeleted', { fg = c.vcs_removed })
hl(0, 'NvimTreeGitStaged', { fg = c.vcs_added })
hl(0, 'NvimTreeGitMerge', { fg = c.error })
hl(0, 'NvimTreeGitDirty', { fg = c.vcs_modified })
hl(0, 'NvimTreeGitNew', { fg = c.vcs_added })
local c = require('tccs.colors').get_colors()
hl(0, 'Normal', { fg = c.fg, bg = c.bg })
hl(0, 'ColorColumn', { bg = c.line_alt })
hl(0, 'Cursor', { fg = c.tag })
hl(0, 'CursorLine', { bg = c.line })
hl(0, 'CursorColumn', { bg = c.line })
hl(0, 'CursorLineNr', { fg = c.accent, bg = c.line })
hl(0, 'LineNr', { fg = c.guide_normal })
hl(0, 'Directory', { fg = c.func })
hl(0, 'ErrorMsg', { fg = c.fg, bg = c.error, standout = true })
hl(0, 'VertSplit', { fg = c.panel_bg, bg = c.panel_bg })
hl(0, 'Folded', { fg = c.fg_idle, bg = c.panel_bg })
hl(0, 'FoldColumn', { bg = c.panel_bg })
hl(0, 'SignColumn', { bg = c.panel_bg })
hl(0, 'MatchParen', { fg = c.fg, bg = c.bg, underline = true })
hl(0, 'ModeMsg', { fg = c.string })
hl(0, 'MoreMsg', { fg = c.string })
hl(0, 'NonText', { fg = c.guide_normal })
-- TODO: fix pmenu colors
hl(0, 'Pmenu', { fg = c.fg, bg = c.selection_inactive })
hl(0, 'PmenuSel', { fg = c.fg, bg = c.selection_inactive, reverse = true })
hl(0, 'FloatBorder', { fg = c.fg, bg = c.selection_inactive })
hl(0, 'Question', { fg = c.string })
hl(0, 'Search', { fg = c.bg, bg = c.constant }) -- TODO: fix color
hl(0, 'SpecialKey', { fg = c.selection_inactive })
hl(0, 'SpellCap', { fg = c.tag, undercurl = true, sp = c.error })
hl(0, 'SpellLocal', { fg = c.keyword, undercurl = true, sp = c.keyword })
hl(0, 'SpellBad', { fg = c.error, undercurl = true, sp = c.error })
hl(0, 'SpellRare', { fg = c.regexp, undercurl = true, sp = c.error })
hl(0, 'StatusLine', { fg = c.fg, bg = c.panel_bg })
hl(0, 'StatusLineNC', { fg = c.fg_idle, bg = c.panel_bg })
hl(0, 'WildMenu', { fg = c.fg, bg = c.markup }) -- TODO: fix color
hl(0, 'TabLine', { fg = c.comment, bg = c.panel_shadow })
hl(0, 'TabLineFill', { fg = c.fg, bg = c.panel_border })
hl(0, 'TabLineSel', { fg = c.fg, bg = c.bg })
hl(0, 'Title', { fg = c.keyword, bold = true })
hl(0, 'Visual', { bg = c.selection_inactive })
hl(0, 'WarningMsg', { fg = c.warning, bold = true })
-- syntax
hl(0, 'Comment', { fg = c.comment, italic = opts.italic_comments })
hl(0, 'Constant', { fg = c.constant })
hl(0, 'String', { fg = c.string })
hl(0, 'Identifier', { fg = c.entity })
hl(0, 'Function', { fg = c.func })
hl(0, 'Statement', { fg = c.keyword })
hl(0, 'Operator', { fg = c.operator })
hl(0, 'Exception', { fg = c.markup })
hl(0, 'PreProc', { fg = c.accent })
hl(0, 'Type', { fg = c.entity })
hl(0, 'Structure', { fg = c.special })
--hl(0, 'Special', { fg = c.accent })
hl(0, 'Delimiter', { fg = c.special })
hl(0, 'Underlined', { fg = c.tag, underline = true })
hl(0, 'Ignore', {})
hl(0, 'Error', { fg = c.fg, bg = c.error, undercurl = true, sp = c.error })
hl(0, 'Todo', { fg = c.markup })
-- quickfix window highlighting
hl(0, 'qfLineNr', { fg = c.keyword })
hl(0, 'Conceal', { fg = c.comment })
hl(0, 'CursorLineConceal', { fg = c.guide_normal, bg = c.line })
-- diff syntax highlighting
hl(0, 'DiffAdd', { fg = c.vcs_added, bg = c.guide_normal })
hl(0, 'diffAdded', { link = 'DiffAdd' })
hl(0, 'DiffChange', { fg = c.vcs_modified, bg = c.guide_normal })
hl(0, 'DiffDelete', { fg = c.vcs_removed, bg = c.guide_normal })
hl(0, 'diffRemoved', { link = 'DiffDelete' })
hl(0, 'DiffText', { fg = c.vcs_modified, bg = c.guide_active })
-- netrw
hl(0, 'netrwClassify', { fg = c.special })
-- gitgutter
hl(0, 'GitGutterAdd', { fg = c.vcs_added, bg = c.panel_bg })
hl(0, 'GitGutterChange', { fg = c.vcs_modified, bg = c.panel_bg })
hl(0, 'GitGutterDelete', { fg = c.vcs_removed, bg = c.panel_bg })
hl(0, 'GitGutterChangeDelete', { fg = c.vcs_modified, bg = c.panel_bg, underline = true })
-- signify
hl(0, 'SignifySignAdd', { fg = c.vcs_added, bg = c.panel_bg })
hl(0, 'SignifySignChange', { fg = c.vcs_modified, bg = c.panel_bg })
hl(0, 'SignifySignDelete', { fg = c.vcs_removed, bg = c.panel_bg })
hl(0, 'SignifySignChangeDelete', { fg = c.vcs_modified, bg = c.panel_bg, underline = true })
-- nerdtree
hl(0, 'NERDTreeOpenable', { fg = c.fg_idle })
hl(0, 'NERDTreeCloseable', { fg = c.accent })
hl(0, 'NERDTreeUp', { fg = c.fg_idle })
hl(0, 'NERDTreeDir', { fg = c.func })
hl(0, 'NERDTreeFile', {})
hl(0, 'NERDTreeDirSlash', { fg = c.special })
-- telescope
hl(0, 'TelescopeMatching', { fg = c.accent, bold = true })
hl(0, 'TelescopePromptBorder', { fg = c.guide_normal })
hl(0, 'TelescopeResultsBorder', { fg = c.guide_normal })
hl(0, 'TelescopePreviewBorder', { fg = c.guide_normal })
hl(0, 'TelescopeNormal', { fg = c.fg })
hl(0, 'TelescopeSelection', { fg = c.fg, bg = c.vscPopupHighlightBlue })
hl(0, 'TelescopeMultiSelection', { fg = c.fg, bg = c.vscPopupHighlightBlue })
hl(0, 'TelescopePromptPrefix', { fg = c.fg, bg = 'NONE' })
-- lsp
hl(0, 'DiagnosticDefaultError', { fg = c.error })
hl(0, 'DiagnosticUnderlineError', { fg = c.error, undercurl = true, sp = c.error })
hl(0, 'DiagnosticSignError', { fg = c.error, bg = c.panel_bg })
hl(0, 'DiagnosticWarn', { fg = c.warning })
hl(0, 'DiagnosticUnderlineWarn', { fg = c.warning, undercurl = true, sp = c.warning })
hl(0, 'DiagnosticSignWarning', { fg = c.warning, bg = c.panel_bg })
hl(0, 'DiagnosticVirtualTextHint', { fg = c.comment })
hl(0, 'DiagnosticSignHint', { fg = c.comment })
hl(0, 'DiagnosticHint', { fg = c.comment })
hl(0, 'DiagnosticVirtualTextInfo', { fg = c.fg })
hl(0, 'DiagnosticSignInfo', { fg = c.fg })
hl(0, 'DiagnosticInfo', { fg = c.fg })
-- yats
hl(0, 'typescriptDecorator', { fg = c.markup })
hl(0, 'typescriptImport', { fg = c.accent })
hl(0, 'typescriptExport', { fg = c.accent })
hl(0, 'typescriptIdentifier', { fg = c.tag, italic = opts.italic_comments })
hl(0, 'typescriptAssign', { fg = c.operator })
hl(0, 'typescriptBinaryOp', { fg = c.operator })
hl(0, 'typescriptTernaryOp', { fg = c.operator })
hl(0, 'typescriptModule', { fg = c.keyword })
hl(0, 'typescriptTypeBrackets', { fg = c.special })
hl(0, 'typescriptClassName', { fg = c.tag })
hl(0, 'typescriptAmbientDeclaration', { fg = c.keyword })
hl(0, 'typescriptRegextString', { fg = c.regexp })
hl(0, 'typescriptTry', { fg = c.markup })
hl(0, 'typescriptExceptions', { fg = c.markup })
hl(0, 'typescriptDebugger', { fg = c.markup, bold = true })
hl(0, 'typescriptParens', { fg = c.special })
hl(0, 'typescriptVariable', { fg = c.keyword })
hl(0, 'typescriptObjectLabel', { fg = c.tag })
hl(0, 'typescriptOperator', { fg = c.keyword })
hl(0, 'typescriptArrowFunc', { fg = c.operator })
hl(0, 'typescriptBraces', { fg = c.special })
hl(0, 'typescriptGlobal', { fg = c.accent })
hl(0, 'typescriptDOMFormProp', { fg = c.entity })
hl(0, 'typescriptDOMEventProp', { fg = c.entity })
hl(0, 'typescriptBOMWindowProp', { fg = c.accent })
hl(0, 'typescriptDateMethod', { fg = c.func })
hl(0, 'typescriptBlobMethod', { fg = c.func })
hl(0, 'typescriptArrayMethod', { fg = c.func })
hl(0, 'typescriptArrayStaticMethod', { fg = c.func })
hl(0, 'typescriptStringMethod', { fg = c.func })
hl(0, 'typescriptPaymentMethod', { fg = c.func })
hl(0, 'typescriptHeadersMethod', { fg = c.func })
hl(0, 'typescriptCacheMethod', { fg = c.func })
hl(0, 'typescriptDOMEEventMethod', { fg = c.func })
hl(0, 'typescriptDOMEEventTargetMethod', { fg = c.func })
hl(0, 'typescriptBOMWindowMethod', { fg = c.func })
hl(0, 'typescriptDOMStorageMethod', { fg = c.func })
hl(0, 'typescriptPromiseMethod', { fg = c.func })
hl(0, 'typescriptGlobalMethod', { fg = c.func })
hl(0, 'typescriptFunctionMethod', { fg = c.func })
hl(0, 'typescriptBOMLocationMethod', { fg = c.func })
-- javascript
hl(0, 'jsNull', { fg = c.constant })
hl(0, 'jsThis', { fg = c.constant, italic = opts.italic_comments })
hl(0, 'jsBrackets', { fg = c.special })
hl(0, 'jsDot', { fg = c.special })
hl(0, 'jsParens', { fg = c.special })
hl(0, 'jsFuncParens', { fg = c.special })
hl(0, 'jsFuncBraces', { fg = c.special })
hl(0, 'jsIfElseBraces', { fg = c.special })
hl(0, 'jsObjectKey', { fg = c.tag })
hl(0, 'jsObjectProp', { fg = c.tag })
hl(0, 'jsRegexpString', { fg = c.regexp })
hl(0, 'jsStorageClass', { fg = c.keyword })
hl(0, 'jsArrowFunction', { fg = c.operator })
-- treesitter
hl(0, '@include', { fg = c.accent })
hl(0, '@parameter', { fg = c.special })
hl(0, '@field', { fg = c.tag })
hl(0, '@property', { fg = c.tag })
hl(0, '@attribute', { fg = c.markup })
hl(0, '@variable.builtin', { fg = c.constant, italic = opts.italic_comments })
hl(0, '@constant.builtin', { fg = c.constant })
hl(0, '@string.regex', { fg = c.regexp })
hl(0, '@function.macro', { fg = c.func })
-- fugitive
hl(0, 'fugitiveUntrackedHeading', { fg = c.accent })
hl(0, 'fugitiveUnstagedHeading', { fg = c.accent })
hl(0, 'fugitiveStagedHeading', { fg = c.accent })
hl(0, 'fugitiveHeading', { fg = c.accent })
-- git commit
hl(0, 'gitcommitBranch', { fg = c.func })
hl(0, 'gitcommitHeader', { fg = c.accent })
hl(0, 'gitcommitSummary', { fg = c.fg })
hl(0, 'gitcommitOverflow', { fg = c.markup })
-- startify
hl(0, 'StartifyFile', { fg = c.fg })
-- vim
hl(0, 'vimUserfunc', { fg = c.func })
hl(0, 'vimFunction', { fg = c.func })
hl(0, 'vimIsCommand', {})
-- xml
hl(0, 'xmlTag', { fg = c.special })
hl(0, 'xmlTagName', { fg = c.keyword })
hl(0, 'xmlEntity', { fg = c.tag })
hl(0, 'xmlEntityPunct', { fg = c.operator })
hl(0, 'xmlEqual', { fg = c.operator })
-- ini
hl(0, 'dosiniHeader', { fg = c.keyword })
-- pandoc
hl(0, 'pandocPipeTableHeader', { fg = c.keyword })
hl(0, 'pandocPipeTableDelims', { fg = c.keyword })
hl(0, 'pandocDelimitedCodeBlock', { fg = c.accent })
-- shell
hl(0, 'shTestOpr', { fg = c.operator })
hl(0, 'shOption', { fg = c.special })
hl(0, 'shQuote', { fg = c.string })
-- shell
hl(0, 'haskellDeclKeyword', { fg = c.keyword })
hl(0, 'haskellLet', { fg = c.keyword })
hl(0, 'haskellWhere', { fg = c.keyword })
hl(0, 'haskellIdentifier', { fg = c.tag })
-- php
hl(0, 'phpDefine', { fg = c.keyword })
hl(0, 'phpStructure', { fg = c.keyword })
-- ruby
hl(0, 'rubyModule', { fg = c.keyword })
hl(0, 'rubyRegexp', { fg = c.regexp })
hl(0, 'rubyRegexpDelimiter', { fg = c.regexp })
hl(0, 'rubyStringDelimiter', { fg = c.string })
-- nvimtree
hl(0, 'NvimTreeRootFolder', { fg = c.fg, bold = true })
hl(0, 'NvimTreeGitDirty', { fg = c.vcs_modified })
hl(0, 'NvimTreeGitNew', { fg = c.vcs_added })
hl(0, 'NvimTreeImageFile', { fg = c.keyword })
hl(0, 'NvimTreeEmptyFolderName', { fg = c.ui })
hl(0, 'NvimTreeFolderName', { fg = c.fg })
hl(0, 'NvimTreeSpecialFile', { fg = c.keyword, underline = true })
hl(0, 'NvimTreeNormal', { fg = c.fg })
hl(0, 'NvimTreeCursorLine', {})
hl(0, 'NvimTreeVertSplit', { bg = c.bg })
hl(0, 'NvimTreeEndOfBuffer', {})
hl(0, 'NvimTreeOpenedFolderName', {})
hl(0, 'NvimTreeGitRenamed', { fg = c.vcs_modified })
hl(0, 'NvimTreeGitIgnored', { fg = c.ui })
hl(0, 'NvimTreeGitDeleted', { fg = c.vcs_removed })
hl(0, 'NvimTreeGitStaged', { fg = c.vcs_added })
hl(0, 'NvimTreeGitMerge', { fg = c.error })
hl(0, 'NvimTreeGitDirty', { fg = c.vcs_modified })
hl(0, 'NvimTreeGitNew', { fg = c.vcs_added })
end
return theme

Loading…
Cancel
Save