$ show craftzdog/solarized-osaka.nvim
Solarized Osaka is a Neovim colorscheme plugin that implements a Solarized-inspired dark and light theme with extended colors for modern Neovim features and plugin support. The codebase is a monolithic Lua plugin with entry points in `colors/solarized-osaka.lua` and `lua/solarized-osaka/init.lua`. It works by defining a color palette via HSL/HPLUV color space conversions, then generating Neovim highlight groups and optionally producing theme files for external applications (terminals, tmux, fish, etc.) via a template system. The architecture is clean: a config module merges user options, a colors module computes the palette, groups modules define highlight groups per plugin, and a theme module applies them. The plugin has no runtime dependencies beyond Neovim 0.7.2+. Notably, the repository includes standalone implementations of HSL and HSLuv color space conversions (hsl.lua, hsluv.lua) and a utility function for perceptually brightening colors (util.brighten). These components are reusable in other Lua projects. The extras generation system is also well-structured, though tightly coupled to the theme.
The LLM identified 2 files worth highlighting for reuse:
A pure Lua implementation of HSL to RGB conversion. The `hslToRgb` function takes hue, saturation, and lightness (0-1) and returns RGB values. The `hslToHex` function returns the hex color string. This module has no internal dependencies and can be extracted unchanged into any Lua project for color manipulation.
Provides the `brighten(hex, amount)` function that raises a color's perceptual lightness using the HSLuv color space while preserving chroma as much as possible. It depends on the `hsluv.lua` module (also in the repo) but is otherwise self-contained. This is a non-obvious, reusable color utility for brightening colors without washing them out.