ciaranm / inkpot Goto Github PK
View Code? Open in Web Editor NEWInkpot 88/256 Colour Scheme for Vim
Inkpot 88/256 Colour Scheme for Vim
Instead of
if has("gui_running")
https://github.com/ciaranm/inkpot/blob/master/colors/inkpot.vim#L49
maybe consider something like
if has("gui_running") || &t_Co == 88 || &t_Co == 256
https://github.com/nanotech/jellybeans.vim/blob/master/colors/jellybeans.vim#L60
so that neovim in full color mode can use the GUI colors as well?
Thanks!
If you use the inkpot colorscheme
and
If you do a 'P' paste immediately upon startup
then you get, inserted into your buffer:
let s:background="dark"
Highlight clear
if exists("syntax_on")
syntax reset
endif
let g:colors_name = "inkpot"
fun! <SID>_M(a)
return strpart("0135", a:a, 1) + 0
endfun
fun! <SID>_X(a)
if &t_Co == 88
return a:a
else
if a:a == 8
return 237
elseif a:a < 16
return a:a
elseif a:a > 79
return 232 + (3 * (a:a - 80))
else
let l:b = a:a - 16
let l:x = l:b % 4
let l:y = (l:b / 4) % 4
let l:z = (l:b / 16)
return 16 + <SID>_M(l:x) + (6 * <SID>_M(l:y)) + (36 * <SID>_M(l:z))
endif
endif
endfun
if ! exists("g:inkpot_black_background")
let g:inkpot_black_background = 0
endif
if !has("gui_running")
if ! g:inkpot_black_background
Highlight Normal gui=NONE guifg=#cfbfad guibg=#1e1e27
else
Highlight Normal gui=NONE guifg=#cfbfad guibg=#000000
endif
Highlight CursorLine guibg=#2e2e37
Highlight IncSearch gui=BOLD guifg=#303030 guibg=#cd8b60
Highlight Search gui=NONE guifg=#303030 guibg=#ad7b57
Highlight ErrorMsg gui=BOLD guifg=#ffffff guibg=#ce4e4e
Highlight WarningMsg gui=BOLD guifg=#ffffff guibg=#ce8e4e
Highlight ModeMsg gui=BOLD guifg=#7e7eae guibg=NONE
Highlight MoreMsg gui=BOLD guifg=#7e7eae guibg=NONE
Highlight Question gui=BOLD guifg=#ffcd00 guibg=NONE
Highlight StatusLine gui=BOLD guifg=#b9b9b9 guibg=#3e3e5e
Highlight User1 gui=BOLD guifg=#00ff8b guibg=#3e3e5e
Highlight User2 gui=BOLD guifg=#7070a0 guibg=#3e3e5e
Highlight StatusLineNC gui=NONE guifg=#b9b9b9 guibg=#3e3e5e
Highlight VertSplit gui=NONE guifg=#b9b9b9 guibg=#3e3e5e
Highlight WildMenu gui=BOLD guifg=#eeeeee guibg=#6e6eaf
Highlight MBENormal guifg=#cfbfad guibg=#2e2e3f
Highlight MBEChanged guifg=#eeeeee guibg=#2e2e3f
Highlight MBEVisibleNormal guifg=#cfcfcd guibg=#4e4e8f
Highlight MBEVisibleChanged guifg=#eeeeee guibg=#4e4e8f
Highlight DiffText gui=NONE guifg=#ffffcd guibg=#4a2a4a
Highlight DiffChange gui=NONE guifg=#ffffcd guibg=#306b8f
Highlight DiffDelete gui=NONE guifg=#ffffcd guibg=#6d3030
Highlight DiffAdd gui=NONE guifg=#ffffcd guibg=#306d30
Highlight Cursor gui=NONE guifg=#404040 guibg=#8b8bff
Highlight lCursor gui=NONE guifg=#404040 guibg=#8fff8b
Highlight CursorIM gui=NONE guifg=#404040 guibg=#8b8bff
Highlight Folded gui=NONE guifg=#cfcfcd guibg=#4b208f
Highlight FoldColumn gui=NONE guifg=#8b8bcd guibg=#2e2e2e
Highlight Directory gui=NONE guifg=#00ff8b guibg=NONE
Highlight LineNr gui=NONE guifg=#8b8bcd guibg=#2e2e2e
Highlight NonText gui=BOLD guifg=#8b8bcd guibg=NONE
Highlight SpecialKey gui=BOLD guifg=#ab60ed guibg=NONE
Highlight Title gui=BOLD guifg=#af4f4b guibg=NONE
Highlight Visual gui=NONE guifg=#eeeeee guibg=#4e4e8f
Highlight Comment gui=NONE guifg=#cd8b00 guibg=NONE
Highlight Constant gui=NONE guifg=#ffcd8b guibg=NONE
Highlight String gui=NONE guifg=#ffcd8b guibg=#404040
Highlight Error gui=NONE guifg=#ffffff guibg=#6e2e2e
Highlight Identifier gui=NONE guifg=#ff8bff guibg=NONE
Highlight Ignore gui=NONE
Highlight Number gui=NONE guifg=#f0ad6d guibg=NONE
Highlight PreProc gui=NONE guifg=#409090 guibg=NONE
Highlight Special gui=NONE guifg=#c080d0 guibg=NONE
Highlight SpecialChar gui=NONE guifg=#c080d0 guibg=#404040
Highlight Statement gui=NONE guifg=#808bed guibg=NONE
Highlight Todo gui=BOLD guifg=#303030 guibg=#d0a060
Highlight Type gui=NONE guifg=#ff8bff guibg=NONE
Highlight Underlined gui=BOLD guifg=#df9f2d guibg=NONE
Highlight TaglistTagName gui=BOLD guifg=#808bed guibg=NONE
Highlight perlSpecialMatch gui=NONE guifg=#c080d0 guibg=#404040
Highlight perlSpecialString gui=NONE guifg=#c080d0 guibg=#404040
Highlight cSpecialCharacter gui=NONE guifg=#c080d0 guibg=#404040
Highlight cFormat gui=NONE guifg=#c080d0 guibg=#404040
Highlight doxygenBrief gui=NONE guifg=#fdab60 guibg=NONE
Highlight doxygenParam gui=NONE guifg=#fdd090 guibg=NONE
Highlight doxygenPrev gui=NONE guifg=#fdd090 guibg=NONE
Highlight doxygenSmallSpecial gui=NONE guifg=#fdd090 guibg=NONE
Highlight doxygenSpecial gui=NONE guifg=#fdd090 guibg=NONE
Highlight doxygenComment gui=NONE guifg=#ad7b20 guibg=NONE
Highlight doxygenSpecial gui=NONE guifg=#fdab60 guibg=NONE
Highlight doxygenSpecialMultilineDesc gui=NONE guifg=#ad600b guibg=NONE
Highlight doxygenSpecialOnelineDesc gui=NONE guifg=#ad600b guibg=NONE
if v:version >= 700
Highlight Pmenu gui=NONE guifg=#eeeeee guibg=#4e4e8f
Highlight PmenuSel gui=BOLD guifg=#eeeeee guibg=#2e2e3f
Highlight PmenuSbar gui=BOLD guifg=#eeeeee guibg=#6e6eaf
Highlight PmenuThumb gui=BOLD guifg=#eeeeee guibg=#6e6eaf
Highlight SpellBad gui=undercurl guisp=#cc6666
Highlight SpellRare gui=undercurl guisp=#cc66cc
Highlight SpellLocal gui=undercurl guisp=#cccc66
Highlight SpellCap gui=undercurl guisp=#66cccc
Highlight MatchParen gui=NONE guifg=#cfbfad guibg=#4e4e8f
endif
else
if ! g:inkpot_black_background
exe "Highlight Normal cterm=NONE ctermfg=" . <SID>_X(79) . " ctermbg=" . <SID>_X(80)
else
exe "Highlight Normal cterm=NONE ctermfg=" . <SID>_X(79) . " ctermbg=" . <SID>_X(16)
endif
exe "Highlight IncSearch cterm=BOLD ctermfg=" . <SID>_X(80) . " ctermbg=" . <SID>_X(73)
exe "Highlight Search cterm=NONE ctermfg=" . <SID>_X(80) . " ctermbg=" . <SID>_X(52)
exe "Highlight ErrorMsg cterm=BOLD ctermfg=" . <SID>_X(16) . " ctermbg=" . <SID>_X(48)
exe "Highlight WarningMsg cterm=BOLD ctermfg=" . <SID>_X(16) . " ctermbg=" . <SID>_X(68)
exe "Highlight ModeMsg cterm=BOLD ctermfg=" . <SID>_X(38) . " ctermbg=" . "NONE"
exe "Highlight MoreMsg cterm=BOLD ctermfg=" . <SID>_X(38) . " ctermbg=" . "NONE"
exe "Highlight Question cterm=BOLD ctermfg=" . <SID>_X(52) . " ctermbg=" . "NONE"
exe "Highlight StatusLine cterm=BOLD ctermfg=" . <SID>_X(85) . " ctermbg=" . <SID>_X(81)
exe "Highlight User1 cterm=BOLD ctermfg=" . <SID>_X(28) . " ctermbg=" . <SID>_X(81)
exe "Highlight User2 cterm=BOLD ctermfg=" . <SID>_X(39) . " ctermbg=" . <SID>_X(81)
exe "Highlight StatusLineNC cterm=NONE ctermfg=" . <SID>_X(84) . " ctermbg=" . <SID>_X(81)
exe "Highlight VertSplit cterm=NONE ctermfg=" . <SID>_X(84) . " ctermbg=" . <SID>_X(81)
exe "Highlight WildMenu cterm=BOLD ctermfg=" . <SID>_X(87) . " ctermbg=" . <SID>_X(38)
exe "Highlight MBENormal ctermfg=" . <SID>_X(85) . " ctermbg=" . <SID>_X(81)
exe "Highlight MBEChanged ctermfg=" . <SID>_X(87) . " ctermbg=" . <SID>_X(81)
exe "Highlight MBEVisibleNormal ctermfg=" . <SID>_X(85) . " ctermbg=" . <SID>_X(82)
exe "Highlight MBEVisibleChanged ctermfg=" . <SID>_X(87) . " ctermbg=" . <SID>_X(82)
exe "Highlight DiffText cterm=NONE ctermfg=" . <SID>_X(79) . " ctermbg=" . <SID>_X(34)
exe "Highlight DiffChange cterm=NONE ctermfg=" . <SID>_X(79) . " ctermbg=" . <SID>_X(17)
exe "Highlight DiffDelete cterm=NONE ctermfg=" . <SID>_X(79) . " ctermbg=" . <SID>_X(32)
exe "Highlight DiffAdd cterm=NONE ctermfg=" . <SID>_X(79) . " ctermbg=" . <SID>_X(20)
exe "Highlight Folded cterm=NONE ctermfg=" . <SID>_X(79) . " ctermbg=" . <SID>_X(35)
exe "Highlight FoldColumn cterm=NONE ctermfg=" . <SID>_X(39) . " ctermbg=" . <SID>_X(80)
exe "Highlight Directory cterm=NONE ctermfg=" . <SID>_X(28) . " ctermbg=" . "NONE"
exe "Highlight LineNr cterm=NONE ctermfg=" . <SID>_X(39) . " ctermbg=" . <SID>_X(80)
exe "Highlight NonText cterm=BOLD ctermfg=" . <SID>_X(39) . " ctermbg=" . "NONE"
exe "Highlight SpecialKey cterm=BOLD ctermfg=" . <SID>_X(55) . " ctermbg=" . "NONE"
exe "Highlight Title cterm=BOLD ctermfg=" . <SID>_X(48) . " ctermbg=" . "NONE"
exe "Highlight Visual cterm=NONE ctermfg=" . <SID>_X(79) . " ctermbg=" . <SID>_X(38)
exe "Highlight Comment cterm=NONE ctermfg=" . <SID>_X(52) . " ctermbg=" . "NONE"
exe "Highlight Constant cterm=NONE ctermfg=" . <SID>_X(73) . " ctermbg=" . "NONE"
exe "Highlight String cterm=NONE ctermfg=" . <SID>_X(73) . " ctermbg=" . <SID>_X(81)
exe "Highlight Error cterm=NONE ctermfg=" . <SID>_X(79) . " ctermbg=" . <SID>_X(32)
exe "Highlight Identifier cterm=NONE ctermfg=" . <SID>_X(53) . " ctermbg=" . "NONE"
exe "Highlight Ignore cterm=NONE"
exe "Highlight Number cterm=NONE ctermfg=" . <SID>_X(69) . " ctermbg=" . "NONE"
exe "Highlight PreProc cterm=NONE ctermfg=" . <SID>_X(25) . " ctermbg=" . "NONE"
exe "Highlight Special cterm=NONE ctermfg=" . <SID>_X(55) . " ctermbg=" . "NONE"
exe "Highlight SpecialChar cterm=NONE ctermfg=" . <SID>_X(55) . " ctermbg=" . <SID>_X(81)
exe "Highlight Statement cterm=NONE ctermfg=" . <SID>_X(27) . " ctermbg=" . "NONE"
exe "Highlight Todo cterm=BOLD ctermfg=" . <SID>_X(16) . " ctermbg=" . <SID>_X(57)
exe "Highlight Type cterm=NONE ctermfg=" . <SID>_X(71) . " ctermbg=" . "NONE"
exe "Highlight Underlined cterm=BOLD ctermfg=" . <SID>_X(77) . " ctermbg=" . "NONE"
exe "Highlight TaglistTagName cterm=BOLD ctermfg=" . <SID>_X(39) . " ctermbg=" . "NONE"
if v:version >= 700
exe "Highlight Pmenu cterm=NONE ctermfg=" . <SID>_X(87) . " ctermbg=" . <SID>_X(82)
exe "Highlight PmenuSel cterm=BOLD ctermfg=" . <SID>_X(87) . " ctermbg=" . <SID>_X(38)
exe "Highlight PmenuSbar cterm=BOLD ctermfg=" . <SID>_X(87) . " ctermbg=" . <SID>_X(39)
exe "Highlight PmenuThumb cterm=BOLD ctermfg=" . <SID>_X(87) . " ctermbg=" . <SID>_X(39)
exe "Highlight SpellBad cterm=NONE ctermbg=" . <SID>_X(32)
exe "Highlight SpellRare cterm=NONE ctermbg=" . <SID>_X(33)
exe "Highlight SpellLocal cterm=NONE ctermbg=" . <SID>_X(36)
exe "Highlight SpellCap cterm=NONE ctermbg=" . <SID>_X(21)
exe "Highlight MatchParen cterm=NONE ctermbg=" . <SID>_X(14) . "ctermfg=" . <SID>_X(25)
endif
endif
vim appears to send several strange (i.e. undocumented) escape sequences to the underlying terminal when using the inkpot scheme. I have been unable to match them to any VT-100 or ANSI escape codes; was the usage of these sequences intentional?
^[[3231m
^[[4232m
^[[3130m
NOTE: Very few terminal emulators warn on receiving invalid tokens; you may find it easier to redirect the output of vim to a file, then examine its contents to see the problem.
In CoffeeScript files, parenthesis as well as commas are getting the text background, you can see here: http://colemando.com/inkpot.png
No matter what I do I can't seem to get inkpot to look right in terminal vim.
Using xterm and vim v8.0.0141. echo $TERM
in my shell reports xterm-256color
. In vim set t_Co
reports 256
. I also have this in my vimrc:
set t_AB=�[48;5;%dm
set t_AF=�[38;5;%dm
and the �
's (they look like ^[
in vim) were entered correctly by hitting Ctrl+v+Esc in insert mode.
But this is what it looks like in xterm:
If I'm going to use this i'd like to see what to expect first. thanks
I use GNU screen all the time. When I run vim in GNU screen and enable :colors inkpot
, everything turns black and white.
What's the proper way to make it work in GNU screen?
My GNU screen is configured to support 256 colours so I believe it's inkpot somehow not recognizing GNU screen?
When using 256 color terminal, 'set bg?' shows background has been reset to light due to a bug in vim. Setting background to dark again after the highlighting has been changed fixes this. See https://github.com/KevinGoodsell/vim-color-check/blob/master/color-scheme-recommendations.txt and the same author has a patch for some other issues:
https://github.com/KevinGoodsell/vim-xterm-colors/blob/master/patches/inkpot.vim.diff
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.