A dark and earthy colorscheme for Neovim. (mirror) github.com/ptdewey/darkearth-nvim
neovim neovim-colorscheme fennel

Merge remote-tracking branch 'refs/remotes/origin/main'

ptdewey 785e5825 494df30e

+186 -186
+20 -9
README.md
··· 1 - # darkearth-nvim 2 - A dark and earthy colorscheme for Neovim. 1 + <h1 align="center">DarkEarth Neovim</h1> 2 + 3 + <p align="center"> 4 + A dark and earthy colorscheme for Neovim. 5 + </p> 6 + 7 + <p align="center"> 8 + <img src="assets/color_bar.png" alt="DarkEarth palette"/> 9 + </p> 3 10 4 11 Based on [miasma.nvim](https://github.com/xero/miasma.nvim), and built with [lush](https://github.com/rktjmp/lush.nvim). 12 + Compared to Miasma, darkearth is built to be more colorful overall to reduce sameyness as well as being more centered around browns than grays to enhance the earthiness. 5 13 6 - ![](assets/screenshot-0.png) 14 + <p align="center"> 15 + <img src="assets/screenshot-0.png" alt="DarkEarth theme in neovim"/> 16 + </p> 17 + 7 18 8 19 ## Installation 9 20 ··· 23 34 ``` 24 35 25 36 ## Usage 37 + 26 38 ```lua 27 39 -- enable the colorscheme 28 40 vim.cmd.colorscheme("darkearth") 29 41 ``` 30 42 31 - ## Build/Modify Colorscheme 43 + ## Build or Modify 44 + 32 45 1. Ensure [lush.nvim](https://github.com/rktjmp/lush.nvim) and [shipwright.nvim](https://github.com/rktjmp/shipwright.nvim) are installed 33 46 2. Add new modifications to [lush_theme/darkearth.lua](lush_theme/darkearth.lua) 34 - 3. Rebuild the colorscheme by running `./build.sh` 47 + 3. Rebuild the colorscheme using `./build.sh` 35 48 36 49 37 - ## base16 Colorscheme 38 - I have also included a base16 colorscheme script [base16-darkearth.sh](base16-darkearth.sh) that can be used to set shell colors. 50 + ## Extras 39 51 52 + I have also included a base16 colorscheme script [extras/base16-darkearth.sh](extras/base16-darkearth.sh) that can be used to set shell colors. 40 53 41 - ## Disclaimer 42 - This color scheme is fairly early in development and things are subject to change. (Changes will primarily be new additions)
assets/color_bar.png

This is a binary file and will not be displayed.

