commit c444dfafb3f78ca9c1f42a0d1971b6191e113f15 Author: fcpg Date: Mon Oct 2 15:52:23 2017 +0200 Initial commit diff --git a/README.md b/README.md new file mode 100644 index 0000000..789e886 --- /dev/null +++ b/README.md @@ -0,0 +1,80 @@ +Far Out - Vim Theme +==================== +FarOut colorscheme for Vim: + +- Base16 theme for gvim and terminals supporting 24-bit colors +- Simple, clean code created with [vim-rng](https://gist.github.com/5cd2f4ec222805f49eca.git) +- Airline, Lightline & CtrlP support out-of-the-box +- That theme is so far out, can you dig it man? + +Screenshots +------------ +Taken on minTTY with Office Code Pro font: + +[![](img/farout_vim_thumb.png)](img/farout_vim.png) + + +Palette +-------- +![farout_palette](img/farout_palette.png) + +| Hex | +|-------| +|#F2DDBC| +|#E0CCAE| +|#a4896f| +|#A4895C| +|#66292F| +|#8A4B53| +|#BF472C| +|#D47D49| +|#F2A766| +|#A67458| +|#6B4035| +|#291916| +|#1F1311| +|#0F0908| + +Installation +------------- +1. Install the bundle: + * [Pathogen][1] - `git clone https://github.com/fcpg/vim-farout ~/.vim/bundle/vim-farout` + * [NeoBundle][2] - `NeoBundle 'fcpg/vim-farout'` + * [Vundle][3] - `Plugin 'fcpg/vim-farout'` + * manual - copy all files into your `~/.vim` directory +2. Append the following line to your .vimrc file: +```VimL +colorscheme farout +``` + +FAQ +---- +- How do I customize colors? + * Either edit the 'colors/farout.vim' file (it's plain vim 'highlight' commands), if you don't mind merging when pulling/updating; + * Or override with autocommands in you .vimrc: +```VimL +augroup myBetterColors + au! + autocmd ColorScheme * hi Number guifg=#707070 +augroup END +``` +- Some weird chars show up in my status line! + Check vim help for 'fillchars': `:h 'fcs`. The lightline theme use the 'stl' + char in 'fillchars' if it is defined; unset it in your .vimrc to turn on the + "solid" status line. + +Resources +---------- +- Included in this repo ('misc' subdir): + - Shell script for terminal settings (generic OSC commands) + - .Xresources + - .minttyrc + - .dir_colors + +License +-------- +[Attribution-ShareAlike 4.0 Int.](https://creativecommons.org/licenses/by-sa/4.0/) + +[1]: https://github.com/tpope/vim-pathogen +[2]: https://github.com/Shougo/neobundle.vim +[3]: https://github.com/gmarik/vundle diff --git a/autoload/airline/themes/farout.vim b/autoload/airline/themes/farout.vim new file mode 100755 index 0000000..a4e006a --- /dev/null +++ b/autoload/airline/themes/farout.vim @@ -0,0 +1,66 @@ +let g:airline#themes#farout#palette {} + +let s:N1 = ['#F2A766', '#291916', 215, 234] +let s:N2 = ['#A67458', '#291916', 137, 234] +let s:N3 = ['#F2DDBC', '#291916', 223, 234] +let s:N4 = ['#D47D49', '#291916', 173, 234] +let s:N5 = ['#8A4B53', '#291916', 95, 234] +let s:N6 = ['#A67458', '#291916', 137, 234] +let g:airline#themes#farout#palette.normal = + \ airline#themes#generate_color_map(s:N1, s:N2, s:N3, s:N4, s:N5, s:N6) +let g:airline#themes#farout#palette.normal_modified = { + \ 'airline_a': [ '#D47D49', '#291916', 173, 234] + \ } + +let s:I1 = ['#291916', '#F2A766', 234, 215] +let s:I2 = ['#A67458', '#291916', 137, 234] +let s:I3 = ['#F2DDBC', '#291916', 223, 234] +let g:airline#themes#farout#palette.insert = + \ airline#themes#generate_color_map(s:I1, s:I2, s:I3, s:N4, s:N5, s:N6) +let g:airline#themes#farout#palette.insert_paste = { + \ 'airline_a': ['#291916', '#F2DDBC', 234, 223], + \ } + +let s:R1 = ['#F2DDBC', '#D47D49', 223, 173] +let s:R2 = ['#A67458', '#291916', 137, 234] +let s:R3 = ['#F2DDBC', '#291916', 223, 234] +let g:airline#themes#farout#palette.replace = + \ airline#themes#generate_color_map(s:R1, s:R2, s:R3, s:N4, s:N5, s:N6) + +let s:V1 = ['#E0CCAE', '#6B4035', 187, 239] +let s:V2 = ['#A67458', '#291916', 137, 234] +let s:V3 = ['#F2DDBC', '#291916', 223, 234] +let g:airline#themes#farout#palette.visual = + \ airline#themes#generate_color_map(s:V1, s:V2, s:V3, s:N4, s:N5, s:N6) + + +let s:IA1 = ['#A4896F', '#291916', 137, 234, ''] +let s:IA2 = ['#6B4035', '#291916', 239, 234, ''] +let s:IA3 = ['#6B4035', '#291916', 239, 234, ''] +let g:airline#themes#farout#palette.inactive = + \ airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3, s:IA3, s:IA3, s:IA3) + +let g:airline#themes#farout#palette.accents = { + \ 'red': [ '#BF472C', '', 130, '', 'bold' ] + \ } + +let g:airline#themes#farout#palette.tabline = { + \ 'airline_tab': ['#6B4035', '#291916', 239, 234, ''], + \ 'airline_tabsel': ['#F2A766', '#291916', 215, 234, ''], + \ 'airline_tabtype': ['#A4896F', '#291916', 137, 234, ''], + \ 'airline_tabmod': ['#D47D49', '#291916', 173, 234, ''], + \ 'airline_tab_right': ['#6B4035', '#291916', 239, 234, ''], + \ 'airline_tabsel_right': ['#F2A766', '#291916', 215, 234, ''], + \ 'airline_tabmod_right': ['#D47D49', '#291916', 173, 234, ''], + \} + +if !get(g:, 'loaded_ctrlp', 0) + finish +endif + +let s:CP1 = ['#A4896F', '#291916', 137, 234] +let s:CP2 = ['#6B4035', '#291916', 239, 234] +let s:CP3 = ['#E0CCAE', '#291916', 187, 234] +let g:airline#themes#farout#palette.ctrlp = + \ airline#extensions#ctrlp#generate_color_map(s:CP1, s:CP2, s:CP3) + diff --git a/autoload/lightline/colorscheme/farout.vim b/autoload/lightline/colorscheme/farout.vim new file mode 100644 index 0000000..c2b2f7a --- /dev/null +++ b/autoload/lightline/colorscheme/farout.vim @@ -0,0 +1,63 @@ +let s:p = {'normal': {}, 'inactive': {}, 'insert': {}, + \ 'replace': {}, 'visual': {}, 'tabline': {}} + +let s:has_stl = 0 +if exists('&fcs') && &fcs != "" + let s:fcs_a = split(&fcs, ',') + for s:opt in s:fcs_a + let s:item = split(s:opt, ':') + if s:item[0] == 'stl' && s:item[1] != "" + let s:has_stl = 1 + break + endif + endfor +endif +unlet! s:fcs_a s:opt s:item + +let s:p.inactive.left = [[ '#A4896F', '#291916', 137, 235 ], + \ [ '#6B4035', '#291916', 239, 235 ]] +if s:has_stl + let s:p.inactive.middle = [[ '#6B4035', '#0F0908', 239, 233 ]] +else + let s:p.inactive.middle = [[ '#6B4035', '#291916', 239, 235 ]] +endif +let s:p.inactive.right = [[ '#6B4035', '#291916', 239, 235 ]] + +let s:p.insert.left = [[ '#291916', '#F2A766', 234, 215 ], + \ [ '#F2DDBC', '#291916', 223, 234 ], + \ [ '#8A4B53', '#291916', 95, 234 ], + \ [ '#A67458', '#291916', 137, 234 ]] + +let s:p.normal.error = [[ '#BF472C', '#291916', 130, 234 ]] +let s:p.normal.left = [[ '#F2A766', '#291916', 215, 235 ], + \ [ '#F2DDBC', '#291916', 223, 234 ], + \ [ '#8A4B53', '#291916', 95, 234 ], + \ [ '#A67458', '#291916', 137, 234 ]] +if s:has_stl + let s:p.normal.middle = [[ '#6B4035', '#0F0908', 239, 233 ]] +else + let s:p.normal.middle = [[ '#6B4035', '#291916', 239, 235 ]] +endif +let s:p.normal.right = [[ '#A67458', '#291916', 137, 234 ], + \ [ '#8A4B53', '#291916', 95, 234 ], + \ [ '#D47D49', '#291916', 173, 234 ]] +let s:p.normal.warning = [[ '#F2A766', '#291916', 215, 234 ]] + +let s:p.replace.left = [[ '#F2DDBC', '#D47D49', 223, 173 ], + \ [ '#F2DDBC', '#291916', 223, 234 ], + \ [ '#8A4B53', '#291916', 95, 234 ], + \ [ '#A67458', '#291916', 137, 234 ]] + +let s:p.tabline.left = [[ '#6B4035', '#291916', 239, 234 ]] +let s:p.tabline.middle = [[ '#291916', '#291916', 234, 234 ]] +let s:p.tabline.right = [[ '#6B4035', '#291916', 239, 234 ]] +let s:p.tabline.tabsel = [[ '#F2A766', '#291916', 215, 234 ]] + +let s:p.visual.left = [[ '#E0CCAE', '#6B4035', 187, 239 ], + \ [ '#F2DDBC', '#291916', 223, 234 ], + \ [ '#8A4B53', '#291916', 95, 234 ], + \ [ '#A67458', '#291916', 137, 234 ]] + +unlet! s:has_stl + +let g:lightline#colorscheme#farout#palette = s:p diff --git a/colors/farout.vim b/colors/farout.vim new file mode 120000 index 0000000..328c5a4 --- /dev/null +++ b/colors/farout.vim @@ -0,0 +1 @@ +/home/francoisc/vimprojects/vim-farout_build/farout.vim \ No newline at end of file diff --git a/img/farout_palette.png b/img/farout_palette.png new file mode 100755 index 0000000..f709a2b Binary files /dev/null and b/img/farout_palette.png differ diff --git a/img/farout_vim.png b/img/farout_vim.png new file mode 100755 index 0000000..81088e8 Binary files /dev/null and b/img/farout_vim.png differ diff --git a/img/farout_vim_thumb.png b/img/farout_vim_thumb.png new file mode 100755 index 0000000..f32988a Binary files /dev/null and b/img/farout_vim_thumb.png differ diff --git a/misc/.Xresources b/misc/.Xresources new file mode 100644 index 0000000..c04ef6a --- /dev/null +++ b/misc/.Xresources @@ -0,0 +1,28 @@ +! Black + DarkGrey +*color0: rgb:0f/09/08 +*color8: rgb:1f/13/11 +! DarkRed + Red +*color1: rgb:bf/47/2c +*color9: rgb:df/67/4c +! DarkGreen + Green +*color2: rgb:a4/89/6f +*color10: rgb:c4/a9/8f +! DarkYellow + Yellow +*color3: rgb:f2/a7/66 +*color11: rgb:ff/c7/86 +! DarkBlue + Blue +*color4: rgb:d4/7d/49 +*color12: rgb:f4/9d/69 +! DarkMagenta + Magenta +*color5: rgb:8a/4b/53 +*color13: rgb:aa/6b/73 +!DarkCyan + Cyan +*color6: rgb:a6/74/58 +*color14: rgb:c6/94/78 +! LightGrey + White +*color7: rgb:e0/cc/ae +*color15: rgb:f2/dd/bc +! FG/BG/Cursor +XTerm*foreground: rgb:e0/cc/ae +XTerm*background: rgb:0f/09/08 +XTerm*cursorColor: rgb:d4/7d/49 diff --git a/misc/.dir_colors b/misc/.dir_colors new file mode 100644 index 0000000..b212ff6 --- /dev/null +++ b/misc/.dir_colors @@ -0,0 +1,224 @@ +# Configuration file for dircolors, a utility to help you set the +# LS_COLORS environment variable used by GNU ls with the --color option. +# Copyright (C) 1996-2015 Free Software Foundation, Inc. +# Copying and distribution of this file, with or without modification, +# are permitted provided the copyright notice and this notice are preserved. +# The keywords COLOR, OPTIONS, and EIGHTBIT (honored by the +# slackware version of dircolors) are recognized but ignored. +# Below, there should be one TERM entry for each termtype that is colorizable +TERM Eterm +TERM ansi +TERM color-xterm +TERM con132x25 +TERM con132x30 +TERM con132x43 +TERM con132x60 +TERM con80x25 +TERM con80x28 +TERM con80x30 +TERM con80x43 +TERM con80x50 +TERM con80x60 +TERM cons25 +TERM console +TERM cygwin +TERM dtterm +TERM eterm-color +TERM gnome +TERM gnome-256color +TERM hurd +TERM jfbterm +TERM konsole +TERM kterm +TERM linux +TERM linux-c +TERM mach-color +TERM mach-gnu-color +TERM mlterm +TERM putty +TERM putty-256color +TERM rxvt +TERM rxvt-256color +TERM rxvt-cygwin +TERM rxvt-cygwin-native +TERM rxvt-unicode +TERM rxvt-unicode-256color +TERM rxvt-unicode256 +TERM screen +TERM screen-256color +TERM screen-256color-bce +TERM screen-bce +TERM screen-w +TERM screen.Eterm +TERM screen.rxvt +TERM screen.linux +TERM st +TERM st-256color +TERM terminator +TERM vt100 +TERM xterm +TERM xterm-16color +TERM xterm-256color +TERM xterm-88color +TERM xterm-color +TERM xterm-debian +# Below are the color init strings for the basic file types. A color init +# string consists of one or more of the following numeric codes: +# Attribute codes: +# 00=none 01=bold 04=underscore 05=blink 07=reverse 08=concealed +# Text color codes: +# 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white +# Background color codes: +# 40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white +NORMAL 00;36 # no color code at all +FILE 00;37 # regular file: use no color at all +RESET 0 # reset to "normal" color +DIR 01;34 # directory +LINK 01;36 # symbolic link. (If you set this to 'target' instead of a + # numerical value, the color is as for the file pointed to.) +MULTIHARDLINK 00 # regular file with more than one link +FIFO 01;45;33 # pipe +SOCK 01;45;33 # socket +DOOR 01;45;33 # door +BLK 40;33;01 # block device driver +CHR 40;33;01 # character device driver +ORPHAN 41;36;01 # symlink to nonexistent file, or non-stat'able file ... +MISSING 00 # ... and the files they point to +SETUID 31;43 # file that is setuid (u+s) +SETGID 30;43 # file that is setgid (g+s) +CAPABILITY 30;41 # file with capability +STICKY_OTHER_WRITABLE 30;44;01 # dir that is sticky and other-writable (+t,o+w) +OTHER_WRITABLE 30;44;01 # dir that is other-writable (o+w) and not sticky +STICKY 30;44;01 # dir with the sticky bit set (+t) and not other-writable +# This is for files with execute permission: +EXEC 00;33 +# List any file extensions like '.gz' or '.tar' that you would like ls +# to colorize below. Put the extension, a space, and the color init string. +# (and any comments you want to add after a '#') +# If you use DOS-style suffixes, you may want to uncomment the following: +#.cmd 01;32 # executables (bright green) +#.exe 01;32 +#.com 01;32 +#.btm 01;32 +#.bat 01;32 +# Or if you want to colorize scripts even if they do not have the +# executable bit actually set. +#.sh 01;32 +#.csh 01;32 +# archives or compressed (bright red) +.tar 00;31 +.tgz 00;31 +.arc 00;31 +.arj 00;31 +.taz 00;31 +.lha 00;31 +.lz4 00;31 +.lzh 00;31 +.lzma 00;31 +.tlz 00;31 +.txz 00;31 +.tzo 00;31 +.t7z 00;31 +.zip 00;31 +.z 00;31 +.Z 00;31 +.dz 00;31 +.gz 00;31 +.lrz 00;31 +.lz 00;31 +.lzo 00;31 +.xz 00;31 +.bz2 00;31 +.bz 00;31 +.tbz 00;31 +.tbz2 00;31 +.tz 00;31 +.deb 00;31 +.rpm 00;31 +.jar 00;31 +.war 00;31 +.ear 00;31 +.sar 00;31 +.rar 00;31 +.alz 00;31 +.ace 00;31 +.zoo 00;31 +.cpio 00;31 +.7z 00;31 +.rz 00;31 +.cab 00;31 +# image formats +.jpg 01;32 +.jpeg 01;32 +.gif 01;32 +.bmp 01;32 +.pbm 01;32 +.pgm 01;32 +.ppm 01;32 +.tga 01;32 +.xbm 01;32 +.xpm 01;32 +.tif 01;32 +.tiff 01;32 +.png 01;32 +.svg 01;32 +.svgz 01;32 +.mng 01;32 +.pcx 01;32 +.mov 01;32 +.mpg 01;32 +.mpeg 01;32 +.m2v 01;32 +.mkv 01;32 +.webm 01;32 +.ogm 01;32 +.mp4 01;32 +.m4v 01;32 +.mp4v 01;32 +.vob 01;32 +.qt 01;32 +.nuv 01;32 +.wmv 01;32 +.asf 01;32 +.rm 01;32 +.rmvb 01;32 +.flc 01;32 +.avi 01;32 +.fli 01;32 +.flv 01;32 +.gl 01;32 +.dl 01;32 +.xcf 01;32 +.xwd 01;32 +.yuv 01;32 +.cgm 01;32 +.emf 01;32 +# http://wiki.xiph.org/index.php/MIME_Types_and_File_Extensions +.ogv 01;32 +.ogx 01;32 +# audio formats +.aac 00;36 +.au 00;36 +.flac 00;36 +.m4a 00;36 +.mid 00;36 +.midi 00;36 +.mka 00;36 +.mp3 00;36 +.mpc 00;36 +.ogg 00;36 +.ra 00;36 +.wav 00;36 +# http://wiki.xiph.org/index.php/MIME_Types_and_File_Extensions +.oga 00;36 +.opus 00;36 +.spx 00;36 +.xspf 00;36 +# +.bak 00;35 +.swp 00;35 +.orig 00;35 +.old 00;35 +# +.md 00;36 +.txt 00;36 diff --git a/misc/.minttyrc b/misc/.minttyrc new file mode 100644 index 0000000..f84b008 --- /dev/null +++ b/misc/.minttyrc @@ -0,0 +1,19 @@ +Black=15,9,8 +BoldBlack=31,19,17 +Red=191,71,44 +BoldRed=223,103,76 +Green=164,137,111 +BoldGreen=196,169,143 +Yellow=242,167,102 +BoldYellow=255,199,134 +Blue=212,125,73 +BoldBlue=244,157,105 +Magenta=138,75,83 +BoldMagenta=170,107,115 +Cyan=166,116,88 +BoldCyan=198,148,120 +White=224,204,174 +BoldWhite=242,221,188 +ForegroundColour=224,204,174 +BackgroundColour=15,9,8 +CursorColour=212,125,73 diff --git a/misc/base16-farout.dark.sh b/misc/base16-farout.dark.sh new file mode 100755 index 0000000..47de8ea --- /dev/null +++ b/misc/base16-farout.dark.sh @@ -0,0 +1,104 @@ +#!/bin/sh +# Base16 Fahrenheit - Shell color setup script +# (adapted from Google base16) +# fcpg (http://github.com/fcpg) + +if [ "${TERM%%-*}" = 'linux' ]; then + # This script doesn't support linux console (use 'vconsole' template instead) + return 2>/dev/null || exit 0 +fi + +color00="0f/09/08" # Base 00 - Black +color01="bf/47/2c" # Base 08 - Red +color02="a4/89/6f" # Base 0B - Green +color03="f2/a7/66" # Base 0A - Yellow +color04="d4/7d/49" # Base 0D - Blue +color05="8a/4b/53" # Base 0E - Magenta +color06="a6/74/58" # Base 0C - Cyan +color07="e0/cc/ae" # Base 05 - White +color08="1f/13/11" # Base 03 - Bright Black +color09="df/67/4c" # Base 08 - Bright Red +color10="c4/a9/8f" # Base 0B - Bright Green +color11="ff/c7/86" # Base 0A - Bright Yellow +color12="f4/9d/69" # Base 0D - Bright Blue +color13="aa/6b/73" # Base 0E - Bright Magenta +color14="c6/94/78" # Base 0C - Bright Cyan +color15="f2/dd/bc" # Base 07 - Bright White + +color_foreground="e0/cc/ae" # Base 05 +color_background="0f/09/08" # Base 00 +color_cursor="d4/7d/49" # Base 05 + +if [ -n "$TMUX" ]; then + # tell tmux to pass the escape sequences through + # (Source: http://permalink.gmane.org/gmane.comp.terminal-emulators.tmux.user/1324) + printf_template="\033Ptmux;\033\033]4;%d;rgb:%s\007\033\\" + printf_template_var="\033Ptmux;\033\033]%d;rgb:%s\007\033\\" + printf_template_custom="\033Ptmux;\033\033]%s%s\007\033\\" +elif [ "${TERM%%-*}" = "screen" ]; then + # GNU screen (screen, screen-256color, screen-256color-bce) + printf_template="\033P\033]4;%d;rgb:%s\007\033\\" + printf_template_var="\033P\033]%d;rgb:%s\007\033\\" + printf_template_custom="\033P\033]%s%s\007\033\\" +else + printf_template="\033]4;%d;rgb:%s\033\\" + printf_template_var="\033]%d;rgb:%s\033\\" + printf_template_custom="\033]%s%s\033\\" +fi + +# 16 color space +printf $printf_template 0 $color00 +printf $printf_template 1 $color01 +printf $printf_template 2 $color02 +printf $printf_template 3 $color03 +printf $printf_template 4 $color04 +printf $printf_template 5 $color05 +printf $printf_template 6 $color06 +printf $printf_template 7 $color07 +printf $printf_template 8 $color08 +printf $printf_template 9 $color09 +printf $printf_template 10 $color10 +printf $printf_template 11 $color11 +printf $printf_template 12 $color12 +printf $printf_template 13 $color13 +printf $printf_template 14 $color14 +printf $printf_template 15 $color15 + +# foreground / background / cursor color +if [ -n "$ITERM_SESSION_ID" ]; then + # iTerm2 proprietary escape codes + printf $printf_template_custom Pg a8a8a8 # forground + printf $printf_template_custom Ph 000000 # background + printf $printf_template_custom Pi ffffff # bold color + printf $printf_template_custom Pj ffaf5f # selection color + printf $printf_template_custom Pk 000000 # selected text color + printf $printf_template_custom Pl d75f00 # cursor + printf $printf_template_custom Pm 000000 # cursor text +else + printf $printf_template_var 10 $color_foreground + printf $printf_template_var 11 $color_background + printf $printf_template_var 12 $color_cursor +fi + +# clean up +unset printf_template +unset printf_template_var +unset color00 +unset color01 +unset color02 +unset color03 +unset color04 +unset color05 +unset color06 +unset color07 +unset color08 +unset color09 +unset color10 +unset color11 +unset color12 +unset color13 +unset color14 +unset color15 +unset color_foreground +unset color_background +unset color_cursor