From 90160f095209c8dfe505fa5e7bd4c367e3cc36de Mon Sep 17 00:00:00 2001 From: pynappo Date: Thu, 31 Aug 2023 03:36:55 -0700 Subject: [PATCH 1/2] moved `AfterHighlight()` --- after/plugin/hardhacker.vim | 203 ---------------------------------- autoload/hardhacker.vim | 211 +++++++++++++++++++++++++++++++++++- 2 files changed, 205 insertions(+), 209 deletions(-) delete mode 100644 after/plugin/hardhacker.vim diff --git a/after/plugin/hardhacker.vim b/after/plugin/hardhacker.vim deleted file mode 100644 index 8126975..0000000 --- a/after/plugin/hardhacker.vim +++ /dev/null @@ -1,203 +0,0 @@ -function! s:AfterHighlight() - " fzf - if exists('g:loaded_fzf') && ! exists('g:fzf_colors') - let g:fzf_colors = { - \ 'fg': ['fg', 'Normal'], - \ 'bg': ['bg', 'Normal'], - \ 'hl': ['fg', 'Search'], - \ 'fg+': ['fg', 'Normal'], - \ 'bg+': ['bg', 'Normal'], - \ 'hl+': ['fg', 'HardHackerRed'], - \ 'info': ['fg', 'HardHackerPurple'], - \ 'border': ['fg', 'HardHackerBorder'], - \ 'prompt': ['fg', 'HardHackerGreen'], - \ 'pointer': ['fg', 'Exception'], - \ 'marker': ['fg', 'Keyword'], - \ 'spinner': ['fg', 'Label'], - \ 'header': ['fg', 'Comment'], - \} - endif - - " gitgutter gitsigns - if exists('g:loaded_gitgutter') - hi! link GitGutterAdd HardHackerGreen - hi! link GitGutterChange HardHackerYellow - hi! link GitGutterDelete HardHackerRed - endif - if has('nvim') && luaeval("pcall(require, 'gitsigns')") - " gitsigns.nvim requires nvim > 0.5 - hi! link GitSignsAdd HardHackerGreen - hi! link GitSignsAddLn GitSignsAdd - hi! link GitSignsAddNr GitSignsAdd - hi! link GitSignsChange HardHackerYellow - hi! link GitSignsChangeLn GitSignsChange - hi! link GitSignsChangeNr GitSignsChange - hi! link GitSignsDelete HardHackerRed - hi! link GitSignsDeleteLn GitSignsDelete - hi! link GitSignsDeleteNr GitSignsDelete - endif - - " bufferline - if has('nvim') && luaeval("pcall(require, 'bufferline')") - hi! link BufferLineFill TabLineFill - hi! link BufferLineOffsetSeparator VertSplit - endif - - " telescope - if has('nvim') && exists('g:loaded_telescope') - hi! link TelescopeTitle Title - hi! link TelescopeBorder HardHackerBorder - endif - - " neo-tree - if has('nvim') && exists('g:loaded_neo_tree') - hi! link NeoTreeGitAdded HardHackerGreen - hi! link NeoTreeGitDeleted HardHackerRed - hi! link NeoTreeGitModified HardHackerYellow - hi! link NeoTreeGitConflict HardHackerPurple - hi! link NeoTreeGitUntracked HardHackerCyan - hi! link NeoTreeFileName HardHackerBlue2 - hi! link NeoTreeRootName NeoTreeDirectoryName - hi! link NeoTreeFloatTitle Title - - hi! link NeoTreeNormal HardHackerComment - hi! link NeoTreeNormalNC HardHackerComment - endif - - " dashboard-nvim - if has('nvim') && luaeval("pcall(require, 'dashboard')") - hi! link DashboardHeader HardHackerRed - hi! link DashboardFooter HardHackerComment - " DashboardProjectTitle - " DashboardProjectTitleIcon - hi! link DashboardMruTitle Title - " DashboardFiles - " DashboardShortCut - endif - - " nvim-cmp - if has('nvim') && exists('g:loaded_cmp') - hi! link CmpItemKindDefault Type - hi! link CmpItemAbbrMatchDefault HardHackerPurple - endif - - if has('nvim') && luaeval("pcall(require, 'aerial')") - hi! link AerialLine HardHackerRed - hi! link NONE HardHackerBlue2 - endif - - if has('nvim') && luaeval("pcall(require, 'noice')") - hi! link NoicePopupBorder FloatBorder - hi! link NoiceCmdlinePopupBorder FloatBorder - hi! link NoiceConfirmBorder FloatBorder - endif - - if has('nvim') && luaeval("pcall(require, 'toggleterm')") - hi! link ToggleTerm1EndOfBuffer EndOfBuffer - hi! link ToggleTerm1SignColumn EndOfBuffer - endif - - if has('nvim') && luaeval("pcall(require, 'null-ls')") - hi! link NullLsInfoBorder FloatBorder - hi! link NullLsInfoHeader Type - hi! link NullLsInfoTitle Title - hi! link NullLsInfoSources Label - endif - - " tree-sitter highlights - if has('nvim') - " Misc - hi! link @operator Operator - - " Punctuation - hi! link @punctuation.delimiter Delimiter - hi! link @punctuation.bracket Delimiter - hi! link @punctuation.special Special - hi! link @punctuation.special.markdown HardHackerGreen - - " Literals - hi! link @string.documentation HardHackerYellow - hi! link @string.regex HardHackerBlue - hi! link @string.escape HardHackerGreen - - " Functions - hi! link @constructor Function - hi! link @parameter HardHackerYellow - hi! link @function.builtin Function - - " Keywords - hi! link @keyword Keyword - hi! link @keyword.function Keyword - hi! link @label Label - - " Types - hi! link @type.builtin Type - hi! link @field Identifier - hi! link @property Identifier - - " Identifiers - hi! link @variable Identifier - hi! link @variable.builtin HardHackerBlue " link 'this' or 'self' - - " Text - hi! link @text.literal.markdown_inline HardHackerBlue - hi! link @text.reference HardHackerYellow - - hi! link @text.todo.unchecked HardHackerBlue - hi! link @text.todo.checked HardHackerGreen - hi! link @text.warning HardHackerYellow - hi! link @text.danger HardHackerRed - - hi! link @text.diff.add DiffAdd - hi! link @text.diff.delete DiffDelete - - hi! link @namespace Include - - " tsx - hi! link @tag.tsx HardHackerRed - hi! link @constructor.tsx HardHackerBlue - hi! link @tag.delimiter.tsx HardHackerBlue - - " LSP Semantic Token Groups - hi! link @lsp.type.boolean @boolean - hi! link @lsp.type.builtinType @type.builtin - hi! link @lsp.type.comment @comment - hi! link @lsp.type.enum @type - hi! link @lsp.type.enumMember @constant - hi! link @lsp.type.escapeSequence @string.escape - hi! link @lsp.type.formatSpecifier @punctuation.special - hi! link @lsp.type.interface Type - hi! link @lsp.type.keyword @keyword - hi! link @lsp.type.namespace @namespace - hi! link @lsp.type.number @number - hi! link @lsp.type.operator @operator - hi! link @lsp.type.parameter @parameter - hi! link @lsp.type.property @property - hi! link @lsp.type.selfKeyword @variable.builtin - hi! link @lsp.type.string.rust @string - hi! link @lsp.type.typeAlias @type.definition - hi! link @lsp.type.unresolvedReference Error - hi! link @lsp.typemod.class.defaultLibrary @type.builtin - hi! link @lsp.typemod.enum.defaultLibrary @type.builtin - hi! link @lsp.typemod.enumMember.defaultLibrary @constant.builtin - hi! link @lsp.typemod.function.defaultLibrary @function.builtin - hi! link @lsp.typemod.keyword.async @keyword.coroutine - hi! link @lsp.typemod.macro.defaultLibrary @function.builtin - hi! link @lsp.typemod.method.defaultLibrary @function.builtin - hi! link @lsp.typemod.operator.injected @operator - hi! link @lsp.typemod.string.injected @string - hi! link @lsp.typemod.type.defaultLibrary HardHackerGreen - hi! link @lsp.typemod.variable.defaultLibrary @variable.builtin - hi! link @lsp.typemod.variable.injected @variable - endif - - " Execute all custom highlights - if exists('g:hardhacker_custom_highlights') - for item in g:hardhacker_custom_highlights - execute item - endfor - endif -endfunction - -command! HardHackerAfterHighlight call s:AfterHighlight() -call s:AfterHighlight() diff --git a/autoload/hardhacker.vim b/autoload/hardhacker.vim index a6ec9ac..7246103 100644 --- a/autoload/hardhacker.vim +++ b/autoload/hardhacker.vim @@ -19,14 +19,10 @@ endif " Set autocmd to exec 'highlight' in after dir. augroup HardHackerThemeOverride autocmd! - autocmd ColorScheme * call s:Override() + autocmd ColorScheme hardhacker call s:Override() function! s:Override() - if exists(':HardHackerAfterHighlight') && exists('g:colors_name') && !empty(g:colors_name) - if g:colors_name == 'hardhacker' - HardHackerAfterHighlight - endif - endif + HardHackerAfterHighlight endfunction augroup END @@ -498,3 +494,206 @@ let s:hardhacker_barbecue_theme = { let g:hardhacker_barbecue_theme = s:hardhacker_barbecue_theme +function! s:AfterHighlight() + " fzf + if exists('g:loaded_fzf') && ! exists('g:fzf_colors') + let g:fzf_colors = { + \ 'fg': ['fg', 'Normal'], + \ 'bg': ['bg', 'Normal'], + \ 'hl': ['fg', 'Search'], + \ 'fg+': ['fg', 'Normal'], + \ 'bg+': ['bg', 'Normal'], + \ 'hl+': ['fg', 'HardHackerRed'], + \ 'info': ['fg', 'HardHackerPurple'], + \ 'border': ['fg', 'HardHackerBorder'], + \ 'prompt': ['fg', 'HardHackerGreen'], + \ 'pointer': ['fg', 'Exception'], + \ 'marker': ['fg', 'Keyword'], + \ 'spinner': ['fg', 'Label'], + \ 'header': ['fg', 'Comment'], + \} + endif + + " gitgutter gitsigns + if exists('g:loaded_gitgutter') + hi! link GitGutterAdd HardHackerGreen + hi! link GitGutterChange HardHackerYellow + hi! link GitGutterDelete HardHackerRed + endif + if has('nvim') && luaeval("pcall(require, 'gitsigns')") + " gitsigns.nvim requires nvim > 0.5 + hi! link GitSignsAdd HardHackerGreen + hi! link GitSignsAddLn GitSignsAdd + hi! link GitSignsAddNr GitSignsAdd + hi! link GitSignsChange HardHackerYellow + hi! link GitSignsChangeLn GitSignsChange + hi! link GitSignsChangeNr GitSignsChange + hi! link GitSignsDelete HardHackerRed + hi! link GitSignsDeleteLn GitSignsDelete + hi! link GitSignsDeleteNr GitSignsDelete + endif + + " bufferline + if has('nvim') && luaeval("pcall(require, 'bufferline')") + hi! link BufferLineFill TabLineFill + hi! link BufferLineOffsetSeparator VertSplit + endif + + " telescope + if has('nvim') && exists('g:loaded_telescope') + hi! link TelescopeTitle Title + hi! link TelescopeBorder HardHackerBorder + endif + + " neo-tree + if has('nvim') && exists('g:loaded_neo_tree') + hi! link NeoTreeGitAdded HardHackerGreen + hi! link NeoTreeGitDeleted HardHackerRed + hi! link NeoTreeGitModified HardHackerYellow + hi! link NeoTreeGitConflict HardHackerPurple + hi! link NeoTreeGitUntracked HardHackerCyan + hi! link NeoTreeFileName HardHackerBlue2 + hi! link NeoTreeRootName NeoTreeDirectoryName + hi! link NeoTreeFloatTitle Title + + hi! link NeoTreeNormal HardHackerComment + hi! link NeoTreeNormalNC HardHackerComment + endif + + " dashboard-nvim + if has('nvim') && luaeval("pcall(require, 'dashboard')") + hi! link DashboardHeader HardHackerRed + hi! link DashboardFooter HardHackerComment + " DashboardProjectTitle + " DashboardProjectTitleIcon + hi! link DashboardMruTitle Title + " DashboardFiles + " DashboardShortCut + endif + + " nvim-cmp + if has('nvim') && exists('g:loaded_cmp') + hi! link CmpItemKindDefault Type + hi! link CmpItemAbbrMatchDefault HardHackerPurple + endif + + if has('nvim') && luaeval("pcall(require, 'aerial')") + hi! link AerialLine HardHackerRed + hi! link NONE HardHackerBlue2 + endif + + if has('nvim') && luaeval("pcall(require, 'noice')") + hi! link NoicePopupBorder FloatBorder + hi! link NoiceCmdlinePopupBorder FloatBorder + hi! link NoiceConfirmBorder FloatBorder + endif + + if has('nvim') && luaeval("pcall(require, 'toggleterm')") + hi! link ToggleTerm1EndOfBuffer EndOfBuffer + hi! link ToggleTerm1SignColumn EndOfBuffer + endif + + if has('nvim') && luaeval("pcall(require, 'null-ls')") + hi! link NullLsInfoBorder FloatBorder + hi! link NullLsInfoHeader Type + hi! link NullLsInfoTitle Title + hi! link NullLsInfoSources Label + endif + + " tree-sitter highlights + if has('nvim') + " Misc + hi! link @operator Operator + + " Punctuation + hi! link @punctuation.delimiter Delimiter + hi! link @punctuation.bracket Delimiter + hi! link @punctuation.special Special + hi! link @punctuation.special.markdown HardHackerGreen + + " Literals + hi! link @string.documentation HardHackerYellow + hi! link @string.regex HardHackerBlue + hi! link @string.escape HardHackerGreen + + " Functions + hi! link @constructor Function + hi! link @parameter HardHackerYellow + hi! link @function.builtin Function + + " Keywords + hi! link @keyword Keyword + hi! link @keyword.function Keyword + hi! link @label Label + + " Types + hi! link @type.builtin Type + hi! link @field Identifier + hi! link @property Identifier + + " Identifiers + hi! link @variable Identifier + hi! link @variable.builtin HardHackerBlue " link 'this' or 'self' + + " Text + hi! link @text.literal.markdown_inline HardHackerBlue + hi! link @text.reference HardHackerYellow + + hi! link @text.todo.unchecked HardHackerBlue + hi! link @text.todo.checked HardHackerGreen + hi! link @text.warning HardHackerYellow + hi! link @text.danger HardHackerRed + + hi! link @text.diff.add DiffAdd + hi! link @text.diff.delete DiffDelete + + hi! link @namespace Include + + " tsx + hi! link @tag.tsx HardHackerRed + hi! link @constructor.tsx HardHackerBlue + hi! link @tag.delimiter.tsx HardHackerBlue + + " LSP Semantic Token Groups + hi! link @lsp.type.boolean @boolean + hi! link @lsp.type.builtinType @type.builtin + hi! link @lsp.type.comment @comment + hi! link @lsp.type.enum @type + hi! link @lsp.type.enumMember @constant + hi! link @lsp.type.escapeSequence @string.escape + hi! link @lsp.type.formatSpecifier @punctuation.special + hi! link @lsp.type.interface Type + hi! link @lsp.type.keyword @keyword + hi! link @lsp.type.namespace @namespace + hi! link @lsp.type.number @number + hi! link @lsp.type.operator @operator + hi! link @lsp.type.parameter @parameter + hi! link @lsp.type.property @property + hi! link @lsp.type.selfKeyword @variable.builtin + hi! link @lsp.type.string.rust @string + hi! link @lsp.type.typeAlias @type.definition + hi! link @lsp.type.unresolvedReference Error + hi! link @lsp.typemod.class.defaultLibrary @type.builtin + hi! link @lsp.typemod.enum.defaultLibrary @type.builtin + hi! link @lsp.typemod.enumMember.defaultLibrary @constant.builtin + hi! link @lsp.typemod.function.defaultLibrary @function.builtin + hi! link @lsp.typemod.keyword.async @keyword.coroutine + hi! link @lsp.typemod.macro.defaultLibrary @function.builtin + hi! link @lsp.typemod.method.defaultLibrary @function.builtin + hi! link @lsp.typemod.operator.injected @operator + hi! link @lsp.typemod.string.injected @string + hi! link @lsp.typemod.type.defaultLibrary HardHackerGreen + hi! link @lsp.typemod.variable.defaultLibrary @variable.builtin + hi! link @lsp.typemod.variable.injected @variable + endif + + " Execute all custom highlights + if exists('g:hardhacker_custom_highlights') + for item in g:hardhacker_custom_highlights + execute item + endfor + endif +endfunction + +command! HardHackerAfterHighlight call s:AfterHighlight() +call s:AfterHighlight() From 9f630b68bf970df5606772184450f432b2b7bbc2 Mon Sep 17 00:00:00 2001 From: pynappo Date: Thu, 31 Aug 2023 03:43:50 -0700 Subject: [PATCH 2/2] Removed checks for plugins People will lazy-load plugins so the luaeval checks may return a misleading result. --- autoload/hardhacker.vim | 360 ++++++++++++++++++---------------------- 1 file changed, 159 insertions(+), 201 deletions(-) diff --git a/autoload/hardhacker.vim b/autoload/hardhacker.vim index 7246103..729ce98 100644 --- a/autoload/hardhacker.vim +++ b/autoload/hardhacker.vim @@ -15,18 +15,6 @@ if !has('gui_running') && &t_Co != 256 && !(has('termguicolors') && &termguicolo finish endif - -" Set autocmd to exec 'highlight' in after dir. -augroup HardHackerThemeOverride - autocmd! - autocmd ColorScheme hardhacker call s:Override() - - function! s:Override() - HardHackerAfterHighlight - endfunction -augroup END - - " Global variable " " set 1 to hide tilde @@ -494,206 +482,176 @@ let s:hardhacker_barbecue_theme = { let g:hardhacker_barbecue_theme = s:hardhacker_barbecue_theme -function! s:AfterHighlight() - " fzf - if exists('g:loaded_fzf') && ! exists('g:fzf_colors') - let g:fzf_colors = { - \ 'fg': ['fg', 'Normal'], - \ 'bg': ['bg', 'Normal'], - \ 'hl': ['fg', 'Search'], - \ 'fg+': ['fg', 'Normal'], - \ 'bg+': ['bg', 'Normal'], - \ 'hl+': ['fg', 'HardHackerRed'], - \ 'info': ['fg', 'HardHackerPurple'], - \ 'border': ['fg', 'HardHackerBorder'], - \ 'prompt': ['fg', 'HardHackerGreen'], - \ 'pointer': ['fg', 'Exception'], - \ 'marker': ['fg', 'Keyword'], - \ 'spinner': ['fg', 'Label'], - \ 'header': ['fg', 'Comment'], - \} - endif +" fzf +if exists('g:loaded_fzf') && ! exists('g:fzf_colors') + let g:fzf_colors = { + \ 'fg': ['fg', 'Normal'], + \ 'bg': ['bg', 'Normal'], + \ 'hl': ['fg', 'Search'], + \ 'fg+': ['fg', 'Normal'], + \ 'bg+': ['bg', 'Normal'], + \ 'hl+': ['fg', 'HardHackerRed'], + \ 'info': ['fg', 'HardHackerPurple'], + \ 'border': ['fg', 'HardHackerBorder'], + \ 'prompt': ['fg', 'HardHackerGreen'], + \ 'pointer': ['fg', 'Exception'], + \ 'marker': ['fg', 'Keyword'], + \ 'spinner': ['fg', 'Label'], + \ 'header': ['fg', 'Comment'], + \} +endif +if has('nvim') " gitgutter gitsigns - if exists('g:loaded_gitgutter') - hi! link GitGutterAdd HardHackerGreen - hi! link GitGutterChange HardHackerYellow - hi! link GitGutterDelete HardHackerRed - endif - if has('nvim') && luaeval("pcall(require, 'gitsigns')") - " gitsigns.nvim requires nvim > 0.5 - hi! link GitSignsAdd HardHackerGreen - hi! link GitSignsAddLn GitSignsAdd - hi! link GitSignsAddNr GitSignsAdd - hi! link GitSignsChange HardHackerYellow - hi! link GitSignsChangeLn GitSignsChange - hi! link GitSignsChangeNr GitSignsChange - hi! link GitSignsDelete HardHackerRed - hi! link GitSignsDeleteLn GitSignsDelete - hi! link GitSignsDeleteNr GitSignsDelete - endif + hi! link GitGutterAdd HardHackerGreen + hi! link GitGutterChange HardHackerYellow + hi! link GitGutterDelete HardHackerRed + " gitsigns.nvim requires nvim > 0.5 + hi! link GitSignsAdd HardHackerGreen + hi! link GitSignsAddLn GitSignsAdd + hi! link GitSignsAddNr GitSignsAdd + hi! link GitSignsChange HardHackerYellow + hi! link GitSignsChangeLn GitSignsChange + hi! link GitSignsChangeNr GitSignsChange + hi! link GitSignsDelete HardHackerRed + hi! link GitSignsDeleteLn GitSignsDelete + hi! link GitSignsDeleteNr GitSignsDelete " bufferline - if has('nvim') && luaeval("pcall(require, 'bufferline')") - hi! link BufferLineFill TabLineFill - hi! link BufferLineOffsetSeparator VertSplit - endif - - " telescope - if has('nvim') && exists('g:loaded_telescope') - hi! link TelescopeTitle Title - hi! link TelescopeBorder HardHackerBorder - endif - - " neo-tree - if has('nvim') && exists('g:loaded_neo_tree') - hi! link NeoTreeGitAdded HardHackerGreen - hi! link NeoTreeGitDeleted HardHackerRed - hi! link NeoTreeGitModified HardHackerYellow - hi! link NeoTreeGitConflict HardHackerPurple - hi! link NeoTreeGitUntracked HardHackerCyan - hi! link NeoTreeFileName HardHackerBlue2 - hi! link NeoTreeRootName NeoTreeDirectoryName - hi! link NeoTreeFloatTitle Title - - hi! link NeoTreeNormal HardHackerComment - hi! link NeoTreeNormalNC HardHackerComment - endif - + hi! link BufferLineFill TabLineFill + hi! link BufferLineOffsetSeparator VertSplit + + hi! link TelescopeTitle Title + hi! link TelescopeBorder HardHackerBorder + + hi! link NeoTreeGitAdded HardHackerGreen + hi! link NeoTreeGitDeleted HardHackerRed + hi! link NeoTreeGitModified HardHackerYellow + hi! link NeoTreeGitConflict HardHackerPurple + hi! link NeoTreeGitUntracked HardHackerCyan + hi! link NeoTreeFileName HardHackerBlue2 + hi! link NeoTreeRootName NeoTreeDirectoryName + hi! link NeoTreeFloatTitle Title + + hi! link NeoTreeNormal HardHackerComment + hi! link NeoTreeNormalNC HardHackerComment " dashboard-nvim - if has('nvim') && luaeval("pcall(require, 'dashboard')") - hi! link DashboardHeader HardHackerRed - hi! link DashboardFooter HardHackerComment - " DashboardProjectTitle - " DashboardProjectTitleIcon - hi! link DashboardMruTitle Title - " DashboardFiles - " DashboardShortCut - endif + hi! link DashboardHeader HardHackerRed + hi! link DashboardFooter HardHackerComment + " DashboardProjectTitle + " DashboardProjectTitleIcon + hi! link DashboardMruTitle Title + " DashboardFiles + " DashboardShortCut " nvim-cmp - if has('nvim') && exists('g:loaded_cmp') - hi! link CmpItemKindDefault Type - hi! link CmpItemAbbrMatchDefault HardHackerPurple - endif + hi! link CmpItemKindDefault Type + hi! link CmpItemAbbrMatchDefault HardHackerPurple - if has('nvim') && luaeval("pcall(require, 'aerial')") - hi! link AerialLine HardHackerRed - hi! link NONE HardHackerBlue2 - endif + hi! link AerialLine HardHackerRed + hi! link NONE HardHackerBlue2 - if has('nvim') && luaeval("pcall(require, 'noice')") - hi! link NoicePopupBorder FloatBorder - hi! link NoiceCmdlinePopupBorder FloatBorder - hi! link NoiceConfirmBorder FloatBorder - endif + hi! link NoicePopupBorder FloatBorder + hi! link NoiceCmdlinePopupBorder FloatBorder + hi! link NoiceConfirmBorder FloatBorder - if has('nvim') && luaeval("pcall(require, 'toggleterm')") - hi! link ToggleTerm1EndOfBuffer EndOfBuffer - hi! link ToggleTerm1SignColumn EndOfBuffer - endif + hi! link ToggleTerm1EndOfBuffer EndOfBuffer + hi! link ToggleTerm1SignColumn EndOfBuffer - if has('nvim') && luaeval("pcall(require, 'null-ls')") - hi! link NullLsInfoBorder FloatBorder - hi! link NullLsInfoHeader Type - hi! link NullLsInfoTitle Title - hi! link NullLsInfoSources Label - endif + hi! link NullLsInfoBorder FloatBorder + hi! link NullLsInfoHeader Type + hi! link NullLsInfoTitle Title + hi! link NullLsInfoSources Label " tree-sitter highlights - if has('nvim') - " Misc - hi! link @operator Operator - - " Punctuation - hi! link @punctuation.delimiter Delimiter - hi! link @punctuation.bracket Delimiter - hi! link @punctuation.special Special - hi! link @punctuation.special.markdown HardHackerGreen - - " Literals - hi! link @string.documentation HardHackerYellow - hi! link @string.regex HardHackerBlue - hi! link @string.escape HardHackerGreen - - " Functions - hi! link @constructor Function - hi! link @parameter HardHackerYellow - hi! link @function.builtin Function - - " Keywords - hi! link @keyword Keyword - hi! link @keyword.function Keyword - hi! link @label Label - - " Types - hi! link @type.builtin Type - hi! link @field Identifier - hi! link @property Identifier - - " Identifiers - hi! link @variable Identifier - hi! link @variable.builtin HardHackerBlue " link 'this' or 'self' - - " Text - hi! link @text.literal.markdown_inline HardHackerBlue - hi! link @text.reference HardHackerYellow - - hi! link @text.todo.unchecked HardHackerBlue - hi! link @text.todo.checked HardHackerGreen - hi! link @text.warning HardHackerYellow - hi! link @text.danger HardHackerRed - - hi! link @text.diff.add DiffAdd - hi! link @text.diff.delete DiffDelete - - hi! link @namespace Include - - " tsx - hi! link @tag.tsx HardHackerRed - hi! link @constructor.tsx HardHackerBlue - hi! link @tag.delimiter.tsx HardHackerBlue - - " LSP Semantic Token Groups - hi! link @lsp.type.boolean @boolean - hi! link @lsp.type.builtinType @type.builtin - hi! link @lsp.type.comment @comment - hi! link @lsp.type.enum @type - hi! link @lsp.type.enumMember @constant - hi! link @lsp.type.escapeSequence @string.escape - hi! link @lsp.type.formatSpecifier @punctuation.special - hi! link @lsp.type.interface Type - hi! link @lsp.type.keyword @keyword - hi! link @lsp.type.namespace @namespace - hi! link @lsp.type.number @number - hi! link @lsp.type.operator @operator - hi! link @lsp.type.parameter @parameter - hi! link @lsp.type.property @property - hi! link @lsp.type.selfKeyword @variable.builtin - hi! link @lsp.type.string.rust @string - hi! link @lsp.type.typeAlias @type.definition - hi! link @lsp.type.unresolvedReference Error - hi! link @lsp.typemod.class.defaultLibrary @type.builtin - hi! link @lsp.typemod.enum.defaultLibrary @type.builtin - hi! link @lsp.typemod.enumMember.defaultLibrary @constant.builtin - hi! link @lsp.typemod.function.defaultLibrary @function.builtin - hi! link @lsp.typemod.keyword.async @keyword.coroutine - hi! link @lsp.typemod.macro.defaultLibrary @function.builtin - hi! link @lsp.typemod.method.defaultLibrary @function.builtin - hi! link @lsp.typemod.operator.injected @operator - hi! link @lsp.typemod.string.injected @string - hi! link @lsp.typemod.type.defaultLibrary HardHackerGreen - hi! link @lsp.typemod.variable.defaultLibrary @variable.builtin - hi! link @lsp.typemod.variable.injected @variable - endif - - " Execute all custom highlights - if exists('g:hardhacker_custom_highlights') - for item in g:hardhacker_custom_highlights - execute item - endfor - endif -endfunction + " Misc + hi! link @operator Operator + + " Punctuation + hi! link @punctuation.delimiter Delimiter + hi! link @punctuation.bracket Delimiter + hi! link @punctuation.special Special + hi! link @punctuation.special.markdown HardHackerGreen + + " Literals + hi! link @string.documentation HardHackerYellow + hi! link @string.regex HardHackerBlue + hi! link @string.escape HardHackerGreen + + " Functions + hi! link @constructor Function + hi! link @parameter HardHackerYellow + hi! link @function.builtin Function + + " Keywords + hi! link @keyword Keyword + hi! link @keyword.function Keyword + hi! link @label Label + + " Types + hi! link @type.builtin Type + hi! link @field Identifier + hi! link @property Identifier + + " Identifiers + hi! link @variable Identifier + hi! link @variable.builtin HardHackerBlue " link 'this' or 'self' + + " Text + hi! link @text.literal.markdown_inline HardHackerBlue + hi! link @text.reference HardHackerYellow + + hi! link @text.todo.unchecked HardHackerBlue + hi! link @text.todo.checked HardHackerGreen + hi! link @text.warning HardHackerYellow + hi! link @text.danger HardHackerRed + + hi! link @text.diff.add DiffAdd + hi! link @text.diff.delete DiffDelete + + hi! link @namespace Include + + " tsx + hi! link @tag.tsx HardHackerRed + hi! link @constructor.tsx HardHackerBlue + hi! link @tag.delimiter.tsx HardHackerBlue + + " LSP Semantic Token Groups + hi! link @lsp.type.boolean @boolean + hi! link @lsp.type.builtinType @type.builtin + hi! link @lsp.type.comment @comment + hi! link @lsp.type.enum @type + hi! link @lsp.type.enumMember @constant + hi! link @lsp.type.escapeSequence @string.escape + hi! link @lsp.type.formatSpecifier @punctuation.special + hi! link @lsp.type.interface Type + hi! link @lsp.type.keyword @keyword + hi! link @lsp.type.namespace @namespace + hi! link @lsp.type.number @number + hi! link @lsp.type.operator @operator + hi! link @lsp.type.parameter @parameter + hi! link @lsp.type.property @property + hi! link @lsp.type.selfKeyword @variable.builtin + hi! link @lsp.type.string.rust @string + hi! link @lsp.type.typeAlias @type.definition + hi! link @lsp.type.unresolvedReference Error + hi! link @lsp.typemod.class.defaultLibrary @type.builtin + hi! link @lsp.typemod.enum.defaultLibrary @type.builtin + hi! link @lsp.typemod.enumMember.defaultLibrary @constant.builtin + hi! link @lsp.typemod.function.defaultLibrary @function.builtin + hi! link @lsp.typemod.keyword.async @keyword.coroutine + hi! link @lsp.typemod.macro.defaultLibrary @function.builtin + hi! link @lsp.typemod.method.defaultLibrary @function.builtin + hi! link @lsp.typemod.operator.injected @operator + hi! link @lsp.typemod.string.injected @string + hi! link @lsp.typemod.type.defaultLibrary HardHackerGreen + hi! link @lsp.typemod.variable.defaultLibrary @variable.builtin + hi! link @lsp.typemod.variable.injected @variable +endif -command! HardHackerAfterHighlight call s:AfterHighlight() -call s:AfterHighlight() +" Execute all custom highlights +if exists('g:hardhacker_custom_highlights') + for item in g:hardhacker_custom_highlights + execute item + endfor +endif