Skip to content

A Neovim plugin for macOS, Linux & Windows that automatically changes the editor appearance based on system settings.

License

Notifications You must be signed in to change notification settings

f-person/auto-dark-mode.nvim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

auto-dark-mode.nvim

A Neovim plugin for macOS, Linux, and Windows that automatically changes the editor appearance based on system settings.

macOS demo
Linux demo
Linux demo
Windows demo
Windows demo

Installation

Using vim-plug

Plug 'f-person/auto-dark-mode.nvim'

Requirements

Configuration

You need to call setup for initialization. setup accepts a table with options – set_dark_mode function, set_light_mode function, and update_interval integer.

set_dark_mode is called when the system appearance changes to dark mode, and set_light_mode is called when it changes to light mode. By default, they just change the background option, but you can do whatever you like.

update_interval is how frequently the system appearance is checked. The value needs to be larger than whatever time your system takes to query dark mode. Otherwise you risk freezing neovim on shutdown. The value is stored in milliseconds. Defaults to 3000.

local auto_dark_mode = require('auto-dark-mode')

auto_dark_mode.setup({
	update_interval = 1000,
	set_dark_mode = function()
		vim.api.nvim_set_option_value('background', 'dark', {})
		vim.cmd('colorscheme gruvbox')
	end,
	set_light_mode = function()
		vim.api.nvim_set_option_value('background', 'light', {})
		vim.cmd('colorscheme gruvbox')
	end,
})

Using lazy

return {
  "f-person/auto-dark-mode.nvim",
  opts = {
    update_interval = 1000,
    set_dark_mode = function()
      vim.api.nvim_set_option_value("background", "dark", {})
      vim.cmd("colorscheme gruvbox")
    end,
    set_light_mode = function()
      vim.api.nvim_set_option_value("background", "light", {})
      vim.cmd("colorscheme gruvbox")
    end,
  },
}

Disable

You can disable auto-dark-mode.nvim at runtime via lua require('auto-dark-mode').disable().

Thanks To

Support

If you enjoy the plugin and want to support what I do

Buy Me A Coffee

About

A Neovim plugin for macOS, Linux & Windows that automatically changes the editor appearance based on system settings.

Resources

License

Stars

Watchers

Forks

Languages