diff --git a/README.md b/README.md new file mode 100644 index 0000000..474391c --- /dev/null +++ b/README.md @@ -0,0 +1,6 @@ +# Shades of purple neovim +A port of [the original vscode theme](https://github.com/ahmadawais/shades-of-purple-vscode). + +## 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 diff --git a/lua/shades_of_purple/shades_of_purple.lua b/lua/shades_of_purple/shades_of_purple.lua index 0babe8e..68525d0 100644 --- a/lua/shades_of_purple/shades_of_purple.lua +++ b/lua/shades_of_purple/shades_of_purple.lua @@ -1,28 +1,3 @@ --- --- 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 @@ -30,9 +5,9 @@ local base00 = "#191830" local base06 = "#ffffff" local base09 = "#78a9ff" local colors = { - base00 = base00, + base00 = base00, base01 = base00, - base02 = "#FFFFFF", + base02 = "#fad000", base03 = "#FFFFFF", base04 = "#FFFFFF", base05 = "#FFFFFF", @@ -57,10 +32,10 @@ local colors = { fg = "#FFFFFF", lineNumber = "#7870ab", bg = "#191830", - white = "#FFFFFF", - meta = "#9efff", + number = "#FF628C", + cyan = "#9EFFFF", none = "NONE" @@ -92,7 +67,7 @@ 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}, +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}, @@ -103,8 +78,8 @@ 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}, +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}, @@ -120,6 +95,7 @@ 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}, @@ -146,24 +122,24 @@ 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}, +Boolean {fg = colors.number, bg = colors.none}, Character {fg = colors.base14, bg = colors.none}, -Comment {fg = colors.base03, bg = colors.none, italic = true}, +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.base04, 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.base06, bg = colors.none}, +Delimeter {fg = colors.keyword, 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}, +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.base15, bg = colors.none}, -Operator {fg = colors.base09, 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}, @@ -172,143 +148,19 @@ 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}, +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}, -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" }, +rustFoldBraces = {fg = colors.macro }, +rustFloat = { fg = colors.number }, + +-- Plugins +RainbowRed = { fg = "#E06C75" }, +RainbowYellow= { fg = "#E5C07B" }, } end)