Fix several mistakes; update readme

This commit is contained in:
Iron_E 2020-06-21 22:38:18 -04:00
parent 5f89cc8da0
commit 03e2382a30
No known key found for this signature in database
GPG Key ID: B0B37DE7EDC2335F
3 changed files with 110 additions and 97 deletions

View File

@ -4,13 +4,15 @@
This template's focus is on compatability with [semantic highlighting](https://medium.com/@evnbr/coding-in-color-3a6db2743a1e).
It provides a large supply of defaults for plugins and programming languages as a result of defining a smaller set of "categorical" highlights (you can read more about this at Neovim's `group-name` help page).
# Prerequisites
1. Neovim 0.5+
# Usage
Usage is simple. This repository should be cloned with `git clone https://github.com/Iron-E/nvim-highlite`, and then:
This repository should be cloned with `git clone https://github.com/Iron-E/nvim-highlite`, and then:
1. Rename `lua/highlite/` to `lua/<name of your colorscheme>/`.
2. Follow the directions in [lua/`<name of your colorscheme>`/init.lua](lua/highlite/init.lua).

View File

@ -1,30 +1,29 @@
--[[ NOTHING IN THIS FILE NEEDS TO BE EDITED BY THE USER. ]]
return function(name, Normal, highlights, terminal_ansi_colors)
-- Clear the highlighting.
vim.cmd('hi clear')
-- Clear the highlighting.
vim.cmd('hi clear')
-- If the syntax has been enabled, reset it.
if vim.fn.exists('syntax_on') then vim.cmd('syntax reset') end
vim.o.background = 'dark'
vim.g.indent_guides_auto_colors = 0
-- Set the name of the current colorscheme.
vim.g.colors_name = string.lower(name)
-- If the syntax has been enabled, reset it.
if vim.fn.exists('syntax_on') then vim.cmd('syntax reset') end
-- Determine which set of colors to use.
local use_hex_and_256 = string.find(vim.fn.expand('$TERM'), '256')
-- Determine which set of colors to use.
local use_hex_and_256 = string.find(vim.fn.expand('$TERM'), '256')
or vim.g.t_Co >= 256
or vim.fn.has("gui_running")
-- If we aren't using the hex and 256 colorset, then set the &t_Co variable to 16.
if not use_hex_and_256 then vim.g.t_Co = 16 end
-- If we aren't using the hex and 256 colorset, then set the &t_Co variable to 16.
if not use_hex_and_256 then vim.g.t_Co = 16 end
-- These are constants for the indexes in the colors that were defined before.
local BIT_16 = 3
local BIT_256 = 2
local HEX = 1
-- These are constants for the indexes in the colors that were defined before.
local BIT_16 = 3
local BIT_256 = 2
local HEX = 1
-- Get the color value of a color variable, or "NONE" as a default.
local function get(color, index)
-- Get the color value of a color variable, or "NONE" as a default.
local function get(color, index)
if type(color) == 'table' and color[index] then
return color[index]
elseif type(color) == 'string' then
@ -32,10 +31,10 @@ return function(name, Normal, highlights, terminal_ansi_colors)
else
return "NONE"
end
end
end
-- Generate a `:highlight` command from a group and some attributes.
local function highlight(highlight_group, attributes) -- {{{ †
-- Generate a `:highlight` command from a group and some attributes.
local function highlight(highlight_group, attributes) -- {{{ †
local highlight_cmd = {'hi! ', highlight_group}
local link = attributes.link
@ -62,7 +61,7 @@ return function(name, Normal, highlights, terminal_ansi_colors)
end
-- This function appends `selected_attributes` to the end of the `highlight_cmd`.
function append_style(selected_attributes)
local function append_style(selected_attributes)
highlight_cmd[#highlight_cmd + 1] = ' cterm=' .. selected_attributes
-- If we're using hex populate the gui* attr args.
@ -87,7 +86,11 @@ return function(name, Normal, highlights, terminal_ansi_colors)
end
vim.cmd(table.concat(highlight_cmd))
end --}}} ‡
end --}}} ‡
return function(name, Normal, highlights, terminal_ansi_colors)
-- Set the name of the current colorscheme.
vim.g.colors_name = string.lower(name)
-- Highlight the baseline.
highlight('Normal', Normal)
@ -101,7 +104,4 @@ return function(name, Normal, highlights, terminal_ansi_colors)
for index, color in ipairs(terminal_ansi_colors) do
vim.g['terminal_color_' .. index] = color[HEX]
end
vim.o.background = 'dark'
vim.g.indent_guides_auto_colors = 0
end

View File

@ -65,6 +65,8 @@ local name = 'highlite'
If your colors are defined correctly, the resulting colorscheme is guaranteed
to work in GVim (Windows/Linux), MacVim (MacOS), and any properly set up terminal emulator.
NOTE: |Replace-mode| will probably be useful here.
]]
local black = {'#202020', 0, 'black'}
@ -164,6 +166,14 @@ local purple_dark = {'#c700ff', 38, 'darkmagenta'}
remove any if you want a working colorscheme. Most of them are described under
:help highlight-default, the others are taken from :help group-name. Both help sections
are good reads, by the way.
NOTE: |Replace-mode| will probably be useful here.
NOTE: /As long as you do not remove any highlight groups or colors/, you can safely
ignore any highlight groups that are `link`ed others.
For example, programming languages almost exclusively link to the 1st
and 2nd sections, so as long as you define everything there you will automatically
be defining the rest of the highlights.
]]
--[[ DO NOT EDIT THESE. You can use them instead of string literals. ]]
@ -222,7 +232,7 @@ local highlights = {
SpecialChar = {link='Character' },
SpecialKey = {link='Character' },
Tag = {link='Underlined' },
Delimiter = {bg=NONE, fg=gray, style=NONE },
Delimiter = {link='Normal' },
SpecialComment = {bg=NONE, fg=gray, style={'bold', 'nocombine'}},
Debug = {link='WarningMsg' },
@ -393,6 +403,7 @@ local highlights = {
mkdCodeDelimiter = {link='Delimiter' },
mkdItalic = {bg=NONE, fg=green, style='italic'},
mkdListItem = {link='Special' },
mkdNonListItemBlock = {bg=NONE, fg=gray, style=NONE },
texMathZoneY = {link='String' },
--[[ 4.3.20. Python ]]