Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pineapplegiant/spaceduck
🚀 🦆 An intergalactic space theme for Vim, Terminal, and more!
https://github.com/pineapplegiant/spaceduck
best-color-scheme clout color-scheme dragons drip duck iterm2 kittens macosx neovim nvim puppies rainbows sexyaf theme unicorns vim vim-plugin
Last synced: 5 days ago
JSON representation
🚀 🦆 An intergalactic space theme for Vim, Terminal, and more!
- Host: GitHub
- URL: https://github.com/pineapplegiant/spaceduck
- Owner: pineapplegiant
- License: mit
- Created: 2018-06-16T19:23:36.000Z (over 6 years ago)
- Default Branch: main
- Last Pushed: 2024-11-09T05:26:31.000Z (2 months ago)
- Last Synced: 2025-01-10T16:07:20.710Z (12 days ago)
- Topics: best-color-scheme, clout, color-scheme, dragons, drip, duck, iterm2, kittens, macosx, neovim, nvim, puppies, rainbows, sexyaf, theme, unicorns, vim, vim-plugin
- Language: Vim script
- Homepage: https://pineapplegiant.github.io/spaceduck/
- Size: 83 KB
- Stars: 818
- Watchers: 9
- Forks: 29
- Open Issues: 19
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Spaceduck 🚀🦆
[![Stars](https://img.shields.io/github/stars/pineapplegiant/spaceduck?style=social)](https://img.shields.io/github/stars/pineapplegiant/spaceduck?style=social)
[![Fork](https://img.shields.io/github/forks/pineapplegiant/spaceduck?style=social)](https://img.shields.io/github/forks/pineapplegiant/spaceduck?style=social)
[![MIT license](http://img.shields.io/badge/license-MIT-brightgreen.svg)](http://opensource.org/licenses/MIT)
[![Code Size](https://img.shields.io/github/languages/code-size/pineapplegiant/spaceduck)](https://img.shields.io/github/languages/code-size/pineapplegiant/spaceduck)
[![Made with Neovim :)](https://img.shields.io/badge/madewith-nvim%E2%9D%A4%EF%B8%8F-red)](https://img.shields.io/badge/madewith-nvim%E2%9D%A4%EF%B8%8F-red)
# Inspiration 💭
This theme was inspired from my incessant desire to feel like I'm in space when I stare at a computer.
"Spaceduck" takes its name from my love of [duck dodgers](https://m.media-amazon.com/images/M/MV5BNDY2YjgyZGMtMWY2Zi00ZmQ5LTg0YjgtNjYyMGNkMTMzNWU1XkEyXkFqcGdeQXVyMzM4NjcxOTc@._V1_.jpg) as a kid.If it looks ugly it's because I don't know what I'm doing pls help. If it's the sexiest thing you've ever seen, well then uhm.. you're welcome 😎
**NOTE:** This repo hosts the Vim/Neovim spaceduck theme, to install other ports look for the [other ports below](#other-spaceduck-ports).
# Colors Palette 🎨
## Base Colors
_Note: The Syntax color ID's are not an exhaustive & complete list._
| ![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 |
| ------------------------------------------------------------------------------------------------------------------ | ------------ | --------- | ------------- | --------------- | --------- | ---------------------------------------------------------- |
| ![Red Color](https://github.com/pineapplegiant/spaceduck-terminal/blob/main/img/red.png?raw=true) | Red | `#e33400` | `14,100,89` | `227, 52, 0` | `166` | Error, Ignore |
| ![Orange Color](https://github.com/pineapplegiant/spaceduck-terminal/blob/main/img/orange.png?raw=true) | Orange | `#e39400` | `39,100,89` | `227, 148, 0` | `172` | Exception, Keyword, SpecialChar |
| ![Green Color](https://github.com/pineapplegiant/spaceduck-terminal/blob/main/img/green.png?raw=true) | Green | `#5ccc96` | `151,55,80` | `92, 204, 150` | `78` | Statement, Underlined, Function, Include, Conditonal |
| ![Yellow Color](https://github.com/pineapplegiant/spaceduck-terminal/blob/main/img/yellow.png?raw=true) | Yellow | `#f2ce00` | `51,100,95` | `242, 206, 0` | `220` | Constant, Boolean, Character, Float, Number |
| ![Purple Color](https://github.com/pineapplegiant/spaceduck-terminal/blob/main/img/purple.png?raw=true) | Purple | `#b3a1e6` | `256,30,90` | `179, 161, 230` | `146` | PreProc, Special, Tag, Debug, StorageClass |
| ![Purple2 Color](https://github.com/pineapplegiant/spaceduck-terminal/blob/main/img/purple2.png?raw=true) | Purple2 | `#7a5ccc` | `256,55,80` | `122, 92, 204` | `98` | Title, Define, Macro, Define, Precondit, (Operator) |
| ![Dark Purple Color](https://github.com/pineapplegiant/spaceduck-terminal/blob/main/img/darkPurple.png?raw=true) | Dark Purple | `#30365F` | `232, 49, 37` | `48, 54, 95` | `237` | Comment, LineNR, MatchParen, EndOfBuffer, Pmenu, IncSearch |
| ![Dark Purple2 Color](https://github.com/pineapplegiant/spaceduck-terminal/blob/main/img/darkPurple2.png?raw=true) | Dark Purple2 | `#686f9a` | `232,32,60` | `104, 111, 154` | `60` | Todo, PmenuSbar, Conceal, Search |
| ![Cyan Color](https://github.com/pineapplegiant/spaceduck-terminal/blob/main/img/cyan.png?raw=true) | Cyan | `#00a3cc` | `192,100,80` | `0, 163, 204` | `38` | Identifier, String, Structure, Typedef |
| ![Magenta Color](https://github.com/pineapplegiant/spaceduck-terminal/blob/main/img/magenta.png?raw=true) | Magenta | `#ce6f8f` | `340,46,81` | `206, 111, 143` | `168` | Type, Delimeter, Operator |## 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 |
| -------------------------------------------------------------------------------------------------------------------------- | ---------------- | --------- | ------------- | --------------- | --------- | -------------------- |
| ![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 |
| ![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
| ![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 |
| ----------------------------------------------------------------------------------------------------------------- | ---------- | --------- | ----------- | --------------- | --------- | ------------------ |
| ![Grey Color](https://github.com/pineapplegiant/spaceduck-terminal/blob/main/img/grey.png?raw=true) | Grey | `#818596` | `229,14,59` | `129, 133, 150` | `102` | Cursor, Tabline |
| ![Grey 2 Color](https://github.com/pineapplegiant/spaceduck-terminal/blob/main/img/grey2.png?raw=true) | Grey 2 | `#c1c3cc` | `229,5,80` | `193, 195, 204` | `251` | TabLineSel |
| ![Pure White Color](https://github.com/pineapplegiant/spaceduck-terminal/blob/main/img/white.png?raw=true) | Pure White | `#ffffff` | `0,0,100` | `255, 255, 255` | `15` | Search, Todo |
| ![Pure Black Color](https://github.com/pineapplegiant/spaceduck-terminal/blob/main/img/black.png?raw=true) | Pure Black | `#000000` | `0,0,0` | `0, 0, 0` | `0` | VertSplit, TabLine |## Current Language Support
Basically languages I looked at with my eyes to make sure they didn't look like poop.
**Languages:**
_Note: if something looks off please submit an issue with a screenshot_
- C, C++, fortran, haskell, html, java, javascript, markdown, php, python, ruby, sql, LaTeX, typescript
**Plugins:**
- [Lightline](https://github.com/itchyny/lightline.vim),
[Airline](https://github.com/vim-airline/vim-airline),
[Vista](https://github.com/liuchengxu/vista.vim),
[BarBar](https://github.com/romgrk/barbar.nvim),
[Lualine](https://github.com/hoob3rt/lualine.nvim)# Install 💾
If using Vim/Neovim I recommend installing the [vim-polyglot](https://github.com/sheerun/vim-polyglot) plugin for improved syntax highlighting:
`Plug 'sheerun/vim-polyglot'`
# 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' }`
And add this to your vimrc/init.vim configuration file:
```viml
if exists('+termguicolors')
let &t_8f = "\[38;2;%lu;%lu;%lum"
let &t_8b = "\[48;2;%lu;%lu;%lum"
set termguicolors
endifcolorscheme spaceduck
```Or manually add the color theme to your 'runtimepath' for the file.
`:h colors`
- [Airline](https://github.com/vim-airline/vim-airline)
```viml
let g:airline_theme = 'spaceduck'
```- [Lightline](https://github.com/itchyny/lightline.vim)
```viml
let g:lightline = {
\ 'colorscheme': 'spaceduck',
\ }
```Don't be afraid of the vim documentation either for more information, like for manual installs!
`:h colorscheme`- [Lualine](https://github.com/hoob3rt/lualine.nvim)
You only really need `'theme': 'spaceduck'`, but this is what I have in my vimrc:
```viml
let g:lualine = {
\'options' : {
\ 'theme' : 'spaceduck',
\ 'section_separators' : ['', ''],
\ 'component_separators' : ['', ''],
\ 'icons_enabled' : v:true,
\},
\'sections' : {
\ 'lualine_a' : [ ['mode', {'upper': v:true,},], ],
\ 'lualine_b' : [ ['branch', {'icon': '',}, ], ],
\ 'lualine_c' : [ ['filename', {'file_status': v:true,},], ],
\ 'lualine_x' : [ 'encoding', 'fileformat', 'filetype' ],
\ 'lualine_y' : [ 'progress' ],
\ 'lualine_z' : [ 'location' ],
\},
\'inactive_sections' : {
\ 'lualine_a' : [ ],
\ 'lualine_b' : [ ],
\ 'lualine_c' : [ 'filename' ],
\ 'lualine_x' : [ 'location' ],
\ 'lualine_y' : [ ],
\ 'lualine_z' : [ ],
\},
\'extensions' : [ 'fzf' ],
\}lua require("lualine").setup()
```# Other Spaceduck Ports
## Terminal
Terminal install can be found at this repo:
[https://github.com/pineapplegiant/spaceduck-terminal](https://github.com/pineapplegiant/spaceduck-terminal)## VSCode
Vscode theme can be found at this repo:
[https://github.com/tathran/spaceduck-vscode](https://github.com/tathran/spaceduck-vscode)## Emacs
Emacs theme can be found at this repo:
[https://github.com/tathran/spaceduck-emacs](https://github.com/tathran/spaceduck-emacs)## Slack
- Go to User Menu > Preferences > Sidebar Theme
- In the bottom of the window, look for a "customize your theme and share it with others" link
- Copy and paste the values below:
- `#0f111b,#7A5CCC,#7A5CCC,#ffffff,#16172D,#ecf0c1,#5CCC96,#00A3CC,#0f111b,#ecf0c1`## Tmux
Checkout some tmux config inspiration here at [the terminal repo](https://github.com/pineapplegiant/spaceduck-terminal/tree/main/tmux). Or if you're in a rush you can use this basic one:
```tmux
# Basic color support setting
set-option -g default-terminal "screen-256color"# Default bar color
set-option -g status-style bg='#1b1c36',fg='#ecf0c1'# Active Pane
set -g pane-active-border-style "fg=#5ccc96"# Inactive Pane
set -g pane-border-style "fg=#686f9a"# Active window
set-option -g window-status-current-style bg='#686f9a',fg='#ffffff'# Message
set-option -g message-style bg='#686f9a',fg='#ecf0c1'
set-option -g message-command-style bg='#686f9a',fg='#ecf0c1'# When Commands are run
set -g message-style "fg=#0f111b,bg=#686f9a"
```# Troubleshooting 🔧
## True color
Make sure you are using a terminal emulator that supports `truecolor`.
[Read more about truecolor support here](https://gist.github.com/XVilka/8346728).
## Colors don't look right
If you are running `vim` within `tmux`, you may run into some `truecolor` issues.
To fix, add this to you `tmux.conf`:
```tmux
set -g terminal-overrides ',xterm-256color:Tc'
set -g default-terminal "tmux-256color"
set -as terminal-overrides ',xterm*:sitm=\E[3m'
```And in your `.bash_profile or .zshrc`:
```bash
export TERM="xterm-256color"
```# Screenshots 📸
COC-Explorer, HTML, Vista
Credit to u/addisonbean for Arch Desktop Inspo
Credit to u/malthusthomas for SPT on terminal
# Credits 💳
- [Iceberg](https://cocopon.github.io/iceberg.vim/) - Gave me the blueprint for developing a [lovely colorscheme](https://speakerdeck.com/cocopon/creating-your-lovely-color-scheme).
- [Hallski's spacedust theme](https://github.com/hallski/spacedust-theme) - first theme to inspire me with space waaaay back when.
- [Rigel](https://github.com/Rigellute/rigel) - Showed me the ways of using Estilo to manage colors & that sexy themes can exist.
- Looking for other colorschemes? Check out [vim colors](http://vimcolors.com/) or [colorswat.ch](https://colorswat.ch/vim/)!# Contribute 🙏
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
" Show syntax color highlighting groups for word under cursor
nmap :call SynStack()
function! SynStack()
if !exists("*synstack")
return
endif
echo map(synstack(line('.'), col('.')), 'synIDattr(v:val, "name")')
endfunction
```This will show you the syntax ID to where we can then modify the color of that word.
### 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!
- 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
Check out my [Todo list](https://github.com/pineapplegiant/spaceduck/projects/1)