zbirenbaum / nvim-base16.lua

nvchad theme plugin

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

base16.lua

Programmatic lua library for setting base16 themes in Neovim.

(Note: This theme plugin is supposed to be used along with NvChad only so watchout!)

Usage

Install via your plugin manager. e.g.

Plug 'NvChad/nvim-base16.lua'

Basic usage

lua << EOF
local base16 = require 'base16'
base16(base16.themes("brewer"), true)
EOF

This is how I use it. Uses norcalli/nvim.lua.

lua << EOF
nvim = require 'nvim'
local base16 = require 'base16'
base16(base16.themes[nvim.env.BASE16_THEME or "3024"], true)
EOF

You can define your own themes and use them with the base16 function as long as they match the format described below. I know the format is annoying to define, so the base16.theme_from_array utility function is available.

API

base16.apply_theme(theme_definition: dict, use_256_colorspace: bool)

base16(theme_definition: dict, use_256_colorspace: bool)

Alias for base16.apply_theme(theme_definition: dict, use_256_colorspace: bool).

Example:

base16(base16.themes("brewer"), true)

base16.theme_from_array(theme_definition: array) -> dict

Formats an array of 16 hex color strings into a dictionary suitable for use with base16.apply_theme.

Example:

local theme = base16.theme_from_array {
	"383838"; "404040"; "606060"; "6f6f6f";
	"808080"; "dcdccc"; "c0c0c0"; "ffffff";
	"dca3a3"; "dfaf8f"; "e0cf9f"; "5f7f5f";
	"93e0e3"; "7cb8bb"; "dc8cc3"; "000000";
}
base16(theme, true)

Variables

base16.themes

Dictionary of definitions to be used by base16 or base16.apply_theme.

Example:

base16.themes["zenburn"] == {
	base00 = "383838"; base01 = "404040"; base02 = "606060"; base03 = "6f6f6f";
	base04 = "808080"; base05 = "dcdccc"; base06 = "c0c0c0"; base07 = "ffffff";
	base08 = "dca3a3"; base09 = "dfaf8f"; base0A = "e0cf9f"; base0B = "5f7f5f";
	base0C = "93e0e3"; base0D = "7cb8bb"; base0E = "dc8cc3"; base0F = "000000";
}

Notes

Because this includes a copy of norcalli/nvim.lua, you should put this after norcalli/nvim.lua in the plugin list because lua module resolution is first-come-first-served, i.e.

Plug "norcalli/nvim.lua"
Plug "norcalli/nvim-base16.lua"

Credits

Chris Kempson and Base16 and base16-vim

About

nvchad theme plugin

License:Other


Languages

Language:Lua 100.0%