The Wayback Machine - https://web.archive.org/web/20201212110156/https://github.com/pineapplegiant/spaceduck
Skip to content
main
Go to file
Code

README.md

Spaceduck πŸš€πŸ¦†

Stars Fork MIT license Repo Size Made with Neovim :)

Spaceduck Logo of duck in an astronaut uniform holding computer: credit to Lexi @kalrita_lw

Screenshot of terminal with vim spaceduck theme installed

Table of Contents

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 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 😎

TODO

  • Screenshots gallery for colorscheme.
  • Fix ugly VimDiff.
  • Better 256 color for older terminals.
  • Finalize proper coloring of syntax keywords.
  • Add TMUX color snippet.
  • Add Bash prompt color codes.
  • Test if Airline looks nice and works.
  • Add manual installation for vim/neovim.
  • Port it to VSCODE for the homies?
  • Make a pretty website landing page.

Colors Palette 🎨

Base Colors

Color Picker Boxes Palette Hex HSV/HSB RGB cterm/256
Red Color Red #e33400 14,100,89 227, 52, 0 166
Orange Color Orange #e39400 39,100,89 227, 148, 0 172
Green Color Green #5ccc96 151,55,80 92, 204, 150 78
Green2 Color Green2 #67bf95 151,46,75 103, 191, 149 72
Yellow Color Yellow #f2ce00 51,100,95 242, 206, 0 220
Purple Color Purple #b3a1e6 256,30,90 179, 161, 230 146
Purple2 Color Purple2 #7a5ccc 256,55,80 122, 92, 204 98
Dark Purple Color Dark Purple #2e3459 232,48,35 46, 52, 89 236
Dark Purple2 Color Dark Purple2 #686f9a 232,32,60 104, 111, 154 60
Cyan Color Cyan #00a3cc 192,100,80 0, 163, 204 38
Magent Color Magenta #ce6f8f 340,46,81 206, 111, 143 168
Pick Color Pink #e6a1a3 358,30,90 230, 161, 163 181

Special Colors

Color Picker Boxes Palette Hex HSV/HSB RGB cterm/256
Background Color Background #0f111b 230,44,11 15, 17, 27 233
Foreground Color Foreground #ecf0c1 65,20,94 236, 240, 193 255
Visual Selection Color Visual Selection #272c42 229,41,26 39, 44, 66 236
Cursor Line Color Cursor Line #16172d 237,51,18 22, 23, 45 234
Search Color Search #114fd6 221,92,84 17, 79, 214 26

Coloration Colors

Color Picker Boxes Palette Hex HSV/HSB RGB cterm/256
Grey Color Grey #818596 229,14,59 129, 133, 150 102
Grey 2 Color Grey 2 #c1c3cc 229,5,80 193, 195, 204 251
Pure White Color Pure White #ffffff 0,0,100 255, 255, 255 15
Pure Black Color Pure Black #000000 0,0,0 0, 0, 0 0

Install πŸ’Ύ

If using Vim/Neovim I recommend installing the vim-polyglot plugin for improved syntax highlighting:

Plug 'sheerun/vim-polyglot'

Vim and Neovim

Install the plugin with whatever plugin manager you use:

Plug 'pineapplegiant/spaceduck'

Add this to your vimrc/init.vim configuration file:

    if exists('+termguicolors')
      let &t_8f = "\<Esc>[38;2;%lu;%lu;%lum"
      let &t_8b = "\<Esc>[48;2;%lu;%lu;%lum"
      set termguicolors
    endif

   colorscheme spaceduck
  let g:airline_theme = 'spaceduck'

lightline normal mode screenshot

lightline visual mode screenshot

lightline insert mode screenshot

lightline replace mode screenshot

    let g:lightline = {
          \ 'colorscheme': 'spaceduck',
          \ }

Don't be afraid of the vim documentation either for more information, like for manual installs! I know I am: :h colorscheme

Iterm2

iTerm2 screenshot of terminal with neofetch program ran

To get the theme into Iterm, download the spaceduck.itermcolors file and import it into your settings.

You can curl it if you wanna be cool?

  curl -O "https://raw.githubusercontent.com/pineapplegiant/spaceduck/main/spaceduck.itermcolors"

Terminal.app MacOS

Terminal screenshot of terminal with neofetch program ran

To get the theme into the Mac Terminal app, download the spaceduck.terminal file and import it into your settings.

You can curl it if you wanna be cool too!?

  curl -O "https://raw.githubusercontent.com/pineapplegiant/spaceduck/main/spaceduck.terminal"

Side note: (As of 2020-12-09) The MacOSX terminal app does not support true color in vim, so it's gonna be mad ugly.

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

Troubleshooting πŸ”§

True color

Make sure you are using a terminal emulator that supports truecolor. Read more about this here.

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:

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:

  export TERM="xterm-256color"

Screenshots πŸ“Έ

Screenshot of spaceduck theme on Arch

Credits πŸ’³

Contribute οΏ½?

If you'd like to contribute please reach out! I don't know what I'm doing. If you port it to whatever you're using, submit a PR so I can include it here!

Vim/Estilo Workflow

I use estilo to manage colors for Vim/Neovim, please install the dependencies to render colors on your local machine.

    npm install -g estilo
  • The color palette is specified in ./estilo/palettes/spaceduck.yml
  • UI elements specified in ./estilo/syntax/base.yml
  • Other colorizations elements can be found in ./estilo/syntax/*

To compile the colors from the YAML into the colors theme:

Once estilo is installed, run: estilo render in the root of this directory to compile the color theme into the colors directory.

Lightline and airline colors are defined in ./estilo/lightline/spaceduck.yml and ./estilo/lightline/spaceduck.yml respectively.

Random aside: if you run into a hexterm error when using estilo look at this PR that hasn't been merged yet.

To find the current syntax element under the cursor, I use this mapping:

" Show syntax color highlighting groups for word under cursor
    nmap <c-a> :call <SID>SynStack()<CR>
    function! <SID>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.

You can’t perform that action at this time.