aboutsummaryrefslogtreecommitdiff
path: root/dotfiles/.vim/autoload/airline/msdos.vim
diff options
context:
space:
mode:
Diffstat (limited to 'dotfiles/.vim/autoload/airline/msdos.vim')
-rw-r--r--dotfiles/.vim/autoload/airline/msdos.vim59
1 files changed, 59 insertions, 0 deletions
diff --git a/dotfiles/.vim/autoload/airline/msdos.vim b/dotfiles/.vim/autoload/airline/msdos.vim
new file mode 100644
index 0000000..2d2d4e8
--- /dev/null
+++ b/dotfiles/.vim/autoload/airline/msdos.vim
@@ -0,0 +1,59 @@
+" MIT License. Copyright (c) 2013-2018 Bailey Ling et al.
+" vim: et ts=2 sts=2 sw=2
+
+scriptencoding utf-8
+
+" basic 16 msdos from MSDOS
+" see output of color, should be
+" 0 Black
+" 1 DarkBlue
+" 2 DarkGreen
+" 3 DarkCyan
+" 4 DarkRed
+" 5 DarkMagenta
+" 6 Brown
+" 7 LightGray
+" 8 DarkGray
+" 9 Blue
+" 10 Green
+" 11 Cyan
+" 12 Red
+" 13 Magenta
+" 14 Yellow
+" 15 White
+
+let s:basic16 = [
+ \ [ 0x00, 0x00, 0x00 ],
+ \ [ 0x00, 0x00, 0x80 ],
+ \ [ 0x00, 0x80, 0x00 ],
+ \ [ 0x00, 0x80, 0x80 ],
+ \ [ 0x80, 0x00, 0x00 ],
+ \ [ 0x80, 0x00, 0x80 ],
+ \ [ 0x80, 0x80, 0x00 ],
+ \ [ 0xC0, 0xC0, 0xC0 ],
+ \ [ 0x80, 0x80, 0x80 ],
+ \ [ 0x00, 0x00, 0xFF ],
+ \ [ 0x00, 0xFF, 0x00 ],
+ \ [ 0x00, 0xFF, 0xFF ],
+ \ [ 0xFF, 0x00, 0x00 ],
+ \ [ 0xFF, 0x00, 0xFF ],
+ \ [ 0xFF, 0xFF, 0x00 ],
+ \ [ 0xFF, 0xFF, 0xFF ]
+ \ ]
+
+function! airline#msdos#round_msdos_colors(rgblist)
+ " Check for values from MSDOS 16 color terminal
+ let best = []
+ let min = 100000
+ let list = s:basic16
+ for value in list
+ let t = abs(value[0] - a:rgblist[0]) +
+ \ abs(value[1] - a:rgblist[1]) +
+ \ abs(value[2] - a:rgblist[2])
+ if min > t
+ let min = t
+ let best = value
+ endif
+ endfor
+ return index(s:basic16, best)
+endfunction