diff options
| author | 2025-06-09 13:43:45 +0300 | |
|---|---|---|
| committer | 2025-06-09 13:55:38 +0300 | |
| commit | 97af93b2a8ebc89364852e3f63e9fd8cfedaeedf (patch) | |
| tree | 27e2added74ee6c0ff91c9e7927491c661a8bb36 /config/nvim/lua/theme/asset/hsv-to-rgb.lua | |
| parent | 04.06.2025 (diff) | |
| download | dotfiles-97af93b2a8ebc89364852e3f63e9fd8cfedaeedf.tar.gz dotfiles-97af93b2a8ebc89364852e3f63e9fd8cfedaeedf.tar.bz2 dotfiles-97af93b2a8ebc89364852e3f63e9fd8cfedaeedf.tar.xz dotfiles-97af93b2a8ebc89364852e3f63e9fd8cfedaeedf.zip | |
Перевёл dotfiles на stow
Diffstat (limited to 'config/nvim/lua/theme/asset/hsv-to-rgb.lua')
| -rw-r--r-- | config/nvim/lua/theme/asset/hsv-to-rgb.lua | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/config/nvim/lua/theme/asset/hsv-to-rgb.lua b/config/nvim/lua/theme/asset/hsv-to-rgb.lua new file mode 100644 index 0000000..5a63f98 --- /dev/null +++ b/config/nvim/lua/theme/asset/hsv-to-rgb.lua @@ -0,0 +1,29 @@ +local function HsvToRgb(h, s, v) + + s = s / 100.0 + v = v / 100.0 + h = h / 60.0 + + local i = math.floor(h) % 6 + local f = h - math.floor(h) + local p = v * (1.0 - s) + local q = v * (1.0 - f * s) + local t = v * (1.0 - (1.0 - f) * s) + + local r, g, b = 0, 0, 0 + + if i == 0 then r, g, b = v, t, p + elseif i == 1 then r, g, b = q, v, p + elseif i == 2 then r, g, b = p, v, t + elseif i == 3 then r, g, b = p, q, v + elseif i == 4 then r, g, b = t, p, v + else r, g, b = v, p, q + end + + r = math.floor(r * 255 + 0.5) + g = math.floor(g * 255 + 0.5) + b = math.floor(b * 255 + 0.5) + + return string.format("#%02x%02x%02x", r, g, b) +end +return HsvToRgb |
