Go to file
Iron_E 773adbbe06
Add missing shebang
2020-10-25 13:33:51 -04:00
colors Move ungrammar support to vim-ungrammar repo 2020-10-25 12:33:19 -04:00
lua Initial implementation 2020-09-06 14:04:36 -04:00
media Update preview image 2020-08-28 14:22:49 -04:00
.gitignore Added .gitignore 2019-07-28 11:32:58 +02:00
LICENSE Update directions 2020-06-19 20:49:05 -04:00
README.md Add basic instructions 2020-09-06 14:41:05 -04:00
setup.sh Add missing shebang 2020-10-25 13:33:51 -04:00

README.md

Default Settings Preview

lua preview

Introduction

nvim-highlite is a colorscheme template repository for Neovim 0.5+.

This template's defaults focus on:

  1. Compatability with semantic highlighting.
    • I was using colorschemes that often did not provide enough highlight groups to provide distinction between tokens.
  2. Visibility in any range of blue-light.
    • I use redshift often, and many colorschemes did not allow for me to see when I had lower color temperatures.

This template's design focuses on:

  1. Ease of use and rapid development.
    • New features may simply be integrated with current configurations, rather than rewritten over them.
    • Merging with the upstream repository is simplified by GitHub, allowing you to select what new defaults to add.
    • It provides a large supply of defaults for plugins and programming languages.
      • Define a smaller set of "categorical" highlights (see Neovim's group-name help page) and many more will link automatically.
  2. Inversion of Control
    • Changes made to the highlighting algorithm won't affect how you write your colorscheme.
    • New highlight group attributes which are unaccounted for in older versions will simply be ignored without errors due to Lua's tables.

Prerequisites

  1. Neovim 0.5+

Usage

Creating Your Own

  1. This repository should be forked, or cloned with git clone https://github.com/Iron-E/nvim-highlite.
  2. Follow the instructions in colors/highlite.vim.
    • If you are on a Unix system, use the setup script like so:
    chmod +x ./setup.sh
    ./setup.sh highlite <colorscheme>
    
    Where <colorscheme> is the name of your desired colorscheme.
    • If you are on Windows, rename the files manually.

Just The Defaults

  1. Install a plugin manager such as vim-plug and use it to "plug" this repository.
    " vim-plug example
    Plug "Iron-E/nvim-highlite"
    
  2. Specify this colorscheme as your default colorscheme in the init.vim:
    " Enable 24-bit color output. Only do this if your environment supports it.
    " This plugin works 100% fine with 8-bit, 16-bit, and 24-bit colors.
    set termguicolors
    " Use the colorscheme
    colorscheme highlite
    

FAQ

Why am I receiving E5108: Error executing lua [string ":lua"]:1: module '<colorscheme>' not found?

  • Ensure your colorscheme's base folder is in Neovim's rtp before sourcing.

Examples

This repository in itself is an example of how to use nvim-highlite. Aside from this, the following colorschemes are built using nvim-highlite:

  • (if you use this, open an issue and I'll add it here!)
--[[Keep in mind, the following example is meant to be used within the context of the `colors/highlite.vim` file.]]
-- First, define some colors
local red = {'#FF0000', 1, 'red'}
local black = {'#000000', 0, 'black'}
local white = {'#FFFFFF', 255, 'white'}

-- Next define some highlight groups.
local highlight_groups = {
	-- Any field which can be set to "NONE" doesn't need to be set, it will be automatically assumed to be "NONE".
	Identifier = {bg=red, fg=black, style='bold'},
	-- If you want to have a colorscheme which is responsive to multiple background settings, you can do that too:
	Function = {dark={bg=black}, light={bg=white}, fg=red}
	--[[ Note that light/dark differentiation is completely optional. ]]
}

-- The rest is mostly handled by the template.