Giter Site home page Giter Site logo

spectrum.nvim's Introduction

Spectrum.nvim

Spectrum.nvim aims to be a lightweight theme manager for nvim which at this moment is pretty much WIP

Included themes atm

  • rustic decay (a new rustic version im working for the decay theme)

Usage

Install fist with lazy.nvim or another package manager of your preference

{
    'AlphaTechnolog/spectrum.nvim',
    lazy = false,
    priority = 100,
    config = function ()
        require("spectrum").setup({
            theme = "decay", -- theme name
            variant = "rustic" -- don't pass if you want the "default" variant
        })
    end
}

Lualine integration

At this moment this plugin has a little lualine integration which can be invoked after calling the setup function.

{
    'nvim-lualine/lualine.nvim',
    config = function ()
        require("lualine").setup({
            options = {
                theme = require("spectrum").get_lualine_theme()
            }
        })
    end
}

Adding more themes

At this moment the only way of adding more themes is by adding a pr in this repo following the next instructions:

  1. Create a new folder at lua/spectrum/themes/ with the name of the theme, example is, tokyonight, so the folder is lua/spectrum/themes/tokyonight

  2. Create the variants of the theme itself, the default one should be called default.lua, example for tokyonight:

    • lua/spectrum/themes/tokyonight/default.lua
    • lua/spectrum/themes/tokyonight/day.lua
    • lua/spectrum/themes/tokyonight/storm.lua
    • lua/spectrum/themes/tokyonight/moon.lua
  3. Take a look at this and fill the colors in the files:

return {
  background = '#110f0f',
  dark_background = '#100e0e',
  light_background = '#1d1a1a',
  lighter_background = '#2a2525',
  black = '#373030',
  light_black = '#413939',
  lighter_black = '#746666',

  red = '#f04a73',
  green = '#87dc76',
  yellow = '#fad874',
  blue = '#7dace9',
  magenta = '#847de9',
  cyan = '#7dd3e9',
  white = '#b5b5cd',

  light_red = '#f26588',
  light_green = '#8ddd7c',
  light_yellow = '#fad97a',
  light_blue = '#83b0ea',
  light_magenta = '#8a83ea',
  light_cyan = '#83d5ea',
  light_white = '#a9a9c5',
}

Those are the rustic decay colors

  1. Test your theme!
local lualine = require("lualine")
local spectrum = require("spectrum")

spectrum.setup {
    theme = 'tokyonight',
    variant = 'moon'
}

lualine.setup {
    options = {
        theme = spectrum.get_lualine_theme()
    }
}
  1. Submit a PR! :D (leave at least one screenshot for each variant please)

Incoming features

There are some nice features i wanna implement over the time for this plugin.

  • Palettes support
  • Theming system
  • Basic highlighting
  • Lualine integration
  • Theme switching (functions for next theme and prev themes)
  • Better looking themes
  • Palettes should also be to change highlights if needed to match original themes

Enjoy

Please if you like this project or my work, give me a star, it will really help me continue doing these kind of projects :)

spectrum.nvim's People

Contributors

alphatechnolog avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.