auto generate docs

This commit is contained in:
mcchrish authored and GitHub Actions committed 2021-09-22 10:22:33 +00:00
1 parent 51a0ad91e8
commit efbc5a7552
1 file changed
+86
+86
View File
@@ -102,6 +102,92 @@ colors in lua:
See also Lush’s documentation
<https://github.com/rktjmp/lush.nvim#advanced-usage> for more options.
CREATE YOUR OWN COLORSCHEME ~
You can ultimately create your own colorscheme that is based on Zenbones by
modifying the base palette and extending the specs. Best way to demonstrate
this is through an example. Let’s make a zenbones-flavored Gruvbox
colorscheme called `gruvbones`.
Let’s define our |colorscheme| in `nvim/colors/gruvbones.lua`. And it
contains the following:
>
vim.g.colors_name = "gruvbones"
-- let's base bg=dark, bg=light on zenflesh, zenbones specs respectively
local base_name = vim.opt.background:get() == "dark" and "zenflesh" or "zenbones"
-- reset base palette and specs
package.loaded[base_name .. ".palette"] = nil
package.loaded[base_name] = nil
local lush = require "lush"
local hsl = lush.hsl
-- modify base palette (before requiring specs)
-- and we can also define our own
-- note: non-exhaustive copy of gruvbox palette. Ref: https://github.com/gruvbox-community/gruvbox#palette
local base = require(base_name .. ".palette")
local gruv
if base_name == "zenbones" then
base.bg = hsl "#fbf1c7"
base.fg = hsl "#3c3836"
gruv = {
gray = hsl "#7c6f64",
fg0 = hsl "#282828",
fg1 = hsl "#3c3836",
fg2 = hsl "#504945",
fg3 = hsl "#665c54",
fg4 = hsl "#7c6f64",
}
else
base.bg = hsl "#282828"
base.fg = hsl "#ebdbb2"
gruv = {
gray = hsl "#a89984",
fg0 = hsl "#fbf1c7",
fg1 = hsl "#ebdbb2",
fg2 = hsl "#d5c4a1",
fg3 = hsl "#d5c4a1",
fg4 = hsl "#a89984",
}
end
base.rose = hsl "#cc241d"
base.leaf = hsl "#98971a"
base.wood = hsl "#d79921"
base.water = hsl "#458588"
base.blossom = hsl "#b16286"
base.sky = hsl "#689d6a"
-- extend specs using Lush
local theme = require(base_name)
local specs = lush.extends({ theme }).with(function()
return {
Constant { fg = gruv.fg4, gui = "italic" },
Identifier { fg = gruv.fg2, gui = "italic" },
Special { fg = gruv.fg3, gui = "bold" },
Delimiter { fg = gruv.gray },
Comment { fg = gruv.gray, gui = "italic" },
LineNr { fg = Comment.fg },
}
end)
-- apply terminal colors
require(base_name .. ".terminal").setup()
-- include our theme file and pass it to lush to apply
lush(specs)
<
And there you have it. Just call `colorscheme gruvbones` to use your new
colorscheme. It respects `&background` and other configurations too.
Also checkout the neovim <colors/neovim.lua> colorscheme for a similarly
complete example.
Generated by panvimdoc <https://github.com/kdheepak/panvimdoc>
vim:tw=78:ts=8:noet:ft=help:norl: