- Added README
- Nuked most of the variables as it was confusing
This commit is contained in:
parent
ad6f6bf42b
commit
c0db3a0283
46
README.md
46
README.md
|
@ -1,6 +1,50 @@
|
||||||
# Shades of purple neovim
|
# Shades of purple neovim
|
||||||
A port of [the original vscode theme](https://github.com/ahmadawais/shades-of-purple-vscode).
|
|
||||||
|
A port of [the original vscode theme](https://github.com/ahmadawais/shades-of-purple-vscode).
|
||||||
|
This theme is still balls deep into development but it's possible to use it.
|
||||||
|
|
||||||
|
# Install
|
||||||
|
|
||||||
|
a. Using lazy.nvim
|
||||||
|
|
||||||
|
```lua
|
||||||
|
require('lazy').setup({
|
||||||
|
|
||||||
|
{ "https://git.4o1x5.dev/4o1x5/shades-of-purple-nvim", opts = {} },
|
||||||
|
|
||||||
|
})
|
||||||
|
```
|
||||||
|
|
||||||
|
b. Using nixvim
|
||||||
|
|
||||||
|
```nix
|
||||||
|
# inside nixvim
|
||||||
|
extraPlugins = with pkgs; [
|
||||||
|
{
|
||||||
|
plugin = pkgs.vimUtils.buildVimPlugin {
|
||||||
|
pname = "shades_of_purple";
|
||||||
|
version = "1.0.0";
|
||||||
|
src = pkgs.fetchFromGitea {
|
||||||
|
domain = "git.4o1x5.dev";
|
||||||
|
owner = "4o1x5";
|
||||||
|
repo = "shades-of-purple-nvim";
|
||||||
|
rev = "ad6f6bf42b2cd4e6f9f5d798ba88e23a28d60b80";
|
||||||
|
hash = "sha256-prkkBUFgbLvLAdMZvFlGaHIHINFiRX2rc97zEsQzz4g=";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
colorscheme = "shades_of_purple";
|
||||||
|
```
|
||||||
|
|
||||||
|
> Btw by copying this you may not get the latest version, I recommend running the following to get the latest.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
nix run nixpkgs#nurl -- https://git.4o1x5.dev/4o1x5/shades-of-purple-nvim -f fetchFromGitea
|
||||||
|
```
|
||||||
|
|
||||||
## Made possible with
|
## Made possible with
|
||||||
|
|
||||||
- [lush.nvim](https://github.com/rktjmp/lush.nvim/) and it's [starter template](https://github.com/rktjmp/lush-template).
|
- [lush.nvim](https://github.com/rktjmp/lush.nvim/) and it's [starter template](https://github.com/rktjmp/lush-template).
|
||||||
- [oxocarbon](https://github.com/nyoom-engineering/oxocarbon.nvim) - variable inspo
|
- [oxocarbon](https://github.com/nyoom-engineering/oxocarbon.nvim) - variable inspo
|
||||||
|
|
|
@ -1,171 +1,55 @@
|
||||||
local lush = require('lush')
|
local lush = require('lush')
|
||||||
local hsl = lush.hsl
|
local hsl = lush.hsl
|
||||||
|
|
||||||
local base00 = "#191830"
|
|
||||||
local base06 = "#ffffff"
|
|
||||||
local base09 = "#78a9ff"
|
|
||||||
local colors = {
|
local colors = {
|
||||||
base00 = base00,
|
lightgreen = "#A5FF90",
|
||||||
base01 = base00,
|
orange_peel = "#ff9d00",
|
||||||
base02 = "#fad000",
|
gold= "#fad000",
|
||||||
base03 = "#FFFFFF",
|
violet = "#FB94FF",
|
||||||
base04 = "#FFFFFF",
|
crayola = "#FF628C",
|
||||||
base05 = "#FFFFFF",
|
amethyst = "#b362ff",
|
||||||
base06 = "#FFFFFF",
|
|
||||||
base07 = "#fad000",
|
|
||||||
base08 = "#3ddbd9",
|
|
||||||
base09 = base09,
|
|
||||||
base10 = "#ee5396",
|
|
||||||
base11 = "#33b1ff",
|
|
||||||
base12 = "#ff7eb6",
|
|
||||||
base13 = "#42be65",
|
|
||||||
base14 = "#be95ff",
|
|
||||||
base15 = "#82cfff",
|
|
||||||
blend = "#131313",
|
|
||||||
|
|
||||||
string = "#A5FF90",
|
|
||||||
keyword = "#ff9d00",
|
|
||||||
type = "#fad000",
|
|
||||||
error = "#EC3A37F5",
|
|
||||||
storage = "#FB94FF",
|
|
||||||
macro = "#fad000",
|
|
||||||
fg = "#FFFFFF",
|
|
||||||
lineNumber = "#7870ab",
|
|
||||||
bg = "#191830",
|
|
||||||
white = "#FFFFFF",
|
white = "#FFFFFF",
|
||||||
meta = "#9efff",
|
|
||||||
number = "#FF628C",
|
|
||||||
cyan = "#9EFFFF",
|
cyan = "#9EFFFF",
|
||||||
|
space_cadet = "#191830",
|
||||||
|
|
||||||
none = "NONE"
|
none = "NONE"
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
-- LSP/Linters mistakenly show `undefined global` errors in the spec, they may
|
|
||||||
-- support an annotation like the following. Consult your server documentation.
|
|
||||||
---@diagnostic disable: undefined-global
|
|
||||||
local theme = lush(function(injected_functions)
|
local theme = lush(function(injected_functions)
|
||||||
local sym = injected_functions.sym
|
local sym = injected_functions.sym
|
||||||
return {
|
return {
|
||||||
|
|
||||||
ColorColumn {fg = colors.none, bg = colors.bg },
|
ColorColumn {fg = colors.none, bg = colors.gold },
|
||||||
Cursor {fg = colors.base00, bg = colors.base04},
|
|
||||||
CursorLine {fg = colors.none, bg = colors.base01},
|
|
||||||
CursorColumn {fg = colors.none, bg = colors.base01},
|
|
||||||
CursorLineNr {fg = colors.base04, bg = colors.none},
|
|
||||||
QuickFixLine {fg = colors.none, bg = colors.base01},
|
|
||||||
Error {fg = colors.error, bg = colors.base01},
|
|
||||||
LineNr {fg = colors.lineNumber, bg = colors.base00},
|
|
||||||
NonText {fg = colors.fg, bg = colors.none},
|
|
||||||
Normal {fg = colors.fg, bg = colors.base00},
|
|
||||||
Pmenu {fg = colors.base04, bg = colors.base01},
|
|
||||||
PmenuSbar {fg = colors.base04, bg = colors.base01},
|
|
||||||
PmenuSel {fg = colors.base08, bg = colors.base02},
|
|
||||||
PmenuThumb {fg = colors.base08, bg = colors.base02},
|
|
||||||
SpecialKey {fg = colors.base03, bg = colors.none},
|
|
||||||
Visual {fg = colors.none, bg = colors.base02},
|
|
||||||
VisualNOS {fg = colors.none, bg = colors.base02},
|
|
||||||
TooLong {fg = colors.none, bg = colors.base02},
|
|
||||||
Debug {fg = colors.white, bg = colors.none},
|
|
||||||
Macro {fg = colors.cyan, bg = colors.none},
|
|
||||||
MatchParen {fg = colors.none, bg = colors.base02, underline = true},
|
|
||||||
Bold {fg = colors.none, bg = colors.none, bold = true},
|
|
||||||
Italic {fg = colors.none, bg = colors.none, italic = true},
|
|
||||||
Underlined {fg = colors.none, bg = colors.none, underline = true},
|
|
||||||
DiagnosticWarn {fg = colors.base14, bg = colors.none},
|
|
||||||
DiagnosticError {fg = colors.base10, bg = colors.none},
|
|
||||||
DiagnosticInfo {fg = colors.base09, bg = colors.none},
|
|
||||||
DiagnosticHint {fg = colors.base04, bg = colors.none},
|
|
||||||
DiagnosticUnderlineWarn {fg = colors.base14, bg = colors.none, undercurl = true},
|
|
||||||
DiagnosticUnderlineError {fg = colors.base10, bg = colors.none, undercurl = true},
|
|
||||||
DiagnosticUnderlineInfo {fg = colors.macro, bg = colors.none, undercurl = true},
|
|
||||||
DiagnosticUnderlineHint {fg = colors.macro, bg = colors.none, undercurl = true},
|
|
||||||
HealthError {fg = colors.base10, bg = colors.none},
|
|
||||||
HealthWarning {fg = colors.base14, bg = colors.none},
|
|
||||||
HealthSuccess {fg = colors.base13, bg = colors.none},
|
|
||||||
|
|
||||||
LspCodeLens {fg = colors.none, bg = colors.base03},
|
Normal {fg = colors.fg, bg = colors.space_cadet },
|
||||||
LspReferenceText {fg = colors.none, bg = colors.base03},
|
Comment {fg = colors.amethyst, bg = colors.none, italic = true},
|
||||||
LspReferenceread {fg = colors.none, bg = colors.base03},
|
Constant {fg = colors.gold, bg = colors.none},
|
||||||
LspReferenceWrite {fg = colors.none, bg = colors.base03},
|
Number {fg = colors.crayola, bg = colors.none},
|
||||||
LspSignatureActiveParameter {fg = colors.base08, bg = colors.none},
|
|
||||||
|
|
||||||
Folded {fg = colors.base02, bg = colors.base01},
|
Include {fg = colors.gold, bg = colors.none},
|
||||||
FoldColumn {fg = colors.base01, bg = colors.base00},
|
Keyword {fg = colors.orange_peel, bg = colors.none},
|
||||||
SignColumn {fg = colors.base01, bg = colors.base00},
|
Label {fg = colors.orange_peel, bg = colors.none},
|
||||||
Directory {fg = colors.base08, bg = colors.none},
|
Operator {fg = colors.orange_peel, bg = colors.none},
|
||||||
EndOfBuffer {fg = colors.base01, bg = colors.none},
|
PreProc {fg = colors.cyan, bg = colors.none},
|
||||||
|
|
||||||
ErrorMsg {fg = colors.error, bg = colors.none},
|
|
||||||
ModeMsg {fg = colors.base04, bg = colors.none},
|
|
||||||
MoreMsg {fg = colors.base08, bg = colors.none},
|
|
||||||
Question {fg = colors.base04, bg = colors.none},
|
|
||||||
Substitute {fg = colors.base01, bg = colors.base08},
|
|
||||||
WarningMsg {fg = colors.base14, bg = colors.none},
|
|
||||||
WildMenu {fg = colors.base08, bg = colors.base01},
|
|
||||||
helpHyperTextJump {fg = colors.base08, bg = colors.none},
|
|
||||||
helpSpecial {fg = colors.base09, bg = colors.none},
|
|
||||||
helpHeadline {fg = colors.base10, bg = colors.none},
|
|
||||||
helpHeader {fg = colors.base15, bg = colors.none},
|
|
||||||
DiffAdded {fg = colors.base07, bg = colors.none},
|
|
||||||
DiffChanged {fg = colors.base09, bg = colors.none},
|
|
||||||
DiffRemoved {fg = colors.base10, bg = colors.none},
|
|
||||||
DiffAdd {bg = "#122f2f", fg = colors.none},
|
|
||||||
DiffChange {bg = "#222a39", fg = colors.none},
|
|
||||||
DiffText {bg = "#2f3f5c", fg = colors.none},
|
|
||||||
DiffDelete {bg = "#361c28", fg = colors.none},
|
|
||||||
IncSearch {fg = colors.base06, bg = colors.base10},
|
|
||||||
Search {fg = colors.base01, bg = colors.base08},
|
|
||||||
TabLine {link = "StatusLineNC"},
|
|
||||||
TabLineFill {link = "TabLine"},
|
|
||||||
TabLineSel {link = "StatusLine"},
|
|
||||||
Title {fg = colors.base04, bg = colors.none},
|
|
||||||
VertSplit {fg = colors.base01, bg = colors.base00},
|
|
||||||
WinSeparator {fg = colors.base01, bg = colors.base00},
|
|
||||||
Boolean {fg = colors.number, bg = colors.none},
|
|
||||||
Character {fg = colors.base14, bg = colors.none},
|
|
||||||
Comment {fg = colors.error, bg = colors.none, italic = true},
|
|
||||||
Conceal {fg = colors.none, bg = colors.none},
|
|
||||||
Conditional {fg = colors.base09, bg = colors.none},
|
|
||||||
Constant {fg = colors.macro, bg = colors.none},
|
|
||||||
Decorator {fg = colors.base12, bg = colors.none},
|
|
||||||
Define {fg = colors.storage, bg = colors.none},
|
|
||||||
Delimeter {fg = colors.keyword, bg = colors.none},
|
|
||||||
Exception {fg = colors.base09, bg = colors.none},
|
|
||||||
Float {link = "Number"},
|
Float {link = "Number"},
|
||||||
Function {fg = colors.type, bg = colors.none},
|
Function {fg = colors.gold, bg = colors.none},
|
||||||
Identifier {fg = colors.white, bg = colors.none},
|
Identifier {fg = colors.cyan, bg = colors.none},
|
||||||
Include {fg = colors.macro, bg = colors.none},
|
Type {fg = colors.gold, bg = colors.none},
|
||||||
Keyword {fg = colors.keyword, bg = colors.none},
|
String {fg = colors.lightgreen, bg = colors.none},
|
||||||
Label {fg = colors.type, bg = colors.none},
|
|
||||||
Number {fg = colors.number, bg = colors.none},
|
|
||||||
Operator {fg = colors.keyword, bg = colors.none},
|
|
||||||
PreProc {fg = colors.meta, bg = colors.none},
|
|
||||||
Repeat {fg = colors.base09, bg = colors.none},
|
|
||||||
Special {fg = colors.base04, bg = colors.none},
|
|
||||||
SpecialChar {fg = colors.base04, bg = colors.none},
|
|
||||||
SpecialComment {fg = colors.base08, bg = colors.none},
|
|
||||||
Statement {fg = colors.type, bg = colors.none},
|
|
||||||
StorageClass {fg = colors.keyword, bg = colors.none},
|
|
||||||
String {fg = colors.string, bg = colors.none},
|
|
||||||
Structure {fg = colors.macro, bg = colors.none},
|
|
||||||
Tag {fg = colors.base04, bg = colors.none},
|
|
||||||
Todo {fg = colors.base13, bg = colors.none},
|
|
||||||
Type {fg = colors.type, bg = colors.none},
|
|
||||||
|
|
||||||
-- Language specific stuff
|
rustFoldBraces {fg = colors.cyan },
|
||||||
-- rustModPath {fg = "#fad000" },
|
rustStorage { fg = colors.orange_peel },
|
||||||
rustFoldBraces = {fg = colors.macro },
|
|
||||||
rustFloat = { fg = colors.number },
|
|
||||||
|
|
||||||
-- Plugins
|
-- Language specific stuff..
|
||||||
RainbowRed = { fg = "#E06C75" },
|
sym"@lsp.typemod.selfKeyword.reference.rust" { fg = colors.violet },
|
||||||
RainbowYellow= { fg = "#E5C07B" },
|
sym"@lsp.typemod.variable.reference.rust" { fg = colors.violet },
|
||||||
|
-- sym"@lsp.typemod.property.public" { fg = colors.white },
|
||||||
|
sym"@lsp.type.selfTypeKeyword" { fg = colors.violet },
|
||||||
|
rustSigil {fg = colors.orange_peel },
|
||||||
|
rustSelf { fg = colors.violet },
|
||||||
|
|
||||||
}
|
}
|
||||||
end)
|
end)
|
||||||
|
|
||||||
-- Return our parsed theme for extension or use elsewhere.
|
|
||||||
return theme
|
return theme
|
||||||
|
|
||||||
-- vi:nowrap
|
|
||||||
|
|
Loading…
Reference in a new issue