maxmx03 / fluoromachine.nvim

Synthwave x Fluoromachine port for Neovim
MIT License
227 stars 12 forks source link
colorscheme fluoromachine lua neovim nvim-plugin retro retrowave synthwave

Fluoromachine

Fluoromachine is a fork of the popular Synthwave84 color scheme, which is inspired by the aesthetics of the 1980s and the retro-futuristic genre known as synthwave. Fluoromachine (Colorscheme) incorporates this neon-drenched style into its design, with a glowing effect that adds a touch of sci-fi to your coding experience.

fluoromachine

Install To install fluoromachine you need a plugin manager. - [Lazy.nvim](https://github.com/folke/lazy.nvim) - [Packer](https://github.com/wbthomason/packer.nvim) Example with Lazy.nvim ```lua return { { 'maxmx03/fluoromachine.nvim', lazy = false, priority = 1000, config = function () local fm = require 'fluoromachine' fm.setup { glow = true, theme = 'fluoromachine', transparent = true, } vim.cmd.colorscheme 'fluoromachine' end } } ```
Annotations ```lua lspconfig.lua_ls.setup { settings = { Lua = { runtime = { version = 'LuaJIT', }, workspace = { checkThirdParty = false, library = { vim.env.VIMRUNTIME, '~/.local/share/nvim/lazy/fluoromachine.nvim', }, }, hint = { enable = true, }, completion = { callSnippet = 'Replace', }, }, }, capabilities = capabilities, } ```
Default config ```lua { theme = 'fluoromachine', brightness = 0.05, glow = true, transparent = false, styles = { comments = {}, functions = {}, variables = {}, numbers = {}, constants = {}, parameters = {}, keywords = {}, types = {}, }, colors = {}, overrides = {}, plugins = { bufferline = true, cmp = true, dashboard = true, editor = true, gitsign = true, hop = true, ibl = true, illuminate = true, lazy = true, minicursor = true, ministarter = true, minitabline = true, ministatusline = true, navic = true, neogit = true, neotree = true, noice = true, notify = true, lspconfig = true, syntax = true, telescope = true, treesitter = true, tree = true, wk = true, }, } ```
Configuration example: ```lua ---@type fluoromachine local fm = require 'fluoromachine' fm.setup { glow = true, theme = 'retrowave', transparent = false, plugins = { neotree = false, } } vim.cmd.colorscheme('fluoromachine') ```
Customization Fluoromachine is a fully customizable colorscheme, you can even create a colorscheme within fluoromachine. You can add new colors, add new highlight groups, and update highlight groups. examples Changing the colorscheme style. ```lua local fm = require 'fluoromachine' fm.setup { overrides = { ['@type'] = { italic = true, bold = false }, ['@function'] = { italic = false, bold = false }, ['@comment'] = { italic = true }, ['@keyword'] = { italic = false }, ['@constant'] = { italic = false, bold = false }, ['@variable'] = { italic = true }, ['@field'] = { italic = true }, ['@parameter'] = { italic = true }, } } vim.cmd.colorscheme 'fluoromachine' ``` Customizing Telescope. The "callback overrides" function receives "colors", "darken", "lighten", and "blend" as parameters. The "darken" function takes two arguments: the color you want to make darker and the percentage of darkness. The "lighten" function works the same way as "darken". The "blend" function takes three arguments: color, background, and alpha. ```lua local fm = require 'fluoromachine' function overrides(c,color) local darken = color.darken local lighten = color.lighten local blend = color.blend local shade = color.shade local tint = color.tint return { TelescopeResultsBorder = { fg = c.bgdark, bg = c.bgdark }, TelescopeResultsNormal = { bg = c.bgdark }, TelescopePreviewNormal = { bg = c.bg }, TelescopePromptBorder = { fg = c.bgdark, bg = c.bgdark }, TelescopeTitle = { fg = c.red, bg = shade(c.red,5) }, TelescopePromptPrefix = { fg = c.purple }, } end fm.setup { overrides = overrides } ``` Customizing colors You can customize colors in the same way you customize highlight groups. The color callback function receives the same parameters as overrides. The added or customized colors can be used later in overrides. ```lua local fm = require 'fluoromachine' fm.setup { glow = true, theme = 'retrowave', colors = function(_, color) local darken = color.darken local lighten = color.lighten local blend = color.blend local shade = color.shade local tint = color.tint return { bg = '#190920', bgdark = darken('#190920', 20), cyan = '#49eaff', red = '#ff1e34', yellow = '#ffe756', orange = '#f38e21', pink = '#ffadff', purple = '#9544f7', } end, } vim.cmd.colorscheme 'fluoromachine' ```
Lualine themes: `fluoromachine` `retrowave` `delta` ```lua local lualine = require 'lualine' lualine.setup { options = { theme = 'fluoromachine' } } ```
Contribution Pull requests are welcome.\ To learn more about the colorscheme, please read the [SPECIFICATION.md](https://github.com/maxmx03/FluoroMachine.nvim/blob/main/SPECIFICATION.md)

wiki

Maintainers

Max
Max Miliano

License

MIT License