[nvim] Autocmd to highlight trailing whitespace using ErrorMsg
Additionally refactor the colors lua module into one with an init function that init.lua can invoke.
This commit is contained in:
parent
929f951391
commit
c58625cc89
2 changed files with 93 additions and 50 deletions
|
|
@ -49,12 +49,14 @@ vim.cmd [[
|
||||||
addGitTopLevelDirectoryToRuntimePath()
|
addGitTopLevelDirectoryToRuntimePath()
|
||||||
|
|
||||||
require 'autocommands'
|
require 'autocommands'
|
||||||
require 'colors'
|
|
||||||
require 'configuration'
|
require 'configuration'
|
||||||
require 'diagnostics'
|
require 'diagnostics'
|
||||||
require 'treesitter'
|
require 'treesitter'
|
||||||
require 'lsp'
|
require 'lsp'
|
||||||
|
|
||||||
|
local colors = require 'colors'
|
||||||
|
colors.init()
|
||||||
|
|
||||||
local keys = require 'keys'
|
local keys = require 'keys'
|
||||||
keys.init()
|
keys.init()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,59 +4,100 @@
|
||||||
-- know it can do it. This is required for most modern color themes. Apple's
|
-- know it can do it. This is required for most modern color themes. Apple's
|
||||||
-- Terminal.app doesn't have True Color support though, so make sure it's
|
-- Terminal.app doesn't have True Color support though, so make sure it's
|
||||||
-- off for that.
|
-- off for that.
|
||||||
vim.g.termguicolors = not vim.env.TERM_PROGRAM == "Apple_Terminal"
|
--vim.g.termguicolors = not vim.env.TERM_PROGRAM == "Apple_Terminal"
|
||||||
|
|
||||||
local colorscheme_group = vim.api.nvim_create_augroup("ColorSchemeOverrides", { clear = true })
|
local function _highlight_trailing_whitespace()
|
||||||
|
local should_create_highlight_match = true
|
||||||
|
|
||||||
vim.api.nvim_create_autocmd("ColorScheme", {
|
local group = vim.api.nvim_create_augroup("ListModeTrailingWhitespace", { clear = true })
|
||||||
callback = function()
|
|
||||||
vim.cmd [[
|
|
||||||
hi! ColorColumn cterm=NONE ctermbg=233
|
|
||||||
hi! CursorColumn cterm=NONE ctermbg=233
|
|
||||||
hi! CursorLine cterm=NONE ctermbg=233
|
|
||||||
hi! CursorLineNr cterm=bold ctermfg=White ctermbg=233
|
|
||||||
hi! LineNr ctermfg=DarkGray ctermbg=233
|
|
||||||
]]
|
|
||||||
end,
|
|
||||||
group = colorscheme_group,
|
|
||||||
})
|
|
||||||
|
|
||||||
vim.api.nvim_create_autocmd("ColorScheme", {
|
local callback = function(env)
|
||||||
pattern = "default",
|
local list_mode_enabled = vim.api.nvim_get_option_value("list", { })
|
||||||
callback = function()
|
if list_mode_enabled then
|
||||||
vim.cmd [[ hi! NormalFloat ctermfg=8 ]]
|
vim.cmd [[ highlight link TrailingWhitespace ErrorMsg ]]
|
||||||
end,
|
if should_create_highlight_match then
|
||||||
group = colorscheme_group,
|
vim.cmd [[ match TrailingWhitespace /\v\s+$/ ]]
|
||||||
})
|
should_create_highlight_match = false
|
||||||
|
end
|
||||||
|
else
|
||||||
|
vim.cmd [[ highlight clear TrailingWhitespace ]]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
vim.api.nvim_create_autocmd("ColorScheme", {
|
vim.api.nvim_create_autocmd("OptionSet", {
|
||||||
pattern = "dracula",
|
pattern = "list",
|
||||||
callback = function()
|
group = group,
|
||||||
vim.cmd [[ highlight CursorLineNr guibg=#44475a ]]
|
callback = callback,
|
||||||
end,
|
})
|
||||||
group = colorscheme_group,
|
|
||||||
})
|
|
||||||
|
|
||||||
vim.api.nvim_create_autocmd("ColorScheme", {
|
vim.api.nvim_create_autocmd("BufWinEnter", {
|
||||||
pattern = "witchhazel",
|
group = group,
|
||||||
callback = function()
|
callback = callback,
|
||||||
vim.cmd [[
|
})
|
||||||
hi! default link LineNr CursorLineNr
|
end
|
||||||
hi! default link CursorLineNr CursorLine
|
|
||||||
]]
|
|
||||||
end,
|
|
||||||
group = colorscheme_group,
|
|
||||||
})
|
|
||||||
|
|
||||||
vim.api.nvim_create_autocmd("ColorScheme", {
|
local function _create_autocmds()
|
||||||
pattern = "zaibatsu",
|
local colorscheme_group = vim.api.nvim_create_augroup("ColorSchemeOverrides", { clear = true })
|
||||||
callback = function()
|
|
||||||
vim.cmd [[
|
|
||||||
hi! Pmenu ctermbg=8
|
|
||||||
hi! VertSplit ctermbg=8
|
|
||||||
]]
|
|
||||||
end,
|
|
||||||
group = colorscheme_group,
|
|
||||||
})
|
|
||||||
|
|
||||||
vim.cmd [[ color zaibatsu ]]
|
vim.api.nvim_create_autocmd("ColorScheme", {
|
||||||
|
callback = function()
|
||||||
|
vim.cmd [[
|
||||||
|
hi! ColorColumn cterm=NONE ctermbg=233
|
||||||
|
hi! CursorColumn cterm=NONE ctermbg=233
|
||||||
|
hi! CursorLine cterm=NONE ctermbg=233
|
||||||
|
hi! CursorLineNr cterm=bold ctermfg=White ctermbg=233
|
||||||
|
hi! LineNr ctermfg=DarkGray ctermbg=233
|
||||||
|
]]
|
||||||
|
end,
|
||||||
|
group = colorscheme_group,
|
||||||
|
})
|
||||||
|
|
||||||
|
vim.api.nvim_create_autocmd("ColorScheme", {
|
||||||
|
pattern = "default",
|
||||||
|
callback = function()
|
||||||
|
vim.cmd [[ hi! NormalFloat ctermfg=8 ]]
|
||||||
|
end,
|
||||||
|
group = colorscheme_group,
|
||||||
|
})
|
||||||
|
|
||||||
|
vim.api.nvim_create_autocmd("ColorScheme", {
|
||||||
|
pattern = "dracula",
|
||||||
|
callback = function()
|
||||||
|
vim.cmd [[ highlight CursorLineNr guibg=#44475a ]]
|
||||||
|
end,
|
||||||
|
group = colorscheme_group,
|
||||||
|
})
|
||||||
|
|
||||||
|
vim.api.nvim_create_autocmd("ColorScheme", {
|
||||||
|
pattern = "witchhazel",
|
||||||
|
callback = function()
|
||||||
|
vim.cmd [[
|
||||||
|
hi! default link LineNr CursorLineNr
|
||||||
|
hi! default link CursorLineNr CursorLine
|
||||||
|
]]
|
||||||
|
end,
|
||||||
|
group = colorscheme_group,
|
||||||
|
})
|
||||||
|
|
||||||
|
vim.api.nvim_create_autocmd("ColorScheme", {
|
||||||
|
pattern = "zaibatsu",
|
||||||
|
callback = function()
|
||||||
|
vim.cmd [[
|
||||||
|
hi! Pmenu ctermbg=8
|
||||||
|
hi! VertSplit ctermbg=8
|
||||||
|
]]
|
||||||
|
end,
|
||||||
|
group = colorscheme_group,
|
||||||
|
})
|
||||||
|
end
|
||||||
|
|
||||||
|
local function init_colors()
|
||||||
|
_highlight_trailing_whitespace()
|
||||||
|
_create_autocmds()
|
||||||
|
|
||||||
|
vim.cmd [[ color zaibatsu ]]
|
||||||
|
end
|
||||||
|
|
||||||
|
return {
|
||||||
|
init = init_colors
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue