diff --git a/README.md b/README.md index 6feb476..440b064 100644 --- a/README.md +++ b/README.md @@ -162,3 +162,16 @@ set -as terminal-overrides ',*:Setulc=\E[58::2::%p1%{65536}%/%d::%p1%{256}%/%{25 Extra color configs for **Kitty**, **Alacritty**, **Fish**, **WezTerm** and **iTerm** can be found in [extras](extras/). To use them, refer to their respective documentation. ![image](https://user-images.githubusercontent.com/292349/115395546-d8d6f880-a198-11eb-98fb-a1194787701d.png) + +## 🔥 Contributing + +Pull requests are welcome. For the `extras`, we use a simple template system that can be used to generate themes for the different styles. + +How to add a new extra template: + +1. create a file like `lua/tokyonight/extra/cool-app.lua` +2. add the name and output file extension to the `extras` table in `lua/tokyonight/extra/init.lua` +3. in the root directory, run `$ lua lua/tokyonight/extra/init.lua` to generate / update extra themes +4. commit the newly created themes under `extra/` + + diff --git a/lua/tokyonight/extra/alacritty.lua b/lua/tokyonight/extra/alacritty.lua index cddf4f0..65cdd26 100644 --- a/lua/tokyonight/extra/alacritty.lua +++ b/lua/tokyonight/extra/alacritty.lua @@ -2,11 +2,8 @@ local util = require("tokyonight.util") local M = {} -function M.alacritty(config) - config = config or require("tokyonight.config") - config.transform_colors = true - local colors = require("tokyonight.colors").setup(config) - +--- @param colors ColorScheme +function M.generate(colors) local alacrittyColors = {} for k, v in pairs(colors) do if type(v) == "string" then diff --git a/lua/tokyonight/extra/fish.lua b/lua/tokyonight/extra/fish.lua index 9db3943..80f0c28 100644 --- a/lua/tokyonight/extra/fish.lua +++ b/lua/tokyonight/extra/fish.lua @@ -2,11 +2,8 @@ local util = require("tokyonight.util") local M = {} -function M.fish(config) - config = config or require("tokyonight.config") - config.transform_colors = true - local colors = require("tokyonight.colors").setup(config) - +--- @param colors ColorScheme +function M.generate(colors) local fishColors = {} for k, v in pairs(colors) do if type(v) == "string" then diff --git a/lua/tokyonight/extra/init.lua b/lua/tokyonight/extra/init.lua index ae5252b..6c83466 100644 --- a/lua/tokyonight/extra/init.lua +++ b/lua/tokyonight/extra/init.lua @@ -9,6 +9,7 @@ local function write(str, fileName) file:close() end +-- map of plugin name to plugin extension local extras = { kitty = "conf", fish = "fish", alacritty = "yml", wezterm = "toml", tmux = "tmux" } local styles = { "storm", "night", "day" } @@ -16,6 +17,9 @@ for extra, ext in pairs(extras) do local plugin = require("tokyonight.extra." .. extra) for _, style in pairs(styles) do config.style = style - write(plugin[extra](config), extra .. "_tokyonight_" .. style .. "." .. ext) + config = config or require("tokyonight.config") + config.transform_colors = true + local colors = require("tokyonight.colors").setup(config) + write(plugin.generate(colors), extra .. "_tokyonight_" .. style .. "." .. ext) end end diff --git a/lua/tokyonight/extra/kitty.lua b/lua/tokyonight/extra/kitty.lua index 1a2a038..006c829 100644 --- a/lua/tokyonight/extra/kitty.lua +++ b/lua/tokyonight/extra/kitty.lua @@ -2,11 +2,8 @@ local util = require("tokyonight.util") local M = {} -function M.kitty(config) - config = config or require("tokyonight.config") - config.transform_colors = true - local colors = require("tokyonight.colors").setup(config) - +--- @param colors ColorScheme +function M.generate(colors) local kitty = util.template( [[ # TokyoNight colors for Kitty diff --git a/lua/tokyonight/extra/tmux.lua b/lua/tokyonight/extra/tmux.lua index 070543d..7a78970 100644 --- a/lua/tokyonight/extra/tmux.lua +++ b/lua/tokyonight/extra/tmux.lua @@ -2,11 +2,8 @@ local util = require("tokyonight.util") local M = {} -function M.tmux(config) - config = config or require("tokyonight.config") - config.transform_colors = true - local colors = require("tokyonight.colors").setup(config) - +--- @param colors ColorScheme +function M.generate(colors) local tmux = util.template( [[ #!/usr/bin/env bash diff --git a/lua/tokyonight/extra/wezterm.lua b/lua/tokyonight/extra/wezterm.lua index e7cc7cd..3dbbd84 100644 --- a/lua/tokyonight/extra/wezterm.lua +++ b/lua/tokyonight/extra/wezterm.lua @@ -2,11 +2,8 @@ local util = require("tokyonight.util") local M = {} -function M.wezterm(config) - config = config or require("tokyonight.config") - config.transform_colors = true - local colors = require("tokyonight.colors").setup(config) - +--- @param colors ColorScheme +function M.generate(colors) local kitty = util.template( [[ [colors]