initial
This commit is contained in:
commit
d14fcd084e
21
colors/shades_of_purple.lua
Normal file
21
colors/shades_of_purple.lua
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
-- You probably always want to set this in your vim file
|
||||||
|
vim.opt.background = 'dark'
|
||||||
|
vim.g.colors_name = 'shades_of_purple'
|
||||||
|
|
||||||
|
-- By setting our module to nil, we clear lua's cache,
|
||||||
|
-- which means the require ahead will *always* occur.
|
||||||
|
--
|
||||||
|
-- This isn't strictly required but it can be a useful trick if you are
|
||||||
|
-- incrementally editing your config a lot and want to be sure your themes
|
||||||
|
-- changes are being picked up without restarting neovim.
|
||||||
|
--
|
||||||
|
-- Note if you're working in on your theme and have :Lushify'd the buffer,
|
||||||
|
-- your changes will be applied with our without the following line.
|
||||||
|
--
|
||||||
|
-- The performance impact of this call can be measured in the hundreds of
|
||||||
|
-- *nanoseconds* and such could be considered "production safe".
|
||||||
|
package.loaded['lush_theme.shades_of_purple'] = nil
|
||||||
|
|
||||||
|
-- include our theme file and pass it to lush to apply
|
||||||
|
require('lush')(require('lush_theme.shades_of_purple'))
|
||||||
|
|
319
lua/shades_of_purple/shades_of_purple.lua
Normal file
319
lua/shades_of_purple/shades_of_purple.lua
Normal file
|
@ -0,0 +1,319 @@
|
||||||
|
--
|
||||||
|
-- Built with,
|
||||||
|
--
|
||||||
|
-- ,gggg,
|
||||||
|
-- d8" "8I ,dPYb,
|
||||||
|
-- 88 ,dP IP'`Yb
|
||||||
|
-- 8888888P" I8 8I
|
||||||
|
-- 88 I8 8'
|
||||||
|
-- 88 gg gg ,g, I8 dPgg,
|
||||||
|
-- ,aa,_88 I8 8I ,8'8, I8dP" "8I
|
||||||
|
-- dP" "88P I8, ,8I ,8' Yb I8P I8
|
||||||
|
-- Yb,_,d88b,,_ ,d8b, ,d8b,,8'_ 8) ,d8 I8,
|
||||||
|
-- "Y8P" "Y888888P'"Y88P"`Y8P' "YY8P8P88P `Y8
|
||||||
|
--
|
||||||
|
|
||||||
|
-- This is a starter colorscheme for use with Lush,
|
||||||
|
-- for usage guides, see :h lush or :LushRunTutorial
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Note: Because this is a lua file, vim will append it to the runtime,
|
||||||
|
-- which means you can require(...) it in other lua code (this is useful),
|
||||||
|
-- but you should also take care not to conflict with other libraries.
|
||||||
|
--
|
||||||
|
-- (This is a lua quirk, as it has somewhat poor support for namespacing.)
|
||||||
|
|
||||||
|
local lush = require('lush')
|
||||||
|
local hsl = lush.hsl
|
||||||
|
|
||||||
|
local base00 = "#191830"
|
||||||
|
local base06 = "#ffffff"
|
||||||
|
local base09 = "#78a9ff"
|
||||||
|
local colors = {
|
||||||
|
base00 = base00,
|
||||||
|
base01 = base00,
|
||||||
|
base02 = "#FFFFFF",
|
||||||
|
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",
|
||||||
|
|
||||||
|
white = "#FFFFFF",
|
||||||
|
|
||||||
|
meta = "#9efff",
|
||||||
|
|
||||||
|
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.macro, 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.base04, bg = colors.none, undercurl = true},
|
||||||
|
DiagnosticUnderlineHint {fg = colors.base04, 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},
|
||||||
|
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},
|
||||||
|
|
||||||
|
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.base09, bg = colors.none},
|
||||||
|
Character {fg = colors.base14, bg = colors.none},
|
||||||
|
Comment {fg = colors.base03, bg = colors.none, italic = true},
|
||||||
|
Conceal {fg = colors.none, bg = colors.none},
|
||||||
|
Conditional {fg = colors.base09, bg = colors.none},
|
||||||
|
Constant {fg = colors.base04, bg = colors.none},
|
||||||
|
Decorator {fg = colors.base12, bg = colors.none},
|
||||||
|
Define {fg = colors.storage, bg = colors.none},
|
||||||
|
Delimeter {fg = colors.base06, bg = colors.none},
|
||||||
|
Exception {fg = colors.base09, bg = colors.none},
|
||||||
|
Float {link = "Number"},
|
||||||
|
Function {fg = colors.type, bg = colors.none},
|
||||||
|
Identifier {fg = colors.type, 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.base15, bg = colors.none},
|
||||||
|
Operator {fg = colors.base09, 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.base09, bg = colors.none},
|
||||||
|
Tag {fg = colors.base04, bg = colors.none},
|
||||||
|
Todo {fg = colors.base13, bg = colors.none},
|
||||||
|
Type {fg = colors.type, bg = colors.none},
|
||||||
|
markdownBlockquote {fg = colors.base08, bg = colors.none},
|
||||||
|
markdownBold {link = "Bold"},
|
||||||
|
markdownItalic {link = "Italic"},
|
||||||
|
markdownBoldItalic {fg = colors.none, bg = colors.none, bold = true, italic = true},
|
||||||
|
markdownRule {link = "Comment"},
|
||||||
|
markdownH1 {fg = colors.base10, bg = colors.none},
|
||||||
|
markdownH2 {link = "markdownH1"},
|
||||||
|
markdownH3 {link = "markdownH1"},
|
||||||
|
markdownH4 {link = "markdownH1"},
|
||||||
|
markdownH5 {link = "markdownH1"},
|
||||||
|
markdownH6 {link = "markdownH1"},
|
||||||
|
markdownHeadingDelimiter {link = "markdownH1"},
|
||||||
|
markdownHeadingRule {link = "markdownH1"},
|
||||||
|
markdownCode {link = "String"},
|
||||||
|
markdownCodeBlock {link = "markdownCode"},
|
||||||
|
markdownCodeDelimiter {link = "markdownCode"},
|
||||||
|
markdownUrl {link = "String"},
|
||||||
|
markdownListMarker {fg = colors.base08, bg = colors.none},
|
||||||
|
markdownOrderedListMarker {fg = colors.base08, bg = colors.none},
|
||||||
|
asciidocAttributeEntry {fg = colors.base15, bg = colors.none},
|
||||||
|
asciidocAttributeList {link = "asciidocAttributeEntry"},
|
||||||
|
asciidocAttributeRef {link = "asciidocAttributeEntry"},
|
||||||
|
|
||||||
|
NvimInternalError {fg = colors.base00, bg = colors.base08},
|
||||||
|
NormalFloat {fg = colors.base05, bg = colors.blend},
|
||||||
|
FloatBorder {fg = colors.blend, bg = colors.blend},
|
||||||
|
NormalNC {fg = colors.base05, bg = colors.base00},
|
||||||
|
TermCursor {fg = colors.base00, bg = colors.base04},
|
||||||
|
TermCursorNC {fg = colors.base00, bg = colors.base04},
|
||||||
|
StatusLine {fg = colors.base04, bg = colors.base00},
|
||||||
|
StatusLineNC {fg = colors.base04, bg = colors.base01},
|
||||||
|
StatusReplace {fg = colors.base00, bg = colors.base08},
|
||||||
|
StatusInsert {fg = colors.base00, bg = colors.base12},
|
||||||
|
StatusVisual {fg = colors.base00, bg = colors.base14},
|
||||||
|
StatusTerminal {fg = colors.base00, bg = colors.base11},
|
||||||
|
StatusNormal {fg = colors.base00, bg = colors.base15},
|
||||||
|
StatusCommand {fg = colors.base00, bg = colors.base13},
|
||||||
|
StatusLineDiagnosticWarn {fg = colors.base14, bg = colors.base00, bold = true},
|
||||||
|
StatusLineDiagnosticError {fg = colors.base10, bg = colors.base00, bold = true},
|
||||||
|
TelescopeBorder {fg = colors.blend, bg = colors.blend},
|
||||||
|
TelescopePromptBorder {fg = colors.base02, bg = colors.base02},
|
||||||
|
TelescopePromptNormal {fg = colors.base05, bg = colors.base02},
|
||||||
|
TelescopePromptPrefix {fg = colors.base08, bg = colors.base02},
|
||||||
|
TelescopeNormal {fg = colors.none, bg = colors.blend},
|
||||||
|
TelescopePreviewTitle {fg = colors.base02, bg = colors.base12},
|
||||||
|
TelescopePromptTitle {fg = colors.base02, bg = colors.base11},
|
||||||
|
TelescopeResultsTitle {fg = colors.blend, bg = colors.blend},
|
||||||
|
TelescopeSelection {fg = colors.none, bg = colors.base02},
|
||||||
|
TelescopePreviewLine {fg = colors.none, bg = colors.base01},
|
||||||
|
TelescopeMatching {fg = colors.base08, bg = colors.none, bold = true, italic = true},
|
||||||
|
NotifyERRORBorder {fg = colors.base08, bg = colors.none},
|
||||||
|
NotifyWARNBorder {fg = colors.base14, bg = colors.none},
|
||||||
|
NotifyINFOBorder {fg = colors.base05, bg = colors.none},
|
||||||
|
NotifyDEBUGBorder {fg = colors.base13, bg = colors.none},
|
||||||
|
NotifyTRACEBorder {fg = colors.base13, bg = colors.none},
|
||||||
|
NotifyERRORIcon {fg = colors.base08, bg = colors.none},
|
||||||
|
NotifyWARNIcon {fg = colors.base14, bg = colors.none},
|
||||||
|
NotifyINFOIcon {fg = colors.base05, bg = colors.none},
|
||||||
|
NotifyDEBUGIcon {fg = colors.base13, bg = colors.none},
|
||||||
|
NotifyTRACEIcon {fg = colors.base13, bg = colors.none},
|
||||||
|
NotifyERRORTitle {fg = colors.base08, bg = colors.none},
|
||||||
|
NotifyWARNTitle {fg = colors.base14, bg = colors.none},
|
||||||
|
NotifyINFOTitle {fg = colors.base05, bg = colors.none},
|
||||||
|
NotifyDEBUGTitle {fg = colors.base13, bg = colors.none},
|
||||||
|
NotifyTRACETitle {fg = colors.base13, bg = colors.none},
|
||||||
|
CmpItemAbbr {fg = "#adadad", bg = colors.none},
|
||||||
|
CmpItemAbbrMatch {fg = colors.base05, bg = colors.none, bold = true},
|
||||||
|
CmpItemAbbrMatchFuzzy {fg = colors.base04, bg = colors.none, bold = true},
|
||||||
|
CmpItemMenu {fg = colors.base04, bg = colors.none, italic = true},
|
||||||
|
CmpItemKindInterface {fg = colors.white, bg = colors.macro},
|
||||||
|
CmpItemKindColor {fg = colors.base01, bg = colors.base08},
|
||||||
|
CmpItemKindTypeParameter {fg = colors.base01, bg = colors.base08},
|
||||||
|
CmpItemKindText {fg = colors.macro, bg = colors.bg},
|
||||||
|
CmpItemKindEnum {fg = colors.base01, bg = colors.base09},
|
||||||
|
CmpItemKindKeyword {fg = colors.base01, bg = colors.base09},
|
||||||
|
CmpItemKindConstant {fg = colors.base01, bg = colors.base10},
|
||||||
|
CmpItemKindConstructor {fg = colors.base01, bg = colors.base10},
|
||||||
|
CmpItemKindReference {fg = colors.base01, bg = colors.base10},
|
||||||
|
CmpItemKindFunction {fg = colors.base01, bg = colors.base11},
|
||||||
|
CmpItemKindStruct {fg = colors.base01, bg = colors.base11},
|
||||||
|
CmpItemKindClass {fg = colors.base01, bg = colors.base11},
|
||||||
|
CmpItemKindModule {fg = colors.base01, bg = colors.base11},
|
||||||
|
CmpItemKindOperator {fg = colors.base01, bg = colors.base11},
|
||||||
|
CmpItemKindField {fg = colors.base01, bg = colors.base12},
|
||||||
|
CmpItemKindProperty {fg = colors.base01, bg = colors.base12},
|
||||||
|
CmpItemKindEvent {fg = colors.base01, bg = colors.base12},
|
||||||
|
CmpItemKindUnit {fg = colors.base01, bg = colors.base13},
|
||||||
|
CmpItemKindSnippet {fg = colors.base01, bg = colors.base13},
|
||||||
|
CmpItemKindFolder {fg = colors.base01, bg = colors.base13},
|
||||||
|
CmpItemKindVariable {fg = colors.base01, bg = colors.base14},
|
||||||
|
CmpItemKindFile {fg = colors.base01, bg = colors.base14},
|
||||||
|
CmpItemKindMethod {fg = colors.base01, bg = colors.base15},
|
||||||
|
CmpItemKindValue {fg = colors.base01, bg = colors.base15},
|
||||||
|
CmpItemKindEnumMember {fg = colors.base01, bg = colors.base15},
|
||||||
|
NvimTreeImageFile {fg = colors.base12, bg = colors.none},
|
||||||
|
NvimTreeFolderIcon {fg = colors.base12, bg = colors.none},
|
||||||
|
NvimTreeWinSeparator {fg = colors.base00, bg = colors.base00},
|
||||||
|
NvimTreeFolderName {fg = colors.base09, bg = colors.none},
|
||||||
|
NvimTreeIndentMarker {fg = colors.base02, bg = colors.none},
|
||||||
|
NvimTreeEmptyFolderName {fg = colors.base15, bg = colors.none},
|
||||||
|
NvimTreeOpenedFolderName {fg = colors.base15, bg = colors.none},
|
||||||
|
NvimTreeNormal {fg = colors.base04, bg = colors.base00},
|
||||||
|
NeogitBranch {fg = colors.base10, bg = colors.none},
|
||||||
|
NeogitRemote {fg = colors.base09, bg = colors.none},
|
||||||
|
NeogitHunkHeader {fg = colors.base04, bg = colors.base02},
|
||||||
|
NeogitHunkHeaderHighlight {fg = colors.base04, bg = colors.base03},
|
||||||
|
HydraRed {fg = colors.base12, bg = colors.none},
|
||||||
|
HydraBlue {fg = colors.base09, bg = colors.none},
|
||||||
|
HydraAmaranth {fg = colors.base10, bg = colors.none},
|
||||||
|
HydraTeal {fg = colors.base08, bg = colors.none},
|
||||||
|
HydraHint {fg = colors.none, bg = colors.blend},
|
||||||
|
alpha1 {fg = colors.base03, bg = colors.none},
|
||||||
|
alpha2 {fg = colors.base04, bg = colors.none},
|
||||||
|
alpha3 {fg = colors.base03, bg = colors.none},
|
||||||
|
CodeBlock {fg = colors.none, bg = colors.base01},
|
||||||
|
BufferLineDiagnostic {fg = colors.base10, bg = colors.none, bold = true},
|
||||||
|
BufferLineDiagnosticVisible {fg = colors.base10, bg = colors.none, bold = true},
|
||||||
|
htmlH1 {link = "markdownH1"},
|
||||||
|
mkdRule {link = "markdownRule"},
|
||||||
|
mkdListItem {link = "markdownListMarker"},
|
||||||
|
mkdListItemCheckbox {link = "markdownListMarker"},
|
||||||
|
VimwikiHeader1 {link = "markdownH1"},
|
||||||
|
VimwikiHeader2 {link = "markdownH1"},
|
||||||
|
VimwikiHeader3 {link = "markdownH1"},
|
||||||
|
VimwikiHeader4 {link = "markdownH1"},
|
||||||
|
VimwikiHeader5 {link = "markdownH1"},
|
||||||
|
VimwikiHeader6 {link = "markdownH1"},
|
||||||
|
VimwikiHeaderChar {link = "markdownH1"},
|
||||||
|
VimwikiList {link = "markdownListMarker"},
|
||||||
|
VimwikiCode {link = "markdownCode"},
|
||||||
|
|
||||||
|
-- Language specific stuff
|
||||||
|
-- rustModPath {fg = "#fad000" },
|
||||||
|
|
||||||
|
}
|
||||||
|
end)
|
||||||
|
|
||||||
|
-- Return our parsed theme for extension or use elsewhere.
|
||||||
|
return theme
|
||||||
|
|
||||||
|
-- vi:nowrap
|
Loading…
Reference in a new issue