diff --git a/CHANGELOG.MD b/CHANGELOG.MD new file mode 100644 index 0000000..ea5dec5 --- /dev/null +++ b/CHANGELOG.MD @@ -0,0 +1,53 @@ +# Changelog +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [Unreleased] +- Light, medium contrast variant themes. +- Support for user config for bold and italic text. +- Full TreeSitter support. +- Lua version of color scheme for neovim. +- Better vimdiff colors. +- Popular plugin support: + - Vimwiki + - Startify + - Whichkey + - Easymotion + - Galaxyline + + +## [0.1.0, Unreleased] - 2020-06-TBD + + +### Added +- This CHANGELOG file to hopefully serve as an evolving example of a + standardized open source project CHANGELOG. +- New organization created: [Spaceduck Theme](https://github.com/spaceduck-theme) + to track all ports. +- Hot new violet color: #5c65cc + +### Changed +- Changed color names for more semantic consistency. + Ie: Went from 'purple1', 'purple2' to 'purple', 'dark purple', etc. +- Color corrected most colors to focus on 16bit color harmony. + (a huge departure from consistency with the 256 version): + - Red: #e33400 -> #f25244 + - Orange: #e39400 -> #f2b45c + - Yellow: #f2ce00 -> #f2e15c + - Purple: #7a5ccc -> #946cd9 + - Cyan: #00a3cc -> #59C2FF + - Magenta: #ce6f8f -> #cc7893 + - DarkPurple: #686f9a -> #5966a1 + - Selection: #1b1c36 -> #30365F + + +### Removed +- No longer using estilo as a dependency to manage colors, instead using viml dictionary like other modern color schemes. + + +### Fixed +- Brighter comment color. Contrast ratio: of 3.43:1 still not full AA compliant but it's brighter. #30365F -> #5966a1 + + diff --git a/README.md b/README.md index ba45848..25a3aeb 100644 --- a/README.md +++ b/README.md @@ -48,8 +48,16 @@ _Note: The Syntax color ID's are not an exhaustive & complete list._ | -------------------------------------------------------------------------------------------------------------------------- | ---------------- | --------- | ------------- | --------------- | --------- | -------------------- | | ![Background Color](https://github.com/pineapplegiant/spaceduck-terminal/blob/main/img/background.png?raw=true) | Background | `#0f111b` | `230,44,11` | `15, 17, 27` | `233` | Background | | ![Foreground Color](https://github.com/pineapplegiant/spaceduck-terminal/blob/main/img/foreground.png?raw=true) | Foreground | `#ecf0c1` | `65,20,94` | `236, 240, 193` | `255` | Foregrond, Delimiter | -| ![Visual Selection Color](https://github.com/pineapplegiant/spaceduck-terminal/blob/main/img/visualSelection.png?raw=true) | Visual Selection | `#1b1c36` | `238, 50, 21` | `27, 28, 54` | `234` | Visual | +| ![Visual Selection Color](https://github.com/pineapplegiant/spaceduck-terminal/blob/main/img/visualSelection.png?raw=true) | Visual Selection | `#30365F` | `232, 49, 37` | `48, 54, 95` | `237` | Visual | +| ![Cursor Line Color](https://github.com/pineapplegiant/spaceduck-terminal/blob/main/img/cursorLine.png?raw=true) | Cursor Line | `#1b1c36` | `238, 50, 21` | `27, 28, 54` | `234` | CursorLine | + +
Old Special Colors + + | ![Color Picker Boxes](https://github.com/pineapplegiant/spaceduck-terminal/blob/main/img/eyedropper.png?raw=true) | Palette | Hex | HSV/HSB | RGB | cterm/256 | SYN ID | +| -------------------------------------------------------------------------------------------------------------------------- | ---------------- | --------- | ------------- | --------------- | --------- | -------------------- | + | ![Visual Selection Color](https://github.com/pineapplegiant/spaceduck-terminal/blob/main/img/visualSelection.png?raw=true) | Visual Selection | `#1b1c36` | `238, 50, 21` | `27, 28, 54` | `234` | Visual | | ![Cursor Line Color](https://github.com/pineapplegiant/spaceduck-terminal/blob/main/img/cursorLine.png?raw=true) | Cursor Line | `#16172d` | `237,51,18` | `22, 23, 45` | `234` | CursorLine | +
## Coloration Colors @@ -87,7 +95,6 @@ If using Vim/Neovim I recommend installing the [vim-polyglot](https://github.com # Vim and Neovim This repo hosts the Vim/Neovim color scheme. - Install the plugin with whatever plugin manager you use: `Plug 'pineapplegiant/spaceduck', { 'branch': 'main' }` @@ -104,9 +111,7 @@ And add this to your vimrc/init.vim configuration file: colorscheme spaceduck ``` -Or manually add the color theme to your 'runtimepath' for the file. - -`:h colors` +## Plugins - [Airline](https://github.com/vim-airline/vim-airline) @@ -287,10 +292,6 @@ And in your `.bash_profile or .zshrc`: If you'd like to contribute please reach out! I don't know what I'm doing. Try to send a screenshot when posting issues as well. If you port it to whatever you're using, send me a link so I can link it here! -## Vim Estilo - -I currently use [estilo](https://github.com/jacoborus/estilo) to manage colors for Vim/Neovim, please install the dependencies to compile the colors specified in the YAML into the color scheme. - To find the [current syntax element under the cursor](https://vim.fandom.com/wiki/Identify_the_syntax_highlighting_group_used_at_the_cursor), I use this mapping which maps Ctrl+a to find the id under the cursor: ```viml @@ -308,10 +309,11 @@ This will show you the syntax ID to where we can then modify the color of that w ### Testing colors look good -- To test that colors look good, you can run: `:source $VIMRUNTIME/syntax/hitest.vim` this will open a buffer of all color groups defined! +- Edit the colors/spaceduck.vim. When finished run `:source %` to source the buffer and see changes live. +- To test that colors look good, you can also run: `:source $VIMRUNTIME/syntax/hitest.vim` this will open a buffer of all color groups defined! - Check current defined colors in buffer `:highlight` or `:hi` for short. - Looking for more syntax elements? Check out `$VIMRUNTIME/syntax/` for all of vim's language support. -### TODO +### TODO/WIP Check out my [Todo list](https://github.com/pineapplegiant/spaceduck/projects/1) diff --git a/after/syntax/markdown.vim b/after/syntax/markdown.vim new file mode 100644 index 0000000..3de78ff --- /dev/null +++ b/after/syntax/markdown.vim @@ -0,0 +1,53 @@ +if spaceduck#should_abort('markdown', 'mkd') + finish +endif + +syn match markdownBlockquote ">\%(\s\|$\).*" contained nextgroup=@markdownBlock + +if b:current_syntax ==# 'mkd' +" plasticboy/vim-markdown {{{1 + hi! link htmlBold SpaceduckOrangeBold + hi! link htmlBoldItalic SpaceduckOrangeBoldItalic + hi! link htmlH1 SpaceduckPurpleBold + hi! link htmlItalic SpaceduckYellowItalic + hi! link mkdBlockquote SpaceduckComment + hi! link mkdBold SpaceduckOrangeBold + hi! link mkdBoldItalic SpaceduckOrangeBoldItalic + hi! link mkdCode SpaceduckGreen + hi! link mkdCodeEnd SpaceduckGreen + hi! link mkdCodeStart SpaceduckGreen + hi! link mkdHeading SpaceduckPurpleBold + hi! link mkdInlineUrl SpaceduckLink + hi! link mkdItalic SpaceduckYellowItalic + hi! link mkdLink SpaceduckGreen + hi! link mkdListItem SpaceduckCyan + hi! link mkdRule SpaceduckComment + hi! link mkdUrl SpaceduckLink +"}}}1 +elseif b:current_syntax ==# 'markdown' +" Builtin: {{{1 + hi! link markdownBlockquote SpaceduckCommentItalic + hi! link markdownBold SpaceduckYellowBold + hi! link markdownBoldItalic SpaceduckYellowBoldItalic + hi! link markdownCodeBlock SpaceduckPurple + hi! link markdownCode SpaceduckPurple + hi! link markdownCodeDelimiter SpaceduckPurple + hi! link markdownH1 SpaceduckPurple2Bold + hi! link markdownH2 markdownH1 + hi! link markdownH3 markdownH1 + hi! link markdownH4 markdownH1 + hi! link markdownH5 markdownH1 + hi! link markdownH6 markdownH1 + hi! link markdownHeadingDelimiter markdownH1 + hi! link markdownHeadingRule markdownH1 + hi! link markdownItalic SpaceduckYellowItalic + hi! link markdownLinkText SpaceduckGreen + hi! link markdownListMarker SpaceduckCyan + hi! link markdownOrderedListMarker SpaceduckCyan + hi! link markdownRule SpaceduckComment + hi! link markdownUrl SpaceduckCyan +"}}} +endif + +" vim: fdm=marker ts=2 sts=2 sw=2 fdl=0: + diff --git a/autoload/airline/themes/spaceduck.vim b/autoload/airline/themes/spaceduck.vim index 0f4f02e..5689be2 100644 --- a/autoload/airline/themes/spaceduck.vim +++ b/autoload/airline/themes/spaceduck.vim @@ -9,31 +9,67 @@ let g:airline#themes#spaceduck#palette = {} -let s:normal1 = [ "#000000", "#30365F", 0, 237 ] -let s:normal2 = [ "#30365F", "#686f9a", 237, 60 ] -let s:normal3 = [ "#30365F", "#686f9a", 237, 60 ] +let s:normal1 = [ "#1b1c36", "#686f9a", 233, 237 ] +let s:normal2 = [ "#686f9a", "#1b1c36", 60, 234 ] +let s:normal3 = [ "#686f9a", "#1b1c36", 60, 234 ] let g:airline#themes#spaceduck#palette.normal = airline#themes#generate_color_map(s:normal1, s:normal2, s:normal3) -let s:insert1 = [ "#000000", "#5ccc96", 0, 78 ] -let s:insert2 = [ "#30365F", "#686f9a", 237, 60 ] -let s:insert3 = [ "#30365F", "#686f9a", 237, 60 ] +let s:insert1 = [ "#0f111b", "#5ccc96", 233, 78 ] +let s:insert2 = [ "#5ccc96", "#1b1c36", 60, 234 ] +let s:insert3 = [ "#5ccc96", "#1b1c36", 60, 234 ] let g:airline#themes#spaceduck#palette.insert = airline#themes#generate_color_map(s:insert1, s:insert2, s:insert3) -let s:replace1 = [ "#000000", "#7a5ccc", 0, 98 ] +let s:replace1 = [ "#0f111b", "#7a5ccc", 233, 98 ] let s:replace2 = [ "#30365F", "#686f9a", 237, 60 ] let s:replace3 = [ "#30365F", "#686f9a", 237, 60 ] let g:airline#themes#spaceduck#palette.replace = airline#themes#generate_color_map(s:replace1, s:replace2, s:replace3) -let s:visual1 = [ "#000000", "#f2ce00", 0, 220 ] -let s:visual2 = [ "#30365F", "#686f9a", 237, 60 ] -let s:visual3 = [ "#30365F", "#686f9a", 237, 60 ] +let s:visual1 = [ "#0f111b", "#b3a1e6", 233, 220 ] +let s:visual2 = [ "#b3a1e6", "#1b1c36", 146, 234 ] +let s:visual3 = [ "#b3a1e6", "#1b1c36", 146, 234 ] let g:airline#themes#spaceduck#palette.visual = airline#themes#generate_color_map(s:visual1, s:visual2, s:visual3) -let s:inactive1 = [ "#1b1c36", "#16172d", 234, 234 ] -let s:inactive2 = [ "#1b1c36", "#16172d", 234, 234 ] -let s:inactive3 = [ "#1b1c36", "#16172d", 234, 234 ] +let s:inactive1 = [ "#30365F", "#16172d", 237, 234 ] +let s:inactive2 = [ "#30365F", "#16172d", 237, 234 ] +let s:inactive3 = [ "#30365F", "#16172d", 237, 234 ] let g:airline#themes#spaceduck#palette.inactive = airline#themes#generate_color_map(s:inactive1, s:inactive2, s:inactive3) +" statusline warnings ( the [3]trailing block at the right end of your status bar) +let s:warning_color = [ "#686f9a", "#30365F", 0, 237 ] +let g:airline#themes#spaceduck#palette.normal.airline_warning = s:warning_color +let g:airline#themes#spaceduck#palette.insert.airline_warning = s:warning_color +let g:airline#themes#spaceduck#palette.visual.airline_warning = s:warning_color + +" statusline errors +let s:error_color = [ "#ce6f8f", "#1b1c36", 0, 237 ] +let g:airline#themes#spaceduck#palette.normal.airline_error = s:error_color +let g:airline#themes#spaceduck#palette.insert.airline_error = s:error_color +let g:airline#themes#spaceduck#palette.visual.airline_error = s:error_color + +" tabline colors +let s:tab_fill = [ "#ecf0c1", "#0f111b", 255, 233] +let s:selected_tab = [ "#b3a1e6", "#0f111b", 146, 233 ] +let s:modified_tab = [ "#5ccc96", "#0f111b", 78, 233 ] +let s:background_tab = [ "#686f9a", "#0f111b", 60, 233 ] + +" reference airline-tabline-hlgroups for more information +let g:airline#themes#spaceduck#palette.tabline = { + \ "airline_tab": s:background_tab, + \ "airline_tab_right": s:background_tab, + \ "airline_tabsel": s:selected_tab, + \ "airline_tabsel_right": s:selected_tab, + \ "airline_tabmod": s:modified_tab, + \ "airline_tabmod_right": s:modified_tab, + \ "airline_tabmod_unsel": s:modified_tab, + \ "airline_tabmod_unsel_right": s:modified_tab, + \ "airline_tabfill": s:tab_fill, + \ "airline_tablabel": s:background_tab, + \ "airline_tablabel_right": s:background_tab, + \ "airline_tabhid": s:background_tab, + \ "airline_tabhid_right": s:background_tab + \ } + +" ctrlp extension if !get(g:, 'loaded_ctrlp', 0) finish endif diff --git a/autoload/spaceduck.vim b/autoload/spaceduck.vim new file mode 100644 index 0000000..ac2a11e --- /dev/null +++ b/autoload/spaceduck.vim @@ -0,0 +1,10 @@ +" Helper function that takes a variadic list of filetypes as args and returns +" whether or not the execution of the ftplugin should be aborted. +func! spaceduck#should_abort(...) + if ! exists('g:colors_name') || g:colors_name !=# 'spaceduck' + return 1 + elseif a:0 > 0 && (! exists('b:current_syntax') || index(a:000, b:current_syntax) == -1) + return 1 + endif + return 0 +endfunction diff --git a/colors/spaceduck.vim b/colors/spaceduck.vim index ffdc406..b575ae7 100644 --- a/colors/spaceduck.vim +++ b/colors/spaceduck.vim @@ -1,176 +1,467 @@ -" =============================================================== -" spaceduck -" +" _ _ +" | | | | +" ___ _ __ __ _ ___ ___ __| |_ _ ___| | __ +" / __| '_ \ / _` |/ __/ _ \/ _` | | | |/ __| |/ / +" \__ \ |_) | (_| | (_| __/ (_| | |_| | (__| < +" |___/ .__/ \__,_|\___\___|\__,_|\__,_|\___|_|\_\ +" | | +" |_| +" " URL: https://github.com/pineapplegiant/spaceduck -" Author: Guillermo Rodriguez +" Maintainer: Guillermo Rodriguez +" Modified: 2021/06/20 13:06 +" Version: 0.1.0 " License: MIT -" Last Change: 2021/03/16 22:28 -" =============================================================== -set background=dark +"TODO: 0.1 release +" Clean up syntax groups locations +" Fix readme +" Testing... + +" Initalization {{{ hi clear if exists("syntax_on") syntax reset endif + let g:colors_name="spaceduck" +" }}} + +" User Configuration: {{{2 +if !exists('g:spaceduck_bold') + let g:spaceduck_bold = 1 +endif + +if !exists('g:spaceduck_italic') + let g:spaceduck_italic = 1 +endif +if !exists('g:spaceduck_underline') + let g:spaceduck_underline = 1 +endif + +if !exists('g:spaceduck_undercurl') + let g:spaceduck_undercurl = g:spaceduck_underline +endif -let Italic = "" -if exists('g:spaceduck_italic') - let Italic = "italic" +if !exists('g:spaceduck_inverse') + let g:spaceduck_inverse = 1 endif -let g:spaceduck_italic = get(g:, 'spaceduck_italic', 0) -let Bold = "" -if exists('g:spaceduck_bold') - let Bold = "bold" +if !exists('g:spaceduck_colorterm') + let g:spaceduck_colorterm = 1 endif -let g:spaceduck_bold = get(g:, 'spaceduck_bold', 0) -hi ColorColumn guifg=NONE ctermfg=NONE guibg=#16172d ctermbg=234 gui=NONE cterm=NONE -hi CursorColumn guifg=NONE ctermfg=NONE guibg=#16172d ctermbg=234 gui=NONE cterm=NONE -hi Conceal guifg=#686f9a ctermfg=60 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE -hi Cursor guifg=#0f111b ctermfg=233 guibg=#818596 ctermbg=102 gui=NONE cterm=NONE -hi link CursorIM Cursor -hi CursorLine guifg=NONE ctermfg=NONE guibg=#16172d ctermbg=234 gui=NONE cterm=NONE -hi CursorLineNr guifg=#c1c3cc ctermfg=251 guibg=#16172d ctermbg=234 gui=NONE cterm=NONE -hi Directory guifg=#00a3cc ctermfg=38 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE -hi DiffAdd guifg=#5ccc96 ctermfg=78 guibg=#1b1c36 ctermbg=234 gui=NONE cterm=NONE -hi DiffChange guifg=#e39400 ctermfg=172 guibg=#1b1c36 ctermbg=234 gui=NONE cterm=NONE -hi DiffDelete guifg=#e33400 ctermfg=166 guibg=#1b1c36 ctermbg=234 gui=NONE cterm=NONE -hi DiffText guifg=#f2ce00 ctermfg=220 guibg=#1b1c36 ctermbg=234 gui=NONE cterm=NONE -hi EndOfBuffer guifg=#30365F ctermfg=237 guibg=#0f111b ctermbg=233 gui=NONE cterm=NONE -hi link TermCursor Cursor -hi ErrorMsg guifg=#e33400 ctermfg=166 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE -hi VertSplit guifg=#000000 ctermfg=0 guibg=#000000 ctermbg=0 gui=NONE cterm=NONE -hi Folded guifg=#686f9a ctermfg=60 guibg=#0f111b ctermbg=233 gui=NONE cterm=NONE -hi FoldColumn guifg=#30365F ctermfg=237 guibg=#0f111b ctermbg=233 gui=NONE cterm=NONE -hi SignColumn guifg=#30365F ctermfg=237 guibg=#0f111b ctermbg=233 gui=NONE cterm=NONE -hi IncSearch guifg=#ffffff ctermfg=15 guibg=#30365F ctermbg=237 gui=NONE cterm=NONE -hi LineNr guifg=#30365F ctermfg=237 guibg=#0f111b ctermbg=233 gui=NONE cterm=NONE -hi MatchParen guifg=#ffffff ctermfg=15 guibg=#30365F ctermbg=237 gui=NONE cterm=NONE -hi ModeMsg guifg=#b3a1e6 ctermfg=146 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE -hi MoreMsg guifg=#b3a1e6 ctermfg=146 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE -hi link NonText EndOfBuffer -hi Pmenu guifg=#ecf0c1 ctermfg=255 guibg=#1b1c36 ctermbg=234 gui=NONE cterm=NONE -hi PmenuSel guifg=#ffffff ctermfg=15 guibg=#30365F ctermbg=237 gui=NONE cterm=NONE -hi PmenuSbar guifg=NONE ctermfg=NONE guibg=#30365F ctermbg=237 gui=NONE cterm=NONE -hi PmenuThumb guifg=NONE ctermfg=NONE guibg=#686f9a ctermbg=60 gui=NONE cterm=NONE -hi Question guifg=#b3a1e6 ctermfg=146 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE -hi QuickFixLine guifg=#ecf0c1 ctermfg=255 guibg=#16172d ctermbg=234 gui=NONE cterm=NONE -hi Search guifg=#ffffff ctermfg=15 guibg=#686f9a ctermbg=60 gui=NONE cterm=NONE -hi SpecialKey guifg=#e39400 ctermfg=172 guibg=#0f111b ctermbg=233 gui=NONE cterm=NONE -hi SpellBad guifg=#e33400 ctermfg=166 guibg=NONE ctermbg=NONE gui=underline cterm=underline -hi SpellLocal guifg=#ecf0c1 ctermfg=255 guibg=NONE ctermbg=NONE gui=underline cterm=underline -hi SpellCap guifg=#5ccc96 ctermfg=78 guibg=NONE ctermbg=NONE gui=underline cterm=underline -hi SpellRare guifg=#f2ce00 ctermfg=220 guibg=NONE ctermbg=NONE gui=underline cterm=underline -hi StatusLine guifg=#ecf0c1 ctermfg=255 guibg=#0f111b ctermbg=233 gui=reverse cterm=reverse -hi link StatusLineTerm StatusLine -hi StatusLineTermNC guifg=#000000 ctermfg=0 guibg=#30365F ctermbg=237 gui=reverse cterm=reverse -hi link StatusLineNC StatusLineTermNC -hi TabLine guifg=#000000 ctermfg=0 guibg=#818596 ctermbg=102 gui=NONE cterm=NONE -hi TabLineFill guifg=#818596 ctermfg=102 guibg=#000000 ctermbg=0 gui=NONE cterm=NONE -hi TabLineSel guifg=#c1c3cc ctermfg=251 guibg=#0f111b ctermbg=233 gui=NONE cterm=NONE -hi Visual guifg=NONE ctermfg=NONE guibg=#1b1c36 ctermbg=234 gui=NONE cterm=NONE -hi link VisualNOS Visual -hi WarningMsg guifg=#e39400 ctermfg=172 guibg=#0f111b ctermbg=233 gui=NONE cterm=NONE -hi WildMenu guifg=#000000 ctermfg=0 guibg=#c1c3cc ctermbg=251 gui=NONE cterm=NONE -hi link Whitespace EndOfBuffer -hi diffAdded guifg=#b3a1e6 ctermfg=146 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE -hi diffRemoved guifg=#e33400 ctermfg=166 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE -hi Normal guifg=#ecf0c1 ctermfg=255 guibg=#0f111b ctermbg=233 gui=NONE cterm=NONE -hi Comment guifg=#30365F ctermfg=237 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE -hi Constant guifg=#f2ce00 ctermfg=220 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE -hi Identifier guifg=#00a3cc ctermfg=38 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE -hi Statement guifg=#5ccc96 ctermfg=78 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE -hi PreProc guifg=#b3a1e6 ctermfg=146 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE -hi Type guifg=#ce6f8f ctermfg=168 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE -hi Special guifg=#b3a1e6 ctermfg=146 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE -hi Underlined guifg=#5ccc96 ctermfg=78 guibg=NONE ctermbg=NONE gui=underline cterm=underline -hi Error guifg=#e33400 ctermfg=166 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE -hi Ignore guifg=#e33400 ctermfg=166 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE -hi Delimiter guifg=#ecf0c1 ctermfg=255 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE -hi Operator guifg=#ce6f8f ctermfg=168 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE -hi Tag guifg=#b3a1e6 ctermfg=146 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE -hi Debug guifg=#b3a1e6 ctermfg=146 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE -hi StorageClass guifg=#b3a1e6 ctermfg=146 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE -hi String guifg=#00a3cc ctermfg=38 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE -hi Structure guifg=#00a3cc ctermfg=38 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE -hi Typedef guifg=#00a3cc ctermfg=38 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE -hi Function guifg=#5ccc96 ctermfg=78 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE -hi Include guifg=#5ccc96 ctermfg=78 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE -hi Label guifg=#5ccc96 ctermfg=78 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE -hi Exception guifg=#e39400 ctermfg=172 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE -hi Keyword guifg=#e39400 ctermfg=172 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE -hi SpecialChar guifg=#e39400 ctermfg=172 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE -hi Boolean guifg=#f2ce00 ctermfg=220 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE -hi Character guifg=#f2ce00 ctermfg=220 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE -hi Float guifg=#f2ce00 ctermfg=220 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE -hi Number guifg=#f2ce00 ctermfg=220 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE -hi Conditional guifg=#5ccc96 ctermfg=78 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE -hi Repeat guifg=#5ccc96 ctermfg=78 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE -hi Title guifg=#7a5ccc ctermfg=98 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE -hi Define guifg=#7a5ccc ctermfg=98 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE -hi Macro guifg=#7a5ccc ctermfg=98 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE -hi PreCondit guifg=#7a5ccc ctermfg=98 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE -hi link SpecialComment Comment -hi Todo guifg=#ffffff ctermfg=15 guibg=#686f9a ctermbg=60 gui=underline cterm=underline -hi link cFormat Title -hi link cCppOutIf1 Normal -hi link cCppOutIf2 Normal -hi link cBracket Title -hi link cssBraces Normal -hi cssSelectorOp guifg=#ce6f8f ctermfg=168 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE -hi link fortranType Tag -hi link fortranStructure Structure +"}}}2 + +" Script Helpers: {{{2 +let s:attrs = { + \ 'bold': g:spaceduck_bold == 1 ? 'bold' : 0, + \ 'italic': g:spaceduck_italic == 1 ? 'italic' : 0, + \ 'underline': g:spaceduck_underline == 1 ? 'underline' : 0, + \ 'undercurl': g:spaceduck_undercurl == 1 ? 'undercurl' : 0, + \ 'inverse': g:spaceduck_inverse == 1 ? 'inverse' : 0, + \} + +function! s:h(scope, fg, ...) " bg, attr_list, special + let l:fg = copy(a:fg) + let l:bg = get(a:, 1, ['NONE', 'NONE']) + + let l:attr_list = filter(get(a:, 2, ['NONE']), 'type(v:val) == 1') + let l:attrs = len(l:attr_list) > 0 ? join(l:attr_list, ',') : 'NONE' + + " Falls back to coloring foreground group on terminals because + " nearly all do not support undercurl + let l:special = get(a:, 3, ['NONE', 'NONE']) + if l:special[0] !=# 'NONE' && l:fg[0] ==# 'NONE' && !has('gui_running') + let l:fg[0] = l:special[0] + let l:fg[1] = l:special[1] + endif + + let l:hl_string = [ + \ 'highlight', a:scope, + \ 'guifg=' . l:fg[0], 'ctermfg=' . l:fg[1], + \ 'guibg=' . l:bg[0], 'ctermbg=' . l:bg[1], + \ 'gui=' . l:attrs, 'cterm=' . l:attrs, + \ 'guisp=' . l:special[0], + \] + + execute join(l:hl_string, ' ') +endfunction +"}}}2 + + " \ 'yellow': ['#f2e661', '221'], + +" PALETTE: {{{ +let s:palette = { + \ 'red': ['#f54f40', '203'], + \ 'orange': ['#f2b45c', '215'], + \ 'orange2': ['#e78a4e', '215'], + \ 'green': ['#5ccc96', '78'], + \ 'green2': ["#00C9A7", '144'], + \ 'yellow': ['#ffdc5e', '221'], + \ 'lightpurple': ['#b3a1e6', '146'], + \ 'purple': ['#936ad9', '98'], + \ 'darkpurple': ['#5966a1', '61'], + \ 'cyan': ['#59c2ff', '75'], + \ 'lightblue': ['#30ccd0', '75'], + \ 'magenta': ['#cc7893', '174'], + \ 'violet': ['#5c67e6', '62'], + \ + \ 'pink': ['#D4A5D0', '255'], + \ + \ 'background': ['#0f111b', '233'], + \ 'foreground': ['#ecf0c1', '255'], + \ 'selection': ['#30365f', '237'], + \ 'cursor': ['#1b1c36', '234'], + \ + \ 'grey': ['#818596', '102'], + \ 'lightgrey': ['#6d7391', '102'], + \ 'white': ['#edeef2', '255'], + \ 'black': ['#000000', '0'], + \ + \ 'none': ['NONE', 'NONE'] + \ } +" }}} + +" Highlight function {{{ +function! s:hi(group, fg, bg, ...) + let hl_string = [ + \ 'highlight', a:group, + \ 'guifg=' . a:fg[0], + \ 'guibg=' . a:bg[0], + \ 'ctermfg=' . a:fg[1], + \ 'ctermbg=' . a:bg[1], + \ 'gui=' . (a:0 >= 1 ? a:1 : 'NONE'), + \ 'cterm=' . (a:0 >= 1 ? a:1 : 'NONE') + \ ] + + execute join(hl_string, ' ') +endfunction +" }}} + +" Spaceduck Color Variables {{{ +" dark theme and light theme settings +if &background == 'dark' + call s:hi('SpaceduckRed', s:palette.red, s:palette.none) + call s:hi('SpaceduckOrange', s:palette.orange, s:palette.none) + call s:hi('SpaceduckOrange2', s:palette.orange2, s:palette.none) + call s:hi('SpaceduckGreen', s:palette.green, s:palette.none) + call s:hi('SpaceduckGreen2', s:palette.green2, s:palette.none) + call s:hi('SpaceduckYellow', s:palette.yellow, s:palette.none) + call s:hi('SpaceduckLightPurple', s:palette.lightpurple, s:palette.none) + call s:hi('SpaceduckPurple', s:palette.purple, s:palette.none) + call s:hi('SpaceduckDarkPurple', s:palette.darkpurple, s:palette.none) + call s:hi('SpaceduckCyan', s:palette.cyan, s:palette.none) + call s:hi('SpaceduckMagenta', s:palette.magenta, s:palette.none) + call s:hi('SpaceduckViolet', s:palette.violet, s:palette.none) + call s:hi('SpaceduckGrey', s:palette.grey, s:palette.none) + call s:hi('SpaceduckLightGrey', s:palette.lightgrey, s:palette.none) + call s:hi('SpaceduckPink', s:palette.pink, s:palette.none) + call s:hi('SpaceduckLightBlue', s:palette.lightblue, s:palette.none) + + call s:h('SpaceduckRedBold', s:palette.red, s:palette.none, [s:attrs.bold]) + call s:h('SpaceduckOrangeBold', s:palette.orange, s:palette.none, [s:attrs.bold]) + call s:h('SpaceduckGreenBold', s:palette.green, s:palette.none, [s:attrs.bold]) + call s:h('SpaceduckYellowBold', s:palette.yellow, s:palette.none, [s:attrs.bold]) + call s:h('SpaceduckPurpleBold', s:palette.purple, s:palette.none, [s:attrs.bold]) + call s:h('SpaceduckDarkPurpleBold', s:palette.darkpurple, s:palette.none, [s:attrs.bold]) + call s:h('SpaceduckLightPurpleBold', s:palette.lightpurple, s:palette.none, [s:attrs.bold]) + call s:h('SpaceduckCyanBold', s:palette.cyan, s:palette.none, [s:attrs.bold]) + call s:h('SpaceduckMagentaBold', s:palette.magenta, s:palette.none, [s:attrs.bold]) + + call s:h('SpaceduckRedItalic', s:palette.red, s:palette.none, [s:attrs.italic]) + call s:h('SpaceduckOrangeItalic', s:palette.orange, s:palette.none, [s:attrs.italic]) + call s:h('SpaceduckGreenItalic', s:palette.green, s:palette.none, [s:attrs.italic]) + call s:h('SpaceduckYellowItalic', s:palette.yellow, s:palette.none, [s:attrs.italic]) + call s:h('SpaceduckPurpleItalic', s:palette.purple, s:palette.none, [s:attrs.italic]) + call s:h('SpaceduckDarkPurpleItalic', s:palette.darkpurple, s:palette.none, [s:attrs.italic]) + call s:h('SpaceduckLightPurpleItalic', s:palette.lightpurple, s:palette.none, [s:attrs.italic]) + call s:h('SpaceduckCyanItalic', s:palette.cyan, s:palette.none, [s:attrs.italic]) + call s:h('SpaceduckMagentaItalic', s:palette.magenta, s:palette.none, [s:attrs.italic]) + + call s:hi('SpaceduckForeground', s:palette.foreground, s:palette.none) + call s:hi('SpaceduckBackground', s:palette.background, s:palette.none) + call s:hi('SpaceduckCursor', s:palette.cursor, s:palette.none) + call s:hi('SpaceduckSelection', s:palette.selection, s:palette.none) + " call s:hi('SpaceduckComment', s:palette.comment, s:palette.none) + + let s:palette.bg = s:palette.background + let s:palette.fg = s:palette.foreground +endif + +" I don't want anyone accidentally stumbling on this just yet +if exists('g:spaceduck_dev_light_theme') + call s:hi('SpaceduckRed', s:palette.red, s:palette.none) + call s:hi('SpaceduckOrange', s:palette.orange, s:palette.none) + call s:hi('SpaceduckGreen', s:palette.green, s:palette.none) + call s:hi('SpaceduckYellow', s:palette.yellow, s:palette.none) + call s:hi('SpaceduckLightPurple', s:palette.lightpurple, s:palette.none) + call s:hi('SpaceduckPurple', s:palette.purple, s:palette.none) + call s:hi('SpaceduckDarkPurple', s:palette.darkpurple, s:palette.none) + call s:hi('SpaceduckSelection', s:palette.selection, s:palette.none) + call s:hi('SpaceduckCyan', s:palette.cyan, s:palette.none) + call s:hi('SpaceduckMagenta', s:palette.magenta, s:palette.none) + + call s:hi('SpaceduckForeground', s:palette.foreground, s:palette.none) + + let s:palette.bg = s:palette.foreground + let s:palette.fg = s:palette.background +endif +" }}} + +" Syntax Highlighting {{{ +" +let s:palette.fg = s:palette.foreground +let s:palette.bg = s:palette.background + +call s:hi('Normal', s:palette.fg, s:palette.bg ) +call s:hi('ColorColumn', s:palette.none, s:palette.cursor ) +call s:hi('CursorLine', s:palette.none, s:palette.cursor ) +call s:hi('Cursor', s:palette.background, s:palette.grey ) +call s:hi('CursorLineNr', s:palette.lightgrey, s:palette.cursor ) + +call s:hi('DiffAdd', s:palette.green, s:palette.cursor ) +call s:hi('DiffChange', s:palette.orange, s:palette.cursor ) +call s:hi('DiffDelete', s:palette.red, s:palette.cursor ) +call s:hi('DiffText', s:palette.yellow, s:palette.cursor ) + +call s:hi('EndOfBuffer', s:palette.selection, s:palette.none ) +call s:hi('FoldColumn', s:palette.selection, s:palette.none ) +call s:hi('Folded', s:palette.darkpurple, s:palette.none ) +" TODO: better incsearch & Search +call s:hi('IncSearch', s:palette.white, s:palette.cursor, 'underline') +call s:hi('LineNr', s:palette.selection, s:palette.background ) +call s:hi('MatchParen', s:palette.white, s:palette.darkpurple ) + +call s:hi('Pmenu', s:palette.fg, s:palette.cursor ) +call s:hi('PmenuSbar', s:palette.none, s:palette.selection ) +call s:hi('PmenuSel', s:palette.white, s:palette.selection ) +call s:hi('PmenuThumb', s:palette.none, s:palette.darkpurple ) + +call s:hi('QuickFixLine', s:palette.fg, s:palette.cursor ) +call s:hi('Search', s:palette.white, s:palette.selection, ) +call s:hi('SignColumn', s:palette.orange, s:palette.bg ) +call s:hi('SpecialKey', s:palette.orange, s:palette.bg ) +call s:hi('SpellBad', s:palette.red, s:palette.none, 'underline') +call s:hi('SpellLocal', s:palette.green, s:palette.none, 'underline') +call s:hi('SpellRare', s:palette.yellow, s:palette.none, 'underline') + +call s:hi('StatusLine', s:palette.cursor, s:palette.foreground, 'reverse' ) +call s:hi('StatusLineNC', s:palette.bg, s:palette.grey, 'NONE' ) +call s:hi('StatusLineTermNC', s:palette.bg, s:palette.darkpurple, 'reverse' ) +call s:hi('TabLine', s:palette.bg, s:palette.grey ) + +call s:hi('TabLineFill', s:palette.grey, s:palette.black ) +call s:hi('TabLineSel', s:palette.lightgrey, s:palette.background ) +call s:hi('VertSplit', s:palette.selection, s:palette.none ) +call s:hi('Visual', s:palette.none, s:palette.selection ) +call s:hi('WarningMsg', s:palette.orange, s:palette.background ) +call s:hi('WildMenu', s:palette.black, s:palette.lightgrey ) + +" SYNTAX: Predefined syntax groups {{{ +hi! link Boolean SpaceduckYellow +hi! link Character SpaceduckYellow +hi! link Comment SpaceduckDarkPurple +hi! link Conditional SpaceduckGreen +hi! link Constant SpaceduckYellow +hi! link Debug SpaceduckLightPurple +hi! link Define SpaceduckLightPurple +hi! link Delimiter SpaceduckForeground +hi! link Error SpaceduckOrange +hi! link Exception SpaceduckOrange +hi! link Float SpaceduckYellow +hi! link Function SpaceduckGreen +hi! link Identifier SpaceduckCyan +hi! link Ignore SpaceduckRed +hi! link Include SpaceduckGreen +hi! link Keyword SpaceduckOrange +hi! link Label SpaceduckGreen +hi! link Macro SpaceduckPurple +hi! link Number SpaceduckYellow +hi! link Operator SpaceduckForeground +hi! link PreCondit SpaceduckPurple +hi! link PreProc SpaceduckLightPurple +hi! link Repeat SpaceduckGreen +hi! link Special SpaceduckLightPurple +hi! link SpecialChar SpaceduckOrange +hi! link SpecialComment Comment +hi! link Statement SpaceduckGreen +hi! link StorageClass SpaceduckLightPurple +hi! link String SpaceduckCyan +hi! link Structure SpaceduckCyan +hi! link Tag SpaceduckLightPurple +hi! link Type SpaceduckMagenta +hi! link Typedef SpaceduckCyan + +" TODO: better todo? +call s:hi('Todo', s:palette.violet, s:palette.cursor, 'underline') +call s:hi('Underlined', s:palette.green, s:palette.none, 'underline') +" }}} + +hi! link Conceal SpaceduckDarkPurple +hi! link Directory SpaceduckCyan +hi! link ErrorMsg SpaceduckRed +hi! link ModeMsg SpaceduckLightPurple +hi! link MoreMsg SpaceduckLightPurple +hi! link Question SpaceduckLightPurple +hi! link Title SpaceduckLightPurple + +hi! link diffAdded SpaceduckLightPurple +hi! link diffRemoved SpaceduckRed +hi! link Whitespace EndOfBuffer +hi! link VisualNOS Visual +hi! link StatusLineTerm StatusLine +hi! link NonText EndOfBuffer +hi! link TermCursor Cursor + +" C / C++ {{{ +hi link cFormat Title +hi link cCppOutIf1 Normal +hi link cCppOutIf2 Normal +hi link cBracket Title +" }}} + +" Fortran {{{ +hi link fortranType Tag +hi link fortranStructure Structure hi link fortranStorageClass StorageClass -hi link fortranUnitHeader Title -hi link haskellType Tag -hi link haskellIdentifier Label -hi link haskellKeyword Boolean -hi link haskellDecl Boolean -hi link htmlTagName Function -hi link htmlEndTag Conditional -hi link htmlArg Tag -hi link htmlSpecialTagName Type -hi link javaClassDecl Structure -hi link javaTypeDef Keyword -hi link jsStorageClass Title -hi link jsFunction Function -hi link jsFuncName Special -hi link jsOperator Operator -hi link jsNull Constant -hi link jsGlobalObjects Constant -hi link jsFuncCall Function -hi link jsOperatorKeyword Operator -hi link jsExceptions Error -hi link jsObjectProp Tag -hi link jsTernaryIfOperator Title -hi link jsTemplateBraces Title -hi link jsTemplateExpression String +hi link fortranUnitHeader Title +" }}} + +" Haskell {{{ +hi link haskellType Tag +hi link haskellIdentifier Label +hi link haskellKeyword Boolean +hi link haskellDecl Boolean +" }}} + +" Java {{{ +hi link javaClassDecl Structure +hi link javaTypeDef Keyword +" }}} + +" HTML {{{ +hi link htmlTagName Function +hi link htmlEndTag Conditional +hi link htmlArg SpaceduckMagenta +hi link htmlSpecialTagName Type +hi! link htmlTag SpaceduckDarkPurple +hi! link htmlEndTag SpaceduckDarkPurple +" }}} + +" CSS {{{ +hi link cssBraces Normal +hi! link cssSelectorOp SpaceduckViolet +hi link cssAtKeyword SpaceduckLightPurple +hi link cssBoxProp SpaceduckViolet +hi link cssBackgroundProp SpaceduckMagenta +hi link cssTextProp SpaceduckMagenta +hi link cssTagName SpaceduckGreen +hi link cssPseudoClassId SpaceduckMagenta +hi link cssClassName SpaceduckViolet +" }}} + +" php {{{ +hi link phpFunction Function +hi link phpKeyword Function +hi link phpMethod Function +hi link phpClass SpaceduckYellow +hi link phpType SpaceduckPurple +hi link phpIdentifier SpaceduckForeground +hi link phpVarSelector SpaceduckDarkPurple +hi link phpParent SpaceduckForeground +hi link phpSuperglobals SpaceduckMagenta +hi link Delimiter SpaceduckLightPurple +hi link phpStringSingle String +hi link phpStringDouble String +" }}} + +" JavaScript {{{ +"hi link jsStorageClass Title +"hi link jsFunction Function +"hi link jsFuncName Special +"hi link jsOperator Operator +"hi link jsNull Constant +"hi link jsGlobalObjects Constant +"hi link jsFuncCall Function +"hi link jsOperatorKeyword Operator +"hi link jsExceptions Error +"hi link jsObjectProp Tag +"hi link jsTernaryIfOperator Title +"hi! link jsTemplateBraces SpaceduckPurple +"hi link jsTemplateExpression String +"hi! link jsArrowFunction SpaceduckYellow +"hi! link jsFuncArgs SpaceduckMagenta +"hi! link jsFuncParens SpaceduckPurple +"hi! link jsDestructuringBraces SpaceduckDarkPurple +"hi! link jsObjectBraces SpaceduckDarkPurple +"hi! link jsModuleBraces SpaceduckDarkPurpl2 +"hi! link jsBrackets SpaceduckDarkPurple +"hi! link jsTemplateExpression SpaceduckMagenta + +"hi link jsxTagName HTMLTagName +"hi link jsxClosePunct jsxOpenPunct +"hi link jsxCloseString jsxClosePunct +"hi! link jsxOpenPunct SpaceduckDarkPurple +"hi! link jsxComponentName SpaceduckPurple +"hi! link jsxTag SpaceduckLightPurple + +"hi link jsAsyncKeyword SpaceduckLightPurple +"hi link jsForAwait SpaceduckLightPurple +"hi link jsAsyncKeyword SpaceduckOrange +"hi link jsForAwait SpaceduckOrange + +"hi link jsClassKeyword SpaceduckViolet +"hi link jsClassDefinition SpaceduckYellow +"hi link jsClassDefinition SpaceduckLightPurple +"hi link jsClassFuncName SpaceduckGreen +"hi link jsObjectProp SpaceduckMagenta +"hi link jsObjectKey SpaceduckViolet +"hi link jsThis SpaceduckYellow +"hi link jsFunction SpaceduckLightPurple +"hi link jsFuncName SpaceduckGreen + +"hi link jsParensCatch SpaceduckLightPurple +"hi link jsParenCatch SpaceduckMagenta + +"hi link jsonQuote Label +"hi link jsoncBraces SpaceduckDarkPurple +" }}} + +" Others {{{ hi link texTypeStyle Special hi link mkdDelimiter Normal -hi link phpFunction Function -hi link phpMethod Function -hi link phpType Constant -hi link phpIdentifier Type -hi link phpStringSingle String -hi link phpStringDouble String -hi pythonOperator guifg=#ce6f8f ctermfg=168 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +" }}} + +" Python TODO {{{ +hi! link pythonOperator SpaceduckMagenta +hi! link pythonBuiltinFunc SpaceduckGreen +hi! link pythonBuiltinType SpaceduckYellow +hi! link pythonClassVar SpaceduckLightPurple +hi! link pythonImport SpaceduckGreen +hi! link pythonFunction SpaceduckGreen +hi! link pythonRepeat SpaceduckMagenta +hi! link pythonExClass SpaceduckYellow +hi! link pythonConditional SpaceduckMagenta +hi! link pythonStatement SpaceduckPurple +hi! link pythonRaise SpaceduckGreen +hi! link pythonClass SpaceduckYellow +hi! link pythonReturn SpaceduckGreen +" }}} + +" Ruby {{{ hi link rubyConstant Constant hi link rubyDefine Define hi link rubyMethodName Function hi link rubyInstanceVariable Tag hi link rubyKeywordAsMethod Tag -hi link typescriptProp Tag +" }}} + +" Typescript {{{ hi link typescriptVariable Title -hi link jsxTagName HTMLTagName -hi link jsxComponentName Tag -hi link jsxOpenPunct jsxTagName -hi link jsxClosePunct jsxOpenPunct -hi link jsxCloseString jsxClosePunct -hi link typescriptBraces Normal -hi typescriptArrowFunc guifg=#ce6f8f ctermfg=168 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE +hi link typescriptBraces SpaceduckDarkPurple +hi! link typescriptArrowFunc SpaceduckMagenta hi link typescriptNumberStaticMethod Function hi link typescriptNumberMethod Function hi link typescriptStringStaticMethod Function @@ -219,52 +510,237 @@ hi link typescriptDOMEventTargetMethod Function hi link typescriptDOMEventMethod Function hi link typescriptDOMStorageMethod Function hi link typescriptDOMFormMethod Function -hi link vimGroupName Normal + +hi link typescriptPredefinedType SpaceduckYellow +hi link typescriptAliasKeyword Define +hi link typescriptBinaryOp Operator +hi link typescriptOperator Operator +hi link typescriptGlobal Constant +hi link typescriptExceptions Statement +hi link typescriptAssign Operator +hi link typescriptFuncComma SpaceduckForeground +hi link typescriptFuncKeyword Define +hi link typescriptInterfaceKeyword Define + +hi link typescriptCall SpaceduckForeground +hi link typescriptAliasDeclaration SpaceduckPurple +hi link typescriptTypeReference SpaceduckPurple +hi link typescriptInterfaceName SpaceduckPurple + +hi link typescriptDOMFormProp SpaceduckMagenta +hi link typescriptNodeGlobal SpaceduckYellow +hi! link typescriptProp SpaceduckMagenta +hi! link typescriptIdentifierName SpaceduckForeground + +hi link typescriptImport SpaceduckGreen +hi link typescriptBOM SpaceduckMagenta +hi link typescriptFuncTypeArrow SpaceduckMagenta + +hi link tsxTagName SpaceduckPurple +hi link tsxTag SpaceduckDarkPurple2 +hi link tsxCloseTag SpaceduckDarkPurple2 +hi link tsxCloseString SpaceduckDarkPurple2 +hi link tsxBraces SpaceduckGrey +" }}} + +" GraphQL {{{ +hi! link graphqlType Type +hi! link graphqlName SpaceduckGreen +hi! link graphqlVariable String +hi! link graphqlFold SpaceduckPurple +hi! link graphqlTemplateString SpaceduckForeground +hi! link graphqlStructure Define +" }}} + +" YAML {{{ hi link yamlKeyValueDelimiter Normal hi link yamlBlockMappingKey Function +" }}} + +" VIML {{{ +hi link vimGroupName Normal +hi! link vimLet SpaceduckPurple2 +hi! link vimVar SpaceduckForeground +hi link vimScriptDelim SpaceduckMagenta +" }}} + +" PLUGINS {{{ + +" Vista hi link vistaTag Conditional hi link vistaIcon Identifier hi link vistaColon Normal hi link vistaScope Constant hi link vistaKind Conditional -hi Sneak guifg=#000000 ctermfg=0 guibg=#f2ce00 ctermbg=220 gui=NONE cterm=NONE -hi BufferCurrent guifg=#c1c3cc ctermfg=251 guibg=#0f111b ctermbg=233 gui=NONE cterm=NONE -hi BufferVisible guifg=#30365F ctermfg=237 guibg=#0f111b ctermbg=233 gui=NONE cterm=NONE -hi BufferInactive guifg=#30365F ctermfg=237 guibg=#0f111b ctermbg=233 gui=NONE cterm=NONE -hi BufferTabpageFill guifg=#0f111b ctermfg=233 guibg=#0f111b ctermbg=233 gui=NONE cterm=NONE -hi BufferCurrentIndex guifg=#5ccc96 ctermfg=78 guibg=#0f111b ctermbg=233 gui=NONE cterm=NONE -hi BufferVisibleIndex guifg=#30365F ctermfg=237 guibg=#0f111b ctermbg=233 gui=NONE cterm=NONE -hi BufferInactiveIndex guifg=#30365F ctermfg=237 guibg=#0f111b ctermbg=233 gui=NONE cterm=NONE -hi BufferCurrentMod guifg=#e39400 ctermfg=172 guibg=#0f111b ctermbg=233 gui=NONE cterm=NONE -hi BufferVisibleMod guifg=#e39400 ctermfg=172 guibg=#0f111b ctermbg=233 gui=NONE cterm=NONE -hi BufferInactiveMod guifg=#e39400 ctermfg=172 guibg=#0f111b ctermbg=233 gui=NONE cterm=NONE -hi BufferCurrentSign guifg=#5ccc96 ctermfg=78 guibg=#0f111b ctermbg=233 gui=NONE cterm=NONE -hi BufferVisibleSign guifg=#30365F ctermfg=237 guibg=#0f111b ctermbg=233 gui=NONE cterm=NONE -hi BufferInactiveSign guifg=#30365F ctermfg=237 guibg=#0f111b ctermbg=233 gui=NONE cterm=NONE -hi BufferCurrentTarget guifg=#ce6f8f ctermfg=168 guibg=#0f111b ctermbg=233 gui=NONE cterm=NONE -hi BufferVisibleTarget guifg=#ce6f8f ctermfg=168 guibg=#0f111b ctermbg=233 gui=NONE cterm=NONE -hi BufferInactiveTarget guifg=#ce6f8f ctermfg=168 guibg=#0f111b ctermbg=233 gui=NONE cterm=NONE - -let g:terminal_color_foreground = "#ecf0c1" -let g:terminal_color_background = "#0f111b" -let g:terminal_color_0 = "#000000" -let g:terminal_color_1 = "#e33400" -let g:terminal_color_2 = "#5ccc96" -let g:terminal_color_3 = "#b3a1e6" -let g:terminal_color_4 = "#00a3cc" -let g:terminal_color_5 = "#ce6f8f" -let g:terminal_color_6 = "#7a5ccc" -let g:terminal_color_7 = "#686f9a" -let g:terminal_color_8 = "#686f9a" -let g:terminal_color_9 = "#e33400" -let g:terminal_color_10 = "#5ccc96" -let g:terminal_color_11 = "#b3a1e6" -let g:terminal_color_12 = "#00a3cc" -let g:terminal_color_13 = "#ce6f8f" -let g:terminal_color_14 = "#7a5ccc" -let g:terminal_color_15 = "#ecf0c1" - -" =================================== -" Generated by Estilo 1.4.1 -" https://github.com/jacoborus/estilo -" =================================== + +" Vim Sneak +call s:hi('Sneak', s:palette.background, s:palette.yellow) + +" TODO: Update this with variables +hi link BufferCurrent SpaceduckForeground +hi link BufferVisible SpaceduckDarkPurple +hi link BufferInactive SpaceduckDarkPurple +hi link BufferTabpageFill SpaceduckBackground +hi link BufferCurrentIndex SpaceduckGreen +hi link BufferVisibleIndex SpaceduckSelection +hi link BufferInactiveIndex SpaceduckSelection +hi link BufferCurrentMod SpaceduckOrange +hi link BufferVisibleMod SpaceduckOrange +hi link BufferInactiveMod SpaceduckOrange +hi link BufferCurrentSign SpaceduckGreen +hi link BufferVisibleSign SpaceduckSelection +hi link BufferInactiveSign SpaceduckSelection +hi link BufferCurrentTarget SpaceduckMagenta +hi link BufferVisibleTarget SpaceduckMagenta +hi link BufferInactiveTarget SpaceduckMagenta + +" NERDTree: +hi! link NERDTreeFlags SpaceduckCyan +hi! link FernRootText SpaceduckPurple + +" COC: +call s:hi('CocHighlightText', s:palette.none, s:palette.cursor) +hi! link CocErrorSign SpaceduckRed +hi! link CocInfoSign SpaceduckYellow +hi! link CocWarningSign SpaceduckOrange +hi! link CocErrorHighlight SpaceduckRed + +" COC Explorer TODO: Need to test +hi link CocExplorerIndentLine SpaceduckCursor +hi link CocExplorerBufferRoot SpaceduckCyan +hi link CocExplorerFileRoot SpaceduckCyan +hi link CocExplorerBufferFullPath SpaceduckDarkPurple +hi link CocExplorerFileFullPath SpaceduckDarkPurple +hi link CocExplorerBufferReadonly SpaceduckMagenta +hi link CocExplorerBufferModified SpaceduckMagenta +hi link CocExplorerBufferNameVisible SpaceduckGreen +hi link CocExplorerFileReadonly SpaceduckMagenta +hi link CocExplorerFileModified SpaceduckMagenta +hi link CocExplorerFileHidden SpaceduckDarkPurple +hi link CocExplorerHelpLine SpaceduckMagenta + +" }}} + +" }}} + +" Vim9 Lsp +hi! link LspDiagInlineError SpaceduckRed +hi! link LspDiagVirtualTextError SpaceduckRed +hi! link LspDiagSignErrorText SpaceduckRed +hi! link LspDiagInlineWarning SpaceduckOrange +hi! link LspDiagVirtualTextWarning SpaceduckOrange +hi! link LspDiagSignWarningText SpaceduckOrange +hi! link LspDiagInlineInfo SpaceduckYellow +hi! link LspDiagVirtualTextInfo SpaceduckYellow +hi! link LspDiagSignInfoText SpaceduckYellow +hi! link LspDiagInlineHint SpaceduckYellow +hi! link LspDiagVirtualTextHint SpaceduckYellow +hi! link LspDiagSignHintText SpaceduckYellow + +" TreeSitter: + +" TODO: UNTESTED Treesitter +hi link TSAnnotation SpaceduckForeground +hi link TSAttribute SpaceduckForeground +hi link TSBoolean SpaceduckYellow +hi link TSCharacter SpaceduckForeground +hi link TSComment SpaceduckDarkPurple +hi link TSConditional SpaceduckGreen +hi link TSConstBuiltin SpaceduckCyan +hi link TSConstMacro SpaceduckForeground +hi link TSConstant SpaceduckForeground + +hi link TSConstructor SpaceduckPink + +hi link TSEmphasis SpaceduckForeground +hi link TSError SpaceduckForeground +hi link TSException SpaceduckMagentaBold +hi link TSField SpaceduckForeground +hi link TSFloat SpaceduckForeground +hi link TSFuncBuiltin SpaceduckGreen +hi link TSFuncMacro SpaceduckForeground + +hi link TSFunction SpaceduckGreen +hi link TSMethod TSFunction + +hi link TSInclude SpaceduckMagenta + +hi link TSKeyword SpaceduckMagentaBold +hi link TSKeywordOperator SpaceduckMagenta + +hi link TSLabel SpaceduckForeground +hi link TSLiteral SpaceduckForeground +hi link TSNamespace SpaceduckForeground +hi link TSNone SpaceduckForeground +hi link TSNumber SpaceduckYellow +hi link TSOperator SpaceduckOrange +hi link TSParameter SpaceduckForeground +hi link TSParameter SpaceduckForeground +hi link TSParameterReference SpaceduckForeground +hi link TSProperty SpaceduckLightPurple +hi link TSPunctBracket SpaceduckLightGrey +hi link TSPunctDelimiter SpaceduckForeground +hi link TSPunctSpecial SpaceduckForeground +hi link TSRepeat SpaceduckForeground +hi link TSString SpaceduckCyan +hi link TSStringEscape SpaceduckGreen +hi link TSStringRegex SpaceduckForeground +hi link TSStrong SpaceduckForeground +hi link TSStructure SpaceduckForeground +hi link TSTag SpaceduckPink +hi link TSTagDelimiter SpaceduckDarkPurple +hi link TSText SpaceduckForeground +hi link TSType SpaceduckYellow +hi link TSTypeBuiltIn SpaceduckForeground +hi link TSURI SpaceduckForeground +hi link TSUnderline SpaceduckForeground +hi link TSVariable SpaceduckForeground +hi link TSVariableBuiltin SpaceduckLightPurple + +" }}} + +" }}} + +" TODO: Check to see if this works correctly? +" Terminal colors VIM / NeoVIM {{{ +" Neovim uses different terminal colors apart from Vim +if has('nvim') + let g:terminal_color_foreground = s:palette['foreground'][0] + let g:terminal_color_background = s:palette['background'][0] + let g:terminal_color_0 = s:palette['black'][0] + let g:terminal_color_1 = s:palette['red'][0] + let g:terminal_color_2 = s:palette['green'][0] + let g:terminal_color_3 = s:palette['lightpurple'][0] + let g:terminal_color_4 = s:palette['cyan'][0] + let g:terminal_color_5 = s:palette['magenta'][0] + let g:terminal_color_6 = s:palette['purple'][0] + let g:terminal_color_7 = s:palette['darkpurple'][0] + let g:terminal_color_8 = s:palette['darkpurple'][0] + let g:terminal_color_9 = s:palette['red'][0] + let g:terminal_color_10 = s:palette['green'][0] + let g:terminal_color_11 = s:palette['lightpurple'][0] + let g:terminal_color_12 = s:palette['cyan'][0] + let g:terminal_color_13 = s:palette['magenta'][0] + let g:terminal_color_14 = s:palette['purple'][0] + let g:terminal_color_15 = s:palette['foreground'][0] +else + let g:terminal_ansi_colors = [ + \ s:palette['black'][0], + \ s:palette['red'][0], + \ s:palette['green'][0], + \ s:palette['lightpurple'][0], + \ s:palette['cyan'][0], + \ s:palette['magenta'][0], + \ s:palette['purple'][0], + \ s:palette['darkpurple'][0], + \ s:palette['darkpurple'][0], + \ s:palette['red'][0], + \ s:palette['green'][0], + \ s:palette['lightpurple'][0], + \ s:palette['cyan'][0], + \ s:palette['magenta'][0], + \ s:palette['purple'][0], + \ s:palette['foreground'][0] + \ ] +endif +" }}} diff --git a/estilo.yml b/estilo.yml deleted file mode 100644 index aeeb63c..0000000 --- a/estilo.yml +++ /dev/null @@ -1,18 +0,0 @@ -name: 'spaceduck' -version: '1.0.0' -license: 'MIT' -author: 'Guillermo Rodriguez' -url: 'https://github.com/pineapplegiant/spaceduck' -description: 'An intergalactic space theme for Vim, Terminal & more!' -colorschemes: - - name: 'spaceduck' - background: 'dark' - palette: 'spaceduck' -airline: - - name: 'spaceduck' - palette: 'spaceduck' - style: 'spaceduck' -lightline: - - name: 'spaceduck' - palette: 'spaceduck' - style: 'spaceduck' diff --git a/estilo/addons/nvim-term.yml b/estilo/addons/nvim-term.yml deleted file mode 100644 index 2013d30..0000000 --- a/estilo/addons/nvim-term.yml +++ /dev/null @@ -1,18 +0,0 @@ -color_foreground: 'foreground' -color_background: 'background' -color_0: 'pureBlack' -color_1: 'red' -color_2: 'green' -color_3: 'purple' -color_4: 'cyan' -color_5: 'magenta' -color_6: 'purple2' -color_7: 'darkPurp2' -color_8: 'darkPurp2' -color_9: 'red' -color_10: 'green' -color_11: 'purple' -color_12: 'cyan' -color_13: 'magenta' -color_14: 'purple2' -color_15: 'foreground' diff --git a/estilo/airline/spaceduck.yml b/estilo/airline/spaceduck.yml deleted file mode 100644 index e6a1adc..0000000 --- a/estilo/airline/spaceduck.yml +++ /dev/null @@ -1,18 +0,0 @@ -normal1: 'pureBlack darkPurp' -normal2: 'darkPurp darkPurp2' -normal3: 'darkPurp darkPurp2' -inactive1: 'visualSel cursorLine' -inactive2: 'visualSel cursorLine' -inactive3: 'visualSel cursorLine' -insert1: 'pureBlack green' -insert2: 'darkPurp darkPurp2' -insert3: 'darkPurp darkPurp2' -replace1: 'pureBlack purple2' -replace2: 'darkPurp darkPurp2' -replace3: 'darkPurp darkPurp2' -visual1: 'pureBlack yellow' -visual2: 'darkPurp darkPurp2' -visual3: 'darkPurp darkPurp2' -ctrlp1: 'foreground background' -ctrlp2: 'foreground background' -ctrlp3: 'foreground background' diff --git a/estilo/lightline/spaceduck.yml b/estilo/lightline/spaceduck.yml deleted file mode 100644 index def702d..0000000 --- a/estilo/lightline/spaceduck.yml +++ /dev/null @@ -1,31 +0,0 @@ -normal1: 'background darkPurp2' -normal2: 'background darkPurp' -normal3: 'darkPurp2 visualSel' -normal4: 'background darkPurp' -normal5: 'darkPurp2 visualSel' -normalError: 'background red' -normalWarning: 'background orange' -inactive1: 'darkPurp2 visualSel' -inactive2: 'background darkPurp' -inactive3: 'darkPurp2 visualSel' -inactive4: 'darkPurp2 visualSel' -inactive5: 'darkPurp2 visualSel' -insert1: 'background green' -insert2: 'background darkPurp' -insert3: 'darkPurp2 visualSel' -insert4: 'background green' -insert5: 'darkPurp2 visualSel' -replace1: 'background purple2' -replace2: 'background darkPurp' -replace3: 'darkPurp2 visualSel' -replace4: 'background purple2' -replace5: 'darkPurp2 visualSel' -visual1: 'background yellow' -visual2: 'background darkPurp' -visual3: 'darkPurp2 visualSel' -visual4: 'background yellow' -visual5: 'darkPurp2 visualSel' -tablineLeft: 'background darkPurp' -tablineSelected: 'background darkPurp2' -tablineMiddle: 'darkPurp2 visualSel' -tablineRight: 'background darkPurp' diff --git a/estilo/palettes/spaceduck.yml b/estilo/palettes/spaceduck.yml deleted file mode 100644 index 7300484..0000000 --- a/estilo/palettes/spaceduck.yml +++ /dev/null @@ -1,51 +0,0 @@ -# Special Colors -background: '#0f111b' -foreground: '#ecf0c1' -visualSel: '#1b1c36' -cursorLine: '#16172d' - -# Base Colors -red: '#e33400' -orange: '#e39400' -green: '#5ccc96' -green2: '#67bf95' -yellow: '#f2ce00' -purple: '#b3a1e6' -purple2: '#7a5ccc' -darkPurp: '#30365F' -darkPurp2: '#686f9a' -cyan: '#00a3cc' -magenta: '#ce6f8f' - - -# Coloration -pureWhite: '#ffffff' -pureBlack: '#000000' -grey: '#818596' -grey2: '#c1c3cc' - - -# Deprecated maybe -#search: '#114fd6' -#pink: '#e6a1a3' -#darkPurp: '#2e3459' -#darkPurp: '#373E6C' -#visualSel: '#272c42' -#visualSel: '#222344' -#diffAdd: '#6bb391' -#diffChange: '#b39a6b' -#diffDelete: '#b37d6b' -#diffText: '#6b76b3' -#white1: '#656782' -#white2: '#B6A8DD' -#cursorColor: '#c1c3cc' -#vertSplit: '#0f1117' -#folded: '#686f9a' -#matchParen: '#3e445e' -#pmenu: '#3d425b' -#quickFixLine: '#272c42' -# tabline: '#818596' -# TablineSel: '#9a9ca5' -#darkness: '#17171b' -#black1: '#444b71' -#black2: '#1a1b35' diff --git a/estilo/syntax/base.yml b/estilo/syntax/base.yml deleted file mode 100644 index 6424a7f..0000000 --- a/estilo/syntax/base.yml +++ /dev/null @@ -1,285 +0,0 @@ -# COLORS: Foreground Background buri (bold, underlined, reverse ,italic) - -# UI ELEMENTS -ColorColumn: '- cursorLine' -CursorColumn: '- cursorLine' -Conceal: 'darkPurp2' # IDK what these is -Cursor: 'background grey' -CursorIM: '@Cursor' # IDK what this is -CursorLine: '- cursorLine' -CursorLineNr: 'grey2 cursorLine' -Directory: 'cyan' -DiffAdd: 'green visualSel' -DiffChange: 'orange visualSel' -DiffDelete: 'red visualSel' -DiffText: 'yellow visualSel' -EndOfBuffer: 'darkPurp background' -TermCursor: '@Cursor' -#TermCursorNC: '' -ErrorMsg: 'red' -VertSplit: 'pureBlack pureBlack' -Folded: 'darkPurp2 background' -FoldColumn: 'darkPurp background' -SignColumn: 'darkPurp background' -IncSearch: 'pureWhite darkPurp' -#Substitute: '' -LineNr: 'darkPurp background' -MatchParen: 'pureWhite darkPurp' -ModeMsg: 'purple' -#MsgArea: '' -#MsgSeparator: '' -MoreMsg: 'purple' -NonText: '@EndOfBuffer' -#NormalFloat: '' -#NormalNC: '' -Pmenu: 'foreground visualSel' -PmenuSel: 'pureWhite darkPurp' -PmenuSbar: '- darkPurp' -PmenuThumb: '- darkPurp2' -Question: 'purple' -QuickFixLine: 'foreground cursorLine' -Search: 'pureWhite darkPurp2' -SpecialKey: 'orange background' -SpellBad: 'red - u' -SpellLocal: 'foreground - u' -SpellCap: 'green - u' -SpellRare: 'yellow - u' -StatusLine: 'foreground background r' -StatusLineTerm: '@StatusLine' -StatusLineTermNC: 'pureBlack darkPurp r' -StatusLineNC: '@StatusLineTermNC' -TabLine: 'pureBlack grey' -TabLineFill: 'grey pureBlack' -TabLineSel: 'grey2 background' -Visual: '- visualSel' -VisualNOS: '@Visual' -WarningMsg: 'orange background' -WildMenu: 'pureBlack grey2' -Whitespace: '@EndOfBuffer' -diffAdded: 'purple -' -diffRemoved: 'red -' - -#Gui -#Menu: '' -#Scrollbar: '' -#Tooltip: '' - -# BASE SYNTAX -Normal: 'foreground background' -Comment: 'darkPurp' # 1 -Constant: 'yellow' # 2 -Identifier: 'cyan' # 3 -Statement: 'green' # 4 -PreProc: 'purple' # 5 -Type: 'magenta' # 6 -Special: 'purple' # 7 -Underlined: 'green - u' # 8 -Error: 'red' # 9 -Ignore: 'red' -Delimiter: 'foreground' -Operator: 'magenta' -Tag: 'purple' -Debug: 'purple' -StorageClass: 'purple' -String: 'cyan' -Structure: 'cyan' -Typedef: 'cyan' -Function: 'green' -Include: 'green' -Label: 'green' -Exception: 'orange' -Keyword: 'orange' -SpecialChar: 'orange' -Boolean: 'yellow' -Character: 'yellow' -Float: 'yellow' -Number: 'yellow' -Conditional: 'green' -Repeat: 'green' -Title: 'purple2' -Define: 'purple2' -Macro: 'purple2' -PreCondit: 'purple2' -SpecialComment: '@Comment' -Todo: 'pureWhite darkPurp2 u' - -# LANGUAGE SPECIFICS -# C -cFormat: '@Title' -cCppOutIf1: '@Normal' -cCppOutIf2: '@Normal' -cBracket: '@Title' -#cOperator: '@Type' - -# C++ - -# CSS -cssBraces: '@Normal' -cssSelectorOp: 'magenta' - -# Fortran -fortranType: '@Tag' -fortranStructure: '@Structure' -fortranStorageClass: '@StorageClass' -fortranUnitHeader: '@Title' - -# Haskell -haskellType: '@Tag' -haskellIdentifier: '@Label' -haskellKeyword: '@Boolean' -haskellDecl: '@Boolean' -#haskellDelimeter: '@Operator' -#haskellOperators: '@Title' - -# HTML -htmlTagName: '@Function' -htmlEndTag: '@Conditional' -htmlArg: '@Tag' -htmlSpecialTagName: '@Type' - -# Java -javaClassDecl: '@Structure' -javaTypeDef: '@Keyword' - -# Javascript -jsStorageClass: '@Title' -jsFunction: '@Function' -jsFuncName: '@Special' -jsOperator: '@Operator' -jsNull: '@Constant' -jsGlobalObjects: '@Constant' -jsFuncCall: '@Function' -jsOperatorKeyword: '@Operator' -jsExceptions: '@Error' -jsObjectProp: '@Tag' -jsTernaryIfOperator: '@Title' -jsTemplateBraces: '@Title' -jsTemplateExpression: '@String' - -# lAtEx -texTypeStyle: '@Special' - -# Markdown -mkdDelimiter: '@Normal' - -# PHP -#phpInclude: '@Conditional' -phpFunction: '@Function' -phpMethod: '@Function' -phpType: '@Constant' -#phpKeyword: '@Constant' -#phpMemberSelector: '@Title' -#phpVarSelector: '@String' -#phpIdentifier: '@String' -phpStringSingle: '@String' -phpStringDouble: '@String' - -# Python -pythonOperator: 'magenta' - -# Ruby -rubyConstant: '@Constant' -rubyDefine: '@Define' -rubyMethodName: '@Function' -rubyInstanceVariable: '@Tag' -rubyKeywordAsMethod: '@Tag' - -# Typescript -typescriptProp: '@Tag' -typescriptVariable: '@Title' -jsxTagName: '@HTMLTagName' -jsxComponentName: '@Tag' -jsxOpenPunct: '@jsxTagName' -jsxClosePunct: '@jsxOpenPunct' -jsxCloseString: '@jsxClosePunct' -typescriptBraces: '@Normal' -typescriptArrowFunc: 'magenta' -typescriptNumberStaticMethod: '@Function' -typescriptNumberMethod: '@Function' -typescriptStringStaticMethod: '@Function' -typescriptStringMethod: '@Function' -typescriptArrayStaticMethod: '@Function' -typescriptArrayMethod: '@Function' -typescriptObjectStaticMethod: '@Function' -typescriptObjectMethod: '@Function' -typescriptSymbolStaticMethod: '@Function' -typescriptFunctionMethod: '@Function' -typescriptMathStaticMethod: '@Function' -typescriptDateStaticMethod: '@Function' -typescriptDateMethod: '@Function' -typescriptJSONStaticMethod: '@Function' -typescriptRegExpMethod: '@Function' -typescriptES6MapMethod: '@Function' -typescriptES6SetMethod: '@Function' -typescriptPromiseStaticMethod: '@Function' -typescriptPromiseMethod: '@Function' -typescriptReflectMethod: '@Function' -typescriptIntlMethod: '@Function' -typescriptBOMNavigatorMethod: '@Function' -typescriptServiceWorkerMethod: '@Function' -typescriptBOMLocationMethod: '@Function' -typescriptBOMHistoryMethod: '@Function' -typescriptConsoleMethod: '@Function' -typescriptXHRMethod: '@Function' -typescriptFileMethod: '@Function' -typescriptFileReaderMethod: '@Function' -typescriptFileListMethod: '@Function' -typescriptBlobMethod: '@Function' -typescriptURLStaticMethod: '@Function' -typescriptSubtleCryptoMethod: '@Function' -typescriptCryptoMethod: '@Function' -typescriptHeadersMethod: '@Function' -typescriptRequestMethod: '@Function' -typescriptResponseMethod: '@Function' -typescriptCacheMethod: '@Function' -typescriptEncodingMethod: '@Function' -typescriptGeolocationMethod: '@Function' -typescriptPaymentMethod: '@Function' -typescriptPaymentResponseMethod: '@Function' -typescriptDOMNodeMethod: '@Function' -typescriptDOMDocMethod: '@Function' -typescriptDOMEventTargetMethod: '@Function' -typescriptDOMEventMethod: '@Function' -typescriptDOMStorageMethod: '@Function' -typescriptDOMFormMethod: '@Function' - - -#Vim -vimGroupName: '@Normal' - -# YAML -yamlKeyValueDelimiter: '@Normal' -yamlBlockMappingKey: '@Function' - -# PLUGINS -#Vista -vistaTag: '@Conditional' -vistaIcon: '@Identifier' -vistaColon: '@Normal' -vistaScope: '@Constant' -vistaKind: '@Conditional' - -# Sneak -Sneak: 'pureBlack yellow' - -# romgrk/barbar support :') -BufferCurrent: 'grey2 background' -BufferVisible: 'darkPurp background' -BufferInactive: 'darkPurp background' -BufferTabpageFill: 'background background' -#INDEX -BufferCurrentIndex: 'green background' -BufferVisibleIndex: 'darkPurp background' -BufferInactiveIndex: 'darkPurp background' -#MOD -BufferCurrentMod: 'orange background' -BufferVisibleMod: 'orange background' -BufferInactiveMod: 'orange background' -#SIGN (Separator between buffers) -BufferCurrentSign: 'green background' -BufferVisibleSign: 'darkPurp background' -BufferInactiveSign: 'darkPurp background' -#TARGET (Letter in bufferpicking mode) -BufferCurrentTarget: 'magenta background' -BufferVisibleTarget: 'magenta background' -BufferInactiveTarget: 'magenta background' diff --git a/lua/lualine/themes/spaceduck.lua b/lua/lualine/themes/spaceduck.lua index 689da7c..371466c 100644 --- a/lua/lualine/themes/spaceduck.lua +++ b/lua/lualine/themes/spaceduck.lua @@ -1,47 +1,47 @@ local spaceduck = {} local colors = { - black = '#0f111b', - white = '#ecf0c1', - red = '#e33400', - green = '#5ccc96', - blue = '#00a3cc', - purple = '#7a5ccc', - yellow = '#f2ce00', - gray = '#686f9a', - darkgray = '#30365F', - lightgray = '#c1c3cc' + background = '#0f111b', + foreground = '#ecf0c1', + red = '#f25244', + green = '#5ccc96', + cyan = '#59c2ff', + purple = '#936ad9', + yellow = '#f2e15c', + darkpurple = '#5966a1', + selection = '#30365F', + lightgrey = '#c1c3cc' } spaceduck.normal = { -- gui parameter is optional and behaves the same way as in vim's highlight command - a = {bg = colors.gray, fg = colors.black, gui = 'bold'}, - b = {bg = colors.darkgray, fg = colors.lightgray}, - c = {bg = colors.black, fg = colors.lightgray} + a = {bg = colors.darkpurple, fg = colors.background, gui = 'bold'}, + b = {bg = colors.selection, fg = colors.lightgrey}, + c = {bg = colors.background, fg = colors.lightgrey} } spaceduck.insert = { - a = {bg = colors.green, fg = colors.black, gui = 'bold'}, - b = {bg = colors.darkgray, fg = colors.lightgray}, - c = {bg = colors.black, fg = colors.lightgray} + a = {bg = colors.green, fg = colors.background, gui = 'bold'}, + b = {bg = colors.selection, fg = colors.lightgrey}, + c = {bg = colors.background, fg = colors.lightgrey} } spaceduck.visual = { - a = {bg = colors.yellow, fg = colors.black, gui = 'bold'}, - b = {bg = colors.darkgray, fg = colors.lightgray}, - c = {bg = colors.black, fg = colors.lightgray} + a = {bg = colors.yellow, fg = colors.background, gui = 'bold'}, + b = {bg = colors.selection, fg = colors.lightgrey}, + c = {bg = colors.background, fg = colors.lightgrey} } spaceduck.replace = { - a = {bg = colors.purple, fg = colors.black, gui = 'bold'}, - b = {bg = colors.darkgray, fg = colors.lightgray}, - c = {bg = colors.black, fg = colors.lightgray} + a = {bg = colors.purple, fg = colors.background, gui = 'bold'}, + b = {bg = colors.selection, fg = colors.lightgrey}, + c = {bg = colors.background, fg = colors.lightgrey} } spaceduck.command = { - a = {bg = colors.blue, fg = colors.black, gui = 'bold'}, - b = {bg = colors.darkgray, fg = colors.lightgray}, - c = {bg = colors.black, fg = colors.lightgray} + a = {bg = colors.cyan, fg = colors.background, gui = 'bold'}, + b = {bg = colors.selection, fg = colors.lightgrey}, + c = {bg = colors.background, fg = colors.lightgrey} } -- you can assign one colorscheme to another, if a colorscheme is @@ -49,9 +49,9 @@ spaceduck.command = { spaceduck.terminal = spaceduck.normal spaceduck.inactive = { - a = {bg = colors.black, fg = colors.lightgray, gui = 'bold'}, - b = {bg = colors.black, fg = colors.lightgray}, - c = {bg = colors.black, fg = colors.lightgray} + a = {bg = colors.background, fg = colors.lightgrey, gui = 'bold'}, + b = {bg = colors.background, fg = colors.lightgrey}, + c = {bg = colors.background, fg = colors.lightgrey} } -- lualine.theme = spaceduck