- 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
|
||||
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
|
||||
|
||||
- [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
|
||||
|
|
|
@ -1,171 +1,55 @@
|
|||
local lush = require('lush')
|
||||
local hsl = lush.hsl
|
||||
|
||||
local base00 = "#191830"
|
||||
local base06 = "#ffffff"
|
||||
local base09 = "#78a9ff"
|
||||
local colors = {
|
||||
base00 = base00,
|
||||
base01 = base00,
|
||||
base02 = "#fad000",
|
||||
base03 = "#FFFFFF",
|
||||
base04 = "#FFFFFF",
|
||||
base05 = "#FFFFFF",
|
||||
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",
|
||||
lightgreen = "#A5FF90",
|
||||
orange_peel = "#ff9d00",
|
||||
gold= "#fad000",
|
||||
violet = "#FB94FF",
|
||||
crayola = "#FF628C",
|
||||
amethyst = "#b362ff",
|
||||
white = "#FFFFFF",
|
||||
meta = "#9efff",
|
||||
number = "#FF628C",
|
||||
cyan = "#9EFFFF",
|
||||
space_cadet = "#191830",
|
||||
|
||||
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 sym = injected_functions.sym
|
||||
return {
|
||||
|
||||
ColorColumn {fg = colors.none, bg = colors.bg },
|
||||
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},
|
||||
ColorColumn {fg = colors.none, bg = colors.gold },
|
||||
|
||||
LspCodeLens {fg = colors.none, bg = colors.base03},
|
||||
LspReferenceText {fg = colors.none, bg = colors.base03},
|
||||
LspReferenceread {fg = colors.none, bg = colors.base03},
|
||||
LspReferenceWrite {fg = colors.none, bg = colors.base03},
|
||||
LspSignatureActiveParameter {fg = colors.base08, bg = colors.none},
|
||||
Normal {fg = colors.fg, bg = colors.space_cadet },
|
||||
Comment {fg = colors.amethyst, bg = colors.none, italic = true},
|
||||
Constant {fg = colors.gold, bg = colors.none},
|
||||
Number {fg = colors.crayola, bg = colors.none},
|
||||
|
||||
Folded {fg = colors.base02, bg = colors.base01},
|
||||
FoldColumn {fg = colors.base01, bg = colors.base00},
|
||||
SignColumn {fg = colors.base01, bg = colors.base00},
|
||||
Directory {fg = colors.base08, bg = colors.none},
|
||||
EndOfBuffer {fg = colors.base01, 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},
|
||||
Include {fg = colors.gold, bg = colors.none},
|
||||
Keyword {fg = colors.orange_peel, bg = colors.none},
|
||||
Label {fg = colors.orange_peel, bg = colors.none},
|
||||
Operator {fg = colors.orange_peel, bg = colors.none},
|
||||
PreProc {fg = colors.cyan, bg = colors.none},
|
||||
Float {link = "Number"},
|
||||
Function {fg = colors.type, bg = colors.none},
|
||||
Identifier {fg = colors.white, bg = colors.none},
|
||||
Include {fg = colors.macro, bg = colors.none},
|
||||
Keyword {fg = colors.keyword, 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},
|
||||
Function {fg = colors.gold, bg = colors.none},
|
||||
Identifier {fg = colors.cyan, bg = colors.none},
|
||||
Type {fg = colors.gold, bg = colors.none},
|
||||
String {fg = colors.lightgreen, bg = colors.none},
|
||||
|
||||
-- Language specific stuff
|
||||
-- rustModPath {fg = "#fad000" },
|
||||
rustFoldBraces = {fg = colors.macro },
|
||||
rustFloat = { fg = colors.number },
|
||||
rustFoldBraces {fg = colors.cyan },
|
||||
rustStorage { fg = colors.orange_peel },
|
||||
|
||||
-- Plugins
|
||||
RainbowRed = { fg = "#E06C75" },
|
||||
RainbowYellow= { fg = "#E5C07B" },
|
||||
-- Language specific stuff..
|
||||
sym"@lsp.typemod.selfKeyword.reference.rust" { fg = colors.violet },
|
||||
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)
|
||||
|
||||
-- Return our parsed theme for extension or use elsewhere.
|
||||
return theme
|
||||
|
||||
-- vi:nowrap
|
||||
|
|
Loading…
Reference in a new issue