mirror of https://github.com/onivim/oni.git
added dracula theme (#2408)
* added dracula theme * updated background color, updated to newest vim colors
This commit is contained in:
parent
7b5ed4f0c7
commit
0572848007
|
@ -0,0 +1,53 @@
|
|||
{
|
||||
"name": "dracula",
|
||||
"baseVimTheme": "dracula",
|
||||
"colors": {
|
||||
"background": "#191A21",
|
||||
"foreground": "#f8f8f2",
|
||||
|
||||
"title.background": "#21222d",
|
||||
"title.foreground": "#f8f8f2",
|
||||
|
||||
"editor.background": "#21222d",
|
||||
"editor.foreground": "#f8f8f2",
|
||||
|
||||
"tabs.background": "#282a36",
|
||||
"tabs.foreground": "#f8f8f2",
|
||||
|
||||
"toolTip.background": "#21222d",
|
||||
"toolTip.foreground": "#f8f8f2",
|
||||
"toolTip.border": "#000000",
|
||||
|
||||
"menu.background": "#21222d",
|
||||
"menu.foreground": "#f8f8f2",
|
||||
"menu.border": "#000000",
|
||||
|
||||
"contextMenu.background": "#21222d",
|
||||
"contextMenu.foreground": "#f8f8f2",
|
||||
"contextMenu.border": "#000000",
|
||||
"contextMenu.highlight": "#44475a",
|
||||
|
||||
"sidebar.background": "#21222d",
|
||||
"sidebar.foreground": "#f8f8f2",
|
||||
"sidebar.active.background": "#21222d",
|
||||
"sidebar.selection.border": "#000000",
|
||||
|
||||
"statusBar.background": "#21222d",
|
||||
"statusBar.foreground": "#f8f8f2",
|
||||
|
||||
"fileExplorer.background": "#21222d",
|
||||
"fileExplorer.foreground": "#f8f8f2",
|
||||
|
||||
"highlight.mode.insert.background": "#8be9fd",
|
||||
"highlight.mode.insert.foreground": "#000000",
|
||||
|
||||
"highlight.mode.normal.background": "#50fa7b",
|
||||
"highlight.mode.normal.foreground": "#000000",
|
||||
|
||||
"highlight.mode.operator.background": "#ff79c6",
|
||||
"highlight.mode.operator.foreground": "#000000",
|
||||
|
||||
"highlight.mode.visual.background": "#ffb86c",
|
||||
"highlight.mode.visual.foreground": "#000000"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,334 @@
|
|||
" Dracula Theme: v1.5.0 {{{
|
||||
"
|
||||
" https://github.com/zenorocha/dracula-theme
|
||||
"
|
||||
" Copyright 2016, All rights reserved
|
||||
"
|
||||
" Code licensed under the MIT license
|
||||
" http://zenorocha.mit-license.org
|
||||
"
|
||||
" @author Trevor Heins <@heinst>
|
||||
" @author Éverton Ribeiro <nuxlli@gmail.com>
|
||||
" @author Derek Sifford <dereksifford@gmail.com>
|
||||
" @author Zeno Rocha <hi@zenorocha.com>
|
||||
scriptencoding utf8
|
||||
" }}}
|
||||
|
||||
" Configuration: {{{
|
||||
|
||||
if v:version > 580
|
||||
highlight clear
|
||||
if exists('syntax_on')
|
||||
syntax reset
|
||||
endif
|
||||
endif
|
||||
|
||||
let g:colors_name = 'dracula'
|
||||
|
||||
if !(has('termguicolors') && &termguicolors) && !has('gui_running') && &t_Co != 256
|
||||
finish
|
||||
endif
|
||||
|
||||
" Palette: {{{2
|
||||
|
||||
let s:fg = ['#F8F8F2', 255]
|
||||
|
||||
let s:bglighter = ['#424450', 238]
|
||||
let s:bglight = ['#343746', 237]
|
||||
let s:bg = ['#282A36', 236]
|
||||
let s:bgdark = ['#21222C', 235]
|
||||
let s:bgdarker = ['#191A21', 234]
|
||||
|
||||
let s:subtle = ['#424450', 238]
|
||||
|
||||
let s:selection = ['#44475A', 239]
|
||||
let s:comment = ['#6272A4', 61]
|
||||
let s:cyan = ['#8BE9FD', 117]
|
||||
let s:green = ['#50FA7B', 84]
|
||||
let s:orange = ['#FFB86C', 215]
|
||||
let s:pink = ['#FF79C6', 212]
|
||||
let s:purple = ['#BD93F9', 141]
|
||||
let s:red = ['#FF5555', 203]
|
||||
let s:yellow = ['#F1FA8C', 228]
|
||||
|
||||
let s:none = ['NONE', 'NONE']
|
||||
|
||||
let g:dracula_palette = {
|
||||
\ 'fg': s:fg,
|
||||
\ 'bg': s:bg,
|
||||
\ 'selection': s:selection,
|
||||
\ 'comment': s:comment,
|
||||
\ 'cyan': s:cyan,
|
||||
\ 'green': s:green,
|
||||
\ 'orange': s:orange,
|
||||
\ 'pink': s:pink,
|
||||
\ 'purple': s:purple,
|
||||
\ 'red': s:red,
|
||||
\ 'yellow': s:yellow,
|
||||
\
|
||||
\ 'bglighter': s:bglighter,
|
||||
\ 'bglight': s:bglight,
|
||||
\ 'bgdark': s:bgdark,
|
||||
\ 'bgdarker': s:bgdarker,
|
||||
\ 'subtle': s:subtle,
|
||||
\}
|
||||
|
||||
if has('nvim')
|
||||
let g:terminal_color_0 = '#21222C'
|
||||
let g:terminal_color_1 = '#FF5555'
|
||||
let g:terminal_color_2 = '#50FA7B'
|
||||
let g:terminal_color_3 = '#F1FA8C'
|
||||
let g:terminal_color_4 = '#BD93F9'
|
||||
let g:terminal_color_5 = '#FF79C6'
|
||||
let g:terminal_color_6 = '#8BE9FD'
|
||||
let g:terminal_color_7 = '#F8F8F2'
|
||||
let g:terminal_color_8 = '#6272A4'
|
||||
let g:terminal_color_9 = '#FF6E6E'
|
||||
let g:terminal_color_10 = '#69FF94'
|
||||
let g:terminal_color_11 = '#FFFFA5'
|
||||
let g:terminal_color_12 = '#D6ACFF'
|
||||
let g:terminal_color_13 = '#FF92DF'
|
||||
let g:terminal_color_14 = '#A4FFFF'
|
||||
let g:terminal_color_15 = '#FFFFFF'
|
||||
endif
|
||||
|
||||
" }}}2
|
||||
" User Configuration: {{{2
|
||||
|
||||
if !exists('g:dracula_bold')
|
||||
let g:dracula_bold = 1
|
||||
endif
|
||||
|
||||
if !exists('g:dracula_italic')
|
||||
let g:dracula_italic = 1
|
||||
endif
|
||||
|
||||
if !exists('g:dracula_underline')
|
||||
let g:dracula_underline = 1
|
||||
endif
|
||||
|
||||
if !exists('g:dracula_undercurl') && g:dracula_underline != 0
|
||||
let g:dracula_undercurl = 1
|
||||
endif
|
||||
|
||||
if !exists('g:dracula_inverse')
|
||||
let g:dracula_inverse = 1
|
||||
endif
|
||||
|
||||
if !exists('g:dracula_colorterm')
|
||||
let g:dracula_colorterm = 1
|
||||
endif
|
||||
|
||||
"}}}2
|
||||
" Script Helpers: {{{2
|
||||
|
||||
let s:attrs = {
|
||||
\ 'bold': g:dracula_bold == 1 ? 'bold' : 0,
|
||||
\ 'italic': g:dracula_italic == 1 ? 'italic' : 0,
|
||||
\ 'underline': g:dracula_underline == 1 ? 'underline' : 0,
|
||||
\ 'undercurl': g:dracula_undercurl == 1 ? 'undercurl' : 0,
|
||||
\ 'inverse': g:dracula_inverse == 1 ? 'inverse' : 0,
|
||||
\}
|
||||
|
||||
function! s:h(scope, fg, ...) " bg, attr_list, special
|
||||
let l:fg = copy(a:fg)
|
||||
let l:bg = get(a:, 1, ['NONE', 'NONE'])
|
||||
|
||||
let l:attr_list = filter(get(a:, 2, ['NONE']), 'type(v:val) == 1')
|
||||
let l:attrs = len(l:attr_list) > 0 ? join(l:attr_list, ',') : 'NONE'
|
||||
|
||||
" Falls back to coloring foreground group on terminals because
|
||||
" nearly all do not support undercurl
|
||||
let l:special = get(a:, 3, ['NONE', 'NONE'])
|
||||
if l:special[0] !=# 'NONE' && l:fg[0] ==# 'NONE' && !has('gui_running')
|
||||
let l:fg[0] = l:special[0]
|
||||
let l:fg[1] = l:special[1]
|
||||
endif
|
||||
|
||||
let l:hl_string = [
|
||||
\ 'highlight', a:scope,
|
||||
\ 'guifg=' . l:fg[0], 'ctermfg=' . l:fg[1],
|
||||
\ 'guibg=' . l:bg[0], 'ctermbg=' . l:bg[1],
|
||||
\ 'gui=' . l:attrs, 'cterm=' . l:attrs,
|
||||
\ 'guisp=' . l:special[0],
|
||||
\]
|
||||
|
||||
execute join(l:hl_string, ' ')
|
||||
endfunction
|
||||
|
||||
function! s:Background()
|
||||
if g:dracula_colorterm || has('gui_running')
|
||||
return s:bg
|
||||
else
|
||||
return s:none
|
||||
endif
|
||||
endfunction
|
||||
|
||||
"}}}2
|
||||
" Dracula Highlight Groups: {{{2
|
||||
|
||||
call s:h('DraculaBgLight', s:none, s:bglight)
|
||||
call s:h('DraculaBgLighter', s:none, s:bglighter)
|
||||
call s:h('DraculaBgDark', s:none, s:bgdark)
|
||||
call s:h('DraculaBgDarker', s:none, s:bgdarker)
|
||||
|
||||
call s:h('DraculaFg', s:fg)
|
||||
call s:h('DraculaFgUnderline', s:fg, s:none, [s:attrs.underline])
|
||||
call s:h('DraculaFgBold', s:fg, s:none, [s:attrs.bold])
|
||||
|
||||
call s:h('DraculaComment', s:comment)
|
||||
call s:h('DraculaCommentBold', s:comment, s:none, [s:attrs.bold])
|
||||
|
||||
call s:h('DraculaSelection', s:none, s:selection)
|
||||
|
||||
call s:h('DraculaSubtle', s:subtle)
|
||||
|
||||
call s:h('DraculaCyan', s:cyan)
|
||||
call s:h('DraculaCyanItalic', s:cyan, s:none, [s:attrs.italic])
|
||||
|
||||
call s:h('DraculaGreen', s:green)
|
||||
call s:h('DraculaGreenBold', s:green, s:none, [s:attrs.bold])
|
||||
call s:h('DraculaGreenItalic', s:green, s:none, [s:attrs.italic])
|
||||
call s:h('DraculaGreenItalicUnderline', s:green, s:none, [s:attrs.italic, s:attrs.underline])
|
||||
|
||||
call s:h('DraculaOrange', s:orange)
|
||||
call s:h('DraculaOrangeBold', s:orange, s:none, [s:attrs.bold])
|
||||
call s:h('DraculaOrangeItalic', s:orange, s:none, [s:attrs.italic])
|
||||
call s:h('DraculaOrangeBoldItalic', s:orange, s:none, [s:attrs.bold, s:attrs.italic])
|
||||
call s:h('DraculaOrangeInverse', s:bg, s:orange)
|
||||
|
||||
call s:h('DraculaPink', s:pink)
|
||||
call s:h('DraculaPinkItalic', s:pink, s:none, [s:attrs.italic])
|
||||
|
||||
call s:h('DraculaPurple', s:purple)
|
||||
call s:h('DraculaPurpleBold', s:purple, s:none, [s:attrs.bold])
|
||||
call s:h('DraculaPurpleItalic', s:purple, s:none, [s:attrs.italic])
|
||||
|
||||
call s:h('DraculaRed', s:red)
|
||||
call s:h('DraculaRedInverse', s:fg, s:red)
|
||||
|
||||
call s:h('DraculaYellow', s:yellow)
|
||||
call s:h('DraculaYellowItalic', s:yellow, s:none, [s:attrs.italic])
|
||||
|
||||
call s:h('DraculaError', s:red, s:none, [], s:red)
|
||||
|
||||
call s:h('DraculaErrorLine', s:none, s:none, [s:attrs.undercurl], s:red)
|
||||
call s:h('DraculaWarnLine', s:none, s:none, [s:attrs.undercurl], s:orange)
|
||||
call s:h('DraculaInfoLine', s:none, s:none, [s:attrs.undercurl], s:cyan)
|
||||
|
||||
call s:h('DraculaTodo', s:cyan, s:none, [s:attrs.bold, s:attrs.inverse])
|
||||
call s:h('DraculaSearch', s:green, s:none, [s:attrs.inverse])
|
||||
call s:h('DraculaBoundary', s:comment, s:bgdark)
|
||||
call s:h('DraculaLink', s:cyan, s:none, [s:attrs.underline])
|
||||
|
||||
call s:h('DraculaDiffChange', s:none, s:none)
|
||||
call s:h('DraculaDiffText', s:bg, s:orange)
|
||||
call s:h('DraculaDiffDelete', s:red, s:bgdark)
|
||||
|
||||
" }}}2
|
||||
|
||||
" }}}
|
||||
" User Interface: {{{
|
||||
|
||||
set background=dark
|
||||
|
||||
" Required as some plugins will overwrite
|
||||
call s:h('Normal', s:fg, s:Background())
|
||||
call s:h('StatusLine', s:none, s:bglighter, [s:attrs.bold])
|
||||
call s:h('StatusLineNC', s:none, s:bglight)
|
||||
call s:h('WildMenu', s:bg, s:purple, [s:attrs.bold])
|
||||
call s:h('CursorLine', s:none, s:subtle)
|
||||
|
||||
hi! link ColorColumn DraculaSelection
|
||||
hi! link CursorColumn DraculaSelection
|
||||
hi! link CursorLineNr DraculaYellow
|
||||
hi! link DiffAdd DraculaGreen
|
||||
hi! link DiffAdded DiffAdd
|
||||
hi! link DiffChange DraculaDiffChange
|
||||
hi! link DiffDelete DraculaDiffDelete
|
||||
hi! link DiffRemoved DiffDelete
|
||||
hi! link DiffText DraculaDiffText
|
||||
hi! link Directory DraculaPurpleBold
|
||||
hi! link ErrorMsg DraculaRedInverse
|
||||
hi! link FoldColumn DraculaSubtle
|
||||
hi! link Folded DraculaBoundary
|
||||
hi! link IncSearch DraculaOrangeInverse
|
||||
hi! link LineNr DraculaComment
|
||||
hi! link MoreMsg DraculaFgBold
|
||||
hi! link NonText DraculaSubtle
|
||||
hi! link Pmenu DraculaBgDark
|
||||
hi! link PmenuSbar DraculaBgDark
|
||||
hi! link PmenuSel DraculaSelection
|
||||
hi! link PmenuThumb DraculaSelection
|
||||
hi! link Question DraculaFgBold
|
||||
hi! link Search DraculaSearch
|
||||
hi! link SignColumn DraculaComment
|
||||
hi! link TabLine DraculaBoundary
|
||||
hi! link TabLineFill DraculaBgDarker
|
||||
hi! link TabLineSel Normal
|
||||
hi! link Title DraculaGreenBold
|
||||
hi! link VertSplit DraculaBoundary
|
||||
hi! link Visual DraculaSelection
|
||||
hi! link VisualNOS Visual
|
||||
hi! link WarningMsg DraculaOrangeInverse
|
||||
|
||||
" }}}
|
||||
" Syntax: {{{
|
||||
|
||||
" Required as some plugins will overwrite
|
||||
call s:h('MatchParen', s:fg, s:pink, [s:attrs.underline])
|
||||
call s:h('Conceal', s:comment, s:bglight)
|
||||
|
||||
hi! link Comment DraculaComment
|
||||
hi! link Underlined DraculaFgUnderline
|
||||
hi! link Todo DraculaTodo
|
||||
|
||||
hi! link Error DraculaError
|
||||
hi! link SpellBad DraculaErrorLine
|
||||
hi! link SpellLocal DraculaWarnLine
|
||||
hi! link SpellCap DraculaInfoLine
|
||||
hi! link SpellRare DraculaInfoLine
|
||||
|
||||
hi! link Constant DraculaPurple
|
||||
hi! link String DraculaYellow
|
||||
hi! link Character DraculaPink
|
||||
hi! link Number Constant
|
||||
hi! link Boolean Constant
|
||||
hi! link Float Constant
|
||||
|
||||
hi! link Identifier DraculaFg
|
||||
hi! link Function DraculaGreen
|
||||
|
||||
hi! link Statement DraculaPink
|
||||
hi! link Conditional DraculaPink
|
||||
hi! link Repeat DraculaPink
|
||||
hi! link Label DraculaPink
|
||||
hi! link Operator DraculaPink
|
||||
hi! link Keyword DraculaPink
|
||||
hi! link Exception DraculaPink
|
||||
|
||||
hi! link PreProc DraculaPink
|
||||
hi! link Include DraculaPink
|
||||
hi! link Define DraculaPink
|
||||
hi! link Macro DraculaPink
|
||||
hi! link PreCondit DraculaPink
|
||||
hi! link StorageClass DraculaPink
|
||||
hi! link Structure DraculaPink
|
||||
hi! link Typedef DraculaPink
|
||||
|
||||
hi! link Type DraculaCyanItalic
|
||||
|
||||
hi! link Delimiter DraculaFg
|
||||
|
||||
hi! link Special DraculaPink
|
||||
hi! link SpecialKey DraculaRed
|
||||
hi! link SpecialComment DraculaCyanItalic
|
||||
hi! link Tag DraculaCyan
|
||||
hi! link helpHyperTextJump DraculaLink
|
||||
hi! link helpCommand DraculaPurple
|
||||
hi! link helpExample DraculaGreen
|
||||
hi! link helpBacktick Special
|
||||
|
||||
"}}}
|
||||
|
||||
" vim: fdm=marker ts=2 sts=2 sw=2:
|
|
@ -0,0 +1,19 @@
|
|||
{
|
||||
"name": "theme-dracula",
|
||||
"version": "0.0.1",
|
||||
"description": "Onivim Dracula Theme",
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
},
|
||||
"engines": {
|
||||
"oni": "0.3.6"
|
||||
},
|
||||
"contributes": {
|
||||
"themes": [{
|
||||
"name": "dracula",
|
||||
"path": "colors/dracula.json"
|
||||
}]
|
||||
},
|
||||
"author": "",
|
||||
"license": "MIT"
|
||||
}
|
Loading…
Reference in New Issue