[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-70612":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":25,"hasPages":23,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":37,"readmeContent":38,"aiSummary":39,"trendingCount":16,"starSnapshotCount":16,"syncStatus":40,"lastSyncTime":41,"discoverSource":42},70612,"kanagawa.nvim","rebelot\u002Fkanagawa.nvim","rebelot","NeoVim dark colorscheme inspired by the colors of the famous painting by Katsushika Hokusai.","",null,"Lua",6192,230,17,55,0,8,19,71,24,95.69,"MIT License",false,"master",true,[27,28,29,30,31,32,33,34,35,36],"lsp","lua","neovim","neovim-colorscheme","neovim-theme","nvim","syntax-highlighting","terminal-colors","theme","tree-sitter-highlight","2026-06-12 04:00:56","\u003Cp align=\"center\">\n  \u003Ch2 align=\"center\">🌊 KANAGAWA.nvim 🌊\u003C\u002Fh2>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"kanagawa@2x.png\" width=\"500\" >\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">NeoVim dark colorscheme inspired by the colors of the famous painting by Katsushika Hokusai.\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ch2 align=\"center\">\u003Cimg alt=\"Preview\" src=\"https:\u002F\u002Fuser-images.githubusercontent.com\u002F36300441\u002F222913073-22b95f11-8c08-4b2b-867c-19072c921de1.png\" width=1000>\u003C\u002Fh2>\n\u003C\u002Fp>\n\n[![W3C](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FWCAG_2.1_|_AA-756891?logo=w3c&logoColor=fff&style=for-the-badge)](https:\u002F\u002Fwww.w3.org\u002FTR\u002FWCAG21\u002F#contrast-minimum)\n\n## Features\n\n- Extensive support for `TreeSitter` syntax highlighting, and _many_ popular plugins\n- Compilation to lua byte code for super fast startup times\n\n## Installation\n\nDownload with your favorite package manager.\n\n```lua\nuse \"rebelot\u002Fkanagawa.nvim\"\n```\n\n## Requirements\n\n- neovim latest\n- truecolor terminal support\n- undercurl terminal support (optional)\n\n## Usage\n\nAs simple as writing (pasting)\n\n```vim\ncolorscheme kanagawa\n```\n\n```lua\nvim.cmd(\"colorscheme kanagawa\")\n```\n\n## Configuration\n\nThere is no need to call setup if you are ok with the defaults.\n\n```lua\n-- Default options:\nrequire('kanagawa').setup({\n    compile = false,             -- enable compiling the colorscheme\n    undercurl = true,            -- enable undercurls\n    commentStyle = { italic = true },\n    functionStyle = {},\n    keywordStyle = { italic = true},\n    statementStyle = { bold = true },\n    typeStyle = {},\n    transparent = false,         -- do not set background color\n    dimInactive = false,         -- dim inactive window `:h hl-NormalNC`\n    terminalColors = true,       -- define vim.g.terminal_color_{0,17}\n    colors = {                   -- add\u002Fmodify theme and palette colors\n        palette = {},\n        theme = { wave = {}, lotus = {}, dragon = {}, all = {} },\n    },\n    overrides = function(colors) -- add\u002Fmodify highlights\n        return {}\n    end,\n    theme = \"wave\",              -- Load \"wave\" theme\n    background = {               -- map the value of 'background' option to a theme\n        dark = \"wave\",           -- try \"dragon\" !\n        light = \"lotus\"\n    },\n})\n\n-- setup must be called before loading\nvim.cmd(\"colorscheme kanagawa\")\n```\n\n**_NOTE 1:_** If you enable compilation, make sure to run `:KanagawaCompile` command every time you make changes to your config.\n\n```vim\n\" 1. Modify your config\n\" 2. Restart nvim\n\" 3. Run this command:\n:KanagawaCompile\n```\n\n**_NOTE 2:_** Kanagawa adjusts to the value of some options. Make sure that the options `'laststatus'` and `'cmdheight'` are set **_before_** calling `setup`.\n\n## Themes\n\nKanagawa comes in three variants:\n\n- `wave` the default heart-warming theme,\n- `dragon` for those late-night sessions\n- `lotus` for when you're out in the open.\n\nThemes can be changed in three ways:\n\n- Setting `config.theme` to the desired theme.\n- Using the `background` option:\n  Any change to the value of `vim.o.background` will select the theme mapped by `config.background`.\n- Loading the colorscheme directly with:\n\n  ```lua\n  vim.cmd(\"colorscheme kanagawa-wave\")\n  vim.cmd(\"colorscheme kanagawa-dragon\")\n  vim.cmd(\"colorscheme kanagawa-lotus\")\n  ```\n\n  or\n\n  ```lua\n  require(\"kanagawa\").load(\"wave\")\n  ```\n\n## Customization\n\nIn kanagawa, there are _two_ kinds of colors: `PaletteColors` and `ThemeColors`;\n`PaletteColors` are defined directly as RGB Hex strings, and have arbitrary names\nthat recall their actual color. Conversely, `ThemeColors` are named and grouped _semantically_\non the basis of their actual function.\n\nIn short, a `palette` defines all the available colors, while a `theme` maps the `PaletteColors`\nto specific `ThemeColors` and the same palette color may be assigned to multiple theme colors.\n\nYou can change _both_ theme or palette colors using `config.colors`.\nAll the palette color names can be found [here](lua\u002Fkanagawa\u002Fcolors.lua),\nwhile their usage by each theme can be found [here](lua\u002Fkanagawa\u002Fthemes.lua).\n\n```lua\nrequire('kanagawa').setup({\n    ...,\n    colors = {\n        palette = {\n            -- change all usages of these colors\n            sumiInk0 = \"#000000\",\n            fujiWhite = \"#FFFFFF\",\n        },\n        theme = {\n            -- change specific usages for a certain theme, or for all of them\n            wave = {\n                ui = {\n                    float = {\n                        bg = \"none\",\n                    },\n                },\n            },\n            dragon = {\n                syn = {\n                    parameter = \"yellow\",\n                },\n            },\n            all = {\n                ui = {\n                    bg_gutter = \"none\"\n                }\n            }\n        }\n    },\n    ...\n})\n```\n\nYou can also conveniently add\u002Fmodify any `hlgroups` using the `config.overrides` option, allowing you to customize the looks of specific built-in elements, or any other external plugins that provides `hlgroups`. (See `:help highlight` for more information on `hlgroups`.)\nSupported keywords are the same for `:h nvim_set_hl` `{val}` parameter.\n\n```lua\nrequire('kanagawa').setup({\n    ...,\n    overrides = function(colors)\n        return {\n            -- Assign a static color to strings\n            String = { fg = colors.palette.carpYellow, italic = true },\n            -- theme colors will update dynamically when you change theme!\n            SomePluginHl = { fg = colors.theme.syn.type, bold = true },\n        }\n    end,\n    ...\n})\n```\n\n### Common customizations\n\n#### Remove _gutter_ background\n\nRemove the background of `LineNr`, `{Sign,Fold}Column` and friends\n\n```lua\ncolors = {\n    theme = {\n        all = {\n            ui = {\n                bg_gutter = \"none\"\n            }\n        }\n    }\n}\n```\n\n#### Transparent Floating Windows\n\nThis will make floating windows look nicer with default borders.\n\n```lua\noverrides = function(colors)\n    local theme = colors.theme\n    return {\n        NormalFloat = { bg = \"none\" },\n        FloatBorder = { bg = \"none\" },\n        FloatTitle = { bg = \"none\" },\n\n        -- Save an hlgroup with dark background and dimmed foreground\n        -- so that you can use it where your still want darker windows.\n        -- E.g.: autocmd TermOpen * setlocal winhighlight=Normal:NormalDark\n        NormalDark = { fg = theme.ui.fg_dim, bg = theme.ui.bg_m3 },\n\n        -- Popular plugins that open floats will link to NormalFloat by default;\n        -- set their background accordingly if you wish to keep them dark and borderless\n        LazyNormal = { bg = theme.ui.bg_m3, fg = theme.ui.fg_dim },\n        MasonNormal = { bg = theme.ui.bg_m3, fg = theme.ui.fg_dim },\n    }\nend,\n```\n\nIf you'd like to keep the floating windows darker, but you're unhappy with how\nborders are rendered, consider using characters that are drawn at the edges of\nthe box:\n\n```lua\n{ \"🭽\", \"▔\", \"🭾\", \"▕\", \"🭿\", \"▁\", \"🭼\", \"▏\" }\n```\n\n#### Borderless Telescope\n\nBlock-like _modern_ Telescope UI\n\n```lua\noverrides = function(colors)\n    local theme = colors.theme\n    return {\n        TelescopeTitle = { fg = theme.ui.special, bold = true },\n        TelescopePromptNormal = { bg = theme.ui.bg_p1 },\n        TelescopePromptBorder = { fg = theme.ui.bg_p1, bg = theme.ui.bg_p1 },\n        TelescopeResultsNormal = { fg = theme.ui.fg_dim, bg = theme.ui.bg_m1 },\n        TelescopeResultsBorder = { fg = theme.ui.bg_m1, bg = theme.ui.bg_m1 },\n        TelescopePreviewNormal = { bg = theme.ui.bg_dim },\n        TelescopePreviewBorder = { bg = theme.ui.bg_dim, fg = theme.ui.bg_dim },\n    }\nend,\n```\n\n#### Dark completion (popup) menu\n\nMore uniform colors for the popup menu.\n\n```lua\noverrides = function(colors)\n    local theme = colors.theme\n    return {\n        Pmenu = { fg = theme.ui.shade0, bg = theme.ui.bg_p1 },  -- add `blend = vim.o.pumblend` to enable transparency\n        PmenuSel = { fg = \"NONE\", bg = theme.ui.bg_p2 },\n        PmenuSbar = { bg = theme.ui.bg_m1 },\n        PmenuThumb = { bg = theme.ui.bg_p2 },\n    }\nend,\n```\n\n#### Tint background of diagnostic messages with their foreground color\n\nThis immitates a style of diagnostic messages seen, for example, in [tokyonight.nvim](https:\u002F\u002Fgithub.com\u002Ffolke\u002Ftokyonight.nvim).\n\n```lua\noverrides = function(colors)\n  local theme = colors.theme\n  local makeDiagnosticColor = function(color)\n    local c = require(\"kanagawa.lib.color\")\n    return { fg = color, bg = c(color):blend(theme.ui.bg, 0.95):to_hex() }\n  end\n\n  return {\n    DiagnosticVirtualTextHint  = makeDiagnosticColor(theme.diag.hint),\n    DiagnosticVirtualTextInfo  = makeDiagnosticColor(theme.diag.info),\n    DiagnosticVirtualTextWarn  = makeDiagnosticColor(theme.diag.warning),\n    DiagnosticVirtualTextError = makeDiagnosticColor(theme.diag.error),\n  }\nend\n```\n\n## Integration\n\n### Get palette and theme colors\n\n```lua\n-- Get the colors for the current theme\nlocal colors = require(\"kanagawa.colors\").setup()\nlocal palette_colors = colors.palette\nlocal theme_colors = colors.theme\n\n-- Get the colors for a specific theme\nlocal wave_colors = require(\"kanagawa.colors\").setup({ theme = 'wave' })\n```\n\n### Terminal integration\n\nThe following example provides a snippet to automatically change the theme\nfor the Kitty terminal emulator.\n\n```lua\nvim.api.nvim_create_autocmd(\"ColorScheme\", {\n    pattern = \"kanagawa\",\n    callback = function()\n        if vim.o.background == \"light\" then\n            vim.fn.system(\"kitty +kitten themes Kanagawa_light\")\n        elseif vim.o.background == \"dark\" then\n            vim.fn.system(\"kitty +kitten themes Kanagawa_dragon\")\n        else\n            vim.fn.system(\"kitty +kitten themes Kanagawa\")\n        end\n    end,\n})\n```\n\n\u003Cdetails>\n\u003Csummary>\u003Ch2>Color palette\u003C\u002Fh2>\u003C\u002Fsummary>\n\n|                                                         | Name          |    Hex    | Usage                                                                             |\n| :-----------------------------------------------------: | :------------ | :-------: | :-------------------------------------------------------------------------------- |\n|   \u003Cimg src=\"assets\u002Fcircles\u002FfujiWhite.svg\" width=\"40\">   | fujiWhite     | `#DCD7BA` | Default foreground                                                                |\n|   \u003Cimg src=\"assets\u002Fcircles\u002FoldWhite.svg\" width=\"40\">    | oldWhite      | `#C8C093` | Dark foreground (statuslines)                                                     |\n|   \u003Cimg src=\"assets\u002Fcircles\u002FsumiInk0.svg\" width=\"40\">    | sumiInk0      | `#16161D` | Dark background (statuslines and floating windows)                                |\n|   \u003Cimg src=\"assets\u002Fcircles\u002FsumiInk1.svg\" width=\"40\">    | sumiInk1      | `#1F1F28` | Default background                                                                |\n|   \u003Cimg src=\"assets\u002Fcircles\u002FsumiInk2.svg\" width=\"40\">    | sumiInk2      | `#2A2A37` | Lighter background (colorcolumn, folds)                                           |\n|   \u003Cimg src=\"assets\u002Fcircles\u002FsumiInk3.svg\" width=\"40\">    | sumiInk3      | `#363646` | Lighter background (cursorline)                                                   |\n|   \u003Cimg src=\"assets\u002Fcircles\u002FsumiInk4.svg\" width=\"40\">    | sumiInk4      | `#54546D` | Darker foreground (line numbers, fold column, non-text characters), float borders |\n|   \u003Cimg src=\"assets\u002Fcircles\u002FwaveBlue1.svg\" width=\"40\">   | waveBlue1     | `#223249` | Popup background, visual selection background                                     |\n|   \u003Cimg src=\"assets\u002Fcircles\u002FwaveBlue2.svg\" width=\"40\">   | waveBlue2     | `#2D4F67` | Popup selection background, search background                                     |\n|  \u003Cimg src=\"assets\u002Fcircles\u002FwinterGreen.svg\" width=\"40\">  | winterGreen   | `#2B3328` | Diff Add (background)                                                             |\n| \u003Cimg src=\"assets\u002Fcircles\u002FwinterYellow.svg\" width=\"40\">  | winterYellow  | `#49443C` | Diff Change (background)                                                          |\n|   \u003Cimg src=\"assets\u002Fcircles\u002FwinterRed.svg\" width=\"40\">   | winterRed     | `#43242B` | Diff Deleted (background)                                                         |\n|  \u003Cimg src=\"assets\u002Fcircles\u002FwinterBlue.svg\" width=\"40\">   | winterBlue    | `#252535` | Diff Line (background)                                                            |\n|  \u003Cimg src=\"assets\u002Fcircles\u002FautumnGreen.svg\" width=\"40\">  | autumnGreen   | `#76946A` | Git Add                                                                           |\n|   \u003Cimg src=\"assets\u002Fcircles\u002FautumnRed.svg\" width=\"40\">   | autumnRed     | `#C34043` | Git Delete                                                                        |\n| \u003Cimg src=\"assets\u002Fcircles\u002FautumnYellow.svg\" width=\"40\">  | autumnYellow  | `#DCA561` | Git Change                                                                        |\n|  \u003Cimg src=\"assets\u002Fcircles\u002FsamuraiRed.svg\" width=\"40\">   | samuraiRed    | `#E82424` | Diagnostic Error                                                                  |\n|  \u003Cimg src=\"assets\u002Fcircles\u002FroninYellow.svg\" width=\"40\">  | roninYellow   | `#FF9E3B` | Diagnostic Warning                                                                |\n|   \u003Cimg src=\"assets\u002Fcircles\u002FwaveAqua1.svg\" width=\"40\">   | waveAqua1     | `#6A9589` | Diagnostic Info                                                                   |\n|  \u003Cimg src=\"assets\u002Fcircles\u002FdragonBlue.svg\" width=\"40\">   | dragonBlue    | `#658594` | Diagnostic Hint                                                                   |\n|   \u003Cimg src=\"assets\u002Fcircles\u002FfujiGray.svg\" width=\"40\">    | fujiGray      | `#727169` | Comments                                                                          |\n| \u003Cimg src=\"assets\u002Fcircles\u002FspringViolet1.svg\" width=\"40\"> | springViolet1 | `#938AA9` | Light foreground                                                                  |\n|   \u003Cimg src=\"assets\u002Fcircles\u002FoniViolet.svg\" width=\"40\">   | oniViolet     | `#957FB8` | Statements and Keywords                                                           |\n|  \u003Cimg src=\"assets\u002Fcircles\u002FcrystalBlue.svg\" width=\"40\">  | crystalBlue   | `#7E9CD8` | Functions and Titles                                                              |\n| \u003Cimg src=\"assets\u002Fcircles\u002FspringViolet2.svg\" width=\"40\"> | springViolet2 | `#9CABCA` | Brackets and punctuation                                                          |\n|  \u003Cimg src=\"assets\u002Fcircles\u002FspringBlue.svg\" width=\"40\">   | springBlue    | `#7FB4CA` | Specials and builtin functions                                                    |\n|   \u003Cimg src=\"assets\u002Fcircles\u002FlightBlue.svg\" width=\"40\">   | lightBlue     | `#A3D4D5` | Not used                                                                          |\n|   \u003Cimg src=\"assets\u002Fcircles\u002FwaveAqua2.svg\" width=\"40\">   | waveAqua2     | `#7AA89F` | Types                                                                             |\n|  \u003Cimg src=\"assets\u002Fcircles\u002FspringGreen.svg\" width=\"40\">  | springGreen   | `#98BB6C` | Strings                                                                           |\n|  \u003Cimg src=\"assets\u002Fcircles\u002FboatYellow1.svg\" width=\"40\">  | boatYellow1   | `#938056` | Not used                                                                          |\n|  \u003Cimg src=\"assets\u002Fcircles\u002FboatYellow2.svg\" width=\"40\">  | boatYellow2   | `#C0A36E` | Operators, RegEx                                                                  |\n|  \u003Cimg src=\"assets\u002Fcircles\u002FcarpYellow.svg\" width=\"40\">   | carpYellow    | `#E6C384` | Identifiers                                                                       |\n|  \u003Cimg src=\"assets\u002Fcircles\u002FsakuraPink.svg\" width=\"40\">   | sakuraPink    | `#D27E99` | Numbers                                                                           |\n|    \u003Cimg src=\"assets\u002Fcircles\u002FwaveRed.svg\" width=\"40\">    | waveRed       | `#E46876` | Standout specials 1 (builtin variables)                                           |\n|   \u003Cimg src=\"assets\u002Fcircles\u002FpeachRed.svg\" width=\"40\">    | peachRed      | `#FF5D62` | Standout specials 2 (exception handling, return)                                  |\n| \u003Cimg src=\"assets\u002Fcircles\u002FsurimiOrange.svg\" width=\"40\">  | surimiOrange  | `#FFA066` | Constants, imports, booleans                                                      |\n|  \u003Cimg src=\"assets\u002Fcircles\u002FkatanaGray.svg\" width=\"40\">   | katanaGray    | `#717C7C` | Deprecated                                                                        |\n\n\u003C\u002Fdetails>\n\n## Accessibility\n\nThe colors maintain a `4.5:1` contrast ratio, complying with [WCAG 2.1 | Level AA](https:\u002F\u002Fwww.w3.org\u002FTR\u002FWCAG21\u002F#contrast-minimum).\n\n## Extras\n\n- [Alacritty](extras\u002Falacritty\u002F)\n- [Alfred](extras\u002Falfred.md)\n- [Base16](extras\u002Fbase16\u002F)\n- [Broot](extras\u002Fbroot\u002F)\n- [Emacs](extras\u002Femacs\u002F)\n- [Fish](extras\u002Ffish\u002F)\n- [Foot](extras\u002Ffoot\u002F)\n- [iTerm](extras\u002Fiterm\u002F)\n- [Kitty](extras\u002Fkitty\u002F)\n- [Mintty](extras\u002Fmintty\u002F)\n- [Pywal](extras\u002Fpywal\u002F)\n- [Sway](extras\u002Fsway\u002F)\n- [Wezterm](extras\u002Fwezterm\u002F)\n- [Windows Terminal](extras\u002Fwindows-terminal\u002F)\n- [Ghostty](extras\u002Fghostty)\n- [Xresources](extras\u002Fxresources\u002F)\n- [tmTheme (Sublime Text, bat and delta)](extras\u002Ftextmate\u002F)\n- [JSON compatible with many terminals](extras\u002Fgogh\u002F) Check [Gogh](https:\u002F\u002Fgithub.com\u002FGogh-Co\u002FGogh#-terminals) for the list of supported terminals.\n- 🎉 Bonus! You win a tiny [python script](palette.py)🐍 to extract color palettes 🎨 from any image! 🥳\n\n## Acknowledgements\n\n- [Tokyonight](https:\u002F\u002Fgithub.com\u002Ffolke\u002Ftokyonight.nvim)\n- [Gruvbox](https:\u002F\u002Fgithub.com\u002Fmorhetz\u002Fgruvbox)\n- [Catppuccin](https:\u002F\u002Fgithub.com\u002Fcatppuccin\u002Fnvim)\n- [Affinity Designer](https:\u002F\u002Faffinity.serif.com\u002Fdesigner\u002F)\n\n### Donate\n\nBuy me coffee and support my work ;)\n\n[![Donate](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FDonate-PayPal-green.svg)](https:\u002F\u002Fwww.paypal.com\u002Fdonate\u002F?business=VNQPHGW4JEM3S&no_recurring=0&item_name=Buy+me+coffee+and+support+my+work+%3B%29&currency_code=EUR)\n","Kanagawa.nvim 是一款受葛饰北斋著名画作启发的 NeoVim 暗色主题。该项目通过 Lua 编写，支持 TreeSitter 语法高亮和多种流行插件，编译为 Lua 字节码后可实现极快的启动速度。它还提供了丰富的自定义选项，包括颜色、样式等，并且有三种主题变体（wave、dragon 和 lotus），适用于不同时间和环境下的编程需求。该主题要求使用最新版本的 NeoVim 和真彩色终端支持，对于追求美观界面同时又希望保持高效开发体验的开发者来说，Kanagawa.nvim 是一个不错的选择。",2,"2026-06-11 03:33:00","high_star"]