nviiim/after/plugin/colour.lua
Robert Morrison 29e65ee8b1
feat(color)!: Add theme.sh detection
Add support for checking if `theme.sh` is installed and if so attempt to
choose a matching theme colour.
Marked as breaking as this is untested outside of my environment
2023-05-05 19:14:42 +01:00

31 lines
726 B
Lua

local ok = pcall(require, "gruvbox")
if not ok then
return
end
-- default colourscheme settings
vim.o.background = "dark"
vim.cmd.colorscheme('gruvbox')
local function invertTheme()
if vim.o.background == "dark" then
vim.o.background = "light"
else
vim.o.background = "dark"
end
end
vim.keymap.set('n','<leader>i',invertTheme,{desc='Invert colourscheme'})
if vim.fn.executable('theme.sh') and vim.fn.exists('~/.config/.theme_history') then
local currentTheme = vim.fn.system('theme.sh -l | tail -n1', 'silent'):gsub('\n','')
local lightThemes = vim.fn.systemlist('theme.sh --light -l')
if vim.tbl_contains(lightThemes,currentTheme) then
vim.o.background = "light"
else
vim.o.background = "dark"
end
end