{"id":49339296,"url":"https://github.com/tkolleh/monrovia.nvim","last_synced_at":"2026-04-27T03:02:25.937Z","repository":{"id":350954617,"uuid":"1208916824","full_name":"tkolleh/monrovia.nvim","owner":"tkolleh","description":"A modern Neovim colorscheme inspired by Monrovia at different times of day","archived":false,"fork":false,"pushed_at":"2026-04-21T00:58:31.000Z","size":2468,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-21T02:43:14.853Z","etag":null,"topics":["colorscheme","lua","monrovia","neovim","vim"],"latest_commit_sha":null,"homepage":null,"language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tkolleh.png","metadata":{"files":{"readme":"readme.md","changelog":"CHANGELOG.md","contributing":"contributing.md","funding":null,"license":"LICENSE","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-12T22:55:45.000Z","updated_at":"2026-04-21T00:58:35.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/tkolleh/monrovia.nvim","commit_stats":null,"previous_names":["tkolleh/monrovia.nvim"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/tkolleh/monrovia.nvim","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tkolleh%2Fmonrovia.nvim","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tkolleh%2Fmonrovia.nvim/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tkolleh%2Fmonrovia.nvim/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tkolleh%2Fmonrovia.nvim/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tkolleh","download_url":"https://codeload.github.com/tkolleh/monrovia.nvim/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tkolleh%2Fmonrovia.nvim/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32320683,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-26T23:26:28.701Z","status":"online","status_checked_at":"2026-04-27T02:00:06.769Z","response_time":128,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["colorscheme","lua","monrovia","neovim","vim"],"created_at":"2026-04-27T03:02:23.061Z","updated_at":"2026-04-27T03:02:25.911Z","avatar_url":"https://github.com/tkolleh.png","language":"Lua","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003e**⚠️ Hardfork Notice**: This is a hardfork of [nightfox.nvim](https://github.com/EdenEast/nightfox.nvim).\n\u003eWhile we honor the original work by EdenEast, monrovia.nvim is now an independent project with:\n\n\u003cp align=\"center\"\u003e\n  \u003cimg width=\"128\" height=\"128\" src=\"assets/coat_of_arms_of_liberia.png\" /\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003eMonrovia\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  A highly customizable theme for neovim with support for lsp, treesitter and a variety of plugins.\n\u003c/p\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003ch3\u003eMonrovia Night\u003c/h3\u003e\u003cimg src=\"https://user-images.githubusercontent.com/2746374/158456286-9e3ee657-60e6-49d8-b85e-dcab285b31c3.png\" alt=\"monrovia_night\" style=\"border-radius:1%\" /\u003e\n  \u003ch3\u003eMonrovia Day\u003c/h3\u003e\u003cimg src=\"https://user-images.githubusercontent.com/2746374/210672782-6b8690d0-3ef5-4f32-bdea-4f0a97b9d9d5.png\" alt=\"monrovia_day\" style=\"border-radius:1%\" /\u003e\n  \u003ch3\u003eMonrovia Dusk\u003c/h3\u003e\u003cimg src=\"https://user-images.githubusercontent.com/2746374/158456284-b6ff583f-c0bb-417c-b2d5-60b8364049a7.png\" alt=\"monrovia_dusk\" style=\"border-radius:1%\" /\u003e\n  \u003ch3\u003eMonrovia Midnight\u003c/h3\u003e\u003cimg src=\"https://user-images.githubusercontent.com/2746374/183569670-91260cab-83a9-4247-8e09-6abb46c52152.png\" alt=\"monrovia_midnight\" style=\"border-radius:1%\" /\u003e\n\u003c/div\u003e\n\n## ⚠️ Breaking Changes in v4.0.0\n\n- **Neovim 0.10+ required**: Dropped support for Vim and Neovim \u003c 0.10\n- **Renamed to monrovia.nvim**: New plugin name (hardfork of nightfox.nvim)\n- **API Modernization**: Uses `vim.uv`, `nvim_get_hl`, and Lua `load`\n- **Run `:MonroviaCompile`**: Cache regeneration required after upgrade\n\n## Features\n\n- Highly configurable with template overriding\n- [Colorblind](#colorblind) mode (daltonization, and simulation)\n- Support for multiple [plugins](#supported-plugins) and [status lines](#status-lines)\n  - And many others should \"just work\"!\n- [Compile](#compile) user's configuration for fast startup times\n- Export [Color](#color-lib) library utility\n- [Interactive](#interactive) live config re-loading\n\n## Installation\n\nDownload with your favorite package manager.\n\n```lua\n{ \"monrovia.nvim\" } -- lazy\n```\n\n```lua\nuse \"monrovia.nvim\" -- Packer\n```\n\n```vim\nPlug 'monrovia.nvim' \" Vim-Plug\n```\n\n## Usage\n\nSimply set the colorscheme with the builtin command `:colorscheme`\n\n```lua\nvim.cmd(\"colorscheme monrovia\")\n```\n\n## Configuration\n\nThere is no need to call `setup` if you don't want to change the default options and settings.\n\n```lua\n-- Default options\nrequire('monrovia').setup({\n  options = {\n    -- Compiled file's destination location\n    compile_path = vim.fn.stdpath(\"cache\") .. \"/monrovia\",\n    compile_file_suffix = \"_compiled\", -- Compiled file suffix\n    transparent = false,     -- Disable setting background\n    terminal_colors = true,  -- Set terminal colors (vim.g.terminal_color_*) used in `:terminal`\n    dim_inactive = false,    -- Non focused panes set to alternative background\n    module_default = true,   -- Default enable value for modules\n    colorblind = {\n      enable = false,        -- Enable colorblind support\n      simulate_only = false, -- Only show simulated colorblind colors and not diff shifted\n      severity = {\n        protan = 0,          -- Severity [0,1] for protan (red)\n        deutan = 0,          -- Severity [0,1] for deutan (green)\n        tritan = 0,          -- Severity [0,1] for tritan (blue)\n      },\n    },\n    styles = {               -- Style to be applied to different syntax groups\n      comments = \"NONE\",     -- Value is any valid attr-list value `:help attr-list`\n      conditionals = \"NONE\",\n      constants = \"NONE\",\n      functions = \"NONE\",\n      keywords = \"NONE\",\n      numbers = \"NONE\",\n      operators = \"NONE\",\n      strings = \"NONE\",\n      types = \"NONE\",\n      variables = \"NONE\",\n    },\n    inverse = {             -- Inverse highlight for different types\n      match_paren = false,\n      visual = false,\n      search = false,\n    },\n    modules = {             -- List of various plugins and additional options\n      -- ...\n    },\n  },\n  palettes = {},\n  specs = {},\n  groups = {},\n})\n\n-- setup must be called before loading\nvim.cmd(\"colorscheme monrovia\")\n```\n\nIf you would like to change any of the default options above you only have to define the options that change. If an\noption is not present in your options table the default option will be used. For example if changing the styles of\ncertain syntax is the only desired change then your options table would look like:\n\n```lua\nrequire('monrovia').setup({\n  options = {\n    styles = {\n      comments = \"italic\",\n      keywords = \"bold\",\n      types = \"italic,bold\",\n    }\n  }\n})\n```\n\nTo see a detailed explanation of monrovia's config settings consult either the builtin help `:help monrovia` or\n[Usage](./usage.md).\n\n### Modules\n\nMonrovia's modules store configuration information for various plugins and other neovim modules. To enable a module\neither set the module to `true` or if the module has additional configuration information set `enable` to `true`.\n\nBy default modules will be enabled. To change this behaviour change `options.module_default` to `false`.\n\nTo see a list of modules check, see [Usage](./usage.md#module) or `:help` for more information.\n\n### Customize palettes and groups\n\nYou can change the color `palette` and the highlight `group` of monrovia. Here is a brief example:\n\n```lua\n-- Palettes are the base color defines of a colorscheme.\n-- You can override these palettes for each colorscheme defined by monrovia.\nlocal palettes = {\n  -- Everything defined under `all` will be applied to each style.\n  all = {\n    -- Each palette defines these colors:\n    --   black, red, green, yellow, blue, magenta, cyan, white, orange, pink\n    --\n    -- These colors have 3 shades: base, bright, and dim\n    --\n    -- Defining just a color defines it's base color\n    red = \"#ff0000\",\n  },\n  monrovia_night = {\n    -- A specific style's value will be used over the `all`'s value\n    red = \"#c94f6d\",\n  },\n  monrovia_day = {\n    -- Defining multiple shades is done by passing a table\n    blue = { base = \"#4d688e\", bright = \"#4e75aa\", dim = \"#485e7d\" },\n  },\n  monrovia_twilight = {\n    -- A palette also defines the following:\n    --   bg0, bg1, bg2, bg3, bg4, fg0, fg1, fg2, fg3, sel0, sel1, comment\n    --\n    -- These are the different foreground and background shades used by the theme.\n    -- The base bg and fg is 1, 0 is normally the dark alternative. The others are\n    -- incrementally lighter versions.\n    bg1 = \"#2e3440\",\n\n    -- sel is different types of selection colors.\n    sel0 = \"#3e4a5b\", -- Popup bg, visual selection bg\n    sel1 = \"#4f6074\", -- Popup sel bg, search bg\n\n    -- comment is the definition of the comment color.\n    comment = \"#60728a\",\n  },\n}\n\n-- Spec's (specifications) are a mapping of palettes to logical groups that will be\n-- used by the groups. Some examples of the groups that specs map would be:\n--   - syntax groups (functions, types, keywords, ...)\n--   - diagnostic groups (error, warning, info, hints)\n--   - git groups (add, removed, changed)\n--\n-- You can override these just like palettes\nlocal specs = {\n  -- As with palettes, the values defined under `all` will be applied to every style.\n  all = {\n    syntax = {\n      -- Specs allow you to define a value using either a color or template. If the string does\n      -- start with `#` the string will be used as the path of the palette table. Defining just\n      -- a color uses the base version of that color.\n      keyword = \"magenta\",\n\n      -- Adding either `.bright` or `.dim` will change the value\n      conditional = \"magenta.bright\",\n      number = \"orange.dim\",\n    },\n    git = {\n      -- A color define can also be used\n      changed = \"#f4a261\",\n    },\n  },\n  monrovia_night = {\n    syntax = {\n      -- As with palettes, a specific style's value will be used over the `all`'s value.\n      operator = \"orange\",\n    },\n  },\n}\n\n-- Groups are the highlight group definitions. The keys of this table are the name of the highlight\n-- groups that will be overridden. The value is a table with the following values:\n--   - fg, bg, style, sp, link,\n--\n-- Just like `spec` groups support templates. This time the template is based on a spec object.\nlocal groups = {\n  -- As with specs and palettes, the values defined under `all` will be applied to every style.\n  all = {\n    -- If `link` is defined it will be applied over any other values defined\n    Whitespace = { link = \"Comment\" },\n\n    -- Specs are used for the template. Specs have their palette's as a field that can be accessed\n    IncSearch = { bg = \"palette.cyan\" },\n  },\n  monrovia_night = {\n    -- As with specs and palettes, a specific style's value will be used over the `all`'s value.\n    PmenuSel = { bg = \"#73daca\", fg = \"bg0\" },\n  },\n}\n\nrequire(\"monrovia\").setup({ palettes = palettes, specs = specs, groups = groups })\n\n-- setup must be called before loading\nvim.cmd(\"colorscheme monrovia\")\n```\n\nTo find the list of syntax highlight groups defined for vim use the help `:help group-name` and\n`:help nvim-treesitter-highlights` for treesitter. If you would also like to see how monrovia defines these highlight groups\nyou can see [syntax.lua] for vim's syntax and [treesitter.lua] for treesitter. These files list out all all highlight\ngroups and have a comment describing them. Another file to note is [editor.lua] which is the highlight groups responsible\nfor how vim looks (background, cursorline, tabline, etc...). To get the highlight group under your cursor see\n[here](#syntax-highlight-groups) for more information\n\nTo get more information check out [Usage](./usage.md#configuration) or the help file `:help monrovia` for more detailed information.\n\n[editor.lua]: https://github.com/tkolleh/monrovia.nvim/blob/main/lua/monrovia/group/editor.lua\n[syntax.lua]: https://github.com/tkolleh/monrovia.nvim/blob/main/lua/monrovia/group/syntax.lua\n[treesitter.lua]: https://github.com/tkolleh/monrovia.nvim/blob/main/lua/monrovia/group/modules/treesitter.lua\n\n### Custom template values\n\nMonrovia's `palettes` and `specs` can be extended with your own values. This is useful for users that want to\ndistinguish a spec value being used for multiple group definitions. This is best understood with an example:\n\n`bg0` is used as the dark alternative background color. This is used in multiple areas (non-current file, status line,\nnormal float, etc...). If you would like to have the inactive color diffferent then the float / statusline color you can\ndefine your own value in the `specs` table.\n\n```lua\nrequire(\"monrovia\").setup({\n  palettes = {\n    -- Custom Monrovia Dusk with black background\n    monrovia_dusk = {\n      bg1 = \"#000000\", -- Black background\n      bg0 = \"#1d1d2b\", -- Alt backgrounds (floats, statusline, ...)\n      bg3 = \"#121820\", -- 55% darkened from stock\n      sel0 = \"#131b24\", -- 55% darkened from stock\n    },\n  },\n  specs = {\n    all = {\n      inactive = \"bg0\", -- Default value for other styles\n    },\n    monrovia_dusk = {\n      inactive = \"#090909\", -- Slightly lighter then black background\n    },\n  },\n  groups = {\n    all = {\n      NormalNC = { fg = \"fg1\", bg = \"inactive\" }, -- Non-current windows\n    },\n  },\n})\n```\n\n## Api\n\nMonrovia exposes some Api's and utility classes that let you fetch data from monrovia.\n\n### Palettes\n\nYou can get the palettes used by each colorscheme:\n\n```lua\n-- Returns a table with each colorscheme and the palette associated with it\nlocal palettes = require('monrovia.palette').load()\n\n-- Returns the palette of the specified colorscheme\nlocal palette = require('monrovia.palette').load(\"monrovia\")\n\nprint(vim.inspect(palette.red))\n-- {\n--   base = \"#c94f6d\",\n--   bright = \"#d16983\",\n--   dim = \"#ab435d\",\n-- }\n```\n\nSee [Usage](./usage.md#palette) for more information on palettes.\n\n### Specs\n\nYou can get the spec used by each colorscheme:\n\n```lua\n-- Returns a table with each colorscheme and the spec associated with it\nlocal specs require('monrovia.spec').load()\n\n-- Returns the spec of the specified colorscheme\nlocal spec = require('monrovia.spec').load(\"monrovia\")\n\nprint(vim.inspect(spec.git))\n-- {\n--   add = \"#81b29a\",\n--   changed = \"#dbc074\",\n--   removed = \"#c94f6d\"\n-- }\n```\n\nSee [Usage](./usage.md#spec) for more information on specs.\n\n### Color lib\n\nMonrovia uses a color library internally to manipulate colors. You can use this library as well.\n\n```lua\nlocal palette = require('monrovia.palette').load('monrovia')\nlocal Color = require(\"monrovia.lib.color\")\n\nlocal bg = Color.from_hex(palette.bg1)\nlocal red = Color.from_hex(\"#ff0000\")\n\n-- Blend the bg with red. The blend factor is from 0 to 1\n-- with 0 being full bg and 1 being full red\nlocal red_bg = bg:blend(red, 0.2)\n\nprint(red_bg:to_css())\n-- \"#471c26\"\n\n-- Brighten bg by adding 10 to the value of the color as a hsv\nlocal alt_bg = bg:brighten(10)\nprint(vim.inspect(alt_bg:to_hsv()))\n-- {\n--   hue = 213.91304347826,\n--   saturation = 47.916666666667,\n--   value = 28.823529411765\n-- }\n```\n\nThere are a lot of useful functions to manipulate and work with colors in different color spaces.\nSee [Usage](./usage.md#color) for more information on `Color`.\n\n## Colorblind\n\nFor individuals with `color vision deficiency` (cvd), monrovia has implemented a `colorblind` mode to help enhance color\ncontrast. This can be enabled with this option `colorblind.enable`.\n\n\u003cdetails\u003e\n\u003csummary\u003eUnderstanding cvd\u003c/summary\u003e\n\nThere are three types of cvd:\n\n- Protan (Red / L cones)\n- Deutan (Green / M cones)\n- Tritan (Blue / S cones)\n\nThese are referred to as `protanomaly`, `deuteranomaly`, and `tritanomaly` for individuals that have all three cones\n(trichromats) but one is weak (anomalous trichromacy).\n\nThese can also be referred to as `protanopia`, `deuteranopia`, and `tritanopia`. This is for individuals that only have\ntwo cones (dichromats or dichromacy).\n\n| Cone      | Type   | Weak (trichromacy) | Missing (Dichromacy) |\n| --------- | ------ | ------------------ | -------------------- |\n| L / Red   | Protan | Protanomaly        | Protanopia           |\n| M / Green | Deutan | Deuteranomaly      | Deuteranopia         |\n| S / Blue  | Tritan | Tritanomaly        | Tritanopia           |\n\n\u003c/details\u003e\n\n### Configuring cvd\n\nMonrovia needs to simulate your cvd in order to shift colors correctly. This is done by setting your cvd type's severity\nlevel. Severity is a value between `0` and `1` where `1` is full dichromacy. You can also have multiple kinds of cvd\nconfigured at a time. Here is a full example:\n\n```lua\nrequire(\"monrovia\").setup({\n  options = {\n    colorblind = {\n      enable = true,\n      severity = {\n        protan = 0.3,\n        deutan = 0.6,\n      },\n    },\n  },\n})\n```\n\nIf you are looking for a way to self evaluate what severity factor to use, check out [daltonlens's][cb-self-eval] self\nevaluation article with interactive self evaluation Ishihasa plates.\n\nAnother method would be to use the option `colorblind.simulate_only` option along with monrovia's\n[interactive](#interactive) mode. While monrovia is simulating cvd set a severity to 1. Now decrease the severity\nincrementally until you cannot perceive a difference in the change of colors.\n\n[cb-self-eval]: https://daltonlens.org/evaluating-cvd-simulation/#Generating-Ishihara-like-plates-for-self-evaluation\n\n### How does this work?\n\nThis is accomplished by applying an algorithm called `Daltonization`. The process follows these steps:\n\n1. Simulate what a person with cvd would see\n1. Calculate the difference between original vs. simulated\n1. Shift the difference towards the visible spectrum of the cvd individual\n1. Correct original color by adding it to the corrected difference\n\nYou can see the simulated colors instead of the corrected colors by setting the option `colorblind.simulate_only`.\n\n![cvd-example](https://user-images.githubusercontent.com/2746374/210025850-9a84b142-e989-4efa-9b55-5f7312013da3.gif)\n\n## Compile\n\nMonrovia is a highly customizable and configurable colorscheme. This does however come at the cost of complexity and\nexecution time.\n\nMonrovia pre-computes the result of your configuration and saves the lua bytecode in a cache to be used on next load.\nThis significantly speeds up monrovia's execution time. Changes to your configuration will be re-computed and cached\nautomatically.\n\nBy default monrovia writes the compiled results into the system's `cache` directory. On unix this is\n`$XDG_CACHE_HOME/nvim/monrovia` and on windows this is `%localappdata%\\\\Temp\\\\nvim\\\\monrovia`.\n\nMonrovia provides functions to work with the monrovia compiler.\n\n```vim\n:MonroviaCompile \" Manually call monrovia compiler to create/update compiled files\n```\n\n```lua\nrequire('monrovia').compile() -- lua api version\n```\n\n## Interactive\n\nMonrovia makes it easy to make changes to its config and see the results. For this monrovia exposes the command:\n\n```\nMonroviaInteractive\n```\n\nThis command will attach an autocmd to the current buffer that executes on `BufferWritePost`. The\nautocmd will clear monrovia's internal state and re-source it's config from the newly saved file. It will then reset the\ncolorscheme.\n\n![demo](https://user-images.githubusercontent.com/2746374/211108157-b5221ea4-9369-453d-9c27-4a71ac161a55.gif)\n\nThere are a few things to note:\n\n- This requires executing `luafile` on the current file. Any syntax errors will throw errors.\n- If you are using packer and have monrovia's config in a `config = function() end` block, this will not work as packer\n  would require to be re-compiled and the compiled file sourced.\n\n## Supported Plugins\n\n- [alpha-nvim](https://github.com/goolord/alpha-nvim)\n- [aerial.nvim](https://github.com/stevearc/aerial.nvim)\n- [barbar.nvim](https://github.com/romgrk/barbar.nvim)\n- [bufferline.nvim](https://github.com/akinsho/bufferline.nvim)\n- [nvim-cmp](https://github.com/hrsh7th/nvim-cmp)\n- [nvim-dap-ui](https://github.com/rcarriga/nvim-dap-ui)\n- [dashboard-nvim](https://github.com/glepnir/dashboard-nvim)\n- [fern.vim](https://github.com/lambdalisue/fern.vim)\n- [fidget.nvim](https://github.com/j-hui/fidget.nvim)\n- [vim-gitgutter](https://github.com/airblade/vim-gitgutter)\n- [gitsigns.nvim](https://github.com/lewis6991/gitsigns.nvim)\n- [glyph-palette.vim](https://github.com/lambdalisue/glyph-palette.vim)\n- [hop.nvim](https://github.com/phaazon/hop.nvim)\n- [vim-illuminate](https://github.com/RRethy/vim-illuminate)\n- [lightspeed.nvim](https://github.com/ggandor/lightspeed.nvim)\n- [lspsaga.nvim](https://github.com/glepnir/lspsaga.nvim)\n- [lsp-trouble.nvim](https://github.com/simrat39/lsp-trouble.nvim)\n- [indent-blankline.nvim](https://github.com/lukas-reineke/indent-blankline.nvim)\n- [lazy.nvim](https://github.com/folke/lazy.nvim)\n- [mini.nvim](https://github.com/echasnovski/mini.nvim)\n- [modes.nvim](https://github.com/mvllow/modes.nvim)\n- [nvim-navic](https://github.com/SmiteshP/nvim-navic)\n- [neogit](https://github.com/NeogitOrg/neogit)\n- [neotest](https://github.com/nvim-neotest/neotest)\n- [neo-tree](https://github.com/nvim-neo-tree/neo-tree.nvim)\n- [nvim-notify](https://github.com/rcarriga/nvim-notify)\n- [nvim-tree.lua](https://github.com/kyazdani42/nvim-tree.lua)\n- [pounce.nvim](https://github.com/rlane/pounce.nvim)\n- [vim-signify](https://github.com/mhinz/vim-signify)\n- [vim-sneak](https://github.com/justinmk/vim-sneak)\n- [rainbow-delimiters](https://github.com/hiphish/rainbow-delimiters.nvim)\n- [symbols-outline.nvim](https://github.com/simrat39/symbols-outline.nvim)\n- [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim)\n- [nvim-ts-rainbow](https://github.com/p00f/nvim-ts-rainbow)\n- [nvim-ts-rainbow2](https://github.com/HiPhish/nvim-ts-rainbow2)\n- [which-key.nvim](https://github.com/folke/which-key.nvim)\n\n## Syntax highlight groups\n\nThis section will help you determine what highlight group is being applied to a piece of syntax. These sections will\noutput the highlight group for the value under the cursor.\n\n#### Treesitter highlighting\n\nIf treesitter is the highlighting method for the language in question you can use the command:\n`:Inspect`.\n\n#### Vim highlighting\n\nAdd this vimscript function to your configuration.\n\n\u003cdetails\u003e\n\u003csummary\u003evimscript highlight function\u003c/summary\u003e\n\n```vim\n\" plugin/syntax.vim\n\n\" Output the highlight group under the cursor\n\"\n\" This function will output the entire stack of hightlight groups being applied. The stack is\n\" outputted in the correct order from top to bottom. Vim will walk through the stack from top to\n\" bottom and apply the first defined highlight group found.\nfunction! SynStack()\n  for i1 in synstack(line(\".\"), col(\".\"))\n    let i2 = synIDtrans(i1)\n    let n1 = synIDattr(i1, \"name\")\n    let n2 = synIDattr(i2, \"name\")\n    echo n1 \"-\u003e\" n2\n  endfor\nendfunction\n\n\" You can also create a convenience mapping\nmap \u003cF2\u003e \u003ccmd\u003ecall SynStack()\u003ccr\u003e\n```\n\n\u003c/details\u003e\n\n## Acknowledgements\n\n- [nightfox](https://github.com/EdenEast/nightfox.nvim) 🙏🏾\n- [catppuccin](https://github.com/catppuccin/nvim/) (integration/modules)\n- [rose-pine](https://github.com/rose-pine/nvim) (dawnfox/duskfox)\n- [oxocarbon.nvim](https://github.com/shaunsingh/oxocarbon.nvim) (carbonfox)\n- [coolers](https://coolers.co) (useful color information and palette tool)\n- [colorhexa](https://www.colorhexa.com/) (detailed color information)\n- [neogit](https://github.com/NeogitOrg/neogit/blob/b688a2c/lua/neogit/lib/color.lua) (base for color lib)\n- [daltonlens](https://daltonlens.org/) (understanding cvd simulations and research. Thanks [@nburrus](https://github.com/nburrus)!)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftkolleh%2Fmonrovia.nvim","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftkolleh%2Fmonrovia.nvim","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftkolleh%2Fmonrovia.nvim/lists"}