Skip to content

A Neovim colorscheme based on Shopify's Spinel theme for VSCode

License

Notifications You must be signed in to change notification settings

Andersonvb/spinel.nvim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

spinel.nvim

A Neovim colorscheme based on Shopify's Spinel theme for VSCode.

spinel.nvim screenshot

Features

  • Carefully crafted color palette matching the original Spinel theme
  • Full Treesitter support with semantic highlighting
  • LSP semantic tokens support
  • Built-in support for popular plugins:
    • telescope.nvim
    • nvim-tree.lua
    • gitsigns.nvim
    • nvim-cmp
    • which-key.nvim
    • indent-blankline.nvim
    • lazy.nvim
  • Transparent background option
  • Customizable styles for comments, keywords, functions, and parameters
  • LazyVim compatible

Requirements

  • Neovim >= 0.8.0
  • termguicolors enabled

Installation

Using lazy.nvim

{
  "Andersonvb/spinel.nvim",
  lazy = false,
  priority = 1000,
  opts = {},
}
use {
  "Andersonvb/spinel.nvim",
  config = function()
    require("spinel").setup()
    vim.cmd.colorscheme("spinel")
  end
}

Configuration

Spinel comes with sensible defaults. Call setup() before loading the colorscheme to customize:

require("spinel").setup({
  -- Enable transparent background
  transparent = false,

  -- Set terminal colors
  terminal_colors = true,

  -- Style customization
  styles = {
    comments = { italic = true },
    keywords = { italic = false, bold = false },
    functions = { italic = false, bold = false },
    parameters = { italic = true },
    booleans = { bold = true },
  },

  -- Override colors
  on_colors = function(colors)
    colors.bg = "#1a1a1a"
  end,

  -- Override highlight groups
  on_highlights = function(hl, colors)
    hl.Comment = { fg = colors.comment, italic = true }
  end,

  -- Plugin integration
  plugins = {
    auto = true, -- Auto-detect loaded plugins
    telescope = true,
    nvim_tree = true,
    gitsigns = true,
    cmp = true,
    which_key = true,
    indent_blankline = true,
    lazy = true,
  },
})

LazyVim Configuration

return {
  {
    "Andersonvb/spinel.nvim",
    lazy = false,
    priority = 1000,
    opts = {
      transparent = false,
      styles = {
        comments = { italic = true },
        parameters = { italic = true },
      },
    },
  },
  {
    "LazyVim/LazyVim",
    opts = {
      colorscheme = "spinel",
    },
  },
}

Color Palette

UI Colors

Name Hex Preview
Background #2f2f2f #2f2f2f
Background Dark #282828 #282828
Background Highlight #3b3b3b #3b3b3b
Foreground #d1ccf1 #d1ccf1
Border #404040 #404040

Syntax Colors

Name Hex Usage Preview
Comment #bea17f Comments #bea17f
Red #dd5555 Keywords, Types #dd5555
Green #5ac16c Strings #5ac16c
Yellow #eee385 Numbers #eee385
Orange #ff9a3b Parameters #ff9a3b
Cyan #18b5e4 Variables #18b5e4
Blue #4b82e9 Classes, Modules #4b82e9
Teal #7dcfcf Symbols #7dcfcf
Pink Light #eee0e0 Properties #eee0e0
Pink #ed2a88 self, nil, true #ed2a88
Magenta #d464eb Function definitions #d464eb
Lime #a6cc5f Regexp #a6cc5f

Verification

After installation, verify the theme is working:

  1. Load the colorscheme: :colorscheme spinel
  2. Open various file types (Ruby, Lua, Python, etc.)
  3. Use :Inspect on tokens to verify highlight groups
  4. Open Telescope, nvim-tree to verify plugin integration
  5. Test transparent mode: opts = { transparent = true }

License

This colorscheme is available as open source under the terms of the MIT License.

About

A Neovim colorscheme based on Shopify's Spinel theme for VSCode

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages