mirror of https://github.com/gabehf/base46.git
parent
25738d891f
commit
673b13166d
@ -1,64 +1,128 @@
|
||||
## NvChad theme plugin
|
||||
|
||||
- This plugin's a whole re-write of Norcalli's plugin.
|
||||
|
||||
(Note: This theme plugin is supposed to be used along with [NvChad](https://github.com/NvChad/NvChad) only so watchout!)
|
||||
- This theme plugin is supposed to be used along with [NvChad](https://github.com/NvChad/NvChad) only
|
||||
|
||||
## Contribute for new themes
|
||||
## Highlight command
|
||||
|
||||
- `:hi` command will list all highlight groups
|
||||
- `:hi` with args will highlight a **highlight group**
|
||||
- Example : `hi Comment guifg=#ffffff gui=italic, bold`
|
||||
|
||||
### Neovim Lua api for setting highlights
|
||||
|
||||
- Check `:h nvim_set_hl` for detailed doc
|
||||
|
||||
- go to base46/themes and add your file, ex: atheme.lua
|
||||
```lua
|
||||
-- atheme.lua file be like
|
||||
vim.api.nvim_set_hl(0, "Comment", {
|
||||
fg = "#ffffff",
|
||||
italic = true,
|
||||
bold = true,
|
||||
})
|
||||
```
|
||||
## Understanding theme variables
|
||||
|
||||
local M = {}
|
||||
There are 2 main tables used for `base46`
|
||||
|
||||
- `base_30` is used for general UI
|
||||
- `base_16` is used for syntax highlighting
|
||||
- Use a color lightening/darkening tool, such as this
|
||||
https://imagecolorpicker.com/color-code
|
||||
|
||||
**Note: the below values are mostly approx values so its not compulsory that you
|
||||
have to use those exact numbers, test your theme i.e show it in the PR to get
|
||||
feedback from @siduck**
|
||||
|
||||
## Default Theme table
|
||||
|
||||
```lua
|
||||
-- this line for types, by hovering and autocompletion (lsp required)
|
||||
-- will help you understanding properties, fields, and what highlightings the color used for
|
||||
---@type Base46Table
|
||||
local M = {}
|
||||
-- UI
|
||||
M.base_30 = {
|
||||
-- some colors
|
||||
white = "",
|
||||
black = "", -- usually your theme bg
|
||||
darker_black = "", -- 6% darker than black
|
||||
black2 = "", -- 6% lighter than black
|
||||
one_bg = "", -- 10% lighter than black
|
||||
one_bg2 = "", -- 6% lighter than one_bg2
|
||||
one_bg3 = "", -- 6% lighter than one_bg3
|
||||
grey = "", -- 40% lighter than black (the % here depends so choose the perfect grey!)
|
||||
grey_fg = "", -- 10% lighter than grey
|
||||
grey_fg2 = "", -- 5% lighter than grey
|
||||
light_grey = "",
|
||||
red = "",
|
||||
baby_pink = "",
|
||||
pink = "",
|
||||
line = "", -- 15% lighter than black
|
||||
green = "",
|
||||
vibrant_green = "",
|
||||
nord_blue = "",
|
||||
blue = "",
|
||||
seablue = "",
|
||||
yellow = "", -- 8% lighter than yellow
|
||||
sun = "",
|
||||
purple = "",
|
||||
dark_purple = "",
|
||||
teal = "",
|
||||
orange = "",
|
||||
cyan = "",
|
||||
statusline_bg = "",
|
||||
lightbg = "",
|
||||
pmenu_bg = "",
|
||||
folder_bg = ""
|
||||
}
|
||||
|
||||
-- check https://github.com/chriskempson/base16/blob/master/styling.md for more info
|
||||
M.base_16 = {
|
||||
-- some colors
|
||||
base00 = "",
|
||||
base01 = "",
|
||||
base02 = "",
|
||||
base03 = "",
|
||||
base04 = "",
|
||||
base05 = "",
|
||||
base06 = "",
|
||||
base07 = "",
|
||||
base08 = "",
|
||||
base09 = "",
|
||||
base0A = "",
|
||||
base0B = "",
|
||||
base0C = "",
|
||||
base0D = "",
|
||||
base0E = "",
|
||||
base0F = ""
|
||||
}
|
||||
|
||||
M.type = "dark" -- this can be either dark or light
|
||||
|
||||
M = require("base46").override_theme(M, "atheme")
|
||||
|
||||
return M
|
||||
```
|
||||
|
||||
## Understanding theme variables
|
||||
-- OPTIONAL
|
||||
-- overriding highlights for this specific theme only
|
||||
M.polish_hl = {
|
||||
Comment = {
|
||||
bg = "#ffffff" -- or M.base_30.cyan
|
||||
italic = true
|
||||
}
|
||||
}
|
||||
|
||||
- Read the following for base_16 variables https://github.com/chriskempson/base16/blob/master/styling.md
|
||||
-- set the theme type whether is dark or light
|
||||
M.type = "dark" -- "or light"
|
||||
|
||||
- Use a color lightening/darkening tool, such as this https://siduck.github.io/hex-tools/
|
||||
- The following variables are for base_30
|
||||
-- this will be later used for users to override your theme table from chadrc
|
||||
M = require("base46").override_theme(M, "abc")
|
||||
|
||||
return M
|
||||
```
|
||||
black = usually your theme bg
|
||||
darker_black = 6% darker than black
|
||||
black2 = 6% lighter than black
|
||||
|
||||
onebg = 10% lighter than black
|
||||
oneb2 = 19% lighter than black
|
||||
oneb3 = 27% lighter than black
|
||||
## Contribute
|
||||
|
||||
grey = 40% lighter than black (the % here depends so choose the perfect grey!)
|
||||
grey_fg = 10% lighter than grey
|
||||
grey_fg2 = 20% lighter than grey
|
||||
light_grey = 28% lighter than grey
|
||||
- Send PR in the https://github.com/NvChad/base46/tree/v2.0/lua/base46/themes
|
||||
|
||||
baby_pink = 15% lighter than red or any babypink color you like!
|
||||
line = 15% lighter than black
|
||||
### Testing your theme
|
||||
|
||||
nord_blue = 13% darker than blue
|
||||
sun = 8% lighter than yellow
|
||||
- Just place your theme file in `custom/themes` folder
|
||||
- And select the theme with theme switcher or change in chadrc
|
||||
|
||||
statusline_bg = 4% lighter than black
|
||||
lightbg = 13% lighter than statusline_bg
|
||||
lightbg2 = 7% lighter than statusline_bg
|
||||
## Tips
|
||||
|
||||
folder_bg = blue color
|
||||
|
||||
(note : the above values are mostly approx values so its not compulsory that you have to use those exact numbers , test your theme i.e show it in the PR to get feedback from @siduck)
|
||||
```
|
||||
- Capture what highlight are used under the cursor by running the `:Inspect` or
|
||||
`:InspectTree` commands
|
||||
|
||||
Loading…
Reference in new issue