├── .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 | |  |  |
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
--------------------------------------------------------------------------------