[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()
|
||||
|
||||
require 'autocommands'
|
||||
require 'colors'
|
||||
require 'configuration'
|
||||
require 'diagnostics'
|
||||
require 'treesitter'
|
||||
require 'lsp'
|
||||
|
||||
local colors = require 'colors'
|
||||
colors.init()
|
||||
|
||||
local keys = require 'keys'
|
||||
keys.init()
|
||||
|
||||
|
|
|
|||
|
|
@ -4,59 +4,100 @@
|
|||
-- 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
|
||||
-- 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", {
|
||||
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,
|
||||
})
|
||||
local group = vim.api.nvim_create_augroup("ListModeTrailingWhitespace", { clear = true })
|
||||
|
||||
vim.api.nvim_create_autocmd("ColorScheme", {
|
||||
pattern = "default",
|
||||
callback = function()
|
||||
vim.cmd [[ hi! NormalFloat ctermfg=8 ]]
|
||||
end,
|
||||
group = colorscheme_group,
|
||||
})
|
||||
local callback = function(env)
|
||||
local list_mode_enabled = vim.api.nvim_get_option_value("list", { })
|
||||
if list_mode_enabled then
|
||||
vim.cmd [[ highlight link TrailingWhitespace ErrorMsg ]]
|
||||
if should_create_highlight_match then
|
||||
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", {
|
||||
pattern = "dracula",
|
||||
callback = function()
|
||||
vim.cmd [[ highlight CursorLineNr guibg=#44475a ]]
|
||||
end,
|
||||
group = colorscheme_group,
|
||||
})
|
||||
vim.api.nvim_create_autocmd("OptionSet", {
|
||||
pattern = "list",
|
||||
group = group,
|
||||
callback = callback,
|
||||
})
|
||||
|
||||
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("BufWinEnter", {
|
||||
group = group,
|
||||
callback = callback,
|
||||
})
|
||||
end
|
||||
|
||||
vim.api.nvim_create_autocmd("ColorScheme", {
|
||||
pattern = "zaibatsu",
|
||||
callback = function()
|
||||
vim.cmd [[
|
||||
hi! Pmenu ctermbg=8
|
||||
hi! VertSplit ctermbg=8
|
||||
]]
|
||||
end,
|
||||
group = colorscheme_group,
|
||||
})
|
||||
local function _create_autocmds()
|
||||
local colorscheme_group = vim.api.nvim_create_augroup("ColorSchemeOverrides", { clear = true })
|
||||
|
||||
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