Initial commit

This commit is contained in:
fcpg 2017-10-02 15:52:23 +02:00
commit c444dfafb3
11 changed files with 585 additions and 0 deletions

80
README.md Normal file
View file

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

View file

@ -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)

View file

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

1
colors/farout.vim Symbolic link
View file

@ -0,0 +1 @@
/home/francoisc/vimprojects/vim-farout_build/farout.vim

BIN
img/farout_palette.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

BIN
img/farout_vim.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

BIN
img/farout_vim_thumb.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

28
misc/.Xresources Normal file
View file

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

224
misc/.dir_colors Normal file
View file

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

19
misc/.minttyrc Normal file
View file

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

104
misc/base16-farout.dark.sh Executable file
View file

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