fix!: use new-style autocmds

This commit is contained in:
Folke Lemaitre
2023-06-19 23:07:35 +02:00
parent 18259404c9
commit ec8f2efe9d
2 changed files with 29 additions and 18 deletions

View File

@@ -31,6 +31,7 @@ extra themes for Kitty, Alacritty, iTerm and Fish.
### 🍭 Extras ### 🍭 Extras
<!-- extras:start --> <!-- extras:start -->
- [Alacritty](https://github.com/alacritty/alacritty) ([alacritty](extras/alacritty)) - [Alacritty](https://github.com/alacritty/alacritty) ([alacritty](extras/alacritty))
- [Delta](https://github.com/dandavison/delta) ([delta](extras/delta)) - [Delta](https://github.com/dandavison/delta) ([delta](extras/delta))
- [Dunst](https://dunst-project.org/) ([dunst](extras/dunst)) - [Dunst](https://dunst-project.org/) ([dunst](extras/dunst))
@@ -54,7 +55,7 @@ extra themes for Kitty, Alacritty, iTerm and Fish.
## ⚡️ Requirements ## ⚡️ Requirements
- Neovim >= 0.6.0 - Neovim >= 0.7.2
## 📦 Installation ## 📦 Installation

View File

@@ -69,27 +69,37 @@ function M.highlight(group, hl)
vim.api.nvim_set_hl(0, group, hl) vim.api.nvim_set_hl(0, group, hl)
end end
--- Delete the autocmds when the theme changes to something else
function M.onColorScheme()
vim.cmd([[autocmd! TokyoNight]])
vim.cmd([[augroup! TokyoNight]])
end
---@param config Config ---@param config Config
function M.autocmds(config) function M.autocmds(config)
vim.cmd([[augroup TokyoNight]]) local group = vim.api.nvim_create_augroup("tokyonight", { clear = true })
vim.cmd([[ autocmd!]])
vim.cmd([[ autocmd ColorSchemePre * lua require("tokyonight.util").onColorScheme()]])
vim.cmd( vim.api.nvim_create_autocmd("ColorSchemePre", {
[[ autocmd FileType ]] group = group,
.. table.concat(config.sidebars, ",") callback = function()
.. [[ setlocal winhighlight=Normal:NormalSB,SignColumn:SignColumnSB]] vim.api.nvim_del_augroup_by_id(group)
) end,
if vim.tbl_contains(config.sidebars, "terminal") then })
vim.cmd([[ autocmd TermOpen * setlocal winhighlight=Normal:NormalSB,SignColumn:SignColumnSB]]) local function set_whl()
local win = vim.api.nvim_get_current_win()
local whl = vim.split(vim.wo[win].winhighlight, ",")
vim.list_extend(whl, { "Normal:NormalSB", "SignColumn:SignColumnSB" })
whl = vim.tbl_filter(function(hl)
return hl ~= ""
end, whl)
vim.opt_local.winhighlight = table.concat(whl, ",")
end
vim.api.nvim_create_autocmd("FileType", {
group = group,
pattern = table.concat(config.sidebars, ","),
callback = set_whl,
})
if vim.tbl_contains(config.sidebars, "terminal") then
vim.api.nvim_create_autocmd("TermOpen", {
group = group,
callback = set_whl,
})
end end
vim.cmd([[augroup end]])
end end
-- Simple string interpolation. -- Simple string interpolation.