A high-performance, zero-dependency color highlighter for Neovim that supports hex, CSS functions, Tailwind, and custom parsers.
colorizer.lua is a Neovim plugin that instantly highlights color codes in source code. It parses and visually decorates hex values, CSS color functions, named colors, and other formats directly in the editor, making it easier to identify and work with colors during development.
Neovim users who work with CSS, web development, design systems, or any codebase containing color values, and want real-time visual feedback without switching contexts.
It is the fastest color highlighter for Neovim with no external dependencies, offers extensive format support and display options, and integrates seamlessly with Tailwind CSS and LSP features while maintaining full customization.
The fastest Neovim colorizer
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses a handwritten trie-based parser and only processes visible lines, ensuring minimal overhead even in large files, as stated in the README's 'Fast' section.
Written in pure Luajit with only basic system libraries, making installation and maintenance straightforward, highlighted in the 'Zero dependencies' feature.
Highlights hex codes, CSS functions, named colors, Tailwind CSS, and more, with custom parsers for any format, covering a broad range as detailed in the parser options.
Offers multiple display modes including background with auto-contrast text, foreground, underline, and virtualtext for inline previews, providing versatility for different workflows.
Configurable extmark priorities ensure color highlights win over treesitter and other syntax highlighting, using vim.hl.priorities as explained in the highlight priority section.
The setup involves numerous options and parsers with intricate defaults, such as the hex parser's inheritance system, which can be overwhelming for quick adoption.
Integration with Neovim's built-in LSP document color requires manual tuning to avoid duplicates, as default settings disable it, adding setup overhead for LSP users.
Advanced features like custom parsers and hooks demand writing Lua code, which may alienate users without programming experience, limiting accessibility.