neovim

Personal neovim configuration files
git clone git://gtms.dev/neovim
Log | Files | Refs

commit a56af0ae9fd2f0b5c57be5db1c5ebdf262360426
parent b4657f74ed8ed51b61c3a46fc264a8b07499056f
Author: Tomas Nemec <owl@gtms.dev>
Date:   Mon, 11 Dec 2023 23:19:51 +0100

update

Diffstat:
Dcolors/base16.lua | 441-------------------------------------------------------------------------------
Acolors/tms.lua | 344+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Minit.lua | 2+-
Mlua/plugins.lua | 37++++++++++++++++++-------------------
Mlua/tms/first_load.lua | 1-
5 files changed, 363 insertions(+), 462 deletions(-)

diff --git a/colors/base16.lua b/colors/base16.lua @@ -1,441 +0,0 @@ --- start color --- base16-nvim (https://github.com/wincent/base16-nvim) --- by Greg Hurrell (https://github.com/wincent) --- based on --- base16-vim (https://github.com/chriskempson/base16-vim) --- by Chris Kempson (https://github.com/chriskempson) --- Gruvbox dark, hard scheme by Dawid Kurek (dawikur@gmail.com), morhetz (https://github.com/morhetz/gruvbox) -local gui00 = '#1d2021' -local gui01 = '#3c3836' -local gui02 = '#504945' -local gui03 = '#665c54' -local gui04 = '#bdae93' -local gui05 = '#d5c4a1' -local gui06 = '#ebdbb2' -local gui07 = '#fbf1c7' -local gui08 = '#fb4934' -local gui09 = '#fe8019' -local gui0A = '#fabd2f' -local gui0B = '#b8bb26' -local gui0C = '#8ec07c' -local gui0D = '#83a598' -local gui0E = '#d3869b' -local gui0F = '#d65d0e' - -local cterm00 = 0 -local cterm03 = 8 -local cterm05 = 7 -local cterm07 = 15 -local cterm08 = 1 -local cterm0A = 3 -local cterm0B = 2 -local cterm0C = 6 -local cterm0D = 4 -local cterm0E = 5 -local cterm01 = 10 -local cterm02 = 11 -local cterm04 = 12 -local cterm06 = 13 -local cterm09 = 9 -local cterm0F = 14 - -vim.cmd [[ - highlight clear - syntax reset -]] -vim.g.colors_name = 'base16-gruvbox-dark-hard' - --- Vim editor colors fg bg ctermfg ctermbg attr guisp -vim.api.nvim_set_hl(0, 'Normal', { fg = gui05, bg = gui00, ctermfg = cterm05, ctermbg = cterm00 }) -vim.api.nvim_set_hl(0, 'Bold', { bold = true }) -vim.api.nvim_set_hl(0, 'Debug', { fg = gui08, ctermfg = cterm08 }) -vim.api.nvim_set_hl(0, 'Directory', { fg = gui0D, ctermfg = cterm0D }) -vim.api.nvim_set_hl(0, 'Error', { fg = gui00, bg = gui08, ctermfg = cterm00, ctermbg = cterm08 }) -vim.api.nvim_set_hl(0, 'ErrorMsg', { fg = gui08, bg = gui00, ctermfg = cterm08, ctermbg = cterm00 }) -vim.api.nvim_set_hl(0, 'Exception', { fg = gui08, ctermfg = cterm08 }) -vim.api.nvim_set_hl(0, 'FoldColumn', { fg = gui0C, bg = gui01, ctermfg = cterm0C, ctermbg = cterm01 }) -vim.api.nvim_set_hl(0, 'Folded', { fg = gui03, bg = gui01, ctermfg = cterm03, ctermbg = cterm01 }) -vim.api.nvim_set_hl(0, 'IncSearch', { fg = gui01, bg = gui09, ctermfg = cterm01, ctermbg = cterm09 }) -vim.api.nvim_set_hl(0, 'Italic', {}) -vim.api.nvim_set_hl(0, 'Macro', { fg = gui08, ctermfg = cterm08 }) -vim.api.nvim_set_hl(0, 'MatchParen', { bg = gui03, ctermbg = cterm03 }) -vim.api.nvim_set_hl(0, 'ModeMsg', { fg = gui0B, ctermfg = cterm0B }) -vim.api.nvim_set_hl(0, 'MoreMsg', { fg = gui0B, ctermfg = cterm0B }) -vim.api.nvim_set_hl(0, 'Question', { fg = gui0D, ctermfg = cterm0D }) -vim.api.nvim_set_hl(0, 'Search', { fg = gui01, bg = gui0A, ctermfg = cterm01, ctermbg = cterm0A }) -vim.api.nvim_set_hl(0, 'Substitute', { fg = gui01, bg = gui0A, ctermfg = cterm01, ctermbg = cterm0A }) -vim.api.nvim_set_hl(0, 'SpecialKey', { fg = gui03, ctermfg = cterm03 }) -vim.api.nvim_set_hl(0, 'TooLong', { fg = gui08, ctermfg = cterm08 }) -vim.api.nvim_set_hl(0, 'Underlined', { fg = gui08, ctermfg = cterm08 }) -vim.api.nvim_set_hl(0, 'Visual', { bg = gui02, ctermbg = cterm02 }) -vim.api.nvim_set_hl(0, 'VisualNOS', { fg = gui08, ctermfg = cterm08 }) -vim.api.nvim_set_hl(0, 'WarningMsg', { fg = gui08, ctermfg = cterm08 }) -vim.api.nvim_set_hl(0, 'WildMenu', { fg = gui08, bg = gui0A, ctermfg = cterm08 }) -vim.api.nvim_set_hl(0, 'Title', { fg = gui0D, ctermfg = cterm0D }) -vim.api.nvim_set_hl(0, 'Conceal', { fg = gui0D, bg = gui00, ctermfg = cterm0D, ctermbg = cterm00 }) -vim.api.nvim_set_hl(0, 'Cursor', { fg = gui00, bg = gui05, ctermfg = cterm00, ctermbg = cterm05 }) -vim.api.nvim_set_hl(0, 'NonText', { fg = gui03, ctermfg = cterm03 }) -vim.api.nvim_set_hl(0, 'LineNr', { fg = gui03, bg = gui01, ctermfg = cterm03, ctermbg = cterm01 }) -vim.api.nvim_set_hl(0, 'SignColumn', { fg = gui03, bg = gui01, ctermfg = cterm03, ctermbg = cterm01 }) -vim.api.nvim_set_hl(0, 'StatusLine', { fg = gui04, bg = gui02, ctermfg = cterm04, ctermbg = cterm02 }) -vim.api.nvim_set_hl(0, 'StatusLineNC', { fg = gui03, bg = gui01, ctermfg = cterm03, ctermbg = cterm01 }) -vim.api.nvim_set_hl(0, 'VertSplit', { fg = gui02, bg = gui02, ctermfg = cterm02, ctermbg = cterm02 }) -vim.api.nvim_set_hl(0, 'ColorColumn', { bg = gui01, ctermbg = cterm01 }) -vim.api.nvim_set_hl(0, 'CursorColumn', { bg = gui01, ctermbg = cterm01 }) -vim.api.nvim_set_hl(0, 'CursorLine', { bg = gui01, ctermbg = cterm01 }) -vim.api.nvim_set_hl(0, 'CursorLineNr', { fg = gui04, bg = gui01, ctermfg = cterm04, ctermbg = cterm01 }) -vim.api.nvim_set_hl(0, 'QuickFixLine', { bg = gui01, ctermbg = cterm01 }) -vim.api.nvim_set_hl(0, 'PMenu', { fg = gui05, bg = gui01, ctermfg = cterm05, ctermbg = cterm01 }) -vim.api.nvim_set_hl(0, 'PMenuSel', { fg = gui01, bg = gui05, ctermfg = cterm01, ctermbg = cterm05 }) -vim.api.nvim_set_hl(0, 'TabLine', { fg = gui03, bg = gui01, ctermfg = cterm03, ctermbg = cterm01 }) -vim.api.nvim_set_hl(0, 'TabLineFill', { fg = gui03, bg = gui01, ctermfg = cterm03, ctermbg = cterm01 }) -vim.api.nvim_set_hl(0, 'TabLineSel', { fg = gui0B, bg = gui01, ctermfg = cterm0B, ctermbg = cterm01 }) - --- Standard syntax highlighting -vim.api.nvim_set_hl(0, 'Boolean', { fg = gui09, ctermfg = cterm09 }) -vim.api.nvim_set_hl(0, 'Character', { fg = gui08, ctermfg = cterm08 }) -vim.api.nvim_set_hl(0, 'Comment', { fg = gui03, ctermfg = cterm03 }) -vim.api.nvim_set_hl(0, 'Conditional', { fg = gui0E, ctermfg = cterm0E }) -vim.api.nvim_set_hl(0, 'Constant', { fg = gui09, ctermfg = cterm09 }) -vim.api.nvim_set_hl(0, 'Define', { fg = gui0E, ctermfg = cterm0E }) -vim.api.nvim_set_hl(0, 'Delimiter', { fg = gui0F, ctermfg = cterm0F }) -vim.api.nvim_set_hl(0, 'Float', { fg = gui09, ctermfg = cterm09 }) -vim.api.nvim_set_hl(0, 'Function', { fg = gui0D, ctermfg = cterm0D }) -vim.api.nvim_set_hl(0, 'Identifier', { fg = gui05, ctermfg = cterm05 }) -vim.api.nvim_set_hl(0, 'Include', { fg = gui0D, ctermfg = cterm0D }) -vim.api.nvim_set_hl(0, 'Keyword', { fg = gui0E, ctermfg = cterm0E }) -vim.api.nvim_set_hl(0, 'Label', { fg = gui0A, ctermfg = cterm0A }) -vim.api.nvim_set_hl(0, 'Number', { fg = gui09, ctermfg = cterm09 }) -vim.api.nvim_set_hl(0, 'Operator', { fg = gui05, ctermfg = cterm05 }) -vim.api.nvim_set_hl(0, 'PreProc', { fg = gui0A, ctermfg = cterm0A }) -vim.api.nvim_set_hl(0, 'Repeat', { fg = gui0A, ctermfg = cterm0A }) -vim.api.nvim_set_hl(0, 'Special', { fg = gui0C, ctermfg = cterm0C }) -vim.api.nvim_set_hl(0, 'SpecialChar', { fg = gui0F, ctermfg = cterm0F }) -vim.api.nvim_set_hl(0, 'Statement', { fg = gui0E, ctermfg = cterm0E }) -vim.api.nvim_set_hl(0, 'StorageClass', { fg = gui0A, ctermfg = cterm0A }) -vim.api.nvim_set_hl(0, 'String', { fg = gui0B, ctermfg = cterm0B }) -vim.api.nvim_set_hl(0, 'Structure', { fg = gui0E, ctermfg = cterm0E }) -vim.api.nvim_set_hl(0, 'Tag', { fg = gui0A, ctermfg = cterm0A }) -vim.api.nvim_set_hl(0, 'Todo', { fg = gui0A, bg = gui01, ctermfg = cterm0A, ctermbg = cterm01 }) -vim.api.nvim_set_hl(0, 'Type', { fg = gui0A, ctermfg = cterm0A }) -vim.api.nvim_set_hl(0, 'Typedef', { fg = gui0A, ctermfg = cterm0A }) - --- C highlighting -vim.api.nvim_set_hl(0, 'cOperator', { fg = gui0C, ctermfg = cterm0C }) -vim.api.nvim_set_hl(0, 'cPreCondit', { fg = gui0E, ctermfg = cterm0E }) - --- C# highlighting -vim.api.nvim_set_hl(0, 'csClass', { fg = gui0A, ctermfg = cterm0A }) -vim.api.nvim_set_hl(0, 'csAttribute', { fg = gui0A, ctermfg = cterm0A }) -vim.api.nvim_set_hl(0, 'csModifier', { fg = gui0E, ctermfg = cterm0E }) -vim.api.nvim_set_hl(0, 'csType', { fg = gui08, ctermfg = cterm08 }) -vim.api.nvim_set_hl(0, 'csUnspecifiedStatement', { fg = gui0D, ctermfg = cterm0D }) -vim.api.nvim_set_hl(0, 'csContextualStatement', { fg = gui0E, ctermfg = cterm0E }) -vim.api.nvim_set_hl(0, 'csNewDecleration', { fg = gui08, ctermfg = cterm08 }) - --- CSS highlighting -vim.api.nvim_set_hl(0, 'cssBraces', { fg = gui05, ctermfg = cterm05 }) -vim.api.nvim_set_hl(0, 'cssClassName', { fg = gui0E, ctermfg = cterm0E }) -vim.api.nvim_set_hl(0, 'cssColor', { fg = gui0C, ctermfg = cterm0C }) - --- Diff highlighting -vim.api.nvim_set_hl(0, 'DiffAdd', { fg = gui0B, bg = gui01, ctermfg = cterm0B, ctermbg = cterm01 }) -vim.api.nvim_set_hl(0, 'DiffChange', { fg = gui03, bg = gui01, ctermfg = cterm03, ctermbg = cterm01 }) -vim.api.nvim_set_hl(0, 'DiffDelete', { fg = gui08, bg = gui01, ctermfg = cterm08, ctermbg = cterm01 }) -vim.api.nvim_set_hl(0, 'DiffText', { fg = gui0D, bg = gui01, ctermfg = cterm0D, ctermbg = cterm01 }) -vim.api.nvim_set_hl(0, 'DiffAdded', { fg = gui0B, bg = gui00, ctermfg = cterm0B, ctermbg = cterm00 }) -vim.api.nvim_set_hl(0, 'DiffFile', { fg = gui08, bg = gui00, ctermfg = cterm08, ctermbg = cterm00 }) -vim.api.nvim_set_hl(0, 'DiffNewFile', { fg = gui0B, bg = gui00, ctermfg = cterm0B, ctermbg = cterm00 }) -vim.api.nvim_set_hl(0, 'DiffLine', { fg = gui0D, bg = gui00, ctermfg = cterm0D, ctermbg = cterm00 }) -vim.api.nvim_set_hl(0, 'DiffRemoved', { fg = gui08, bg = gui00, ctermfg = cterm08, ctermbg = cterm00 }) - --- Git highlighting -vim.api.nvim_set_hl(0, 'gitcommitOverflow', { fg = gui08, ctermfg = cterm08 }) -vim.api.nvim_set_hl(0, 'gitcommitSummary', { fg = gui0B, ctermfg = cterm0B }) -vim.api.nvim_set_hl(0, 'gitcommitComment', { fg = gui03, ctermfg = cterm03 }) -vim.api.nvim_set_hl(0, 'gitcommitUntracked', { fg = gui03, ctermfg = cterm03 }) -vim.api.nvim_set_hl(0, 'gitcommitDiscarded', { fg = gui03, ctermfg = cterm03 }) -vim.api.nvim_set_hl(0, 'gitcommitSelected', { fg = gui03, ctermfg = cterm03 }) -vim.api.nvim_set_hl(0, 'gitcommitHeader', { fg = gui0E, ctermfg = cterm0E }) -vim.api.nvim_set_hl(0, 'gitcommitSelectedType', { fg = gui0D, ctermfg = cterm0D }) -vim.api.nvim_set_hl(0, 'gitcommitUnmergedType', { fg = gui0D, ctermfg = cterm0D }) -vim.api.nvim_set_hl(0, 'gitcommitDiscardedType', { fg = gui0D, ctermfg = cterm0D }) -vim.api.nvim_set_hl(0, 'gitcommitBranch', { fg = gui09, ctermfg = cterm09, bold = true }) -vim.api.nvim_set_hl(0, 'gitcommitUntrackedFile', { fg = gui0A, ctermfg = cterm0A }) -vim.api.nvim_set_hl(0, 'gitcommitUnmergedFile', { fg = gui08, ctermfg = cterm08, bold = true }) -vim.api.nvim_set_hl(0, 'gitcommitDiscardedFile', { fg = gui08, ctermfg = cterm08, bold = true }) -vim.api.nvim_set_hl(0, 'gitcommitSelectedFile', { fg = gui0B, ctermfg = cterm0B, bold = true }) - --- GitGutter highlighting -vim.api.nvim_set_hl(0, 'GitGutterAdd', { fg = gui0B, bg = gui01, ctermfg = cterm0B, ctermbg = cterm01 }) -vim.api.nvim_set_hl(0, 'GitGutterChange', { fg = gui0D, bg = gui01, ctermfg = cterm0D, ctermbg = cterm01 }) -vim.api.nvim_set_hl(0, 'GitGutterDelete', { fg = gui08, bg = gui01, ctermfg = cterm08, ctermbg = cterm01 }) -vim.api.nvim_set_hl(0, 'GitGutterChangeDelete', { fg = gui0E, bg = gui01, ctermfg = cterm0E, ctermbg = cterm01 }) - --- HTML highlighting -vim.api.nvim_set_hl(0, 'htmlBold', { fg = gui0A, ctermfg = cterm0A }) -vim.api.nvim_set_hl(0, 'htmlItalic', { fg = gui0E, ctermfg = cterm0E }) -vim.api.nvim_set_hl(0, 'htmlEndTag', { fg = gui05, ctermfg = cterm05 }) -vim.api.nvim_set_hl(0, 'htmlTag', { fg = gui05, ctermfg = cterm05 }) - --- JavaScript highlighting -vim.api.nvim_set_hl(0, 'javaScript', { fg = gui05, ctermfg = cterm05 }) -vim.api.nvim_set_hl(0, 'javaScriptBraces', { fg = gui05, ctermfg = cterm05 }) -vim.api.nvim_set_hl(0, 'javaScriptNumber', { fg = gui09, ctermfg = cterm09 }) - --- pangloss/vim-javascript highlighting -vim.api.nvim_set_hl(0, 'jsOperator', { fg = gui0D, ctermfg = cterm0D }) -vim.api.nvim_set_hl(0, 'jsStatement', { fg = gui0E, ctermfg = cterm0E }) -vim.api.nvim_set_hl(0, 'jsReturn', { fg = gui0E, ctermfg = cterm0E }) -vim.api.nvim_set_hl(0, 'jsThis', { fg = gui08, ctermfg = cterm08 }) -vim.api.nvim_set_hl(0, 'jsClassDefinition', { fg = gui0A, ctermfg = cterm0A }) -vim.api.nvim_set_hl(0, 'jsFunction', { fg = gui0E, ctermfg = cterm0E }) -vim.api.nvim_set_hl(0, 'jsFuncName', { fg = gui0D, ctermfg = cterm0D }) -vim.api.nvim_set_hl(0, 'jsFuncCall', { fg = gui0D, ctermfg = cterm0D }) -vim.api.nvim_set_hl(0, 'jsClassFuncName', { fg = gui0D, ctermfg = cterm0D }) -vim.api.nvim_set_hl(0, 'jsClassMethodType', { fg = gui0E, ctermfg = cterm0E }) -vim.api.nvim_set_hl(0, 'jsRegexpString', { fg = gui0C, ctermfg = cterm0C }) -vim.api.nvim_set_hl(0, 'jsGlobalObjects', { fg = gui0A, ctermfg = cterm0A }) -vim.api.nvim_set_hl(0, 'jsGlobalNodeObjects', { fg = gui0A, ctermfg = cterm0A }) -vim.api.nvim_set_hl(0, 'jsExceptions', { fg = gui0A, ctermfg = cterm0A }) -vim.api.nvim_set_hl(0, 'jsBuiltins', { fg = gui0A, ctermfg = cterm0A }) - --- LSP highlighting -vim.api.nvim_set_hl(0, 'LspDiagnosticsDefaultError', { fg = gui08, ctermfg = cterm08 }) -vim.api.nvim_set_hl(0, 'LspDiagnosticsDefaultWarning', { fg = gui09, ctermfg = cterm09 }) -vim.api.nvim_set_hl(0, 'LspDiagnosticsDefaultHnformation', { fg = gui05, ctermfg = cterm05 }) -vim.api.nvim_set_hl(0, 'LspDiagnosticsDefaultHint', { fg = gui03, ctermfg = cterm03 }) - --- Mail highlighting -vim.api.nvim_set_hl(0, 'mailQuoted1', { fg = gui0A, ctermfg = cterm0A }) -vim.api.nvim_set_hl(0, 'mailQuoted2', { fg = gui0B, ctermfg = cterm0B }) -vim.api.nvim_set_hl(0, 'mailQuoted3', { fg = gui0E, ctermfg = cterm0E }) -vim.api.nvim_set_hl(0, 'mailQuoted4', { fg = gui0C, ctermfg = cterm0C }) -vim.api.nvim_set_hl(0, 'mailQuoted5', { fg = gui0D, ctermfg = cterm0D }) -vim.api.nvim_set_hl(0, 'mailQuoted6', { fg = gui0A, ctermfg = cterm0A }) -vim.api.nvim_set_hl(0, 'mailURL', { fg = gui0D, ctermfg = cterm0D }) -vim.api.nvim_set_hl(0, 'mailEmail', { fg = gui0D, ctermfg = cterm0D }) - --- Markdown highlighting -vim.api.nvim_set_hl(0, 'markdownCode', { fg = gui0B, ctermfg = cterm0B }) -vim.api.nvim_set_hl(0, 'markdownError', { fg = gui05, bg = gui00, ctermfg = cterm05, ctermbg = cterm00 }) -vim.api.nvim_set_hl(0, 'markdownCodeBlock', { fg = gui0B, ctermfg = cterm0B }) -vim.api.nvim_set_hl(0, 'markdownHeadingDelimiter', { fg = gui0D, ctermfg = cterm0D }) - --- NERDTree highlighting -vim.api.nvim_set_hl(0, 'NERDTreeDirSlash', { fg = gui0D, ctermfg = cterm0D }) -vim.api.nvim_set_hl(0, 'NERDTreeExecFile', { fg = gui05, ctermfg = cterm05 }) - --- PHP highlighting -vim.api.nvim_set_hl(0, 'phpMemberSelector', { fg = gui05, ctermfg = cterm05 }) -vim.api.nvim_set_hl(0, 'phpComparison', { fg = gui05, ctermfg = cterm05 }) -vim.api.nvim_set_hl(0, 'phpParent', { fg = gui05, ctermfg = cterm05 }) -vim.api.nvim_set_hl(0, 'phpMethodsVar', { fg = gui0C, ctermfg = cterm0C }) - --- Python highlighting -vim.api.nvim_set_hl(0, 'pythonOperator', { fg = gui0E, ctermfg = cterm0E }) -vim.api.nvim_set_hl(0, 'pythonRepeat', { fg = gui0E, ctermfg = cterm0E }) -vim.api.nvim_set_hl(0, 'pythonInclude', { fg = gui0E, ctermfg = cterm0E }) -vim.api.nvim_set_hl(0, 'pythonStatement', { fg = gui0E, ctermfg = cterm0E }) - --- Ruby highlighting -vim.api.nvim_set_hl(0, 'rubyAttribute', { fg = gui0D, ctermfg = cterm0D }) -vim.api.nvim_set_hl(0, 'rubyConstant', { fg = gui0A, ctermfg = cterm0A }) -vim.api.nvim_set_hl(0, 'rubyInterpolationDelimiter', { fg = gui0F, ctermfg = cterm0F }) -vim.api.nvim_set_hl(0, 'rubyRegexp', { fg = gui0C, ctermfg = cterm0C }) -vim.api.nvim_set_hl(0, 'rubySymbol', { fg = gui0B, ctermfg = cterm0B }) -vim.api.nvim_set_hl(0, 'rubyStringDelimiter', { fg = gui0B, ctermfg = cterm0B }) - --- SASS highlighting -vim.api.nvim_set_hl(0, 'sassidChar', { fg = gui08, ctermfg = cterm08 }) -vim.api.nvim_set_hl(0, 'sassClassChar', { fg = gui09, ctermfg = cterm09 }) -vim.api.nvim_set_hl(0, 'sassInclude', { fg = gui0E, ctermfg = cterm0E }) -vim.api.nvim_set_hl(0, 'sassMixing', { fg = gui0E, ctermfg = cterm0E }) -vim.api.nvim_set_hl(0, 'sassMixinName', { fg = gui0D, ctermfg = cterm0D }) - --- Signify highlighting -vim.api.nvim_set_hl(0, 'SignifySignAdd', { fg = gui0B, bg = gui01, ctermfg = cterm0B, ctermbg = cterm01 }) -vim.api.nvim_set_hl(0, 'SignifySignChange', { fg = gui0D, bg = gui01, ctermfg = cterm0D, ctermbg = cterm01 }) -vim.api.nvim_set_hl(0, 'SignifySignDelete', { fg = gui08, bg = gui01, ctermfg = cterm08, ctermbg = cterm01 }) - --- Spelling highlighting -vim.api.nvim_set_hl(0, 'SpellBad', { undercurl = true }) -vim.api.nvim_set_hl(0, 'SpellLocal', { undercurl = true }) -vim.api.nvim_set_hl(0, 'SpellCap', { undercurl = true }) -vim.api.nvim_set_hl(0, 'SpellRare', { undercurl = true }) - --- Startify highlighting -vim.api.nvim_set_hl(0, 'StartifyBracket', { fg = gui03, ctermfg = cterm03 }) -vim.api.nvim_set_hl(0, 'StartifyFile', { fg = gui07, ctermfg = cterm07 }) -vim.api.nvim_set_hl(0, 'StartifyFooter', { fg = gui03, ctermfg = cterm03 }) -vim.api.nvim_set_hl(0, 'StartifyHeader', { fg = gui0B, ctermfg = cterm0B }) -vim.api.nvim_set_hl(0, 'StartifyNumber', { fg = gui09, ctermfg = cterm09 }) -vim.api.nvim_set_hl(0, 'StartifyPath', { fg = gui03, ctermfg = cterm03 }) -vim.api.nvim_set_hl(0, 'StartifySection', { fg = gui0E, ctermfg = cterm0E }) -vim.api.nvim_set_hl(0, 'StartifySelect', { fg = gui0C, ctermfg = cterm0C }) -vim.api.nvim_set_hl(0, 'StartifySlash', { fg = gui03, ctermfg = cterm03 }) -vim.api.nvim_set_hl(0, 'StartifySpecial', { fg = gui03, ctermfg = cterm03 }) - --- Java highlighting -vim.api.nvim_set_hl(0, 'javaOperator', { fg = gui0D, ctermfg = cterm0D }) - --- vim: filetype=lua --- end color --- - -vim.api.nvim_set_hl(0, 'LineNr', { fg = gui03, bg = gui00 }) -vim.api.nvim_set_hl(0, 'SignColumn', { fg = gui03, bg = gui00 }) -vim.api.nvim_set_hl(0, 'StatusLine', { fg = gui04, bg = gui01 }) -vim.api.nvim_set_hl(0, 'TreesitterContext', { bg = gui01 }) -vim.api.nvim_set_hl(0, 'NormalFloat', {}) -vim.api.nvim_set_hl(0, 'WinSeparator', {}) -vim.api.nvim_set_hl(0, 'FloatBorder', {}) -vim.api.nvim_set_hl(0, 'StatusLine', { fg = 'background', bg = 'background' }) -vim.api.nvim_set_hl(0, 'Identifier', { fg = gui05, ctermfg = cterm05 }) - -vim.api.nvim_set_hl(0, 'Beacon', { bg = 'fg' }) -vim.api.nvim_set_hl(0, 'LspInlayHint', { fg = gui03 }) - --- cmp -vim.api.nvim_set_hl(0, 'CmpItemKindFunction', { fg = gui0E }) -vim.api.nvim_set_hl(0, 'CmpItemKindMethod', { link = 'CmpItemKindFunction' }) -vim.api.nvim_set_hl(0, 'CmpItemKindClass', { fg = gui0A }) -vim.api.nvim_set_hl(0, 'CmpItemKindConstructor', { fg = gui0D }) - --- leap -vim.api.nvim_set_hl(0, 'LeapBackdrop', { link = 'Comment' }) -vim.api.nvim_set_hl(0, 'LeapMatch', { fg = '#00ff00' }) -vim.api.nvim_set_hl(0, 'LeapLabelPrimary', { fg = '#ffff00' }) -vim.api.nvim_set_hl(require('tms.p.leap').ast_ns, 'LeapLabelPrimary', { link = 'LeapMatch' }) -vim.api.nvim_set_hl(0, 'LeapLabelSecondary', { fg = '#ff0000' }) - --- Diff highlighting -vim.api.nvim_set_hl(0, 'DiffAdd', { fg = gui0B, bg = gui00 }) -vim.api.nvim_set_hl(0, 'DiffChange', { fg = gui03, bg = gui00 }) -vim.api.nvim_set_hl(0, 'DiffDelete', { fg = gui08, bg = gui00 }) -vim.api.nvim_set_hl(0, 'DiffText', { fg = gui0D, bg = gui00 }) -vim.api.nvim_set_hl(0, 'DiffAdded', { fg = gui0B, bg = gui00 }) -vim.api.nvim_set_hl(0, 'DiffFile', { fg = gui08, bg = gui00 }) -vim.api.nvim_set_hl(0, 'DiffNewFile', { fg = gui0B, bg = gui00 }) -vim.api.nvim_set_hl(0, 'DiffLine', { fg = gui0D, bg = gui00 }) -vim.api.nvim_set_hl(0, 'DiffRemoved', { fg = gui08, bg = gui00 }) - --- GitGutter highlighting -vim.api.nvim_set_hl(0, 'GitGutterAdd', { fg = gui0B, bg = gui00 }) -vim.api.nvim_set_hl(0, 'GitGutterChange', { fg = gui0D, bg = gui00 }) -vim.api.nvim_set_hl(0, 'GitGutterDelete', { fg = gui08, bg = gui00 }) -vim.api.nvim_set_hl(0, 'GitGutterChangeDelete', { fg = gui0E, bg = gui00 }) - -vim.api.nvim_set_hl(0, 'CodeiumSuggestion', { link = 'Comment' }) - --- Hide all semantic highlights --- for _, group in ipairs(vim.fn.getcompletion('@lsp', 'highlight')) do --- vim.api.nvim_set_hl(0, group, {}) --- end - -vim.api.nvim_set_hl(0, 'LspReferenceText', { underline = true }) -vim.api.nvim_set_hl(0, 'LspReferenceRead', { undercurl = true }) - --- relink @lsp to @treesitter -local links = { - ['@lsp.type.namespace'] = '@namespace', - ['@lsp.type.type'] = '@type', - ['@lsp.type.class'] = '@type', - ['@lsp.type.enum'] = '@type', - ['@lsp.type.interface'] = '@type', - ['@lsp.type.struct'] = '@structure', - ['@lsp.type.typeParameter'] = 'TypeDef', - ['@lsp.type.parameter'] = '@parameter', - ['@lsp.type.variable'] = '@variable', - ['@lsp.type.property'] = '@property', - ['@lsp.type.enumMember'] = '@constant', - ['@lsp.type.function'] = '@function', - ['@lsp.type.method'] = '@method', - ['@lsp.type.macro'] = '@macro', - ['@lsp.type.decorator'] = '@function', - ['@lsp.type.keyword'] = '@keyword', -} -for newgroup, oldgroup in pairs(links) do - vim.api.nvim_set_hl(0, newgroup, { link = oldgroup, default = true }) -end - -vim.api.nvim_set_hl(0, '@lsp.mod.annotation', { italic = true }) -vim.api.nvim_set_hl(0, '@lsp.type.type', { bold = true }) --- vim.api.nvim_set_hl(0, '@variable.builtin', { link = 'Keyword' }) - -for tsgroup, opts in pairs({ - ['@annotation'] = { italic = true, default = true }, - ['@comment'] = { link = 'Comment' }, - ['@none'] = { bg = 'NONE', fg = 'NONE' }, - ['@preproc'] = { link = 'PreProc' }, - ['@define'] = { link = 'Define' }, - ['@operator'] = { link = 'Operator' }, - ['@punctuation.delimiter'] = { link = 'Delimiter' }, - ['@punctuation.bracket'] = { link = 'Delimiter' }, - ['@punctuation.special'] = { link = 'Delimiter' }, - ['@string'] = { link = 'String' }, - ['@string.regex'] = { link = 'String' }, - ['@string.escape'] = { link = 'SpecialChar' }, - ['@string.special'] = { link = 'SpecialChar' }, - ['@character'] = { link = 'Character' }, - ['@character.special'] = { link = 'SpecialChar' }, - ['@boolean'] = { link = 'Boolean' }, - ['@number'] = { link = 'Number' }, - ['@float'] = { link = 'Float' }, - ['@function'] = { link = 'Function' }, - ['@function.call'] = { link = 'Function' }, - ['@function.builtin'] = { link = 'Special' }, - ['@function.macro'] = { link = 'Macro' }, - ['@method'] = { link = 'Function' }, - ['@method.call'] = { link = 'Function' }, - ['@constructor'] = { link = 'Special' }, - ['@parameter'] = { link = 'Identifier' }, - ['@keyword'] = { link = 'Keyword' }, - ['@keyword.function'] = { link = 'Keyword' }, - ['@keyword.return'] = { link = 'Keyword' }, - ['@conditional'] = { link = 'Conditional' }, - ['@repeat'] = { link = 'Repeat' }, - ['@debug'] = { link = 'Debug' }, - ['@label'] = { link = 'Label' }, - ['@include'] = { link = 'Include' }, - ['@exception'] = { link = 'Exception' }, - ['@type'] = { link = 'Type' }, - ['@type.builtin'] = { link = 'Type' }, - ['@type.qualifier'] = { link = 'Type' }, - ['@type.definition'] = { link = 'Typedef' }, - ['@storageclass'] = { link = 'StorageClass' }, - ['@attribute'] = { link = 'PreProc' }, - ['@field'] = { link = 'Identifier' }, - ['@property'] = { link = 'Identifier' }, - ['@variable.builtin'] = { link = 'Special' }, - ['@constant'] = { link = 'Constant' }, - ['@constant.builtin'] = { link = 'Special' }, - ['@constant.macro'] = { link = 'Define' }, - ['@symbol'] = { link = 'Identifier' }, - ['@text.title'] = { link = 'Title' }, - ['@text.literal'] = { link = 'String' }, - ['@text.uri'] = { link = 'Underlined' }, - ['@text.math'] = { link = 'Special' }, - ['@text.environment'] = { link = 'Macro' }, - ['@text.environment.name'] = { link = 'Type' }, - ['@text.reference'] = { link = 'Constant' }, - ['@text.todo'] = { link = 'Todo' }, - ['@text.todo.unchecked'] = { link = 'Todo' }, - ['@text.todo.checked'] = { link = 'Done' }, - ['@text.note'] = { link = 'SpecialComment' }, - ['@text.warning'] = { link = 'WarningMsg' }, - ['@text.danger'] = { link = 'ErrorMsg' }, - ['@text.diff.add'] = { link = 'diffAdded' }, - ['@text.diff.delete'] = { link = 'diffRemoved' }, - ['@tag'] = { link = 'Tag' }, - ['@tag.attribute'] = { link = 'Identifier' }, - ['@tag.delimiter'] = { link = 'Delimiter' }, - - -- nvim-treesitter (0.8 overrides) - -- ['@text.strong'] = { bold = true }, - -- ['@text.strike'] = { strikethrough = true }, - -- ['@text.emphasis'] = { italic = true }, - -- ['@text.underline'] = { underline = true }, -}) do - vim.api.nvim_set_hl(0, tsgroup, opts) -end diff --git a/colors/tms.lua b/colors/tms.lua @@ -0,0 +1,344 @@ +-- start color +-- base16-nvim (https://github.com/wincent/base16-nvim) +-- by Greg Hurrell (https://github.com/wincent) +-- based on +-- base16-vim (https://github.com/chriskempson/base16-vim) +-- by Chris Kempson (https://github.com/chriskempson) +-- Gruvbox dark, hard scheme by Dawid Kurek (dawikur@gmail.com), morhetz (https://github.com/morhetz/gruvbox) + +local gui00 = "#1d2021" +local gui01 = "#3c3836" +local gui02 = "#504945" +local gui03 = "#665c54" +local gui04 = "#bdae93" +local gui05 = "#d5c4a1" +local gui06 = "#ebdbb2" +local gui07 = "#fbf1c7" +local gui08 = "#fb4934" +local gui09 = "#fe8019" +local gui0A = "#fabd2f" +local gui0B = "#b8bb26" +local gui0C = "#8ec07c" +local gui0D = "#83a598" +local gui0E = "#d3869b" +local gui0F = "#d65d0e" + +local cterm00 = 0 +local cterm03 = 8 +local cterm05 = 7 +local cterm07 = 15 +local cterm08 = 1 +local cterm0A = 3 +local cterm0B = 2 +local cterm0C = 6 +local cterm0D = 4 +local cterm0E = 5 +local cterm01 = 10 +local cterm02 = 11 +local cterm04 = 12 +local cterm06 = 13 +local cterm09 = 9 +local cterm0F = 14 + +vim.cmd [[ + highlight clear + syntax reset +]] +vim.g.colors_name = "base16-gruvbox-dark-hard" + +-- Vim editor colors fg bg ctermfg ctermbg attr guisp +vim.api.nvim_set_hl(0, 'Normal', { fg = gui05, bg = gui00, ctermfg = cterm05, ctermbg = cterm00 }) +vim.api.nvim_set_hl(0, 'Bold', { bold = true }) +vim.api.nvim_set_hl(0, 'Debug', { fg = gui08, ctermfg = cterm08 }) +vim.api.nvim_set_hl(0, 'Directory', { fg = gui0D, ctermfg = cterm0D }) +vim.api.nvim_set_hl(0, 'Error', { fg = gui00, bg = gui08, ctermfg = cterm00, ctermbg = cterm08 }) +vim.api.nvim_set_hl(0, 'ErrorMsg', { fg = gui08, bg = gui00, ctermfg = cterm08, ctermbg = cterm00 }) +vim.api.nvim_set_hl(0, 'Exception', { fg = gui08, ctermfg = cterm08 }) +vim.api.nvim_set_hl(0, 'FoldColumn', { fg = gui0C, bg = gui01, ctermfg = cterm0C, ctermbg = cterm01 }) +vim.api.nvim_set_hl(0, 'Folded', { fg = gui03, bg = gui01, ctermfg = cterm03, ctermbg = cterm01 }) +vim.api.nvim_set_hl(0, 'IncSearch', { fg = gui01, bg = gui09, ctermfg = cterm01, ctermbg = cterm09 }) +vim.api.nvim_set_hl(0, 'Italic', {}) +vim.api.nvim_set_hl(0, 'Macro', { fg = gui08, ctermfg = cterm08 }) +vim.api.nvim_set_hl(0, 'MatchParen', { bg = gui03, ctermbg = cterm03 }) +vim.api.nvim_set_hl(0, 'ModeMsg', { fg = gui0B, ctermfg = cterm0B }) +vim.api.nvim_set_hl(0, 'MoreMsg', { fg = gui0B, ctermfg = cterm0B }) +vim.api.nvim_set_hl(0, 'Question', { fg = gui0D, ctermfg = cterm0D }) +vim.api.nvim_set_hl(0, 'Search', { fg = gui01, bg = gui0A, ctermfg = cterm01, ctermbg = cterm0A }) +vim.api.nvim_set_hl(0, 'Substitute', { fg = gui01, bg = gui0A, ctermfg = cterm01, ctermbg = cterm0A }) +vim.api.nvim_set_hl(0, 'SpecialKey', { fg = gui03, ctermfg = cterm03 }) +vim.api.nvim_set_hl(0, 'TooLong', { fg = gui08, ctermfg = cterm08 }) +vim.api.nvim_set_hl(0, 'Underlined', { fg = gui08, ctermfg = cterm08 }) +vim.api.nvim_set_hl(0, 'Visual', { bg = gui02, ctermbg = cterm02 }) +vim.api.nvim_set_hl(0, 'VisualNOS', { fg = gui08, ctermfg = cterm08 }) +vim.api.nvim_set_hl(0, 'WarningMsg', { fg = gui08, ctermfg = cterm08 }) +vim.api.nvim_set_hl(0, 'WildMenu', { fg = gui08, bg = gui0A, ctermfg = cterm08 }) +vim.api.nvim_set_hl(0, 'Title', { fg = gui0D, ctermfg = cterm0D }) +vim.api.nvim_set_hl(0, 'Conceal', { fg = gui0D, bg = gui00, ctermfg = cterm0D, ctermbg = cterm00 }) +vim.api.nvim_set_hl(0, 'Cursor', { fg = gui00, bg = gui05, ctermfg = cterm00, ctermbg = cterm05 }) +vim.api.nvim_set_hl(0, 'NonText', { fg = gui03, ctermfg = cterm03 }) +vim.api.nvim_set_hl(0, 'LineNr', { fg = gui03, bg = gui01, ctermfg = cterm03, ctermbg = cterm01 }) +vim.api.nvim_set_hl(0, 'SignColumn', { fg = gui03, bg = gui01, ctermfg = cterm03, ctermbg = cterm01 }) +vim.api.nvim_set_hl(0, 'StatusLine', { fg = gui04, bg = gui02, ctermfg = cterm04, ctermbg = cterm02 }) +vim.api.nvim_set_hl(0, 'StatusLineNC', { fg = gui03, bg = gui01, ctermfg = cterm03, ctermbg = cterm01 }) +vim.api.nvim_set_hl(0, 'VertSplit', { fg = gui02, bg = gui02, ctermfg = cterm02, ctermbg = cterm02 }) +vim.api.nvim_set_hl(0, 'ColorColumn', { bg = gui01, ctermbg = cterm01 }) +vim.api.nvim_set_hl(0, 'CursorColumn', { bg = gui01, ctermbg = cterm01 }) +vim.api.nvim_set_hl(0, 'CursorLine', { bg = gui01, ctermbg = cterm01 }) +vim.api.nvim_set_hl(0, 'CursorLineNr', { fg = gui04, bg = gui01, ctermfg = cterm04, ctermbg = cterm01 }) +vim.api.nvim_set_hl(0, 'QuickFixLine', { bg = gui01, ctermbg = cterm01 }) +vim.api.nvim_set_hl(0, 'PMenu', { fg = gui05, bg = gui01, ctermfg = cterm05, ctermbg = cterm01 }) +vim.api.nvim_set_hl(0, 'PMenuSel', { fg = gui01, bg = gui05, ctermfg = cterm01, ctermbg = cterm05 }) +vim.api.nvim_set_hl(0, 'TabLine', { fg = gui03, bg = gui01, ctermfg = cterm03, ctermbg = cterm01 }) +vim.api.nvim_set_hl(0, 'TabLineFill', { fg = gui03, bg = gui01, ctermfg = cterm03, ctermbg = cterm01 }) +vim.api.nvim_set_hl(0, 'TabLineSel', { fg = gui0B, bg = gui01, ctermfg = cterm0B, ctermbg = cterm01 }) + +-- Standard syntax highlighting +vim.api.nvim_set_hl(0, 'Boolean', { fg = gui09, ctermfg = cterm09 }) +vim.api.nvim_set_hl(0, 'Character', { fg = gui08, ctermfg = cterm08 }) +vim.api.nvim_set_hl(0, 'Comment', { fg = gui03, ctermfg = cterm03 }) +vim.api.nvim_set_hl(0, 'Conditional', { fg = gui0E, ctermfg = cterm0E }) +vim.api.nvim_set_hl(0, 'Constant', { fg = gui09, ctermfg = cterm09 }) +vim.api.nvim_set_hl(0, 'Define', { fg = gui0E, ctermfg = cterm0E }) +vim.api.nvim_set_hl(0, 'Delimiter', { fg = gui0F, ctermfg = cterm0F }) +vim.api.nvim_set_hl(0, 'Float', { fg = gui09, ctermfg = cterm09 }) +vim.api.nvim_set_hl(0, 'Function', { fg = gui0D, ctermfg = cterm0D }) +vim.api.nvim_set_hl(0, 'Identifier', { fg = gui08, ctermfg = cterm08 }) +vim.api.nvim_set_hl(0, 'Include', { fg = gui0D, ctermfg = cterm0D }) +vim.api.nvim_set_hl(0, 'Keyword', { fg = gui0E, ctermfg = cterm0E }) +vim.api.nvim_set_hl(0, 'Label', { fg = gui0A, ctermfg = cterm0A }) +vim.api.nvim_set_hl(0, 'Number', { fg = gui09, ctermfg = cterm09 }) +vim.api.nvim_set_hl(0, 'Operator', { fg = gui05, ctermfg = cterm05 }) +vim.api.nvim_set_hl(0, 'PreProc', { fg = gui0A, ctermfg = cterm0A }) +vim.api.nvim_set_hl(0, 'Repeat', { fg = gui0A, ctermfg = cterm0A }) +vim.api.nvim_set_hl(0, 'Special', { fg = gui0C, ctermfg = cterm0C }) +vim.api.nvim_set_hl(0, 'SpecialChar', { fg = gui0F, ctermfg = cterm0F }) +vim.api.nvim_set_hl(0, 'Statement', { fg = gui0E, ctermfg = cterm0E }) +vim.api.nvim_set_hl(0, 'StorageClass', { fg = gui0A, ctermfg = cterm0A }) +vim.api.nvim_set_hl(0, 'String', { fg = gui0B, ctermfg = cterm0B }) +vim.api.nvim_set_hl(0, 'Structure', { fg = gui0E, ctermfg = cterm0E }) +vim.api.nvim_set_hl(0, 'Tag', { fg = gui0A, ctermfg = cterm0A }) +vim.api.nvim_set_hl(0, 'Todo', { fg = gui0A, bg = gui01, ctermfg = cterm0A, ctermbg = cterm01 }) +vim.api.nvim_set_hl(0, 'Type', { fg = gui0A, ctermfg = cterm0A }) +vim.api.nvim_set_hl(0, 'Typedef', { fg = gui0A, ctermfg = cterm0A }) + +-- C highlighting +vim.api.nvim_set_hl(0, 'cOperator', { fg = gui0C, ctermfg = cterm0C }) +vim.api.nvim_set_hl(0, 'cPreCondit', { fg = gui0E, ctermfg = cterm0E }) + +-- C# highlighting +vim.api.nvim_set_hl(0, 'csClass', { fg = gui0A, ctermfg = cterm0A }) +vim.api.nvim_set_hl(0, 'csAttribute', { fg = gui0A, ctermfg = cterm0A }) +vim.api.nvim_set_hl(0, 'csModifier', { fg = gui0E, ctermfg = cterm0E }) +vim.api.nvim_set_hl(0, 'csType', { fg = gui08, ctermfg = cterm08 }) +vim.api.nvim_set_hl(0, 'csUnspecifiedStatement', { fg = gui0D, ctermfg = cterm0D }) +vim.api.nvim_set_hl(0, 'csContextualStatement', { fg = gui0E, ctermfg = cterm0E }) +vim.api.nvim_set_hl(0, 'csNewDecleration', { fg = gui08, ctermfg = cterm08 }) + +-- CSS highlighting +vim.api.nvim_set_hl(0, 'cssBraces', { fg = gui05, ctermfg = cterm05 }) +vim.api.nvim_set_hl(0, 'cssClassName', { fg = gui0E, ctermfg = cterm0E }) +vim.api.nvim_set_hl(0, 'cssColor', { fg = gui0C, ctermfg = cterm0C }) + +-- Diff highlighting +vim.api.nvim_set_hl(0, 'DiffAdd', { fg = gui0B, bg = gui01, ctermfg = cterm0B, ctermbg = cterm01 }) +vim.api.nvim_set_hl(0, 'DiffChange', { fg = gui03, bg = gui01, ctermfg = cterm03, ctermbg = cterm01 }) +vim.api.nvim_set_hl(0, 'DiffDelete', { fg = gui08, bg = gui01, ctermfg = cterm08, ctermbg = cterm01 }) +vim.api.nvim_set_hl(0, 'DiffText', { fg = gui0D, bg = gui01, ctermfg = cterm0D, ctermbg = cterm01 }) +vim.api.nvim_set_hl(0, 'DiffAdded', { fg = gui0B, bg = gui00, ctermfg = cterm0B, ctermbg = cterm00 }) +vim.api.nvim_set_hl(0, 'DiffFile', { fg = gui08, bg = gui00, ctermfg = cterm08, ctermbg = cterm00 }) +vim.api.nvim_set_hl(0, 'DiffNewFile', { fg = gui0B, bg = gui00, ctermfg = cterm0B, ctermbg = cterm00 }) +vim.api.nvim_set_hl(0, 'DiffLine', { fg = gui0D, bg = gui00, ctermfg = cterm0D, ctermbg = cterm00 }) +vim.api.nvim_set_hl(0, 'DiffRemoved', { fg = gui08, bg = gui00, ctermfg = cterm08, ctermbg = cterm00 }) + +-- Git highlighting +vim.api.nvim_set_hl(0, 'gitcommitOverflow', { fg = gui08, ctermfg = cterm08 }) +vim.api.nvim_set_hl(0, 'gitcommitSummary', { fg = gui0B, ctermfg = cterm0B }) +vim.api.nvim_set_hl(0, 'gitcommitComment', { fg = gui03, ctermfg = cterm03 }) +vim.api.nvim_set_hl(0, 'gitcommitUntracked', { fg = gui03, ctermfg = cterm03 }) +vim.api.nvim_set_hl(0, 'gitcommitDiscarded', { fg = gui03, ctermfg = cterm03 }) +vim.api.nvim_set_hl(0, 'gitcommitSelected', { fg = gui03, ctermfg = cterm03 }) +vim.api.nvim_set_hl(0, 'gitcommitHeader', { fg = gui0E, ctermfg = cterm0E }) +vim.api.nvim_set_hl(0, 'gitcommitSelectedType', { fg = gui0D, ctermfg = cterm0D }) +vim.api.nvim_set_hl(0, 'gitcommitUnmergedType', { fg = gui0D, ctermfg = cterm0D }) +vim.api.nvim_set_hl(0, 'gitcommitDiscardedType', { fg = gui0D, ctermfg = cterm0D }) +vim.api.nvim_set_hl(0, 'gitcommitBranch', { fg = gui09, ctermfg = cterm09, bold = true }) +vim.api.nvim_set_hl(0, 'gitcommitUntrackedFile', { fg = gui0A, ctermfg = cterm0A }) +vim.api.nvim_set_hl(0, 'gitcommitUnmergedFile', { fg = gui08, ctermfg = cterm08, bold = true }) +vim.api.nvim_set_hl(0, 'gitcommitDiscardedFile', { fg = gui08, ctermfg = cterm08, bold = true }) +vim.api.nvim_set_hl(0, 'gitcommitSelectedFile', { fg = gui0B, ctermfg = cterm0B, bold = true }) + +-- GitGutter highlighting +vim.api.nvim_set_hl(0, 'GitGutterAdd', { fg = gui0B, bg = gui01, ctermfg = cterm0B, ctermbg = cterm01 }) +vim.api.nvim_set_hl(0, 'GitGutterChange', { fg = gui0D, bg = gui01, ctermfg = cterm0D, ctermbg = cterm01 }) +vim.api.nvim_set_hl(0, 'GitGutterDelete', { fg = gui08, bg = gui01, ctermfg = cterm08, ctermbg = cterm01 }) +vim.api.nvim_set_hl(0, 'GitGutterChangeDelete', { fg = gui0E, bg = gui01, ctermfg = cterm0E, ctermbg = cterm01 }) + +-- HTML highlighting +vim.api.nvim_set_hl(0, 'htmlBold', { fg = gui0A, ctermfg = cterm0A }) +vim.api.nvim_set_hl(0, 'htmlItalic', { fg = gui0E, ctermfg = cterm0E }) +vim.api.nvim_set_hl(0, 'htmlEndTag', { fg = gui05, ctermfg = cterm05 }) +vim.api.nvim_set_hl(0, 'htmlTag', { fg = gui05, ctermfg = cterm05 }) + +-- JavaScript highlighting +vim.api.nvim_set_hl(0, 'javaScript', { fg = gui05, ctermfg = cterm05 }) +vim.api.nvim_set_hl(0, 'javaScriptBraces', { fg = gui05, ctermfg = cterm05 }) +vim.api.nvim_set_hl(0, 'javaScriptNumber', { fg = gui09, ctermfg = cterm09 }) + +-- pangloss/vim-javascript highlighting +vim.api.nvim_set_hl(0, 'jsOperator', { fg = gui0D, ctermfg = cterm0D }) +vim.api.nvim_set_hl(0, 'jsStatement', { fg = gui0E, ctermfg = cterm0E }) +vim.api.nvim_set_hl(0, 'jsReturn', { fg = gui0E, ctermfg = cterm0E }) +vim.api.nvim_set_hl(0, 'jsThis', { fg = gui08, ctermfg = cterm08 }) +vim.api.nvim_set_hl(0, 'jsClassDefinition', { fg = gui0A, ctermfg = cterm0A }) +vim.api.nvim_set_hl(0, 'jsFunction', { fg = gui0E, ctermfg = cterm0E }) +vim.api.nvim_set_hl(0, 'jsFuncName', { fg = gui0D, ctermfg = cterm0D }) +vim.api.nvim_set_hl(0, 'jsFuncCall', { fg = gui0D, ctermfg = cterm0D }) +vim.api.nvim_set_hl(0, 'jsClassFuncName', { fg = gui0D, ctermfg = cterm0D }) +vim.api.nvim_set_hl(0, 'jsClassMethodType', { fg = gui0E, ctermfg = cterm0E }) +vim.api.nvim_set_hl(0, 'jsRegexpString', { fg = gui0C, ctermfg = cterm0C }) +vim.api.nvim_set_hl(0, 'jsGlobalObjects', { fg = gui0A, ctermfg = cterm0A }) +vim.api.nvim_set_hl(0, 'jsGlobalNodeObjects', { fg = gui0A, ctermfg = cterm0A }) +vim.api.nvim_set_hl(0, 'jsExceptions', { fg = gui0A, ctermfg = cterm0A }) +vim.api.nvim_set_hl(0, 'jsBuiltins', { fg = gui0A, ctermfg = cterm0A }) + +-- LSP highlighting +vim.api.nvim_set_hl(0, 'LspDiagnosticsDefaultError', { fg = gui08, ctermfg = cterm08 }) +vim.api.nvim_set_hl(0, 'LspDiagnosticsDefaultWarning', { fg = gui09, ctermfg = cterm09 }) +vim.api.nvim_set_hl(0, 'LspDiagnosticsDefaultHnformation', { fg = gui05, ctermfg = cterm05 }) +vim.api.nvim_set_hl(0, 'LspDiagnosticsDefaultHint', { fg = gui03, ctermfg = cterm03 }) + +-- Mail highlighting +vim.api.nvim_set_hl(0, 'mailQuoted1', { fg = gui0A, ctermfg = cterm0A }) +vim.api.nvim_set_hl(0, 'mailQuoted2', { fg = gui0B, ctermfg = cterm0B }) +vim.api.nvim_set_hl(0, 'mailQuoted3', { fg = gui0E, ctermfg = cterm0E }) +vim.api.nvim_set_hl(0, 'mailQuoted4', { fg = gui0C, ctermfg = cterm0C }) +vim.api.nvim_set_hl(0, 'mailQuoted5', { fg = gui0D, ctermfg = cterm0D }) +vim.api.nvim_set_hl(0, 'mailQuoted6', { fg = gui0A, ctermfg = cterm0A }) +vim.api.nvim_set_hl(0, 'mailURL', { fg = gui0D, ctermfg = cterm0D }) +vim.api.nvim_set_hl(0, 'mailEmail', { fg = gui0D, ctermfg = cterm0D }) + +-- Markdown highlighting +vim.api.nvim_set_hl(0, 'markdownCode', { fg = gui0B, ctermfg = cterm0B }) +vim.api.nvim_set_hl(0, 'markdownError', { fg = gui05, bg = gui00, ctermfg = cterm05, ctermbg = cterm00 }) +vim.api.nvim_set_hl(0, 'markdownCodeBlock', { fg = gui0B, ctermfg = cterm0B }) +vim.api.nvim_set_hl(0, 'markdownHeadingDelimiter', { fg = gui0D, ctermfg = cterm0D }) + +-- NERDTree highlighting +vim.api.nvim_set_hl(0, 'NERDTreeDirSlash', { fg = gui0D, ctermfg = cterm0D }) +vim.api.nvim_set_hl(0, 'NERDTreeExecFile', { fg = gui05, ctermfg = cterm05 }) + +-- PHP highlighting +vim.api.nvim_set_hl(0, 'phpMemberSelector', { fg = gui05, ctermfg = cterm05 }) +vim.api.nvim_set_hl(0, 'phpComparison', { fg = gui05, ctermfg = cterm05 }) +vim.api.nvim_set_hl(0, 'phpParent', { fg = gui05, ctermfg = cterm05 }) +vim.api.nvim_set_hl(0, 'phpMethodsVar', { fg = gui0C, ctermfg = cterm0C }) + +-- Python highlighting +vim.api.nvim_set_hl(0, 'pythonOperator', { fg = gui0E, ctermfg = cterm0E }) +vim.api.nvim_set_hl(0, 'pythonRepeat', { fg = gui0E, ctermfg = cterm0E }) +vim.api.nvim_set_hl(0, 'pythonInclude', { fg = gui0E, ctermfg = cterm0E }) +vim.api.nvim_set_hl(0, 'pythonStatement', { fg = gui0E, ctermfg = cterm0E }) + +-- Ruby highlighting +vim.api.nvim_set_hl(0, 'rubyAttribute', { fg = gui0D, ctermfg = cterm0D }) +vim.api.nvim_set_hl(0, 'rubyConstant', { fg = gui0A, ctermfg = cterm0A }) +vim.api.nvim_set_hl(0, 'rubyInterpolationDelimiter', { fg = gui0F, ctermfg = cterm0F }) +vim.api.nvim_set_hl(0, 'rubyRegexp', { fg = gui0C, ctermfg = cterm0C }) +vim.api.nvim_set_hl(0, 'rubySymbol', { fg = gui0B, ctermfg = cterm0B }) +vim.api.nvim_set_hl(0, 'rubyStringDelimiter', { fg = gui0B, ctermfg = cterm0B }) + +-- SASS highlighting +vim.api.nvim_set_hl(0, 'sassidChar', { fg = gui08, ctermfg = cterm08 }) +vim.api.nvim_set_hl(0, 'sassClassChar', { fg = gui09, ctermfg = cterm09 }) +vim.api.nvim_set_hl(0, 'sassInclude', { fg = gui0E, ctermfg = cterm0E }) +vim.api.nvim_set_hl(0, 'sassMixing', { fg = gui0E, ctermfg = cterm0E }) +vim.api.nvim_set_hl(0, 'sassMixinName', { fg = gui0D, ctermfg = cterm0D }) + +-- Signify highlighting +vim.api.nvim_set_hl(0, 'SignifySignAdd', { fg = gui0B, bg = gui01, ctermfg = cterm0B, ctermbg = cterm01 }) +vim.api.nvim_set_hl(0, 'SignifySignChange', { fg = gui0D, bg = gui01, ctermfg = cterm0D, ctermbg = cterm01 }) +vim.api.nvim_set_hl(0, 'SignifySignDelete', { fg = gui08, bg = gui01, ctermfg = cterm08, ctermbg = cterm01 }) + +-- Spelling highlighting +vim.api.nvim_set_hl(0, 'SpellBad', { undercurl = true }) +vim.api.nvim_set_hl(0, 'SpellLocal', { undercurl = true }) +vim.api.nvim_set_hl(0, 'SpellCap', { undercurl = true }) +vim.api.nvim_set_hl(0, 'SpellRare', { undercurl = true }) + +-- Startify highlighting +vim.api.nvim_set_hl(0, 'StartifyBracket', { fg = gui03, ctermfg = cterm03 }) +vim.api.nvim_set_hl(0, 'StartifyFile', { fg = gui07, ctermfg = cterm07 }) +vim.api.nvim_set_hl(0, 'StartifyFooter', { fg = gui03, ctermfg = cterm03 }) +vim.api.nvim_set_hl(0, 'StartifyHeader', { fg = gui0B, ctermfg = cterm0B }) +vim.api.nvim_set_hl(0, 'StartifyNumber', { fg = gui09, ctermfg = cterm09 }) +vim.api.nvim_set_hl(0, 'StartifyPath', { fg = gui03, ctermfg = cterm03 }) +vim.api.nvim_set_hl(0, 'StartifySection', { fg = gui0E, ctermfg = cterm0E }) +vim.api.nvim_set_hl(0, 'StartifySelect', { fg = gui0C, ctermfg = cterm0C }) +vim.api.nvim_set_hl(0, 'StartifySlash', { fg = gui03, ctermfg = cterm03 }) +vim.api.nvim_set_hl(0, 'StartifySpecial', { fg = gui03, ctermfg = cterm03 }) + +-- Java highlighting +vim.api.nvim_set_hl(0, 'javaOperator', { fg = gui0D, ctermfg = cterm0D }) + +-- vim: filetype=lua +-- end color +-- + +vim.api.nvim_set_hl(0, 'LineNr', { fg = gui03, bg = gui00 }) +vim.api.nvim_set_hl(0, 'SignColumn', { fg = gui03, bg = gui00 }) +vim.api.nvim_set_hl(0, 'StatusLine', { fg = gui04, bg = gui01 }) +vim.api.nvim_set_hl(0, 'TreesitterContext', { bg = gui01 }) +vim.api.nvim_set_hl(0, 'NormalFloat', {}) +vim.api.nvim_set_hl(0, 'WinSeparator', {}) +vim.api.nvim_set_hl(0, 'FloatBorder', {}) +vim.api.nvim_set_hl(0, 'StatusLine', { fg = 'background', bg = 'background' }) +vim.api.nvim_set_hl(0, 'Identifier', { fg = gui05, ctermfg = cterm05 }) + +vim.api.nvim_set_hl(0, 'Beacon', { bg = 'fg' }) +vim.api.nvim_set_hl(0, 'LspInlayHint', { fg = gui03 }) + +-- cmp +vim.api.nvim_set_hl(0, 'CmpItemKindFunction', { fg = gui0E }) +vim.api.nvim_set_hl(0, 'CmpItemKindMethod', { link = 'CmpItemKindFunction' }) +vim.api.nvim_set_hl(0, 'CmpItemKindClass', { fg = gui0A }) +vim.api.nvim_set_hl(0, 'CmpItemKindConstructor', { fg = gui0D }) + +-- leap +vim.api.nvim_set_hl(0, 'LeapBackdrop', { link = 'Comment' }) +vim.api.nvim_set_hl(0, 'LeapMatch', { fg = '#00ff00' }) +vim.api.nvim_set_hl(0, 'LeapLabelPrimary', { fg = '#ffff00' }) +vim.api.nvim_set_hl(require('tms.p.leap').ast_ns, 'LeapLabelPrimary', { link = 'LeapMatch' }) +vim.api.nvim_set_hl(0, 'LeapLabelSecondary', { fg = '#ff0000' }) + +-- Diff highlighting +vim.api.nvim_set_hl(0, 'DiffAdd', { fg = gui0B, bg = gui00 }) +vim.api.nvim_set_hl(0, 'DiffChange', { fg = gui03, bg = gui00 }) +vim.api.nvim_set_hl(0, 'DiffDelete', { fg = gui08, bg = gui00 }) +vim.api.nvim_set_hl(0, 'DiffText', { fg = gui0D, bg = gui00 }) +vim.api.nvim_set_hl(0, 'DiffAdded', { fg = gui0B, bg = gui00 }) +vim.api.nvim_set_hl(0, 'DiffFile', { fg = gui08, bg = gui00 }) +vim.api.nvim_set_hl(0, 'DiffNewFile', { fg = gui0B, bg = gui00 }) +vim.api.nvim_set_hl(0, 'DiffLine', { fg = gui0D, bg = gui00 }) +vim.api.nvim_set_hl(0, 'DiffRemoved', { fg = gui08, bg = gui00 }) + +-- GitGutter highlighting +vim.api.nvim_set_hl(0, 'GitGutterAdd', { fg = gui0B, bg = gui00 }) +vim.api.nvim_set_hl(0, 'GitGutterChange', { fg = gui0D, bg = gui00 }) +vim.api.nvim_set_hl(0, 'GitGutterDelete', { fg = gui08, bg = gui00 }) +vim.api.nvim_set_hl(0, 'GitGutterChangeDelete', { fg = gui0E, bg = gui00 }) + +vim.api.nvim_set_hl(0, 'CodeiumSuggestion', { link = 'Comment' }) + +vim.api.nvim_set_hl(0, 'LspReferenceText', { underline = true }) +vim.api.nvim_set_hl(0, 'LspReferenceRead', { undercurl = true }) + +-- Hide all semantic highlights +-- for _, group in ipairs(vim.fn.getcompletion('@lsp', 'highlight')) do +-- vim.api.nvim_set_hl(0, group, {}) +-- end + +vim.api.nvim_set_hl(0, '@lsp.type.class', {}) +vim.api.nvim_set_hl(0, '@lsp.type.class', { link = '@keyword', default = true }) +vim.api.nvim_set_hl(0, '@lsp.mod.annotation', { italic = true }) +vim.api.nvim_set_hl(0, '@lsp.type.type', { bold = true }) +-- vim.api.nvim_set_hl(0, '@variable.builtin', { link = 'Keyword' }) diff --git a/init.lua b/init.lua @@ -2,7 +2,7 @@ vim.g.mapleader = ',' vim.g.loaded_matchparen = 1 vim.loader.enable() require('tms.first_load') -vim.cmd.colorscheme('base16') +vim.cmd.colorscheme('tms') require('tms.options') require('tms.keymap') require('tms.autocmd') diff --git a/lua/plugins.lua b/lua/plugins.lua @@ -1,20 +1,19 @@ vim.cmd.packadd('paq-nvim') return require('paq') { - { 'savq/paq-nvim', opt = true }, + { 'savq/paq-nvim', opt = true }, 'kyazdani42/nvim-web-devicons', 'nvim-lua/plenary.nvim', - 'nvim-lua/popup.nvim', -- EXP - 'yioneko/nvim-type-fmt', -- meta + 'nvim-lua/popup.nvim', -- EXP + 'yioneko/nvim-type-fmt', -- meta 'tweekmonster/startuptime.vim', -- colorscheme - 'tjdevries/colorbuddy.nvim', -- spell - 'xxdavid/bez-diakritiky.vim', -- movements + 'xxdavid/bez-diakritiky.vim', -- movements 'ggandor/leap.nvim', - 'ggandor/leap-spooky.nvim', -- editor + 'ggandor/leap-spooky.nvim', -- editor 'tpope/vim-repeat', 'kylechui/nvim-surround', 'chaoren/vim-wordmotion', -- word counts with _,.,-,... - 'romgrk/equal.operator', -- equal text object `lefthand = righthand` - 'godlygeek/tabular', -- align + 'romgrk/equal.operator', -- equal text object `lefthand = righthand` + 'godlygeek/tabular', -- align -- use 'windwp/nvim-autopairs' 'numToStr/Comment.nvim', 'mbbill/undotree', -- use 'camspiers/Animate.vim' @@ -26,13 +25,13 @@ return require('paq') { -- use { 'kevinhwang91/nvim-ufo', requires = { 'kevinhwang91/promise-async' } } 'elihunter173/dirbuf.nvim', 'norcalli/nvim-terminal.lua', - { 'j-hui/fidget.nvim', branch = 'legacy' }, - 'lervag/vimtex', -- lua + { 'j-hui/fidget.nvim', branch = 'legacy' }, + 'lervag/vimtex', -- lua 'nanotee/luv-vimdocs', - 'milisims/nvim-luaref', -- Notes + 'milisims/nvim-luaref', -- Notes -- { 'nvim-neorg/neorg', requires = { 'nvim-lua/plenary.nvim' } } { 'mickael-menu/zk-nvim' }, -- quickfix list - 'kevinhwang91/nvim-bqf', -- distraction + 'kevinhwang91/nvim-bqf', -- distraction 'junegunn/limelight.vim', 'Pocco81/true-zen.nvim', 'shortcuts/no-neck-pain.nvim', -- how to vim @@ -43,8 +42,8 @@ return require('paq') { 'sindrets/diffview.nvim', 'tpope/vim-fugitive', 'ThePrimeagen/git-worktree.nvim', - 'rhysd/conflict-marker.vim', -- http - { 'rest-nvim/rest.nvim', requires = { 'nvim-lua/plenary.nvim' } }, -- filetype + 'rhysd/conflict-marker.vim', -- http + { 'rest-nvim/rest.nvim', requires = { 'nvim-lua/plenary.nvim' } }, -- filetype 'tikhomirov/vim-glsl', 'windwp/nvim-ts-autotag', 'baskerville/vim-sxhkdrc', @@ -67,7 +66,7 @@ return require('paq') { 'tamago324/cmp-zsh', 'uga-rosa/cmp-dictionary', 'hrsh7th/nvim-cmp', - 'aduros/ai.vim', -- ui + 'aduros/ai.vim', -- ui 'stevearc/dressing.nvim', 'rcarriga/nvim-notify', -- lsp 'neovim/nvim-lspconfig', @@ -75,10 +74,10 @@ return require('paq') { 'williamboman/mason-lspconfig.nvim', 'b0o/schemastore.nvim', 'folke/neodev.nvim', - { 'jose-elias-alvarez/null-ls.nvim', requires = { 'nvim-lua/plenary.nvim' } }, + { 'jose-elias-alvarez/null-ls.nvim', requires = { 'nvim-lua/plenary.nvim' } }, 'lvimuser/lsp-inlayhints.nvim', -- use 'zbirenbaum/copilot.lua' 'dgagn/diagflow.nvim', - 'Exafunction/codeium.vim', -- dap + 'Exafunction/codeium.vim', -- dap 'mfussenegger/nvim-dap', 'leoluz/nvim-dap-go', 'rcarriga/nvim-dap-ui', @@ -104,8 +103,8 @@ return require('paq') { 'nvim-telescope/telescope-fzy-native.nvim', 'nvim-telescope/telescope-dap.nvim', { 'aaronhallaert/advanced-git-search.nvim', requires = { 'tpope/vim-fugitive' } }, -- Godot - 'habamax/vim-godot', -- qmk - 'codethread/qmk.nvim', -- personal + 'habamax/vim-godot', -- qmk + 'codethread/qmk.nvim', -- personal 'GenesisTMS/trans.nvim', { url = 'git@gitlab.com:gtms/dart-tools.nvim' }, -- use '/home/tms/dev/nvim/plugins/dart-tools.nvim' diff --git a/lua/tms/first_load.lua b/lua/tms/first_load.lua @@ -23,4 +23,3 @@ local start = function(repo) end opt('savq/paq-nvim') -start('tjdevries/colorbuddy.nvim')