-124
base16-darkearth.sh
··· 1 - #!/bin/sh 2 - # based off of base16-shell (https://github.com/chriskempson/base16-shell) 3 - 4 - # darkearth scheme (by ptdewey) 5 - 6 - base00="24/21/1E" # dark grey-brown (background) 7 - base01="22/1F/1C" # slightly ligher brown (alt-background) 8 - base02="44/4A/2B" # very dark green 9 - base03="6E/66/5E" # medium grey 10 - base04="73/66/59" # medium grey-brown 11 - base05="D7/C4/84" # light tan (foreground) 12 - base06="BB/78/44" # light orange 13 - base07="77/82/4A" # main green 14 - base08="B3/6B/42" # main orange 15 - base09="C9/A6/54" # main yellow 16 - base0A="5F/86/5F" # main teal 17 - base0B="AC/98/7D" # darker tan - new 18 - base0C="8A/7A/6B" # ligher grey-brown - new 19 - base0D="77/82/4A" # NOTE: duplicate, can be modified 20 - base0E="BB/78/44" # NOTE: duplicate, can be modified 21 - base0F="67/56/42" # darker brown (similar to alt background) 22 - 23 - color00=$base00 # bg 24 - color01=$base0B # darker tan 25 - color02=$base0A # teal 26 - color03=$base07 # green 27 - color04=$base08 # main orange 28 - color05=$base06 # light orange 29 - color06=$base09 # yellow 30 - color07=$base05 # fg 31 - color08=$base0F # darker brown 32 - color09=$base0B # darker tan 33 - color10=$base0A # teal 34 - color11=$base07 # green 35 - color12=$base08 # orange 36 - color13=$base06 # light orange 37 - color14=$base09 # yellow 38 - color15=$base05 # fg 39 - 40 - if [ -n "$BASE16_SHELL_SET_BACKGROUND" ]; then 41 - if [ "$BASE16_SHELL_SET_BACKGROUND" = true ]; then 42 - color16=$base00 43 - color17=$base00 44 - else 45 - color16=$base01 46 - color17=$base01 47 - fi 48 - else 49 - color16=$base01 50 - color17=$base01 51 - fi 52 - 53 - color18=$base01 54 - color19=$base02 55 - color20=$base03 56 - color21=$base04 57 - 58 - # 16 color space 59 - if [ -n "$TMUX" ]; then 60 - put_template() { printf '\033Ptmux;\033\033]4;%d;rgb:%s\033\033\\\033\\' $@; } 61 - put_template_var() { printf '\033Ptmux;\033\033]%d;rgb:%s\033\033\\\033\\' $@; } 62 - put_template_custom() { printf '\033Ptmux;\033\033]%s%s\033\033\\\033\\' $@; } 63 - elif [ "${TERM%%[-.]*}" = "screen" ]; then 64 - put_template() { printf '\033P\033]4;%d;rgb:%s\033\\\033\\' $@; } 65 - put_template_var() { printf '\033P\033]%d;rgb:%s\033\\\033\\' $@; } 66 - put_template_custom() { printf '\033P\033]%s%s\033\\\033\\' $@; } 67 - elif [ "${TERM%%-*}" = "linux" ]; then 68 - put_template() { [ $1 -lt 16 ] && printf '\033]P%x%s' $1 $(echo $2 | sed 's/\///g'); } 69 - put_template_var() { true; } 70 - put_template_custom() { true; } 71 - else 72 - put_template() { printf '\033]4;%d;rgb:%s\033\\' $@; } 73 - put_template_var() { printf '\033]%d;rgb:%s\033\\' $@; } 74 - put_template_custom() { printf '\033]%s%s\033\\' $@; } 75 - fi 76 - 77 - put_template 0 $color00 78 - put_template 1 $color01 79 - put_template 2 $color02 80 - put_template 3 $color03 81 - put_template 4 $color04 82 - put_template 5 $color05 83 - put_template 6 $color06 84 - put_template 7 $color07 85 - put_template 8 $color08 86 - put_template 9 $color09 87 - put_template 10 $color10 88 - put_template 11 $color11 89 - put_template 12 $color12 90 - put_template 13 $color13 91 - put_template 14 $color14 92 - put_template 15 $color15 93 - 94 - put_template_var 10 $base05 95 - if [ "$BASE16_SHELL_SET_BACKGROUND" != false ]; then 96 - put_template_var 11 $base00 97 - fi 98 - put_template_custom 12 ";7" 99 - 100 - unset -f put_template 101 - unset -f put_template_var 102 - unset -f put_template_custom 103 - unset color00 104 - unset color01 105 - unset color02 106 - unset color03 107 - unset color04 108 - unset color05 109 - unset color06 110 - unset color07 111 - unset color08 112 - unset color09 113 - unset color10 114 - unset color11 115 - unset color12 116 - unset color13 117 - unset color14 118 - unset color15 119 - unset color16 120 - unset color17 121 - unset color18 122 - unset color19 123 - unset color20 124 - unset color21
+16 -36
doc/darkearth-nvim.txt
··· 1 - *darkearth-nvim.txt* For Neovim >= 0.7.0 Last change: 2024 June 11 1 + *darkearth-nvim.txt* For Neovim >= 0.7.0 Last change: 2024 June 28 2 2 3 3 ============================================================================== 4 4 Table of Contents *darkearth-nvim-table-of-contents* 5 5 6 - 1. darkearth-nvim |darkearth-nvim-darkearth-nvim| 7 - - Installation |darkearth-nvim-darkearth-nvim-installation| 8 - - Usage |darkearth-nvim-darkearth-nvim-usage| 9 - - Build/Modify Colorscheme|darkearth-nvim-darkearth-nvim-build/modify-colorscheme| 10 - - base16 Colorscheme |darkearth-nvim-darkearth-nvim-base16-colorscheme| 11 - - Disclaimer |darkearth-nvim-darkearth-nvim-disclaimer| 12 - 2. Links |darkearth-nvim-links| 13 - 14 - ============================================================================== 15 - 1. darkearth-nvim *darkearth-nvim-darkearth-nvim* 16 - 17 - A dark and earthy colorscheme for Neovim. 18 - 19 - Based on miasma.nvim <https://github.com/xero/miasma.nvim>, and built with lush 20 - <https://github.com/rktjmp/lush.nvim>. 21 - 22 - 6 + - Installation |darkearth-nvim-installation| 7 + - Usage |darkearth-nvim-usage| 8 + - Build or Modify |darkearth-nvim-build-or-modify| 9 + - Extras |darkearth-nvim-extras| 10 + DarkEarth NeovimA dark and earthy colorscheme for Neovim.Based on miasma.nvim <https://github.com/xero/miasma.nvim>, and built with lush 11 + <https://github.com/rktjmp/lush.nvim>. Compared to Miasma, darkearth is built 12 + to be more colorful overall to reduce sameyness as well as being more centered 13 + around browns than grays to enhance the earthiness. 23 14 24 15 25 - INSTALLATION *darkearth-nvim-darkearth-nvim-installation* 16 + INSTALLATION *darkearth-nvim-installation* 26 17 27 18 Lazy: 28 19 ··· 42 33 < 43 34 44 35 45 - USAGE *darkearth-nvim-darkearth-nvim-usage* 36 + USAGE *darkearth-nvim-usage* 46 37 47 38 >lua 48 39 -- enable the colorscheme ··· 50 41 < 51 42 52 43 53 - BUILD/MODIFY COLORSCHEME*darkearth-nvim-darkearth-nvim-build/modify-colorscheme* 44 + BUILD OR MODIFY *darkearth-nvim-build-or-modify* 54 45 55 46 1. Ensure lush.nvim <https://github.com/rktjmp/lush.nvim> and shipwright.nvim <https://github.com/rktjmp/shipwright.nvim> are installed 56 47 2. Add new modifications to lush_theme/darkearth.lua <lush_theme/darkearth.lua> 57 - 3. Rebuild the colorscheme by running `./build.sh` 58 - 59 - 60 - BASE16 COLORSCHEME *darkearth-nvim-darkearth-nvim-base16-colorscheme* 61 - 62 - I have also included a base16 colorscheme script base16-darkearth.sh 63 - <base16-darkearth.sh> that can be used to set shell colors. 48 + 3. Rebuild the colorscheme using `./build.sh` 64 49 65 50 66 - DISCLAIMER *darkearth-nvim-darkearth-nvim-disclaimer* 51 + EXTRAS *darkearth-nvim-extras* 67 52 68 - This color scheme is fairly early in development and things are subject to 69 - change. (Changes will primarily be new additions) 70 - 71 - ============================================================================== 72 - 2. Links *darkearth-nvim-links* 73 - 74 - 1. **: assets/screenshot-0.png 53 + I have also included a base16 colorscheme script extras/base16-darkearth.sh 54 + <extras/base16-darkearth.sh> that can be used to set shell colors. 75 55 76 56 Generated by panvimdoc <https://github.com/kdheepak/panvimdoc> 77 57
+124
extras/base16-darkearth.sh
··· 1 + #!/bin/sh 2 + # based off of base16-shell (https://github.com/chriskempson/base16-shell) 3 + 4 + # darkearth scheme (by ptdewey) 5 + 6 + base00="24/21/1E" # dark grey-brown (background) 7 + base01="22/1F/1C" # slightly ligher brown (alt-background) 8 + base02="44/4A/2B" # very dark green 9 + base03="6E/66/5E" # medium grey 10 + base04="73/66/59" # medium grey-brown 11 + base05="D7/C4/84" # light tan (foreground) 12 + base06="BB/78/44" # light orange 13 + base07="77/82/4A" # main green 14 + base08="B3/6B/42" # main orange 15 + base09="C9/A6/54" # main yellow 16 + base0A="5F/86/5F" # main teal 17 + base0B="AC/98/7D" # darker tan - new 18 + base0C="8A/7A/6B" # ligher grey-brown - new 19 + base0D="b3/66/4d" # main red 20 + base0E="BB/78/44" # NOTE: duplicate, can be modified 21 + base0F="67/56/42" # darker brown (similar to alt background) 22 + 23 + color00=$base00 # bg 24 + color01=$base0B # darker tan 25 + color02=$base0A # teal 26 + color03=$base07 # green 27 + color04=$base08 # main orange 28 + color05=$base06 # light orange 29 + color06=$base09 # yellow 30 + color07=$base05 # fg 31 + color08=$base0F # darker brown 32 + color09=$base0B # darker tan 33 + color10=$base0A # teal 34 + color11=$base07 # green 35 + color12=$base08 # orange 36 + color13=$base06 # light orange 37 + color14=$base09 # yellow 38 + color15=$base05 # fg 39 + 40 + if [ -n "$BASE16_SHELL_SET_BACKGROUND" ]; then 41 + if [ "$BASE16_SHELL_SET_BACKGROUND" = true ]; then 42 + color16=$base00 43 + color17=$base00 44 + else 45 + color16=$base01 46 + color17=$base01 47 + fi 48 + else 49 + color16=$base01 50 + color17=$base01 51 + fi 52 + 53 + color18=$base01 54 + color19=$base02 55 + color20=$base03 56 + color21=$base04 57 + 58 + # 16 color space 59 + if [ -n "$TMUX" ]; then 60 + put_template() { printf '\033Ptmux;\033\033]4;%d;rgb:%s\033\033\\\033\\' $@; } 61 + put_template_var() { printf '\033Ptmux;\033\033]%d;rgb:%s\033\033\\\033\\' $@; } 62 + put_template_custom() { printf '\033Ptmux;\033\033]%s%s\033\033\\\033\\' $@; } 63 + elif [ "${TERM%%[-.]*}" = "screen" ]; then 64 + put_template() { printf '\033P\033]4;%d;rgb:%s\033\\\033\\' $@; } 65 + put_template_var() { printf '\033P\033]%d;rgb:%s\033\\\033\\' $@; } 66 + put_template_custom() { printf '\033P\033]%s%s\033\\\033\\' $@; } 67 + elif [ "${TERM%%-*}" = "linux" ]; then 68 + put_template() { [ $1 -lt 16 ] && printf '\033]P%x%s' $1 $(echo $2 | sed 's/\///g'); } 69 + put_template_var() { true; } 70 + put_template_custom() { true; } 71 + else 72 + put_template() { printf '\033]4;%d;rgb:%s\033\\' $@; } 73 + put_template_var() { printf '\033]%d;rgb:%s\033\\' $@; } 74 + put_template_custom() { printf '\033]%s%s\033\\' $@; } 75 + fi 76 + 77 + put_template 0 $color00 78 + put_template 1 $color01 79 + put_template 2 $color02 80 + put_template 3 $color03 81 + put_template 4 $color04 82 + put_template 5 $color05 83 + put_template 6 $color06 84 + put_template 7 $color07 85 + put_template 8 $color08 86 + put_template 9 $color09 87 + put_template 10 $color10 88 + put_template 11 $color11 89 + put_template 12 $color12 90 + put_template 13 $color13 91 + put_template 14 $color14 92 + put_template 15 $color15 93 + 94 + put_template_var 10 $base05 95 + if [ "$BASE16_SHELL_SET_BACKGROUND" != false ]; then 96 + put_template_var 11 $base00 97 + fi 98 + put_template_custom 12 ";7" 99 + 100 + unset -f put_template 101 + unset -f put_template_var 102 + unset -f put_template_custom 103 + unset color00 104 + unset color01 105 + unset color02 106 + unset color03 107 + unset color04 108 + unset color05 109 + unset color06 110 + unset color07 111 + unset color08 112 + unset color09 113 + unset color10 114 + unset color11 115 + unset color12 116 + unset color13 117 + unset color14 118 + unset color15 119 + unset color16 120 + unset color17 121 + unset color18 122 + unset color19 123 + unset color20 124 + unset color21
+18
extras/darkearth.yaml
··· 1 + scheme: "DarkEarth" 2 + author: "ptdewey" 3 + base00: "24211E" 4 + base01: "AC987D" 5 + base02: "5F865F" 6 + base03: "77824A" 7 + base04: "B36B42" 8 + base05: "BB7844" 9 + base06: "C9A654" 10 + base07: "D7C484" 11 + base08: "24211E" 12 + base09: "AC987D" 13 + base0A: "5F865F" 14 + base0B: "77824A" 15 + base0C: "B36B42" 16 + base0D: "BB7844" 17 + base0E: "C9A654" 18 + base0F: "D7C484"
+8 -17
lush_theme/darkearth.lua
··· 12 12 local theme = lush(function(injected_functions) 13 13 local sym = injected_functions.sym 14 14 return { 15 - -- Normal { fg=hsl(46, 51, 68), bg=hsl(0, 0, 13), }, -- NOTE: original 16 15 Normal { fg=hsl(46, 51, 68), bg=bgc, }, 17 16 SpecialKey { fg=hsl(46, 51, 68), }, 18 17 TermCursor { gui="reverse", }, ··· 32 31 Substitute { Search }, 33 32 MoreMsg { fg=hsl(120, 17, 45), gui="bold", }, 34 33 ModeMsg { gui="bold", }, 35 - -- LineNr { fg=hsl(0, 0, 40), bg=lnbg, }, 36 34 LineNr { fg=hsl(71, 27, 40), bg=lnbg, }, 37 35 DefLineNr { fg=lnfg, bg=lnbg, }, 38 36 LineNrAbove { DefLineNr }, ··· 42 40 Question { fg=hsl(120, 17, 45), gui="bold", }, 43 41 StatusLine { fg=hsl(46, 51, 68), gui="bold", bg=bgc, }, 44 42 MsgSeparator { StatusLine }, 45 - -- StatusLineNC { fg=hsl(0, 0, 40), gui="bold", bg=bgc, }, 46 43 StatusLineNC { fg=lnfg, gui="bold", bg=bgc, }, 47 44 Ignore { fg=hsl(20, 5, 27), }, 48 45 VertSplit { fg=lnbg, bg=bgc, }, ··· 113 110 NvimInvalid { Error }, 114 111 Todo { fg=hsl(46, 51, 68), gui="bold", }, 115 112 sym"@text.todo" { Todo }, 116 - String { fg=hsl(33, 40, 50), }, -- NOTE: changed l from 33, s from 22 113 + String { fg=hsl(33, 40, 50), }, 117 114 sym"@string" { String }, 118 115 NvimString { String }, 119 116 phpHereDoc { String }, ··· 130 127 -- Number { fg=hsl(71, 27, 40), }, -- NOTE: original 131 128 -- Number { fg=hsl(60, 20, 50), }, 132 129 -- Number { fg=hsl(40, 55, 60), }, 133 - -- Number { fg=hsl(25, 70, 60), }, 134 130 -- Number { fg=hsl(300, 10, 55), }, 135 131 Number { fg=hsl(15, 40, 50), }, 136 132 Float { Number }, 137 133 sym"@number" { Number }, 138 134 NvimNumber { Number }, 139 135 rubyInstanceVariable { Number }, 140 - -- Boolean { fg=hsl(72, 27, 40), }, 141 136 Boolean { Number }, 142 137 sym"@boolean" { Boolean }, 143 138 Function { fg=hsl(72, 27, 40), }, ··· 149 144 Identifier { fg=hsl(46, 51, 68), }, 150 145 sym"@text.reference" { Identifier }, 151 146 sym"@parameter" { Identifier }, 152 - -- Field { fg=hsl(80, 30, 40), }, -- NOTE: changed from Identifier 153 - -- Field { fg=hsl(140, 20, 50), }, 154 147 Field { fg=hsl(26, 47, 50), }, 155 - sym"@field" { Field }, -- NOTE: changed from Identifier 156 - sym"@property" { Field }, -- NOTE: changed from Identifier 148 + sym"@field" { Field }, 149 + sym"@property" { Field }, 157 150 sym"@variable" { Identifier }, 158 151 sym"@namespace" { Identifier }, 159 152 sym"@lsp.type.parameter" { Identifier }, ··· 170 163 phpDefine { Statement }, 171 164 helpHyperTextEntry { Statement }, 172 165 Keyword { fg=hsl(120, 17, 45), }, 173 - -- Keyword { fg=hsl(30, 45, 60), }, 174 166 sym"@keyword" { Keyword }, 175 167 PreProc { Keyword }, 176 168 Include { PreProc }, ··· 192 184 SpecialComment { Special }, 193 185 Debug { Special }, 194 186 sym"@constant.builtin" { Special }, 195 - sym"@function.builtin" { Function }, -- NOTE: changed from Special (maybe change to function) 187 + sym"@function.builtin" { Function }, 196 188 sym"@constructor" { Special }, 197 189 TelescopeMatching { Special }, 198 190 TelescopeResultsFileIcon { Special }, 199 191 Delimiter { fg=hsl(46, 25, 40), }, 200 - DelimiterLight { fg=hsl(46, 51, 68), }, -- NOTE: custom color 201 - Operator { fg=hsl(140, 20, 50), }, -- NOTE: changed from Delimiter 202 - -- Operator { fg=hsl(28, 60, 50), }, 192 + DelimiterLight { fg=hsl(46, 51, 68), }, 193 + Operator { fg=hsl(140, 20, 50), }, 203 194 sym"@punctuation" { Delimiter }, 204 - sym"@punctuation.bracket" { DelimiterLight }, -- NOTE: custom definition 195 + sym"@punctuation.bracket" { DelimiterLight }, 205 196 MyParentheses { Delimiter }, 206 197 NvimParenthesis { Delimiter }, 207 198 NvimColon { Delimiter }, ··· 240 231 DiagnosticSignHint { fg=hsl(120, 17, 45), bg=lnbg, }, 241 232 DiagnosticDeprecated { gui="strikethrough", sp=hsl(33, 22, 33), }, 242 233 DiagnosticUnnecessary { fg=hsl(20, 5, 40), }, 243 - Comment { fg=hsl(30, 8, 40), gui="italic", }, -- NOTE: changed l from 40, italic, s 0, h 0 234 + Comment { fg=hsl(30, 8, 40), gui="italic", }, 244 235 sym"@text.literal" { Comment }, 245 236 sym"@comment" { Comment }, 246 237 sym"@lsp.type.comment" { Comment },