Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/maxmx03/fluoromachine.nvim

Synthwave x Fluoromachine port for Neovim
https://github.com/maxmx03/fluoromachine.nvim

colorscheme fluoromachine lua neovim nvim-plugin retro retrowave synthwave

Last synced: 7 days ago
JSON representation

Synthwave x Fluoromachine port for Neovim

Awesome Lists containing this project

README

        



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](https://github.com/maxmx03/fluoromachine.nvim/assets/50273941/b530eb2d-d2f7-4096-8be0-da0b0a67714f)

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](https://github.com/maxmx03/fluoromachine.nvim/wiki)

## Maintainers

| [![Max](https://github.com/maxmx03.png?size=100)](https://github.com/maxmx03) |
| ----------------------------------------------------------------------------- |
| Max Miliano |

## License

[MIT License](./LICENSE)