{"id":13411542,"url":"https://github.com/bluz71/vim-moonfly-colors","last_synced_at":"2025-05-14T22:07:03.770Z","repository":{"id":37382166,"uuid":"90825684","full_name":"bluz71/vim-moonfly-colors","owner":"bluz71","description":"A dark charcoal theme for modern Neovim \u0026 classic Vim","archived":false,"fork":false,"pushed_at":"2025-05-04T08:15:02.000Z","size":830,"stargazers_count":1085,"open_issues_count":0,"forks_count":70,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-05-04T09:23:34.027Z","etag":null,"topics":["alacritty-theme","iterm2-theme","kitty-themes","neovim","neovim-colorscheme","neovim-theme","nvim","vim","vim-colorscheme","vim-theme"],"latest_commit_sha":null,"homepage":"","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/bluz71.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":"FUNDING.yml","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},"funding":{"ko_fi":"bluz71"}},"created_at":"2017-05-10T05:48:59.000Z","updated_at":"2025-05-04T08:15:05.000Z","dependencies_parsed_at":"2023-09-27T11:46:27.753Z","dependency_job_id":"50b7ad2a-9cba-4a82-825f-f11d85c819a2","html_url":"https://github.com/bluz71/vim-moonfly-colors","commit_stats":{"total_commits":730,"total_committers":19,"mean_commits":"38.421052631578945","dds":0.02876712328767128,"last_synced_commit":"2e9b34d1b2b3b65a78679b8e7bd856cb769f28a8"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bluz71%2Fvim-moonfly-colors","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bluz71%2Fvim-moonfly-colors/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bluz71%2Fvim-moonfly-colors/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bluz71%2Fvim-moonfly-colors/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bluz71","download_url":"https://codeload.github.com/bluz71/vim-moonfly-colors/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254235695,"owners_count":22036963,"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":["alacritty-theme","iterm2-theme","kitty-themes","neovim","neovim-colorscheme","neovim-theme","nvim","vim","vim-colorscheme","vim-theme"],"created_at":"2024-07-30T20:01:14.377Z","updated_at":"2025-05-14T22:06:58.744Z","avatar_url":"https://github.com/bluz71.png","language":"Lua","funding_links":["https://ko-fi.com/bluz71"],"categories":["Colorscheme","Lua","Vim Script"],"sub_categories":["Tree-sitter Supported Colorscheme","Assembly"],"readme":"![moonfly](https://raw.githubusercontent.com/bluz71/misc-binaries/master/headings/moonfly.png)\n==========\n\n_moonfly_ is a dark charcoal theme for modern Neovim and classic Vim.\n\nNote, all _moonfly_ highlights in Neovim are implemented in Lua, whilst\nhighlights in Vim are implemented in legacy Vimscript.\n\n:point_right: I maintain another dark theme named\n[nightfly](https://github.com/bluz71/vim-nightfly-colors) which may be of\ninterest.\n\nScreenshot\n----------\n\n![screenshot](https://raw.githubusercontent.com/bluz71/misc-binaries/master/moonfly/moonfly-screenshot.png)\n\nStyled Features \u0026 Plugins\n-------------------------\n\nNeovim-only:\n\n- [Neovim Tree-sitter](https://github.com/nvim-treesitter/nvim-treesitter)\n- [Neovim Diagnostic](https://neovim.io/doc/user/diagnostic.html)\n- [Neovim LSP Semantic Highlights](https://neovim.io/doc/user/lsp.html#lsp-semantic-highlight)\n- [Barbar](https://github.com/romgrk/barbar.nvim)\n- [blink.cmp](https://github.com/Saghen/blink.cmp)\n- [Dashboard](https://github.com/glepnir/dashboard-nvim)\n- [fzf.lua](https://github.com/ibhagwan/fzf-lua)\n- [Gitsigns](https://github.com/lewis6991/gitsigns.nvim)\n- [Hop](https://github.com/phaazon/hop.nvim)\n- [Indent BlankLine](https://github.com/lukas-reineke/indent-blankline.nvim)\n- [Lazy](https://github.com/folke/lazy.nvim)\n- [lspsaga.nvim](https://github.com/glepnir/lspsaga.nvim)\n- [Lualine](https://github.com/nvim-lualine/lualine.nvim)\n- [mason.nvim](https://github.com/williamboman/mason.nvim)\n- [Mini](https://github.com/echasnovski/mini.nvim)\n- [Neo-tree](https://github.com/nvim-neo-tree/neo-tree.nvim)\n- [Neogit](https://github.com/NeogitOrg/neogit)\n- [Noice](https://github.com/folke/noice.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-treesitter-context](https://github.com/nvim-treesitter/nvim-treesitter-context)\n- [NvCheatsheet.nvim](https://github.com/smartinellimarco/nvcheatsheet.nvim)\n- [NvimTree](https://github.com/kyazdani42/nvim-tree.lua)\n- [Rainbow Delimiters](https://github.com/HiPhish/rainbow-delimiters.nvim)\n- [snacks.nvim](https://github.com/folke/snacks.nvim)\n- [Telescope](https://github.com/nvim-telescope/telescope.nvim)\n\nNeovim \u0026 Vim compatible:\n\n- [BufExplorer](https://github.com/jlanzarotta/bufexplorer)\n- [clever-f](https://github.com/rhysd/clever-f.vim)\n- [Coc.nvim](https://github.com/neoclide/coc.nvim)\n- [CtrlP](https://github.com/ctrlpvim/ctrlp.vim)\n- [Fern](https://github.com/lambdalisue/fern.vim)\n- [fzf.vim](https://github.com/junegunn/fzf.vim) (works best with matching [fly16](https://github.com/bluz71/fly16-bat) `bat` theme)\n- [lightline](https://github.com/itchyny/lightline.vim)\n- [vim-airline](https://github.com/vim-airline/vim-airline)\n\nVim-only:\n\n- [ALE](https://github.com/dense-analysis/ale)\n- [GitGutter](https://github.com/airblade/vim-gitgutter)\n- [indentLine](https://github.com/Yggdroot/indentLine)\n- [NERDTree](https://github.com/preservim/nerdtree)\n- [Signify](https://github.com/mhinz/vim-signify)\n- [Tagbar](https://github.com/majutsushi/tagbar)\n\n:zap: Requirements\n------------------\n\n_moonfly_ is a **true-color-only** colorscheme.\n\nAn up-to-date version of Vim or Neovim in a true-color terminal or a GUI client\n(such as gVim ) is required. Details about true-color terminals are [listed\nhere](https://github.com/bluz71/vim-moonfly-colors#true-color-terminals).\n\nInstallation\n------------\n\nInstall the **bluz71/vim-moonfly-colors** colorscheme with your preferred plugin\nmanager.\n\n[lazy.nvim](https://github.com/folke/lazy.nvim):\n\n```lua\n{ \"bluz71/vim-moonfly-colors\", name = \"moonfly\", lazy = false, priority = 1000 },\n```\n\n[vim-plug](https://github.com/junegunn/vim-plug):\n\n```vim\nPlug 'bluz71/vim-moonfly-colors', { 'as': 'moonfly' }\n```\n\nUsage\n-----\n\nEnable the colorscheme after the plugin declaration.\n\n```lua\n-- Lua initialization file\nvim.cmd [[colorscheme moonfly]]\n```\n\n```vim\n\" Vimscript initialization file\ncolorscheme moonfly\n```\n\nStatusline\n----------\n\n- The _moonfly_ theme supports\n  [lightline](https://github.com/itchyny/lightline.vim). To enable the _moonfly_\n  lightline theme please add the following to your initialization file:\n\n```vim\nlet g:lightline = { 'colorscheme': 'moonfly' }\n```\n\n- The _moonfly_ theme supports\n  [vim-airline](https://github.com/vim-airline/vim-airline). The _moonfly_ theme\n  will load once vim-airline starts.\n\n- The _moonfly_ theme supports\n  [lualine](https://github.com/nvim-lualine/lualine.nvim). The\n  _moonfly_ theme will load once Lualine starts.\n\n- My [linefly](https://github.com/bluz71/nvim-linefly) `statusline` plugin\n  supports the _moonfly_ theme.\n\n- Lastly, my legacy\n  [mistfly-statusline](https://github.com/bluz71/vim-mistfly-statusline) plugin\n  also supports the _moonfly_ theme.\n\n:wrench: Options\n----------------\n\n| Option | Default State\n|--------|--------------\n| [moonflyCursorColor](https://github.com/bluz71/vim-moonfly-colors#moonflycursorcolor)                 | Disabled\n| [moonflyItalics](https://github.com/bluz71/vim-moonfly-colors#moonflyitalics)                         | Enabled\n| [moonflyNormalFloat](https://github.com/bluz71/vim-moonfly-colors#moonflynormalfloat)                 | Disabled\n| [moonflyTerminalColors](https://github.com/bluz71/vim-moonfly-colors#moonflyterminalcolors)           | Enabled\n| [moonflyTransparent](https://github.com/bluz71/vim-moonfly-colors#moonflytransparent)                 | Disabled\n| [moonflyUndercurls](https://github.com/bluz71/vim-moonfly-colors#moonflyundercurls)                   | Enabled\n| [moonflyUnderlineMatchParen](https://github.com/bluz71/vim-moonfly-colors#moonflyunderlinematchparen) | Disabled\n| [moonflyVirtualTextColor](https://github.com/bluz71/vim-moonfly-colors#moonflyvirtualtextcolor)       | Disabled\n| [moonflyWinSeparator](https://github.com/bluz71/vim-moonfly-colors#moonflywinseparator)               | `1`\n\n---\n\n### moonflyCursorColor\n\nThe `moonflyCursorColor` option specifies whether to color the cursor or not.\nBy default the cursor will **NOT** be colored. If you prefer a colored cursor\nthen add the following to your initialization file:\n\n```lua\n-- Lua initialization file\nvim.g.moonflyCursorColor = true\n```\n\n```vim\n\" Vimscript initialization file\nlet g:moonflyCursorColor = v:true\n```\n\n---\n\n### moonflyItalics\n\nThe `moonflyItalics` option specifies whether to use italics for comments and\ncertain HTML elements in GUI versions of Vim. By default this option is\n**enabled**. If you do not like the appearance of italics then add the following\nto your initialization file:\n\n```lua\n-- Lua initialization file\nvim.g.moonflyItalics = false\n```\n\n```vim\n\" Vimscript initialization file\nlet g:moonflyItalics = v:false\n```\n\n---\n\n### moonflyNormalFloat\n\nThe `moonflyNormalFloat` option specifies whether to use moonfly background\nand foreground colors in Neovim floating windows. By default this option is\n**disabled**, hence, Neovim floating windows will usually be styled with popup\nmenu colors. If you would like to use moonfly colors instead then add the\nfollowing to your configuration:\n\n```lua\n-- Lua initialization file\nvim.g.moonflyNormalFloat = true\n```\n\n```vim\n\" Vimscript initialization file\nlet g:moonflyNormalFloat = v:true\n```\n\n:bulb: If the above option is set then it is highly recommended to enable\nfloating window borders to distinguish between the edit and floating windows in\nNeovim:\n\n```lua\nvim.o.winborder = \"single\"\n```\n\n---\n\n### moonflyTerminalColors\n\nThe `moonflyTerminalColors` option specifies whether to use the moonfly color\npalette in `:terminal` windows when `termguicolors` is set. By default this\noption is **enabled**. If you prefer not to use the moonfly color palette for\nthe first 16 terminal colors then add the following to your initialization file:\n\n```lua\n-- Lua initialization file\nvim.g.moonflyTerminalColors = false\n```\n\n```vim\n\" Vimscript initialization file\nlet g:moonflyTerminalColors = v:false\n```\n\n---\n\n### moonflyTransparent\n\nThe `moonflyTransparent` option specifies whether to use an opaque or\ntransparent background in GUI versions of Vim. By default this option is\n**disabled**. If you would like a transparent background then add the following\nto your initialization file:\n\n```lua\n-- Lua initialization file\nvim.g.moonflyTransparent = true\n```\n\n```vim\n\" Vimscript initialization file\nlet g:moonflyTransparent = v:true\n```\n\n---\n\n### moonflyUndercurls\n\nThe `moonflyUndercurls` option specifies whether to use undercurls for\nspelling and linting errors in GUI versions of Vim, including terminal Vim with\n`termguicolors` set. By default this option is **enabled**. If you do not like\nthe appearance of undercurls then add the following to your initialization file\nto use underlines instead:\n\n```lua\n-- Lua initialization file\nvim.g.moonflyUndercurls = false\n```\n\n```vim\n\" Vimscript initialization file\nlet g:moonflyUndercurls = v:false\n```\n\n---\n\n### moonflyUnderlineMatchParen\n\nThe `moonflyUnderlineMatchParen` option specifies whether to underline\nmatching parentheses. By default this option is **disabled**. If you want to\nunderline matching parentheses then add the following to your initialization\nfile:\n\n```lua\n-- Lua initialization file\nvim.g.moonflyUnderlineMatchParen = true\n```\n\n```vim\n\" Vimscript initialization file\nlet g:moonflyUnderlineMatchParen = v:true\n```\n\n---\n\n### moonflyVirtualTextColor\n\nThe `moonflyVirtualTextColor` option specifies whether to display diagnostic\nvirtual text in color. By default this option is **disabled**. If you want to\ndisplay diagnostic virtual text in color then add the following to your\ninitialization file:\n\n```lua\n-- Lua initialization file\nvim.g.moonflyVirtualTextColor = true\n```\n\n```vim\n\" Vimscript initialization file\nlet g:moonflyVirtualTextColor = v:true\n```\n\n---\n\n### moonflyWinSeparator\n\nThe `moonflyWinSeparator` option specifies the style of window separators:\n\n- `0` will display no window separators\n\n- `1` will display block separators; this is the default\n\n- `2` will diplay line separators\n\nFor example, if line separators are desired then add the following to your\nconfiguration:\n\n```lua\n-- Lua initialization file\nvim.g.moonflyWinSeparator = 2\n```\n\n```vim\n\" Vimscript initialization file\nlet g:moonflyWinSeparator = 2\n```\n\n:gift: If using Neovim 0.7 (or later), the following configuration will improve\nthe look of line separators (if option `2` has been chosen) by selecting thicker\ncharacters for the separators:\n\n```lua\n-- Lua initialization file\nvim.opt.fillchars = { horiz = '━', horizup = '┻', horizdown = '┳', vert = '┃', vertleft = '┫', vertright = '┣', verthoriz = '╋', }\n```\n\n```vim\n\" Vimscript initialization file\nset fillchars=horiz:━,horizup:┻,horizdown:┳,vert:┃,vertleft:┨,vertright:┣,verthoriz:╋\n```\n\nOverriding Highlights\n---------------------\n\nIf a certain highlight of this theme does not suit then it is recommended to use\nan `autocmd` to override that desired highlight.\n\nFor example, if one wishes to highlight functions in bold then simply add the\nfollowing to your initialization file prior to setting the colorscheme:\n\n```lua\n-- Lua initialization file\nlocal custom_highlight = vim.api.nvim_create_augroup(\"CustomHighlight\", {})\nvim.api.nvim_create_autocmd(\"ColorScheme\", {\n  pattern = \"moonfly\",\n  callback = function()\n    vim.api.nvim_set_hl(0, \"Function\", { fg = \"#74b2ff\", bold = true })\n  end,\n  group = custom_highlight,\n})\n```\n\n```vim\n\" Vimscript initialization file\naugroup CustomHighlight\n    autocmd!\n    autocmd ColorScheme moonfly highlight Function guifg=#74b2ff gui=bold\naugroup END\n```\n\nPalette \u0026 Custom Colors (Neovim Only)\n-------------------------------------\n\nThe `palette` field returns a table of internal theme colors; useful for\nconstructing custom statuslines and the like.\n\n```lua\nrequire(\"moonfly\").palette\n```\n\nMeanwhile the `custom_colors` function allows customization of individual theme\ncolors. This needs to occur prior to invoking the colorscheme. The full list of\navailable colors is provided by the `palette` field.\n\n```lua\n  require(\"moonfly\").custom_colors({\n    bg = \"#121212\",\n    violet = \"#ff74b8\",\n  })\n  vim.cmd([[colorscheme moonfly]])\n```\n\nTrue Color Terminals\n--------------------\n\nMany modern terminals support [24-bit true\ncolors](https://gist.github.com/XVilka/8346728). Current versions of Vim \u0026\nNeovim, on such terminals, support true colors when the `termguicolors` option\nis enabled.\n\nOn terminals that support true colors, and when `termguicolors` is set, the\n_moonfly_ colorscheme will not require any terminal configuration to emit the\ncorrect theme colors.\n\nFor the true color _moonfly_ colorscheme to display correctly inside _tmux_\nthe following setting will usually be required in _~/.tmux.conf_:\n\n```\nset -ga terminal-overrides ',xterm-256color:Tc'\n```\n\nVim, as against Neovim, inside _tmux_, will also require the following settings\nbe added to the `~/.vimrc` file:\n\n```vim\nlet \u0026t_8f = \"\\\u003cEsc\u003e[38;2;%lu;%lu;%lum\"\nlet \u0026t_8b = \"\\\u003cEsc\u003e[48;2;%lu;%lu;%lum\"\n```\n\nExtras\n------\n\nA collection of _moonfly_-flavoured extras for various terminals and tools:\n\n| Program                                                    | Extra\n|------------------------------------------------------------|----------------------------------------------------------------\n| [Alacritty](https://github.com/alacritty/alacritty)        | [extras/alacritty](extras/moonfly-alacritty.toml)\n| [bat](https://github.com/sharkdp/bat)                      | [fly16](https://github.com/bluz71/fly16-bat)\n| [Fish Shell](https://fishshell.com)                        | [extras/fish](extras/moonfly.fish)\n| [fzf](https://junegunn.github.io/fzf)                      | [extras/fzf](extras/moonfly-fzf.sh)\n| [Ghostty](https://mitchellh.com/ghostty)                   | [extras/ghostty](extras/moonfly-ghostty.conf)\n| [iTerm2](https://iterm2.com)                               | [extras/iterm2](extras/moonfly.itermcolors)\n| [kitty](https://sw.kovidgoyal.net/kitty)                   | [extras/kitty](extras/moonfly-kitty.conf)\n| [Starship](https://starship.rs/)                           | [extras/starship](extras/moonfly-starship.toml)\n| [tmux](https://github.com/tmux/tmux)                       | [extras/tmux](extras/moonfly.tmux)\n| [WezTerm](https://wezfurlong.org/wezterm)                  | [extras/wezterm](extras/moonfly-wezterm.toml)\n| [Windows Terminal](https://github.com/microsoft/terminal)  | [extras/windows-terminal](extras/moonfly-windows-terminal.json)\n| [Xresources](https://wiki.archlinux.org/title/X_resources) | [extras/Xresources](extras/moonfly.Xresources)\n| [Yazi](https://yazi-rs.github.io)                          | [moonfly.yazi](https://github.com/tkapias/moonfly.yazi)\n| [Zellij](https://zellij.dev)                               | [extras/zellij](extras/moonfly-zellij.kdl)\n\nTerminal Colors\n---------------\n\n| Type           | Category        | Value     | Color\n|----------------|-----------------|-----------|------------------------------------------------------\n| Background     | Background      | `#080808` | ![background](https://place-hold.it/32/080808?text=+)\n| Foreground     | Foreground      | `#bdbdbd` | ![background](https://place-hold.it/32/bdbdbd?text=+)\n| Bold           | Bold            | `#eeeeee` | ![background](https://place-hold.it/32/eeeeee?text=+)\n| Cursor         | Cursor          | `#9e9e9e` | ![background](https://place-hold.it/32/9e9e9e?text=+)\n| Cursor Text    | Cursor Text     | `#080808` | ![background](https://place-hold.it/32/080808?text=+)\n| Selection      | Selection       | `#b2ceee` | ![background](https://place-hold.it/32/b2ceee?text=+)\n| Selection Text | Selection Text  | `#080808` | ![background](https://place-hold.it/32/080808?text=+)\n| Color 1        | Black (normal)  | `#323437` | ![background](https://place-hold.it/32/323437?text=+)\n| Color 2        | Red (normal)    | `#ff5d5d` | ![background](https://place-hold.it/32/ff5d5d?text=+)\n| Color 3        | Green (normal)  | `#8cc85f` | ![background](https://place-hold.it/32/8cc85f?text=+)\n| Color 4        | Yellow (normal) | `#e3c78a` | ![background](https://place-hold.it/32/e3c78a?text=+)\n| Color 5        | Blue (normal)   | `#80a0ff` | ![background](https://place-hold.it/32/80a0ff?text=+)\n| Color 6        | Purple (normal) | `#cf87e8` | ![background](https://place-hold.it/32/cf87e8?text=+)\n| Color 7        | Cyan (normal)   | `#79dac8` | ![background](https://place-hold.it/32/79dac8?text=+)\n| Color 8        | White (normal)  | `#c6c6c6` | ![background](https://place-hold.it/32/c6c6c6?text=+)\n| Color 9        | Black (bright)  | `#949494` | ![background](https://place-hold.it/32/949494?text=+)\n| Color 10       | Red (bright)    | `#ff5189` | ![background](https://place-hold.it/32/ff5189?text=+)\n| Color 11       | Green (bright)  | `#36c692` | ![background](https://place-hold.it/32/36c692?text=+)\n| Color 12       | Yellow (bright) | `#c6c684` | ![background](https://place-hold.it/32/c6c684?text=+)\n| Color 13       | Blue (bright)   | `#74b2ff` | ![background](https://place-hold.it/32/74b2ff?text=+)\n| Color 14       | Purple (bright) | `#ae81ff` | ![background](https://place-hold.it/32/ae81ff?text=+)\n| Color 15       | Cyan (bright)   | `#85dc85` | ![background](https://place-hold.it/32/85dc85?text=+)\n| Color 16       | White (bright)  | `#e4e4e4` | ![background](https://place-hold.it/32/e4e4e4?text=+)\n\nSponsor\n-------\n\n[![Ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/bluz71)\n\nLicense\n-------\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbluz71%2Fvim-moonfly-colors","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbluz71%2Fvim-moonfly-colors","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbluz71%2Fvim-moonfly-colors/lists"}