First off, thanks for taking the time to contribute! 🎉
Tip
The best way you can contribute to cyberdream.nvim is by giving it a star ⭐️ and sharing it with others!
Every contribution is appreciated, whether it's a bug report, a feature request, a question, or a pull request. This document will guide you through the process of contributing to this project.
If you find a bug or have a feature request, please open an issue using the appropriate template:
Some things to keep in mind when opening an issue:
- Make sure to search for existing issues before opening a new one. If you find an existing issue that matches your problem, please add a 👍 reaction to it.
- Be as detailed as possible when describing the bug or feature request. Include any relevant information, such as the version of Neovim you're using & your cyberdream.nvim config settings.
Commits should be in the Conventional Commits format. This helps with generating changelogs and keeping the commit history clean.
When opening a pull request, please include a description of the changes you've made. If your PR is related to an existing issue, please reference it in the description.
If you'd like to add support for a plugin that isn't currently supported by cyberdream.nvim, you can do so by creating a new file in the lua/cyberdream/extensions
directory. The file should be named after the plugin, with the .lua
extension. The format is as follows:
-- lua/cyberdream/extensions/plugin-name.lua
local M = {}
--- Get extension configuration
--- @param opts Config
--- @param t CyberdreamPalette
function M.get(opts, t)
opts = opts or {}
local highlights = {
-- Add your highlights here
-- See lua/cyberdream/colors.lua for a complete list of available colors in the palette
HighlightGroupName = { fg = t.blue },
AnotherHighlightGroupName = { fg = t.purple, bg = t.bgHighlight },
}
return highlights
end
return M
Once you've created the extension file, you'll need to add it to the extensions
table in lua/cyberdream/config.lua
and update the extensions
type definition. If you've done this correctly, the highlights will apply the next time the plugin is loaded.
We support a number of terminals and other goodies to make the cyberdream experience even better. These are dynamically generated using GitHub actions. This ensures that both light and dark mode variants are generated with minimal effort while adhering as closely as possible to the cyberdream palette.
Note
Do not edit the extras directly. Your changes will be overwritten the next time the GitHub action runs.
To add a new extra, create a new template file in the lua/cyberdrem/extra
directory. Use the existing templates as a guide. Once you've created the template, you'll need to add it to the extras
table in lua/cyberdream/extra/init.lua
, including the extension and name.
Once you've done this, the extra will be generated the next time the GitHub action runs. You can find the generated extras in the extras
directory.