{"id":13411701,"url":"https://github.com/neanias/everforest-nvim","last_synced_at":"2026-01-20T00:32:28.977Z","repository":{"id":75592710,"uuid":"550871327","full_name":"neanias/everforest-nvim","owner":"neanias","description":"A Lua port of the Everforest colour scheme","archived":false,"fork":false,"pushed_at":"2024-08-20T12:42:02.000Z","size":181,"stargazers_count":227,"open_issues_count":4,"forks_count":15,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-08-20T14:43:38.237Z","etag":null,"topics":["everforest","lua","neovim","neovim-colorscheme","neovim-plugin","neovim-theme"],"latest_commit_sha":null,"homepage":"","language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/neanias.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-10-13T13:14:25.000Z","updated_at":"2024-08-20T14:43:40.844Z","dependencies_parsed_at":"2023-12-21T12:48:37.122Z","dependency_job_id":"1ab10007-8294-4529-9c28-d3f461200a8d","html_url":"https://github.com/neanias/everforest-nvim","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":"ellisonleao/nvim-plugin-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neanias%2Feverforest-nvim","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neanias%2Feverforest-nvim/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neanias%2Feverforest-nvim/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neanias%2Feverforest-nvim/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/neanias","download_url":"https://codeload.github.com/neanias/everforest-nvim/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243618656,"owners_count":20320272,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["everforest","lua","neovim","neovim-colorscheme","neovim-plugin","neovim-theme"],"created_at":"2024-07-30T20:01:15.944Z","updated_at":"2026-01-20T00:32:28.936Z","avatar_url":"https://github.com/neanias.png","language":"Lua","funding_links":[],"categories":["Colorscheme","Lua"],"sub_categories":["Tree-sitter Supported Colorscheme","Assembly","Markdown and LaTeX"],"readme":"# Everforest.nvim\n\nA Lua port of the [everforest](https://github.com/sainnhe/everforest) colour\nscheme.\n\n||Dark|Light|\n|:-:|:-:|:-:|\n|**Hard**|![everforest colour scheme dark hard](https://github.com/neanias/everforest-nvim/assets/5786847/5a60315f-9311-4474-8a80-f2251344cc3a)|![eveforest colour scheme light hard](https://github.com/neanias/everforest-nvim/assets/5786847/acc83044-c9ec-4335-a1ab-2e5f3c9e7429)|\n|**Medium** (default)|![eveforest colour scheme dark medium](https://github.com/neanias/everforest-nvim/assets/5786847/7094683a-1030-4cfe-b573-210f0b7863b1)|![everforest colour scheme light medium](https://github.com/neanias/everforest-nvim/assets/5786847/cccd5514-40ff-4155-b264-ceeba7b40ebf)|\n|**Soft**|![everforest colour scheme dark soft](https://github.com/neanias/everforest-nvim/assets/5786847/affeb2a7-d934-4c55-a946-d03da01f389a)|![everforest colour scheme light soft](https://github.com/neanias/everforest-nvim/assets/5786847/570e23b2-0515-499b-a257-5a8afe80082e)|\n\n_All screenshots taken from [my personal config](https://github.com/neanias/config/blob/main/nvim/lua/settings/plugins/everforest.lua)_\n\n## Features\n\n- 100% Lua, supports Treesitter \u0026 LSP\n- Vim terminal colours\n- **Lualine** theme\n\n## Installation\n\nUsing [lazy.nvim](https://github.com/folke/lazy.nvim):\n\n```lua\nrequire(\"lazy\").setup({\n  \"neanias/everforest-nvim\",\n  version = false,\n  lazy = false,\n  priority = 1000, -- make sure to load this before all the other start plugins\n  -- Optional; default configuration will be used if setup isn't called.\n  config = function()\n    require(\"everforest\").setup({\n      -- Your config here\n    })\n  end,\n})\n```\n\nUsing [packer.nvim](https://github.com/wbthomason/packer.nvim):\n\n```lua\nuse({\n  \"neanias/everforest-nvim\",\n  -- Optional; default configuration will be used if setup isn't called.\n  config = function()\n    require(\"everforest\").setup()\n  end,\n})\n```\n\nUsing [vim-plug](https://github.com/junegunn/vim-plug):\n\n```viml\nPlug 'neanias/everforest-nvim', { 'branch': 'main' }\n```\n\n## Usage\n\n```viml\n\" In VimL\n\n\" This has both light \u0026 dark modes to match your background setting.\ncolorscheme everforest\n```\n\n```lua\n-- In Lua\nvim.cmd([[colorscheme everforest]])\n\n-- Alternatively\nrequire(\"everforest\").load()\n```\n\nTo enable the everforest theme for LuaLine, you can specify it as such:\n\n```lua\nrequire(\"lualine\").setup({\n  options = {\n    -- ... other configuration\n    theme = \"everforest\", -- Can also be \"auto\" to detect automatically.\n  }\n})\n```\n\n### LspSaga information\n\nPlease note that LspSaga uses `Diagnostic{Warning,Error,Info,Hint}` highlight\ngroups to define its borders for diagnostic pop-ups, especially in\n`diagnostic_jump_{next,prev}`. As discussed in the [Sonokai\nrepo](https://github.com/sainnhe/sonokai/issues/87), this is not a good idea\nand there is no plan to change core highlights for one plugin.\n\n**To prevent the problem of squiggly lines in LspSaga diagnostic windows,\nplease set the `diagnostic.border_follow` configuration option to `false`.**\n\n## Configuration\n\n\u003e Configuration options aren't as comprehensive as the original everforest\n\u003e theme yet.\n\nThis colour scheme has a light and a dark mode which are configured using the\nvim background setting: `:set background=light` or `vim.o.background=dark` as\nappropriate.\n\n\u003cdetails\u003e\n    \u003csummary\u003eThe default configuration used by the colour scheme\u003c/summary\u003e\n\n```lua\nrequire(\"everforest\").setup({\n  ---Controls the \"hardness\" of the background. Options are \"soft\", \"medium\" or \"hard\".\n  ---Default is \"medium\".\n  background = \"medium\",\n  ---How much of the background should be transparent. 2 will have more UI\n  ---components be transparent (e.g. status line background)\n  transparent_background_level = 0,\n  ---Whether italics should be used for keywords and more.\n  italics = false,\n  ---Disable italic fonts for comments. Comments are in italics by default, set\n  ---this to `true` to make them _not_ italic!\n  disable_italic_comments = false,\n  ---By default, the colour of the sign column background is the same as the as normal text\n  ---background, but you can use a grey background by setting this to `\"grey\"`.\n  sign_column_background = \"none\",\n  ---The contrast of line numbers, indent lines, etc. Options are `\"high\"` or\n  ---`\"low\"` (default).\n  ui_contrast = \"low\",\n  ---Dim inactive windows. Only works in Neovim. Can look a bit weird with Telescope.\n  ---\n  ---When this option is used in conjunction with show_eob set to `false`, the\n  ---end of the buffer will only be hidden inside the active window. Inside\n  ---inactive windows, the end of buffer filler characters will be visible in\n  ---dimmed symbols. This is due to the way Vim and Neovim handle `EndOfBuffer`.\n  dim_inactive_windows = false,\n  ---Some plugins support highlighting error/warning/info/hint texts, by\n  ---default these texts are only underlined, but you can use this option to\n  ---also highlight the background of them.\n  diagnostic_text_highlight = false,\n  ---Which colour the diagnostic text should be. Options are `\"grey\"` or `\"coloured\"` (default)\n  diagnostic_virtual_text = \"coloured\",\n  ---Some plugins support highlighting error/warning/info/hint lines, but this\n  ---feature is disabled by default in this colour scheme.\n  diagnostic_line_highlight = false,\n  ---By default, this color scheme won't colour the foreground of |spell|, instead\n  ---colored under curls will be used. If you also want to colour the foreground,\n  ---set this option to `true`.\n  spell_foreground = false,\n  ---Whether to show the EndOfBuffer highlight.\n  show_eob = true,\n  ---Style used to make floating windows stand out from other windows. `\"bright\"`\n  ---makes the background of these windows lighter than |hl-Normal|, whereas\n  ---`\"dim\"` makes it darker.\n  ---\n  ---Floating windows include for instance diagnostic pop-ups, scrollable\n  ---documentation windows from completion engines, overlay windows from\n  ---installers, etc.\n  ---\n  ---NB: This is only significant for dark backgrounds as the light palettes\n  ---have the same colour for both values in the switch.\n  float_style = \"bright\",\n  ---Inlay hints are special markers that are displayed inline with the code to\n  ---provide you with additional information. You can use this option to customize\n  ---the background color of inlay hints.\n  ---\n  ---Options are `\"none\"` or `\"dimmed\"`.\n  inlay_hints_background = \"none\",\n  ---You can override specific highlights to use other groups or a hex colour.\n  ---This function will be called with the highlights and colour palette tables.\n  ---@param highlight_groups Highlights\n  ---@param palette Palette\n  on_highlights = function(highlight_groups, palette) end,\n  ---You can override colours in the palette to use different hex colours.\n  ---This function will be called once the base and background colours have\n  ---been mixed on the palette.\n  ---@param palette Palette\n  colours_override = function(palette) end,\n})\n```\n\n\u003c/details\u003e\n\n## Overriding Highlight Groups\n\nTo find all possible palette colours, please see [`colours.lua`](lua/everforest/colours.lua).\n\nFor example, you could override the Diagnostic group of highlights to remove\nthe undercurl:\n\n```lua\nrequire(\"everforest\").setup({\n  on_highlights = function(hl, palette)\n    hl.DiagnosticError = { fg = palette.none, bg = palette.none, sp = palette.red }\n    hl.DiagnosticWarn = { fg = palette.none, bg = palette.none, sp = palette.yellow }\n    hl.DiagnosticInfo = { fg = palette.none, bg = palette.none, sp = palette.blue }\n    hl.DiagnosticHint = { fg = palette.none, bg = palette.none, sp = palette.green }\n  end,\n})\n```\n\nIf you want to tweak or amend an existing highlight group you **need to add the\ncolours that aren't changing as well as your new styles**. This is because the\nhighlights defined in the `on_highlights` method will _override_ the default\nhighlights.\n\nHere's an example of adding a **bold** styling to the `TSBoolean` highlight group:\n\n```lua\nrequire(\"everforest\").setup({\n  on_highlights = function(hl, palette)\n    -- The default highlights for TSBoolean is linked to `Purple` which is fg\n    -- purple and bg none. If we want to just add a bold style to the existing,\n    -- we need to have the existing *and* the bold style. (We could link to\n    -- `PurpleBold` here otherwise.)\n    hl.TSBoolean = { fg = palette.purple, bg = palette.none, bold = true }\n  end,\n})\n```\n\nTo clear any highlight groups, simply set them to `{}`:\n\n```lua\nrequire(\"everforest\").setup({\n  on_highlights = function(hl, palette)\n    hl.TSDanger = {}\n  end,\n})\n```\n\n## Overriding colours in the palette\n\nTo find the existing palette colours, please see [`colours.lua`](lua/everforest/colours.lua).\n\nFor instance, if you use a dark background and want to use a darker hue for red,\nyou could use the following configuration:\n\n```lua\nrequire(\"everforest\").setup({\n  colours_override = function (palette)\n    palette.red = \"#b86466\"\n  end\n})\n```\n\n## Plugin support\n\n- [ALE](https://github.com/dense-analysis/ale)\n- [Barbar](https://github.com/romgrk/barbar.nvim)\n- [BufferLine](https://github.com/akinsho/nvim-bufferline.lua)\n- [Coc.nvim](https://github.com/neoclide/coc.nvim)\n- [Dashboard](https://github.com/glepnir/dashboard-nvim)\n- [Git Gutter](https://github.com/airblade/vim-gitgutter)\n- [Git Signs](https://github.com/lewis6991/gitsigns.nvim)\n- [Hop](https://github.com/phaazon/hop.nvim)\n- [Incline.nvim](https://github.com/b0o/incline.nvim)\n- [Indent Blankline](https://github.com/lukas-reineke/indent-blankline.nvim)\n- [LSP Diagnostics](https://neovim.io/doc/user/lsp.html)\n- [LSP Saga](https://github.com/glepnir/lspsaga.nvim)\n- [LSP Trouble](https://github.com/folke/lsp-trouble.nvim)\n- [Leap](https://github.com/ggandor/leap.nvim)\n- [Lualine](https://github.com/hoob3rt/lualine.nvim)\n- [Mini](https://github.com/echasnovski/mini.nvim)\n- [Neo-tree.nvim](https://github.com/nvim-neo-tree/neo-tree.nvim)\n- [Neogit](https://github.com/TimUntersberger/neogit)\n- [Neomake](https://github.com/neomake/neomake)\n- [Neotest](https://github.com/nvim-neotest/neotest)\n- [Noice](https://github.com/folke/noice.nvim)\n- [NvimTree](https://github.com/nvim-tree/nvim-tree.lua)\n- [Octo.nvim](https://github.com/pwntester/octo.nvim)\n- [Scrollbar](https://github.com/petertriho/nvim-scrollbar)\n- [Telescope](https://github.com/nvim-telescope/telescope.nvim)\n- [TreeSitter](https://github.com/nvim-treesitter/nvim-treesitter)\n- [Trouble](https://github.com/folke/trouble.nvim)\n- [WhichKey](https://github.com/folke/which-key.nvim)\n- [aerial.nvim](https://github.com/stevearc/aerial.nvim)\n- [blamer.nvim](https://github.com/APZelos/blamer.nvim)\n- [fzf.vim](https://github.com/junegunn/fzf.vim)\n- [fsread.nvim](https://github.com/nullchilly/fsread.nvim)\n- [lightspeed.nvim](https://github.com/ggandor/lightspeed.nvim)\n- [nvim-cmp](https://github.com/hrsh7th/nvim-cmp)\n- [nvim-dap-ui](https://github.com/rcarriga/nvim-dap-ui)\n- [nvim-navic](https://github.com/SmiteshP/nvim-navic)\n- [nvim-notify](https://github.com/rcarriga/nvim-notify)\n- [nvim-ts-rainbow](https://github.com/p00f/nvim-ts-rainbow)\n- [nvim-ts-rainbow2](https://github.com/HiPhish/nvim-ts-rainbow2)\n- [packer.nvim](https://github.com/wbthomason/packer.nvim)\n- [symbols-outline.nvim](https://github.com/simrat39/symbols-outline.nvim)\n- [undotree](https://github.com/mbbill/undotree)\n- [vim-floaterm](https://github.com/voldikss/vim-floaterm)\n- [vim-matchup](https://github.com/andymass/vim-matchup)\n- [vim-plug](https://github.com/junegunn/vim-plug)\n- [vim-sneak](https://github.com/justinmk/vim-sneak)\n- [yanky.nvim](https://github.com/gbprod/yanky.nvim)\n\nSee [the wiki](https://github.com/neanias/everforest-nvim/wiki) for the full\nlist of plugins that have highlights.\n\n## Still TODO\n\n- [ ] Colour scheme configuration\n  - [x] `background`\n  - [x] `transparent_background`\n  - [x] `dim_inactive_windows`\n  - [x] `disable_italic_comments`\n  - [x] `enable_italic` — this is `italic` in everforest-nvim\n  - [ ] ~`cursor`~\n  - [x] `sign_column_background`\n  - [x] `spell_foreground`\n  - [x] `ui_contrast`\n  - [x] `show_eob`\n  - [ ] `current_word`\n  - [x] `diagnostic_text_highlight`\n  - [x] `diagnostic_line_highlight`\n  - [x] `diagnostic_virtual_text`\n  - [ ] `disable_terminal_colours`\n  - [x] `colours_override`\n- [x] Transparent backgrounds\n- [x] Different colour scheme \"weights\"\n\n## Inspiration\n\n- [everforest](https://github.com/sainnhe/everforest) (obviously)\n- [NeoSolarized.nvim](https://github.com/Tsuzat/NeoSolarized.nvim)\n- [Tokyo Night](https://github.com/folke/tokyonight.nvim)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fneanias%2Feverforest-nvim","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fneanias%2Feverforest-nvim","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fneanias%2Feverforest-nvim/lists"}