feat: update config, docs, and add italics to more groups
This commit is contained in:
parent
8e828749cd
commit
58715dc627
44
README.md
44
README.md
@ -7,7 +7,7 @@ _A modern Neovim port of a deftheme [adaptation][gruber-darker-theme] of an Emac
|
|||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
### Lazy
|
### Lazy (recommended)
|
||||||
|
|
||||||
```lua
|
```lua
|
||||||
{ "blazkowolf/gruber-darker.nvim" }
|
{ "blazkowolf/gruber-darker.nvim" }
|
||||||
@ -25,7 +25,7 @@ use "blazkowolf/gruber-darker.nvim"
|
|||||||
Plug 'blazkowolf/gruber-darker.nvim'
|
Plug 'blazkowolf/gruber-darker.nvim'
|
||||||
```
|
```
|
||||||
|
|
||||||
Then, somewhere in your `init.lua`, set the colorscheme like this
|
Then, somewhere in your `init.lua`, set the colorscheme
|
||||||
|
|
||||||
```lua
|
```lua
|
||||||
vim.cmd.colorscheme("GruberDarker")
|
vim.cmd.colorscheme("GruberDarker")
|
||||||
@ -33,17 +33,39 @@ vim.cmd.colorscheme("GruberDarker")
|
|||||||
|
|
||||||
## Configuration
|
## Configuration
|
||||||
|
|
||||||
Configuration options can be changed by calling `setup()`
|
### Defaults
|
||||||
with your preferences prior to loading the colorscheme.
|
|
||||||
|
|
||||||
```lua
|
```lua
|
||||||
-- Config defaults
|
{
|
||||||
require("gruber-darker").setup({
|
bold = true,
|
||||||
bold = true,
|
italic = {
|
||||||
italic = true,
|
strings = true,
|
||||||
underline = true,
|
comments = true,
|
||||||
comment_italics = true,
|
operators = false,
|
||||||
})
|
folds = true,
|
||||||
|
},
|
||||||
|
underline = true,
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### With updated preferences
|
||||||
|
|
||||||
|
Change configuration options by calling `setup()`
|
||||||
|
prior to loading the colorscheme. Your preferences
|
||||||
|
will be merged with the defaults.
|
||||||
|
|
||||||
|
```lua
|
||||||
|
{
|
||||||
|
"blazkowolf/gruber-darker.nvim",
|
||||||
|
config = function()
|
||||||
|
require("gruber-darker").setup({
|
||||||
|
bold = false,
|
||||||
|
italic = {
|
||||||
|
strings = false,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
end
|
||||||
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
## Credits
|
## Credits
|
||||||
|
@ -1,15 +1,26 @@
|
|||||||
|
---@alias ItalicType
|
||||||
|
---|"strings"
|
||||||
|
---|"comments"
|
||||||
|
---|"operators"
|
||||||
|
---|"folds"
|
||||||
|
|
||||||
---@class GruberDarkerOpts
|
---@class GruberDarkerOpts
|
||||||
---@field bold boolean
|
---@field bold boolean
|
||||||
---@field italic boolean
|
---@field italic table<ItalicType, boolean>
|
||||||
|
---@field undercurl boolean
|
||||||
---@field underline boolean
|
---@field underline boolean
|
||||||
---@field comment_italics boolean
|
|
||||||
|
|
||||||
---@type GruberDarkerOpts
|
---@type GruberDarkerOpts
|
||||||
local DEFAULTS = {
|
local DEFAULTS = {
|
||||||
bold = true,
|
bold = true,
|
||||||
italic = true,
|
italic = {
|
||||||
|
strings = true,
|
||||||
|
comments = true,
|
||||||
|
operators = false,
|
||||||
|
folds = true,
|
||||||
|
},
|
||||||
|
-- undercurl = true,
|
||||||
underline = true,
|
underline = true,
|
||||||
comment_italics = true,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
---@class ConfigMgr
|
---@class ConfigMgr
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
local c = require("gruber-darker.palette")
|
local c = require("gruber-darker.palette")
|
||||||
local opts = require("gruber-darker.config").get_opts()
|
local opts = require("gruber-darker.config").get_opts()
|
||||||
local vim_hl = require("gruber-darker.highlights.vim")
|
local vim_hl = require("gruber-darker.highlights.vim").highlights
|
||||||
local Highlight = require("gruber-darker.highlight")
|
local Highlight = require("gruber-darker.highlight")
|
||||||
|
|
||||||
local M = {
|
local M = {
|
||||||
@ -24,8 +24,8 @@ end
|
|||||||
-- TSAnnotation = Highlight.new("", { }) -- For C++/Dart attributes, annotations that can be attached to the code to denote some kind of meta information.
|
-- TSAnnotation = Highlight.new("", { }) -- For C++/Dart attributes, annotations that can be attached to the code to denote some kind of meta information.
|
||||||
-- TSAttribute = Highlight.new("", { }) -- (unstable) TODO: docs
|
-- TSAttribute = Highlight.new("", { }) -- (unstable) TODO: docs
|
||||||
M.highlights.boolean = Highlight.new("TSBoolean", { fg = c.default.quartz }) -- For booleans.
|
M.highlights.boolean = Highlight.new("TSBoolean", { fg = c.default.quartz }) -- For booleans.
|
||||||
M.highlights.character = Highlight.new("TSCharacter", { fg = c.default.green }) -- For characters.
|
M.highlights.character = Highlight.new("TSCharacter", { link = vim_hl.character }) -- For characters.
|
||||||
M.highlights.comment = Highlight.new("TSComment", { fg = c.default.brown }) -- For comment blocks.
|
M.highlights.comment = Highlight.new("TSComment", { link = vim_hl.comment }) -- For comment blocks.
|
||||||
-- TSNote = Highlight.new("TSNote", { fg = c.bg, bg = c.info })
|
-- TSNote = Highlight.new("TSNote", { fg = c.bg, bg = c.info })
|
||||||
M.highlights.text_warning = Highlight.new("@text.warning", { fg = c.default.red })
|
M.highlights.text_warning = Highlight.new("@text.warning", { fg = c.default.red })
|
||||||
M.highlights.text_danger = Highlight.new("@text.danger", { fg = c.default.white, bg = c.default.red })
|
M.highlights.text_danger = Highlight.new("@text.danger", { fg = c.default.white, bg = c.default.red })
|
||||||
@ -58,9 +58,9 @@ M.highlights.constant = Highlight.new("TSConstant", { fg = c.default.quartz }) -
|
|||||||
-- ["@punctuation.special"] = Highlight.new("", { fg = c.blue5 }) -- For special punctutation that does not fall in the catagories before.
|
-- ["@punctuation.special"] = Highlight.new("", { fg = c.blue5 }) -- For special punctutation that does not fall in the catagories before.
|
||||||
|
|
||||||
-- For keywords related to loops.
|
-- For keywords related to loops.
|
||||||
M.highlights.repeats = Highlight.new("TSRepeat", { fg = c.default.yellow })
|
M.highlights.repeats = Highlight.new("TSRepeat", { link = vim_hl.repeats })
|
||||||
-- For strings.
|
-- For strings.
|
||||||
M.highlights.string = Highlight.new("TSString", { fg = c.default.green })
|
M.highlights.string = Highlight.new("TSString", { link = vim_hl.string })
|
||||||
-- ["@string.regex"] = Highlight.new("", { fg = c.blue6 }) -- For regexes.
|
-- ["@string.regex"] = Highlight.new("", { fg = c.blue6 }) -- For regexes.
|
||||||
-- ["@string.escape"] = Highlight.new("", { fg = c.magenta }) -- For escape characters within a string.
|
-- ["@string.escape"] = Highlight.new("", { fg = c.magenta }) -- For escape characters within a string.
|
||||||
-- TSSymbol = Highlight.new("", { }) -- For identifiers referring to symbols or atoms.
|
-- TSSymbol = Highlight.new("", { }) -- For identifiers referring to symbols or atoms.
|
||||||
@ -84,8 +84,8 @@ M.highlights.type = Highlight.new("TSType", { fg = c.default.quartz })
|
|||||||
---Any URI like a link or email.
|
---Any URI like a link or email.
|
||||||
M.highlights.uri = Highlight.new("TSURI", { fg = c.default.niagara, underline = opts.underline })
|
M.highlights.uri = Highlight.new("TSURI", { fg = c.default.niagara, underline = opts.underline })
|
||||||
|
|
||||||
M.highlights.text_diff_add = Highlight.new("@text.diff.add", { link = vim_hl.highlights.diff_add })
|
M.highlights.text_diff_add = Highlight.new("@text.diff.add", { link = vim_hl.diff_add })
|
||||||
M.highlights.text_diff_delete = Highlight.new("@text.diff.delete", { link = vim_hl.highlights.diff_delete })
|
M.highlights.text_diff_delete = Highlight.new("@text.diff.delete", { link = vim_hl.diff_delete })
|
||||||
M.highlights.text_diff_change = Highlight.new("@text.diff.change", { link = vim_hl.highlights.diff_change })
|
M.highlights.text_diff_change = Highlight.new("@text.diff.change", { link = vim_hl.diff_change })
|
||||||
|
|
||||||
return M
|
return M
|
||||||
|
@ -16,7 +16,7 @@ end
|
|||||||
|
|
||||||
---any comment
|
---any comment
|
||||||
M.highlights.comment =
|
M.highlights.comment =
|
||||||
Highlight.new("Comment", { fg = c.default.brown, italic = opts.comment_italics and opts.italic })
|
Highlight.new("Comment", { fg = c.default.brown, italic = opts.italic.comments })
|
||||||
---used for the columns set with 'colorcolumn'
|
---used for the columns set with 'colorcolumn'
|
||||||
M.highlights.color_column = Highlight.new("ColorColumn", { bg = c.default["bg+2"] })
|
M.highlights.color_column = Highlight.new("ColorColumn", { bg = c.default["bg+2"] })
|
||||||
---placeholder characters substituted for concealed text (see 'conceallevel')
|
---placeholder characters substituted for concealed text (see 'conceallevel')
|
||||||
@ -42,7 +42,7 @@ M.highlights.diff_delete = Highlight.new("DiffDelete", { fg = c.default["red+1"]
|
|||||||
---diff mode: Changed text within a changed line |diff.txt|
|
---diff mode: Changed text within a changed line |diff.txt|
|
||||||
M.highlights.diff_text = Highlight.new("DiffText", { fg = c.default.yellow, bg = c.default.none })
|
M.highlights.diff_text = Highlight.new("DiffText", { fg = c.default.yellow, bg = c.default.none })
|
||||||
---filler lines (~) after the end of the buffer. By default, this is highlighted like |hl-NonText|.
|
---filler lines (~) after the end of the buffer. By default, this is highlighted like |hl-NonText|.
|
||||||
M.highlights.end_of_buffer = Highlight.new("EndOfBuffer", { fg = c.default.fg, bg = c.default.bg })
|
M.highlights.end_of_buffer = Highlight.new("EndOfBuffer", { fg = c.default["bg+4"], bg = c.default.none })
|
||||||
---cursor in a focused terminal
|
---cursor in a focused terminal
|
||||||
M.highlights.term_cursor = Highlight.new("TermCursor", { bg = c.default.yellow })
|
M.highlights.term_cursor = Highlight.new("TermCursor", { bg = c.default.yellow })
|
||||||
---TermCursorNC= { }, ---cursor in an unfocused terminal
|
---TermCursorNC= { }, ---cursor in an unfocused terminal
|
||||||
@ -54,7 +54,7 @@ M.highlights.vert_split = Highlight.new("VertSplit", { fg = c.default["fg+2"], b
|
|||||||
---the column separating vertically split windows
|
---the column separating vertically split windows
|
||||||
M.highlights.win_separator = Highlight.new("WinSeparator", { fg = c.default["bg+2"], bold = opts.bold })
|
M.highlights.win_separator = Highlight.new("WinSeparator", { fg = c.default["bg+2"], bold = opts.bold })
|
||||||
---line used for closed folds
|
---line used for closed folds
|
||||||
M.highlights.folded = Highlight.new("Folded", { fg = c.default.brown, bg = c.default["fg+2"], italic = true })
|
M.highlights.folded = Highlight.new("Folded", { fg = c.default.brown, bg = c.default["fg+2"], italic = opts.italic.folds })
|
||||||
---'foldcolumn'
|
---'foldcolumn'
|
||||||
M.highlights.fold_column = Highlight.new("FoldColumn", { fg = c.default.brown, bg = c.default["fg+2"] })
|
M.highlights.fold_column = Highlight.new("FoldColumn", { fg = c.default.brown, bg = c.default["fg+2"] })
|
||||||
---column where |signs| are displayed
|
---column where |signs| are displayed
|
||||||
@ -78,9 +78,9 @@ M.highlights.non_text = Highlight.new("NonText", { fg = c.default["fg+2"] })
|
|||||||
---normal text
|
---normal text
|
||||||
M.highlights.normal = Highlight.new("Normal", { fg = c.default.fg, bg = c.default.bg })
|
M.highlights.normal = Highlight.new("Normal", { fg = c.default.fg, bg = c.default.bg })
|
||||||
---normal text in non-current windows
|
---normal text in non-current windows
|
||||||
M.highlights.normal_non_current = Highlight.new("NormalNC", { fg = c.default.fg, bg = c.default.bg })
|
M.highlights.normal_non_current = Highlight.new("NormalNC", { fg = c.default.fg, bg = c.default["bg-1"] })
|
||||||
---normal text in sidebar
|
---normal text in sidebar
|
||||||
M.highlights.normal_sidebar = Highlight.new("NormalSB", { fg = c.default.fg, bg = c.default.bg })
|
M.highlights.normal_sidebar = Highlight.new("NormalSB", { fg = c.default.fg, bg = c.default["bg-1"] })
|
||||||
---Normal text in floating windows.
|
---Normal text in floating windows.
|
||||||
M.highlights.normal_float = Highlight.new("NormalFloat", { fg = c.default.fg, bg = c.default.bg })
|
M.highlights.normal_float = Highlight.new("NormalFloat", { fg = c.default.fg, bg = c.default.bg })
|
||||||
M.highlights.float_border = Highlight.new("FloatBorder", { fg = c.default["bg+2"], bg = c.default["bg-1"] })
|
M.highlights.float_border = Highlight.new("FloatBorder", { fg = c.default["bg+2"], bg = c.default["bg-1"] })
|
||||||
@ -143,9 +143,9 @@ M.highlights.wild_menu = Highlight.new("WildMenu", { fg = c.default.black, bg =
|
|||||||
---(preferred) any constant
|
---(preferred) any constant
|
||||||
M.highlights.constant = Highlight.new("Constant", { fg = c.default.quartz })
|
M.highlights.constant = Highlight.new("Constant", { fg = c.default.quartz })
|
||||||
--- a string constant: "this is a string"
|
--- a string constant: "this is a string"
|
||||||
M.highlights.string = Highlight.new("String", { fg = c.default.green })
|
M.highlights.string = Highlight.new("String", { fg = c.default.green, italic = opts.italic.strings })
|
||||||
--- a character constant: 'c', '\n'
|
--- a character constant: 'c', '\n'
|
||||||
M.highlights.character = Highlight.new("Character", { fg = c.default.green })
|
M.highlights.character = Highlight.new("Character", { fg = c.default.green, italic = opts.italic.strings })
|
||||||
--- a number constant: 234, 0xff
|
--- a number constant: 234, 0xff
|
||||||
M.highlights.number = Highlight.new("Number", { fg = c.default.fg })
|
M.highlights.number = Highlight.new("Number", { fg = c.default.fg })
|
||||||
--- a boolean constant: TRUE, false
|
--- a boolean constant: TRUE, false
|
||||||
@ -165,7 +165,7 @@ M.highlights.repeats = Highlight.new("Repeat", { fg = c.default.yellow, bold = o
|
|||||||
---case, default, etc.
|
---case, default, etc.
|
||||||
M.highlights.label = Highlight.new("Label", { fg = c.default.yellow, bold = opts.bold })
|
M.highlights.label = Highlight.new("Label", { fg = c.default.yellow, bold = opts.bold })
|
||||||
---"sizeof", "+", "*", etc.
|
---"sizeof", "+", "*", etc.
|
||||||
M.highlights.operator = Highlight.new("Operator", { fg = c.default.yellow })
|
M.highlights.operator = Highlight.new("Operator", { fg = c.default.yellow, italic = opts.italic.operators })
|
||||||
---any other keyword
|
---any other keyword
|
||||||
M.highlights.keyword = Highlight.new("Keyword", { fg = c.default.yellow, bold = opts.bold })
|
M.highlights.keyword = Highlight.new("Keyword", { fg = c.default.yellow, bold = opts.bold })
|
||||||
---try, catch, throw
|
---try, catch, throw
|
||||||
@ -198,8 +198,8 @@ M.highlights.special = Highlight.new("Special", { fg = c.default.yellow })
|
|||||||
|
|
||||||
---(preferred) text that stands out, HTML links
|
---(preferred) text that stands out, HTML links
|
||||||
M.highlights.underlined = Highlight.new("Underlined", { underline = opts.underline })
|
M.highlights.underlined = Highlight.new("Underlined", { underline = opts.underline })
|
||||||
M.highlights.bold = Highlight.new("Bold", { bold = opts.bold })
|
M.highlights.bold = Highlight.new("Bold", { bold = true })
|
||||||
M.highlights.italic = Highlight.new("Italic", { italic = opts.italic })
|
M.highlights.italic = Highlight.new("Italic", { italic = true })
|
||||||
---("Ignore", below, may be invisible...)
|
---("Ignore", below, may be invisible...)
|
||||||
---Ignore = Highlight.new("Ignore", { }) ---(preferred) left blank, hidden |hl-Ignore|
|
---Ignore = Highlight.new("Ignore", { }) ---(preferred) left blank, hidden |hl-Ignore|
|
||||||
|
|
||||||
@ -214,10 +214,10 @@ M.highlights.md_code_block = Highlight.new("markdownCodeBlock", { fg = c.default
|
|||||||
---markdownH1 = Highlight.new("markdownH1", { fg = c.magenta, bold = true })
|
---markdownH1 = Highlight.new("markdownH1", { fg = c.magenta, bold = true })
|
||||||
---markdownH2 = Highlight.new("markdownH2", { fg = c.blue, bold = true })
|
---markdownH2 = Highlight.new("markdownH2", { fg = c.blue, bold = true })
|
||||||
---markdownLinkText = Highlight.new("markdownLinkText", { fg = c.blue, underline = true })
|
---markdownLinkText = Highlight.new("markdownLinkText", { fg = c.blue, underline = true })
|
||||||
M.highlights.md_italic = Highlight.new("markdownItalic", { fg = c.default.wisteria, italic = opts.italic })
|
M.highlights.md_italic = Highlight.new("markdownItalic", { fg = c.default.wisteria, italic = true })
|
||||||
M.highlights.md_bold = Highlight.new("markdownBold", { fg = c.default.yellow, bold = opts.bold })
|
M.highlights.md_bold = Highlight.new("markdownBold", { fg = c.default.yellow, bold = opts.bold })
|
||||||
M.highlights.md_code_delim =
|
M.highlights.md_code_delim =
|
||||||
Highlight.new("markdownCodeDelimiter", { fg = c.default.brown, italic = opts.italic })
|
Highlight.new("markdownCodeDelimiter", { fg = c.default.brown, italic = true })
|
||||||
M.highlights.md_error = Highlight.new("markdownError", { fg = c.default.fg, bg = c.default["bg+1"] })
|
M.highlights.md_error = Highlight.new("markdownError", { fg = c.default.fg, bg = c.default["bg+1"] })
|
||||||
|
|
||||||
return M
|
return M
|
||||||
|
Loading…
Reference in New Issue
Block a user