# PaperColorSlim Colorscheme This is a slimmed down re-implementation of [papercolor-theme](https://github.com/NLKNguyen/papercolor-theme) that: 1. Supports [nvim-treesitter](https://github.com/nvim-treesitter/nvim-treesitter) 2. Has no abstraction, making color mapping super simple 3. Targets gui options (`guifg`, `guibg`, `gui`) with [truecolor](https://gist.github.com/sindresorhus/bed863fb8bedf023b833c88c322e44f9) support. If you're using a modern terminal ([alacritty](https://github.com/alacritty/alacritty), [iterm2](https://en.wikipedia.org/wiki/ITerm2), [gnome terminal](https://en.wikipedia.org/wiki/GNOME_Terminal), etc), you probably have truecolor support. Run `echo $COLORTERM` from your terminal. If it responds `truecolor`, you have truecolor support. NOTE: I'd be happy to add cterm support, if this interests you please submit a PR. 4. Limits highlight groups to: [built-in](https://neovim.io/doc/user/syntax.html#highlight-default), [preferred](https://neovim.io/doc/user/syntax.html#W18), [nvim-treesitter](https://github.com/nvim-treesitter/nvim-treesitter/blob/333e1ab7768336d33c0e654a412ce0cb763f1da2/doc/nvim-treesitter.txt#L398), and a couple non-standard overrides at [the author](https://samroeca.com/pages/about.html)'s discretion. This results in consistent highlighting across languages, but may sacrifice some highlighting granularity in some cases. 5. Supports both `background=light` and `background=dark` It targets Neovim's syntax groups, but it should technically work with regular Vim. ## Installation If using [vim-plug](https://github.com/junegunn/vim-plug), place the following line in the Plugin section of your inti.vim / vimrc: ```vim " ~/.vimrc Plug 'pappasam/papercolor-theme-slim' ``` Then run the Ex command: ```vim :PlugInstall ``` I personally use [vim-packager](https://github.com/kristijanhusak/vim-packager), so if you'd like to go down the "package" rabbit hole, I suggest giving that a try. ## Configuration Place the following in your `~/.vimrc` or your `~/.config/nvim/init.vim`: ### Dark variant ```vim colorscheme PaperColorSlim ``` ### Light variant If you prefer the light background: ```vim set background=light colorscheme PaperColorSlim ``` ### Notes - You may change to the light/dark variant at any time by running `:set background=light` or `:set background=dark` ## Customization You can configure virtually anything you want with Vim's native syntax highlighting tooling. What follows are some common configuration customizations requested by users, along with their solution. ### Transparent background Some users want the background of their Vim to match their terminal's background color. To achieve this with PaperColorSlim, put the following code somewhere in your `vimrc`: ```vim augroup custom_papercolorslim_transparent_background autocmd! autocmd ColorScheme PaperColorSlim highlight Normal guibg=none augroup end ``` **Note:** if your terminal background differs too much from [#1c1c1c](https://www.color-hex.com/color/1c1c1c) when using `background=dark`, or [fffff0](https://www.color-hex.com/color/fffff0) when using `background=light`, PaperColorSlim may not contrast well with your terminal's background. In this case, you will need to do one of the following: 1. Use the PaperColorSlim-provided background colors (eg, don't put the above in your `vimrc`) 2. Perform further customization, tweaking `guifg` and `guibg` colors where necessary 3. Use a different Vim colorscheme that better-supports your background preferences ## Development If you want to contribute and assuming you use Neovim, I suggest installing and using [nvim-colorizer](https://github.com/norcalli/nvim-colorizer.lua). It will let you see the colors associated with the hex codes, greatly simplifying development. ## Written by Samuel Roeca firstname.lastname@example.org_ Special thanks to [Nikyle Nguyen](https://github.com/NLKNguyen) and all their great work on [papercolor-theme](https://github.com/NLKNguyen/papercolor-theme) over the years!