├── .gitignore ├── screenshots ├── cyberpunk.png └── silverhand.png ├── README.md ├── colors ├── cyberpunk.vim └── silverhand.vim └── autoload ├── lightline └── colorscheme │ ├── cyberpunk.vim │ └── silverhand.vim └── airline ├── silverhand.vim └── cyberpunk.vim /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | -------------------------------------------------------------------------------- /screenshots/cyberpunk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thedenisnikulin/vim-cyberpunk/HEAD/screenshots/cyberpunk.png -------------------------------------------------------------------------------- /screenshots/silverhand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thedenisnikulin/vim-cyberpunk/HEAD/screenshots/silverhand.png -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Vim Cyberpunk Theme: 2 variations 2 | 3 | ## Installation 4 | 5 | You can install cyberpunk via plug adding to your `.vimrc` or `init.vim`: 6 | 7 | ``` 8 | Plug 'thedenisnikulin/vim-cyberpunk' 9 | ``` 10 | 11 | Or manually copying: 12 | 13 | - `colors` -> `~/.vim/colors` 14 | - `autoload/airline/*` -> `~/.config/nvim/plugged/vim-airline-themes/autoload/airline/themes` 15 | - `lightline` -> `~/.vim/autoload/lightline` 16 | 17 | ## Settings 18 | 19 | For Cyberpunk theme: 20 | 21 | ```vimscript 22 | set termguicolors 23 | colorscheme cyberpunk 24 | let g:airline_theme='cyberpunk' 25 | ``` 26 | 27 | For Silverhand theme, change `cyberpunk` in the above lines to `silverhand`. 28 | 29 | Also you can choose between `default` or `black` cursorline color if it's enabled. 30 | 31 | ```vimscript 32 | set cursorline 33 | let g:cyberpunk_cursorline="black" 34 | ``` 35 | 36 | ## Screenshots 37 | 38 | ![cyberpunk](./screenshots/cyberpunk.png) 39 | ![silverhand](./screenshots/silverhand.png) 40 | --- 41 | 42 | Inspired by https://github.com/aloussase/cyberpunk 43 | -------------------------------------------------------------------------------- /colors/cyberpunk.vim: -------------------------------------------------------------------------------- 1 | highlight clear 2 | 3 | if exists("syntax_on") 4 | syntax reset 5 | endif 6 | 7 | set background=dark 8 | let g:colors_name = "cyberpunk" 9 | 10 | function! HighlightFor(group, ...) 11 | execute "hi ".a:group 12 | \ ." guifg=".a:1 13 | \ ." guibg=".a:2 14 | \ ." gui=".a:3 15 | endfunction 16 | 17 | " general 18 | call HighlightFor("Normal", "#FF0055", "#120b10", "NONE") " old bg: #1a1018 19 | call HighlightFor("Visual", "NONE", "#563466", "NONE") 20 | call HighlightFor("ColorColumn", "NONE", "#182333", "NONE") 21 | call HighlightFor("LineNr", "#FF0055", "NONE", "NONE") 22 | call HighlightFor("SignColumn", "#00FFC8", "NONE", "NONE") 23 | 24 | call HighlightFor("DiffAdd", "NONE", "NONE", "NONE") 25 | call HighlightFor("DiffDelete", "NONE", "#ff1745", "NONE" ) 26 | call HighlightFor("DiffText", "NONE", "#00ff84", "NONE") 27 | call HighlightFor("DiffChange", "NONE", "NONE", "NONE") 28 | 29 | call HighlightFor("VertSplit", "#FF0055", "#101116", "NONE") 30 | 31 | call HighlightFor("IncSearch", "NONE", "#283593", "NONE") 32 | call HighlightFor("Search", "NONE", "#283593", "NONE") 33 | call HighlightFor("Substitute", "NONE", "#283593", "NONE") 34 | 35 | call HighlightFor("MatchParen", "#FF0055", "#00FFC8", "NONE") 36 | call HighlightFor("NonText", "#2B3E5A", "NONE", "NONE") 37 | call HighlightFor("Whitespace", "#2B3E5A", "NONE", "NONE") 38 | 39 | call HighlightFor("WildMenu", "#00FFC8", "NONE", "bold") 40 | call HighlightFor("Directory", "#00FFC8", "NONE", "NONE") 41 | call HighlightFor("Title", "#c592ff", "NONE", "NONE") 42 | 43 | " Cursor {{{ 44 | call HighlightFor("Cursor", "#00FFC8", "NONE", "NONE") 45 | call HighlightFor("CursorLineNr", "#140007", "#00FFC8", "NONE") 46 | 47 | " Cursorline type 48 | if exists("g:cyberpunk_cursorline") && g:cyberpunk_cursorline == "black" 49 | call HighlightFor("CursorLine", "NONE", "#000000", "NONE") 50 | else 51 | call HighlightFor("CursorLine", "#140007", "#FF0055", "NONE") 52 | endif 53 | 54 | call HighlightFor("CursorColumn", "NONE", "NONE", "NONE") 55 | " }}} 56 | 57 | " Code {{{ 58 | " The following groups are not builtin but are defined commonly in syntax files 59 | call HighlightFor("Comment", "#6766b3", "NONE", "NONE") 60 | call HighlightFor("String", "#76C1FF", "NONE", "NONE") 61 | call HighlightFor("Number", "#fffc58", "NONE", "NONE") 62 | call HighlightFor("Float", "#fffc58", "NONE", "NONE") 63 | call HighlightFor("Boolean", "#fffc58", "NONE", "NONE") 64 | call HighlightFor("Character", "#fffc58", "NONE", "NONE") 65 | 66 | call HighlightFor("Conditional", "#76C1FF", "NONE", "NONE") 67 | call HighlightFor("Repeat", "#76C1FF", "NONE", "NONE") 68 | call HighlightFor("Label", "#76C1FF", "NONE", "NONE") 69 | call HighlightFor("Exception", "#76C1FF", "NONE", "NONE") 70 | call HighlightFor("Operator", "#76C1FF", "NONE", "NONE") 71 | call HighlightFor("Keyword", "#76C1FF", "NONE", "NONE") 72 | call HighlightFor("StorageClass", "#d57bff", "NONE", "NONE") 73 | call HighlightFor("Statement", "#76C1FF", "NONE", "NONE") 74 | 75 | call HighlightFor("Function", "#d57bff", "NONE", "NONE") 76 | call HighlightFor("Identifier", "#EEFFFF", "NONE", "NONE") 77 | 78 | call HighlightFor("PreProc", "#00FF9C", "NONE", "NONE") 79 | 80 | call HighlightFor("Type", "#00FF9C", "NONE", "NONE") 81 | call HighlightFor("Structure", "#00FF9C", "NONE", "NONE") 82 | call HighlightFor("Typedef", "#00FF9C", "NONE", "NONE") 83 | 84 | call HighlightFor("Underlined", "NONE", "NONE", "NONE") 85 | call HighlightFor("Todo", "#00FF9C", "#372963", "italic") 86 | call HighlightFor("Error", "#ff3270", "NONE", "undercurl") 87 | call HighlightFor("WarningMsg", "#009550", "NONE", "NONE") 88 | call HighlightFor("Special", "#00FF9C", "NONE", "italic") 89 | call HighlightFor("Tag", "#00FF9C", "NONE", "undercurl") 90 | " }}} 91 | 92 | " Pmenu {{{ 93 | call HighlightFor("Pmenu", "#ff0055", "#140007", "NONE") 94 | call HighlightFor("PmenuSel", "#140007", "#ff0055", "NONE") 95 | call HighlightFor("PmenuSbar", "NONE", "#ff0055", "NONE") 96 | call HighlightFor("PmenuThumb", "NONE", "NONE", "NONE") 97 | " }}} 98 | 99 | " Status line {{{ 100 | call HighlightFor("StatusLine", "#ff0055", "#1d000a", "bold") 101 | call HighlightFor("StatusLineNC", "#ff0055", "#000000", "NONE") 102 | " }}} 103 | 104 | " Tab pages {{{ 105 | call HighlightFor("TabLine", "#FF4081", "NONE", "NONE") 106 | call HighlightFor("TabLineFill", "NONE", "NONE", "NONE") 107 | call HighlightFor("TabLineSel", "#FF4081", "NONE", "bold") 108 | " }}} 109 | 110 | " Folds {{{ 111 | call HighlightFor("Folded", "#00FFC8", "NONE", "italic") 112 | call HighlightFor("FoldColumn", "#00FFC8", "NONE", "NONE") 113 | " }}} 114 | -------------------------------------------------------------------------------- /colors/silverhand.vim: -------------------------------------------------------------------------------- 1 | highlight clear 2 | 3 | if exists("syntax_on") 4 | syntax reset 5 | endif 6 | 7 | set background=dark 8 | let g:colors_name = "silverhand" 9 | 10 | function! HighlightFor(group, ...) 11 | execute "hi ".a:group 12 | \ ." guifg=".a:1 13 | \ ." guibg=".a:2 14 | \ ." gui=".a:3 15 | endfunction 16 | 17 | " general 18 | call HighlightFor("Normal", "#EDF37E", "#101116", "NONE") " old bg: #101116, 19 | call HighlightFor("Visual", "NONE", "#19213b", "NONE") 20 | call HighlightFor("ColorColumn", "NONE", "#182333", "NONE") 21 | call HighlightFor("LineNr", "#5E81F5", "NONE", "NONE") 22 | call HighlightFor("SignColumn", "#00FFC8", "NONE", "NONE") 23 | 24 | call HighlightFor("DiffAdd", "NONE", "NONE", "NONE") 25 | call HighlightFor("DiffDelete", "NONE", "#ff1745", "NONE" ) 26 | call HighlightFor("DiffText", "NONE", "#00ff84", "NONE") 27 | call HighlightFor("DiffChange", "NONE", "NONE", "NONE") 28 | 29 | call HighlightFor("VertSplit", "#EDF37E", "#101116", "NONE") 30 | 31 | call HighlightFor("IncSearch", "NONE", "#283593", "NONE") 32 | call HighlightFor("Search", "NONE", "#283593", "NONE") 33 | call HighlightFor("Substitute", "NONE", "#283593", "NONE") 34 | 35 | call HighlightFor("MatchParen", "#FF0055", "#00FFC8", "NONE") 36 | call HighlightFor("NonText", "#2B3E5A", "NONE", "NONE") 37 | call HighlightFor("Whitespace", "#2B3E5A", "NONE", "NONE") 38 | 39 | call HighlightFor("WildMenu", "#00FFC8", "NONE", "bold") 40 | call HighlightFor("Directory", "#00FFC8", "NONE", "NONE") 41 | call HighlightFor("Title", "#c592ff", "NONE", "NONE") 42 | 43 | " Cursor {{{ 44 | call HighlightFor("Cursor", "#00FFC8", "NONE", "NONE") 45 | call HighlightFor("CursorLineNr", "#000000", "#00FFC8", "NONE") 46 | 47 | " Cursorline type 48 | if exists("g:cyberpunk_cursorline") && g:cyberpunk_cursorline == "black" 49 | call HighlightFor("CursorLine", "NONE", "#000000", "NONE") 50 | else 51 | call HighlightFor("CursorLine", "#0a0d04", "#5E81F5", "NONE") 52 | endif 53 | 54 | call HighlightFor("CursorColumn", "NONE", "NONE", "NONE") 55 | " }}} 56 | 57 | " Code {{{ 58 | " The following groups are not builtin but are defined commonly in syntax files 59 | call HighlightFor("Comment", "#6766b3", "NONE", "NONE") 60 | call HighlightFor("String", "#5E81F5", "NONE", "NONE") 61 | call HighlightFor("Number", "#fffc58", "NONE", "NONE") 62 | call HighlightFor("Float", "#fffc58", "NONE", "NONE") 63 | call HighlightFor("Boolean", "#fffc58", "NONE", "NONE") 64 | call HighlightFor("Character", "#fffc58", "NONE", "NONE") 65 | 66 | call HighlightFor("Conditional", "#EDF37E", "NONE", "NONE") 67 | call HighlightFor("Repeat", "#EDF37E", "NONE", "NONE") 68 | call HighlightFor("Label", "#EDF37E", "NONE", "NONE") 69 | call HighlightFor("Exception", "#EDF37E", "NONE", "NONE") 70 | call HighlightFor("Operator", "#EDF37E", "NONE", "NONE") 71 | call HighlightFor("Keyword", "#8aebf1", "NONE", "NONE") " old #d57bff 72 | call HighlightFor("StorageClass", "#8aebf1", "NONE", "NONE") 73 | call HighlightFor("Statement", "#8aebf1", "NONE", "NONE") 74 | 75 | call HighlightFor("Function", "#00b0ff", "NONE", "NONE") 76 | call HighlightFor("Identifier", "#EEFFFF", "NONE", "NONE") 77 | 78 | call HighlightFor("PreProc", "#00FF9C", "NONE", "NONE") 79 | 80 | call HighlightFor("Type", "#00FF9C", "NONE", "NONE") 81 | call HighlightFor("Structure", "#00FF9C", "NONE", "NONE") 82 | call HighlightFor("Typedef", "#00FF9C", "NONE", "NONE") 83 | 84 | call HighlightFor("Underlined", "NONE", "NONE", "NONE") 85 | call HighlightFor("Todo", "#00FF9C", "#372963", "italic") 86 | call HighlightFor("Error", "#ff3270", "NONE", "undercurl") 87 | call HighlightFor("WarningMsg", "#009550", "NONE", "NONE") 88 | call HighlightFor("Special", "#00FF9C", "NONE", "italic") 89 | call HighlightFor("Tag", "#00FF9C", "NONE", "undercurl") 90 | " }}} 91 | 92 | " Pmenu {{{ 93 | call HighlightFor("Pmenu", "#EDF37E", "#070811", "NONE") 94 | call HighlightFor("PmenuSel", "#0a0d04", "#5E81F5", "NONE") 95 | call HighlightFor("PmenuSbar", "NONE", "#ff0055", "NONE") 96 | call HighlightFor("PmenuThumb", "NONE", "NONE", "NONE") 97 | " }}} 98 | 99 | " Status line {{{ 100 | call HighlightFor("StatusLine", "#EDF37E", "#1d000a", "bold") 101 | call HighlightFor("StatusLineNC", "#EDF37E", "#000000", "NONE") 102 | " }}} 103 | 104 | " Tab pages {{{ 105 | call HighlightFor("TabLine", "#FF4081", "NONE", "NONE") 106 | call HighlightFor("TabLineFill", "NONE", "NONE", "NONE") 107 | call HighlightFor("TabLineSel", "#FF4081", "NONE", "bold") 108 | " }}} 109 | 110 | " Folds {{{ 111 | call HighlightFor("Folded", "#00FFC8", "NONE", "italic") 112 | call HighlightFor("FoldColumn", "#00FFC8", "NONE", "NONE") 113 | " }}} 114 | 115 | -------------------------------------------------------------------------------- /autoload/lightline/colorscheme/cyberpunk.vim: -------------------------------------------------------------------------------- 1 | " ============================================================================= 2 | " Author: Diego Ulloa 3 | " License: MIT License 4 | " Email: diegoulloao@icloud.com 5 | " ============================================================================= 6 | 7 | if exists('g:lightline') 8 | 9 | " PALETTE 10 | let s:yellow = { "cterm": 228, "gui": "#FF0055" } 11 | let s:purple = { "cterm": 141, "gui": "#5E81F5" } 12 | let s:light_green = { "cterm": 148, "gui": "#00FFC8" } 13 | let s:light_blue = { "cterm": 81, "gui": "#62D8F1" } 14 | let s:magenta = { "cterm": 197, "gui": "#00FFC8" } 15 | let s:orange = { "cterm": 208, "gui": "#eea806" } 16 | 17 | let s:light_grey = { "cterm": 250, "gui": "#FF0055" } 18 | let s:grey = { "cterm": 245, "gui": "#000000" } 19 | let s:dark_grey = { "cterm": 59, "gui": "#101116" } 20 | let s:darkest_grey = { "cterm": 238, "gui": "#000000" } 21 | let s:light_charcoal = { "cterm": 236, "gui": "#101116" } 22 | let s:charcoal = { "cterm": 235, "gui": "#101116" } 23 | 24 | let s:palette = { 25 | \ 'normal': {}, 26 | \ 'inactive': {}, 27 | \ 'insert': {}, 28 | \ 'replace': {}, 29 | \ 'visual': {}, 30 | \ 'tabline': {}, 31 | \ 'command': {} 32 | \ } 33 | 34 | " ----------------------------------------------------------------------------- 35 | 36 | 37 | function! s:add(fg, bg, style) 38 | return [ a:fg["gui"], a:bg["gui"], a:fg["cterm"], a:bg["cterm"], a:style ] 39 | endfunction 40 | 41 | " ----------------------------------------------------------------------------- 42 | 43 | 44 | " RIGHT 45 | let s:palette.normal.right = [ 46 | \ s:add(s:charcoal, s:yellow, 'none'), 47 | \ s:add(s:yellow, s:grey, 'none'), 48 | \ s:add(s:purple, s:dark_grey, 'none') 49 | \ ] 50 | 51 | let s:palette.inactive.right = [ 52 | \ s:add(s:yellow, s:grey, 'none'), 53 | \ s:add(s:charcoal, s:dark_grey, 'none'), 54 | \ s:add(s:light_grey, s:grey, 'none') 55 | \ ] 56 | 57 | let s:palette.command.right = [ 58 | \ s:add(s:charcoal, s:light_blue, 'none'), 59 | \ s:add(s:charcoal, s:grey, 'none'), 60 | \ s:add(s:light_grey, s:dark_grey, 'none') 61 | \ ] 62 | 63 | let s:palette.insert.right = [ 64 | \ s:add(s:charcoal, s:light_green, 'none'), 65 | \ s:add(s:charcoal, s:grey, 'none'), 66 | \ s:add(s:light_grey, s:dark_grey, 'none') 67 | \ ] 68 | 69 | let s:palette.visual.right = [ 70 | \ s:add(s:charcoal, s:purple, 'none'), 71 | \ s:add(s:charcoal, s:grey, 'none'), 72 | \ s:add(s:light_grey, s:dark_grey, 'none') 73 | \ ] 74 | 75 | let s:palette.replace.right = [ 76 | \ s:add(s:charcoal, s:magenta, 'none'), 77 | \ s:add(s:charcoal, s:grey, 'none'), 78 | \ s:add(s:light_grey, s:dark_grey, 'none') 79 | \ ] 80 | 81 | " LEFT 82 | let s:palette.normal.left = [ 83 | \ s:add(s:darkest_grey, s:yellow, 'bold'), 84 | \ s:add(s:yellow, s:charcoal, 'none') 85 | \ ] 86 | 87 | let s:palette.command.left = [ 88 | \ s:add(s:darkest_grey, s:light_green, 'bold'), 89 | \ s:add(s:light_green, s:charcoal, 'none') 90 | \ ] 91 | 92 | let s:palette.replace.left = [ 93 | \ s:add(s:magenta, s:darkest_grey, 'bold'), 94 | \ s:add(s:charcoal, s:magenta, 'none') 95 | \ ] 96 | 97 | let s:palette.insert.left = [ 98 | \ s:add(s:darkest_grey, s:light_blue, 'bold'), 99 | \ s:add(s:light_blue, s:charcoal, 'none') 100 | \ ] 101 | 102 | let s:palette.visual.left = [ 103 | \ s:add(s:darkest_grey, s:purple, 'bold'), 104 | \ s:add(s:purple, s:charcoal, 'none') 105 | \ ] 106 | 107 | let s:palette.inactive.left = [ 108 | \ s:add(s:yellow, s:grey, 'none'), 109 | \ s:add(s:purple, s:dark_grey, 'none'), 110 | \ s:add(s:light_grey, s:dark_grey, 'none') 111 | \ ] 112 | 113 | " MIDDLE 114 | let s:palette.normal.middle = [ 115 | \ s:add(s:yellow, s:darkest_grey, 'none') 116 | \ ] 117 | 118 | let s:palette.insert.middle = [ 119 | \ s:add(s:light_blue, s:darkest_grey, 'none') 120 | \ ] 121 | 122 | let s:palette.replace.middle = [ 123 | \ s:add(s:magenta, s:darkest_grey, 'none') 124 | \ ] 125 | 126 | let s:palette.visual.middle = [ 127 | \ s:add(s:purple, s:darkest_grey, 'none') 128 | \ ] 129 | 130 | let s:palette.inactive.middle = [ 131 | \ s:add(s:yellow, s:grey, 'none') 132 | \ ] 133 | 134 | " ----------------------------------------------------------------------------- 135 | 136 | 137 | " TABS 138 | let s:palette.tabline.left = [ [ '#FF0055', '#101116', 252, 242 ] ] 139 | let s:palette.tabline.tabsel = [ [ '#101116', '#FF0055', 253, 233 ] ] 140 | let s:palette.tabline.middle = [ [ '#8a8a8a', '#101116', 245, 237 ] ] 141 | let s:palette.tabline.right = [ [ '#FF0055', '#000000', 252, 242 ] ] 142 | 143 | let s:palette.normal.error = [ [ '#d0d0d0', '#ff0000', 252, 196 ] ] 144 | let s:palette.normal.warning = [ [ '#262626', '#ffff00', 235, 226 ] ] 145 | 146 | " ----------------------------------------------------------------------------- 147 | 148 | 149 | let g:lightline#colorscheme#cyberpunk#palette = s:palette 150 | 151 | endif 152 | -------------------------------------------------------------------------------- /autoload/lightline/colorscheme/silverhand.vim: -------------------------------------------------------------------------------- 1 | " ============================================================================= 2 | " Author: Diego Ulloa 3 | " License: MIT License 4 | " Email: diegoulloao@icloud.com 5 | " ============================================================================= 6 | 7 | if exists('g:lightline') 8 | 9 | " PALETTE 10 | let s:yellow = { "cterm": 228, "gui": "#EDF37E" } 11 | let s:purple = { "cterm": 141, "gui": "#5E81F5" } 12 | let s:light_green = { "cterm": 148, "gui": "#00FFC8" } 13 | let s:light_blue = { "cterm": 81, "gui": "#62D8F1" } 14 | let s:magenta = { "cterm": 197, "gui": "#00FFC8" } 15 | let s:orange = { "cterm": 208, "gui": "#eea806" } 16 | 17 | let s:light_grey = { "cterm": 250, "gui": "#EDF37E" } 18 | let s:grey = { "cterm": 245, "gui": "#000000" } 19 | let s:dark_grey = { "cterm": 59, "gui": "#101116" } 20 | let s:darkest_grey = { "cterm": 238, "gui": "#000000" } 21 | let s:light_charcoal = { "cterm": 236, "gui": "#101116" } 22 | let s:charcoal = { "cterm": 235, "gui": "#101116" } 23 | 24 | let s:palette = { 25 | \ 'normal': {}, 26 | \ 'inactive': {}, 27 | \ 'insert': {}, 28 | \ 'replace': {}, 29 | \ 'visual': {}, 30 | \ 'tabline': {}, 31 | \ 'command': {} 32 | \ } 33 | 34 | " ----------------------------------------------------------------------------- 35 | 36 | 37 | function! s:add(fg, bg, style) 38 | return [ a:fg["gui"], a:bg["gui"], a:fg["cterm"], a:bg["cterm"], a:style ] 39 | endfunction 40 | 41 | " ----------------------------------------------------------------------------- 42 | 43 | 44 | " RIGHT 45 | let s:palette.normal.right = [ 46 | \ s:add(s:charcoal, s:yellow, 'none'), 47 | \ s:add(s:yellow, s:grey, 'none'), 48 | \ s:add(s:purple, s:dark_grey, 'none') 49 | \ ] 50 | 51 | let s:palette.inactive.right = [ 52 | \ s:add(s:yellow, s:grey, 'none'), 53 | \ s:add(s:charcoal, s:dark_grey, 'none'), 54 | \ s:add(s:light_grey, s:grey, 'none') 55 | \ ] 56 | 57 | let s:palette.command.right = [ 58 | \ s:add(s:charcoal, s:light_blue, 'none'), 59 | \ s:add(s:charcoal, s:grey, 'none'), 60 | \ s:add(s:light_grey, s:dark_grey, 'none') 61 | \ ] 62 | 63 | let s:palette.insert.right = [ 64 | \ s:add(s:charcoal, s:light_green, 'none'), 65 | \ s:add(s:charcoal, s:grey, 'none'), 66 | \ s:add(s:light_grey, s:dark_grey, 'none') 67 | \ ] 68 | 69 | let s:palette.visual.right = [ 70 | \ s:add(s:charcoal, s:purple, 'none'), 71 | \ s:add(s:charcoal, s:grey, 'none'), 72 | \ s:add(s:light_grey, s:dark_grey, 'none') 73 | \ ] 74 | 75 | let s:palette.replace.right = [ 76 | \ s:add(s:charcoal, s:magenta, 'none'), 77 | \ s:add(s:charcoal, s:grey, 'none'), 78 | \ s:add(s:light_grey, s:dark_grey, 'none') 79 | \ ] 80 | 81 | " LEFT 82 | let s:palette.normal.left = [ 83 | \ s:add(s:darkest_grey, s:yellow, 'bold'), 84 | \ s:add(s:yellow, s:charcoal, 'none') 85 | \ ] 86 | 87 | let s:palette.command.left = [ 88 | \ s:add(s:darkest_grey, s:light_green, 'bold'), 89 | \ s:add(s:light_green, s:charcoal, 'none') 90 | \ ] 91 | 92 | let s:palette.replace.left = [ 93 | \ s:add(s:magenta, s:darkest_grey, 'bold'), 94 | \ s:add(s:charcoal, s:magenta, 'none') 95 | \ ] 96 | 97 | let s:palette.insert.left = [ 98 | \ s:add(s:darkest_grey, s:light_blue, 'bold'), 99 | \ s:add(s:light_blue, s:charcoal, 'none') 100 | \ ] 101 | 102 | let s:palette.visual.left = [ 103 | \ s:add(s:darkest_grey, s:purple, 'bold'), 104 | \ s:add(s:purple, s:charcoal, 'none') 105 | \ ] 106 | 107 | let s:palette.inactive.left = [ 108 | \ s:add(s:yellow, s:grey, 'none'), 109 | \ s:add(s:purple, s:dark_grey, 'none'), 110 | \ s:add(s:light_grey, s:dark_grey, 'none') 111 | \ ] 112 | 113 | " MIDDLE 114 | let s:palette.normal.middle = [ 115 | \ s:add(s:yellow, s:darkest_grey, 'none') 116 | \ ] 117 | 118 | let s:palette.insert.middle = [ 119 | \ s:add(s:light_blue, s:darkest_grey, 'none') 120 | \ ] 121 | 122 | let s:palette.replace.middle = [ 123 | \ s:add(s:magenta, s:darkest_grey, 'none') 124 | \ ] 125 | 126 | let s:palette.visual.middle = [ 127 | \ s:add(s:purple, s:darkest_grey, 'none') 128 | \ ] 129 | 130 | let s:palette.inactive.middle = [ 131 | \ s:add(s:yellow, s:grey, 'none') 132 | \ ] 133 | 134 | " ----------------------------------------------------------------------------- 135 | 136 | 137 | " TABS 138 | let s:palette.tabline.left = [ [ '#EDF37E', '#101116', 252, 242 ] ] 139 | let s:palette.tabline.tabsel = [ [ '#101116', '#EDF37E', 253, 233 ] ] 140 | let s:palette.tabline.middle = [ [ '#8a8a8a', '#101116', 245, 237 ] ] 141 | let s:palette.tabline.right = [ [ '#EDF37E', '#000000', 252, 242 ] ] 142 | 143 | let s:palette.normal.error = [ [ '#d0d0d0', '#ff0000', 252, 196 ] ] 144 | let s:palette.normal.warning = [ [ '#262626', '#ffff00', 235, 226 ] ] 145 | 146 | " ----------------------------------------------------------------------------- 147 | 148 | 149 | let g:lightline#colorscheme#silverhand#palette = s:palette 150 | 151 | endif 152 | -------------------------------------------------------------------------------- /autoload/airline/silverhand.vim: -------------------------------------------------------------------------------- 1 | 2 | " It is based on vim-airline's ["tomorrow" theme](https://github.com/vim-airline/vim-airline-themes/blob/master/autoload/airline/themes/tomorrow.vim). 3 | function! airline#themes#silverhand#refresh() 4 | 5 | if get(g:, 'silverhand_termcolors', 256) == 16 6 | let s:term_dark_blue = 0 7 | let s:term_red = 1 8 | let s:term_green = 10 9 | let s:term_yellow = 11 10 | let s:term_blue = 4 11 | let s:term_purple = 5 12 | else 13 | let s:term_dark_blue = 16 14 | let s:term_red = 123 15 | let s:term_green = 83 16 | let s:term_yellow = 227 17 | let s:term_blue = 26 18 | let s:term_purple = 171 19 | endif 20 | 21 | let g:airline#themes#silverhand#palette = {} 22 | 23 | let g:airline#themes#silverhand#palette.accents = { 24 | \ 'red': [ '#EF4B51', '', s:term_red, 0 ] 25 | \ } 26 | 27 | let s:N1 = [ '#070811', '#EDF37E', s:term_dark_blue, s:term_yellow ] 28 | let s:N2 = [ '#EDF37E', '#101116', s:term_yellow, s:term_dark_blue ] 29 | let s:N3 = [ '#5E81F5', '#070811', s:term_blue, s:term_dark_blue ] 30 | let g:airline#themes#silverhand#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) 31 | 32 | let group = airline#themes#get_highlight('vimCommand') 33 | let g:airline#themes#silverhand#palette.normal_modified = { 34 | \ 'airline_c': [ group[0], '', group[2], '', '' ] 35 | \ } 36 | 37 | let s:I1 = [ '#070811', '#5E81F5', s:term_dark_blue, s:term_blue ] 38 | let s:I2 = s:N2 39 | let s:I3 = [ '#EDF37E', '#070811', s:term_yellow, s:term_dark_blue ] 40 | let g:airline#themes#silverhand#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) 41 | let g:airline#themes#silverhand#palette.insert_modified = g:airline#themes#onedark#palette.normal_modified 42 | 43 | let s:R1 = [ '#070811', '#00FF9C', s:term_dark_blue, s:term_green ] 44 | let s:R2 = s:N2 45 | let s:R3 = [ '#00FF9C', '#070811', s:term_green, s:term_dark_blue ] 46 | let g:airline#themes#silverhand#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) 47 | let g:airline#themes#silverhand#palette.replace_modified = g:airline#themes#onedark#palette.normal_modified 48 | 49 | let s:V1 = [ '#070811', '#D57BFF', s:term_dark_blue, s:term_purple ] 50 | let s:V2 = s:N2 51 | let s:V3 = [ '#D57BFF', '#070811', s:term_purple, '' ] 52 | let g:airline#themes#silverhand#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) 53 | let g:airline#themes#silverhand#palette.visual_modified = g:airline#themes#onedark#palette.normal_modified 54 | 55 | let s:IA1 = [ '#070811', '#EDF37E', s:term_dark_blue, s:term_yellow ] 56 | let s:IA2 = [ '#EDF37E', '#070811', s:term_yellow, s:term_dark_blue ] 57 | let s:IA3 = s:N2 58 | let g:airline#themes#silverhand#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) 59 | let g:airline#themes#silverhand#palette.inactive_modified = { 60 | \ 'airline_c': [ group[0], '', group[2], '', '' ] 61 | \ } 62 | 63 | " Warnings 64 | let s:WI = [ '#EDF37E', '#070811', s:term_yellow, s:term_dark_blue ] 65 | let g:airline#themes#silverhand#palette.normal.airline_warning = [ 66 | \ s:WI[0], s:WI[1], s:WI[2], s:WI[3] 67 | \ ] 68 | 69 | let g:airline#themes#silverhand#palette.normal_modified.airline_warning = 70 | \ g:airline#themes#silverhand#palette.normal.airline_warning 71 | 72 | let g:airline#themes#silverhand#palette.insert.airline_warning = 73 | \ g:airline#themes#silverhand#palette.normal.airline_warning 74 | 75 | let g:airline#themes#silverhand#palette.insert_modified.airline_warning = 76 | \ g:airline#themes#silverhand#palette.normal.airline_warning 77 | 78 | let g:airline#themes#silverhand#palette.visual.airline_warning = 79 | \ g:airline#themes#silverhand#palette.normal.airline_warning 80 | 81 | let g:airline#themes#silverhand#palette.visual_modified.airline_warning = 82 | \ g:airline#themes#silverhand#palette.normal.airline_warning 83 | 84 | let g:airline#themes#silverhand#palette.replace.airline_warning = 85 | \ g:airline#themes#silverhand#palette.normal.airline_warning 86 | 87 | let g:airline#themes#silverhand#palette.replace_modified.airline_warning = 88 | \ g:airline#themes#silverhand#palette.normal.airline_warning 89 | 90 | " Errors 91 | let s:ER = [ '#EDF37E', '#070811', s:term_yellow, s:term_dark_blue ] 92 | let g:airline#themes#silverhand#palette.normal.airline_error = [ 93 | \ s:ER[0], s:ER[1], s:ER[2], s:ER[3] 94 | \ ] 95 | 96 | let g:airline#themes#silverhand#palette.normal_modified.airline_error = 97 | \ g:airline#themes#silverhand#palette.normal.airline_error 98 | 99 | let g:airline#themes#silverhand#palette.insert.airline_error = 100 | \ g:airline#themes#silverhand#palette.normal.airline_error 101 | 102 | let g:airline#themes#silverhand#palette.insert_modified.airline_error = 103 | \ g:airline#themes#silverhand#palette.normal.airline_error 104 | 105 | let g:airline#themes#silverhand#palette.visual.airline_error = 106 | \ g:airline#themes#silverhand#palette.normal.airline_error 107 | 108 | let g:airline#themes#silverhand#palette.visual_modified.airline_error = 109 | \ g:airline#themes#silverhand#palette.normal.airline_error 110 | 111 | let g:airline#themes#silverhand#palette.replace.airline_error = 112 | \ g:airline#themes#silverhand#palette.normal.airline_error 113 | 114 | let g:airline#themes#silverhand#palette.replace_modified.airline_error = 115 | \ g:airline#themes#silverhand#palette.normal.airline_error 116 | 117 | endfunction 118 | 119 | call airline#themes#silverhand#refresh() 120 | -------------------------------------------------------------------------------- /autoload/airline/cyberpunk.vim: -------------------------------------------------------------------------------- 1 | 2 | " It is based on vim-airline's ["tomorrow" theme](https://github.com/vim-airline/vim-airline-themes/blob/master/autoload/airline/themes/tomorrow.vim). 3 | function! airline#themes#cyberpunk#refresh() 4 | 5 | if get(g:, 'cyberpunk_termcolors', 256) == 16 6 | let s:term_red = 1 7 | let s:term_green = 2 8 | let s:term_yellow = 3 9 | let s:term_blue = 4 10 | let s:term_purple = 5 11 | let s:term_white = 7 12 | let s:term_black = 0 13 | let s:term_grey = 8 14 | else 15 | let s:term_red = 123 16 | let s:term_green = 10 17 | let s:term_yellow = 226 18 | let s:term_blue = 81 19 | let s:term_purple = 170 20 | let s:term_white = 15 21 | let s:term_black = 0 22 | let s:term_grey = 236 23 | endif 24 | 25 | let g:airline#themes#cyberpunk#palette = {} 26 | 27 | let g:airline#themes#cyberpunk#palette.accents = { 28 | \ 'red': [ '#EF4B51', '', s:term_red, 0 ] 29 | \ } 30 | 31 | let s:N1 = [ '#140007', '#FF0055', s:term_black, s:term_red ] 32 | let s:N2 = [ '#FF0055', '#101116', s:term_black, s:term_red ] 33 | let s:N3 = [ '#FF0055', '#140007', s:term_green, s:term_grey ] 34 | let g:airline#themes#cyberpunk#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) 35 | 36 | let group = airline#themes#get_highlight('vimCommand') 37 | let g:airline#themes#cyberpunk#palette.normal_modified = { 38 | \ 'airline_c': [ group[0], '', group[2], '', '' ] 39 | \ } 40 | 41 | let s:I1 = [ '#140007', '#76C1FF', s:term_black, s:term_blue ] 42 | let s:I2 = s:N2 43 | let s:I3 = [ '#76C1FF', '#140007', s:term_blue, s:term_grey ] 44 | let g:airline#themes#cyberpunk#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) 45 | let g:airline#themes#cyberpunk#palette.insert_modified = g:airline#themes#onedark#palette.normal_modified 46 | 47 | let s:R1 = [ '#140007', '#FFFC58', s:term_black, s:term_red ] 48 | let s:R2 = s:N2 49 | let s:R3 = [ '#FFFC58', '#140007', s:term_red, s:term_grey ] 50 | let g:airline#themes#cyberpunk#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) 51 | let g:airline#themes#cyberpunk#palette.replace_modified = g:airline#themes#onedark#palette.normal_modified 52 | 53 | let s:V1 = [ '#140007', '#D57BFF', s:term_black, s:term_purple ] 54 | let s:V2 = s:N2 55 | let s:V3 = [ '#D57BFF', '#140007', s:term_purple, '' ] 56 | let g:airline#themes#cyberpunk#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) 57 | let g:airline#themes#cyberpunk#palette.visual_modified = g:airline#themes#onedark#palette.normal_modified 58 | 59 | let s:IA1 = [ '#140007', '#FF0055', s:term_black, s:term_white ] 60 | let s:IA2 = [ '#FF0055', '#140007', s:term_white, s:term_grey ] 61 | let s:IA3 = s:N2 62 | let g:airline#themes#cyberpunk#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) 63 | let g:airline#themes#cyberpunk#palette.inactive_modified = { 64 | \ 'airline_c': [ group[0], '', group[2], '', '' ] 65 | \ } 66 | 67 | " Warning/Error styling code from vim-airline's ["base16" theme](https://github.com/vim-airline/vim-airline-themes/blob/master/autoload/airline/themes/base16.vim) 68 | 69 | " Warnings 70 | let s:WI = [ '#FF0055', '#140007', s:term_black, s:term_yellow ] 71 | let g:airline#themes#cyberpunk#palette.normal.airline_warning = [ 72 | \ s:WI[0], s:WI[1], s:WI[2], s:WI[3] 73 | \ ] 74 | 75 | let g:airline#themes#cyberpunk#palette.normal_modified.airline_warning = 76 | \ g:airline#themes#cyberpunk#palette.normal.airline_warning 77 | 78 | let g:airline#themes#cyberpunk#palette.insert.airline_warning = 79 | \ g:airline#themes#cyberpunk#palette.normal.airline_warning 80 | 81 | let g:airline#themes#cyberpunk#palette.insert_modified.airline_warning = 82 | \ g:airline#themes#cyberpunk#palette.normal.airline_warning 83 | 84 | let g:airline#themes#cyberpunk#palette.visual.airline_warning = 85 | \ g:airline#themes#cyberpunk#palette.normal.airline_warning 86 | 87 | let g:airline#themes#cyberpunk#palette.visual_modified.airline_warning = 88 | \ g:airline#themes#cyberpunk#palette.normal.airline_warning 89 | 90 | let g:airline#themes#cyberpunk#palette.replace.airline_warning = 91 | \ g:airline#themes#cyberpunk#palette.normal.airline_warning 92 | 93 | let g:airline#themes#cyberpunk#palette.replace_modified.airline_warning = 94 | \ g:airline#themes#cyberpunk#palette.normal.airline_warning 95 | 96 | " Errors 97 | let s:ER = [ '#FF0055', '#140007', s:term_black, s:term_red ] 98 | let g:airline#themes#cyberpunk#palette.normal.airline_error = [ 99 | \ s:ER[0], s:ER[1], s:ER[2], s:ER[3] 100 | \ ] 101 | 102 | let g:airline#themes#cyberpunk#palette.normal_modified.airline_error = 103 | \ g:airline#themes#cyberpunk#palette.normal.airline_error 104 | 105 | let g:airline#themes#cyberpunk#palette.insert.airline_error = 106 | \ g:airline#themes#cyberpunk#palette.normal.airline_error 107 | 108 | let g:airline#themes#cyberpunk#palette.insert_modified.airline_error = 109 | \ g:airline#themes#cyberpunk#palette.normal.airline_error 110 | 111 | let g:airline#themes#cyberpunk#palette.visual.airline_error = 112 | \ g:airline#themes#cyberpunk#palette.normal.airline_error 113 | 114 | let g:airline#themes#cyberpunk#palette.visual_modified.airline_error = 115 | \ g:airline#themes#cyberpunk#palette.normal.airline_error 116 | 117 | let g:airline#themes#cyberpunk#palette.replace.airline_error = 118 | \ g:airline#themes#cyberpunk#palette.normal.airline_error 119 | 120 | let g:airline#themes#cyberpunk#palette.replace_modified.airline_error = 121 | \ g:airline#themes#cyberpunk#palette.normal.airline_error 122 | 123 | endfunction 124 | 125 | call airline#themes#cyberpunk#refresh() 126 | --------------------------------------------------------------------------------