Skip to content

3dyuval/retro-fallout.nvim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

retro-fallout.nvim

A Pip-Boy inspired Neovim colorscheme

Spec

{
  "3dyuval/retro-fallout.nvim",
  lazy = false,
  priority = 1000,
  config = function()
    require("retro-fallout").setup({})
    vim.cmd.colorscheme("retro-fallout")
  end,
}

Default Setup

require("retro-fallout").setup({
  transparent = false,
  dim_inactive = false,
  dim_snacks_bg = false,
  terminal_colors = true,

  styles = {
    comments = { italic = true },
    keywords = { bold = false },
    functions = { bold = true },
    variables = {},
  },

  integrations = {
    treesitter = true,
    lsp = true,
    telescope = true,
    nvim_tree = true,
    gitsigns = true,
    snacks = true,
    mini = true,
    which_key = true,
    indent_blankline = true,
  },

  colors = {},
  highlights = {},
})

Options

transparent

Set to true to disable background colors.

dim_inactive

Set to true to dim inactive windows.

dim_snacks_bg

Snacks uses winhighlight which bypasses dim_inactive. Set to true to statically apply a dimmed background to all Snacks windows (picker, explorer, input, notifier, scratch, etc.). Default: false.

terminal_colors

Set to false to disable terminal color configuration.

styles

Configure font styles for syntax groups:

styles = {
  comments = { italic = true },
  keywords = { bold = true, italic = true },
  functions = { bold = true },
  variables = { italic = false },
}

colors

Override semantic colors (see lua/retro-fallout/options.lua):

colors = {
  bg = { normal = "#000000" },
  highlight = { green = "#00FF00" },
  dimmed = { purple = "#6a4a8a" },
  neutral = { fg = "#AADDAA" },
}

With colortweak.nvim, use HSL transforms:

{
  "3dyuval/retro-fallout.nvim",
  dependencies = { "3dyuval/colortweak.nvim" },
  config = function()
    require("retro-fallout").setup({
      colors = {
        dimmed = {
          amber = { h = -60 },  -- shift hue (more purple)
          yellow = { s = 0.8 }, -- reduce saturation
        },
      },
      ft = {
        yaml = { h = -60 },     -- make yaml more purple
        markdown = { h = 100 }, -- shift markdown hue
      },
    })
    vim.cmd.colorscheme("retro-fallout")
  end,
}

Or use the callback pattern for direct access to defaults:

require("retro-fallout").setup(function(defaults)
  local tweak = require("colortweak.color")
  return {
    colors = {
      dimmed = {
        amber = tweak.transform(defaults.dimmed.amber, { h = -60 }),
      },
    },
    ft = {
      yaml = { h = -90 },
    },
  }
end)

Transform options: h (hue shift), s (saturation multiplier), l (lightness multiplier).

  • colors - transforms base palette at setup
  • ft - transforms filetype highlights at runtime (passed to colortweak)

highlights

Override specific highlight groups:

highlights = {
  Comment = { fg = "#555555", italic = false },
  Function = { fg = "#00FFAA" },
}

Integrations

Supported plugins:

  • Treesitter
  • LSP Diagnostics
  • Telescope
  • Nvim-Tree / NERDTree
  • Gitsigns / GitGutter
  • Snacks.nvim
  • mini.nvim
  • which-key
  • indent-blankline
  • lsp-saga
  • trouble.nvim
  • nvim-notify
  • BufferLine / barbar
  • Neogit
  • leap.nvim / lightspeed
  • aerial.nvim
  • headlines.nvim

Contributions

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages