├── .gitignore ├── LICENSE ├── README.md ├── colors ├── .DS_Store └── pico8.vim ├── demo.p8 ├── logo.svg ├── screenshot-pico8.png └── screenshot-vim.png /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 Evan Relf 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | --- 4 | 5 | Vim color scheme inspired by the [PICO-8](https://www.lexaloffle.com/pico-8.php) fantasy console. 6 | 7 | Currently only designed for Lua/PICO-8 files (colors don't look good with other languages and file types). 8 | 9 | | Vim | PICO-8 | 10 | |:-------------------------------------:|:------------------------------------------:| 11 | | ![Vim screenshot](screenshot-vim.png) | ![PICO-8 screenshot](screenshot-pico8.png) | 12 | 13 | ## Installation 14 | 15 | Requires a terminal with true color support (or GVim/MacVim). 16 | 17 | Using [vim-plug](https://github.com/junegunn/vim-plug): 18 | 19 | ```vim 20 | Plug 'evanrelf/vim-pico8-color' 21 | Plug 'ssteinbach/vim-pico8-syntax' " optional 22 | 23 | set termguicolors 24 | colorscheme pico8 25 | ``` 26 | 27 | ## Related projects 28 | 29 | This is a fork of [BordenJardine's](https://github.com/BordenJardine) color scheme [pico8-vim-colorscheme](https://github.com/BordenJardine/pico8-vim-colorscheme), but I have redone almost everything. 30 | 31 | This color scheme works well with with: 32 | 33 | - [ssteinbach/vim-pico8-syntax](https://github.com/ssteinbach/vim-pico8-syntax) - Syntax highlighting for PICO-8's `.p8` files 34 | - [juanitogan/p8-programming-fonts](https://github.com/juanitogan/p8-programming-fonts) - Fonts modified for PICO-8 programming 35 | 36 | Thanks to [Roman Zolotarev](https://www.romanzolotarev.com/) for his [PICO-8 Color Palette](https://www.romanzolotarev.com/pico-8-color-palette/), which was a useful reference when making this. 37 | 38 | ## License 39 | 40 | [MIT](LICENSE) 41 | -------------------------------------------------------------------------------- /colors/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markbahnman/vim-pico8-color/817d7192b9d4100e906eff93453ac05a4189668c/colors/.DS_Store -------------------------------------------------------------------------------- /colors/pico8.vim: -------------------------------------------------------------------------------- 1 | if !has('gui_running') && &t_Co < 256 2 | finish 3 | endif 4 | 5 | set background=dark 6 | highlight clear 7 | 8 | if exists('syntax_on') 9 | syntax reset 10 | endif 11 | 12 | let g:colors_name = 'pico8' 13 | 14 | let s:black = '#000000' 15 | let s:dark_blue = '#1D2B53' 16 | let s:dark_purple = '#7E2553' 17 | let s:dark_green = '#008751' 18 | let s:brown = '#AB5236' 19 | let s:dark_gray = '#5F574F' 20 | let s:light_gray = '#C2C3C7' 21 | let s:white = '#FFF1E8' 22 | let s:red = '#FF004D' 23 | let s:orange = '#FFA300' 24 | let s:yellow = '#FFEC27' 25 | let s:green = '#00E436' 26 | let s:blue = '#29ADFF' 27 | let s:indigo = '#83769C' 28 | let s:pink = '#FF77A8' 29 | let s:peach = '#FFCCAA' 30 | 31 | let s:background = '#4F473F' 32 | let s:shade = '#3F372F' 33 | 34 | function! s:HL(group, fg, bg, attr) 35 | if !empty(a:fg) 36 | exec 'highlight ' . a:group . ' guifg=' . a:fg 37 | endif 38 | if !empty(a:bg) 39 | exec 'highlight ' . a:group . ' guibg=' . a:bg 40 | endif 41 | if !empty(a:attr) 42 | exec 'highlight ' . a:group . ' gui=' . a:attr . ' cterm=' . a:attr 43 | endif 44 | endfunction 45 | 46 | " group foreground background style 47 | 48 | call s:HL('Cursor', s:dark_gray, s:red, '') 49 | call s:HL('Visual', s:dark_gray, s:yellow, '') 50 | 51 | call s:HL('LineNr', s:dark_gray, s:shade, 'none') 52 | call s:HL('CursorLineNr', s:peach, s:red, 'bold') 53 | call s:HL('SignColumn', s:dark_gray, s:shade, '') 54 | call s:HL('NonText', s:dark_gray, '', '') 55 | 56 | call s:HL('CursorLine', '', s:shade, '') 57 | call s:HL('CursorColumn', '', s:shade, '') 58 | call s:HL('ColorColumn', '', s:shade, '') 59 | 60 | call s:HL('StatusLine', s:dark_purple, s:red, 'bold') 61 | " call s:HL('StatusLineNC', s:dark_purple, s:red, 'bold') 62 | call s:HL('Question', s:green, '', '') 63 | call s:HL('ModeMsg', s:light_gray, '', '') 64 | call s:HL('ErrorMsg', s:white, s:red, '') 65 | 66 | call s:HL('Title', s:dark_purple, s:red, 'bold') 67 | call s:HL('TabLine', s:dark_purple, s:red, 'bold') 68 | call s:HL('TabLineFill', s:dark_purple, s:red, 'bold') 69 | call s:HL('TabLineSel', s:peach, s:red, 'bold') 70 | 71 | call s:HL('VertSplit', s:red, s:red, 'bold') 72 | 73 | call s:HL('PMenu', s:light_gray, s:shade, 'none') 74 | call s:HL('PMenuSel', s:dark_gray, s:yellow, 'none') 75 | call s:HL('PMenuSbar', s:dark_gray, s:dark_gray, 'none') 76 | call s:HL('PMenuThumb', s:dark_gray, s:light_gray, 'none') 77 | 78 | call s:HL('DiffAdd', s:dark_gray, s:green, 'none') 79 | call s:HL('DiffChange', s:dark_gray, s:yellow, 'none') 80 | call s:HL('DiffDelete', s:dark_gray, s:red, 'none') 81 | call s:HL('DiffText', s:dark_gray, s:blue, 'none') 82 | 83 | call s:HL('Normal', s:light_gray, s:background, 'none') 84 | call s:HL('Function', s:pink, '', 'bold') 85 | call s:HL('Statement', s:pink, '', '') 86 | call s:HL('Identifier', s:green, '', '') 87 | call s:HL('Type', s:green, '', '') 88 | call s:HL('Operator', s:white, '', '') 89 | call s:HL('String', s:blue, '', '') 90 | call s:HL('Comment', s:indigo, '', '') 91 | call s:HL('Number', s:blue, '', '') 92 | call s:HL('Error', s:white, s:red, '') 93 | call s:HL('Todo', s:dark_gray, s:yellow, 'bold') 94 | -------------------------------------------------------------------------------- /demo.p8: -------------------------------------------------------------------------------- 1 | -- the quick brown fox 2 | function _update() 3 | x=42 4 | y=100 5 | player1="bob" 6 | player2="alice" 7 | 8 | for i = 1, 10 do 9 | blah() 10 | end 11 | 12 | if x==42 then 13 | cls() 14 | x=x+1 15 | y=y-1 16 | end 17 | end -------------------------------------------------------------------------------- /logo.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /screenshot-pico8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markbahnman/vim-pico8-color/817d7192b9d4100e906eff93453ac05a4189668c/screenshot-pico8.png -------------------------------------------------------------------------------- /screenshot-vim.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markbahnman/vim-pico8-color/817d7192b9d4100e906eff93453ac05a4189668c/screenshot-vim.png --------------------------------------------------------------------------------