Rosé Pine for Neovim

All natural pine, faux fur and a bit of soho vibes for the classy minimalist

## Usage ```lua use({ 'rose-pine/neovim', as = 'rose-pine', tag = 'v0.*', config = function() vim.cmd('colorscheme rose-pine') end }) ``` ## Plugins > PR's are more than welcome if your favourite plugin is missing - [neovim diagnostics](https://neovim.io/doc/user/lsp.html) - [nvim-treesitter](https://github.com/nvim-treesitter/nvim-treesitter) - [barbar.nvim](https://github.com/romgrk/barbar.nvim) - [gitsigns.nvim](https://github.com/lewis6991/gitsigns.nvim) - [mode.nvim](https://github.com/mvllow/modes.nvim) - [nvim-tree.lua](https://github.com/kyazdani42/nvim-tree.lua) - [which-key.nvim](https://github.com/folke/which-key.nvim) - [indent-blankline.nvim](https://github.com/lukas-reineke/indent-blankline.nvim) - [neogit](https://github.com/TimUntersberger/neogit) - [neorg](https://github.com/nvim-neorg/neorg) - [lspsaga.nvim](https://github.com/tami5/lspsaga.nvim) - [pounce.nvim](https://github.com/rlane/pounce.nvim) - [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim) - [nvim-notify](https://github.com/rcarriga/nvim-notify) - [lualine.nvim](https://github.com/nvim-lualine/lualine.nvim) ```lua use({ 'nvim-lualine/lualine.nvim', -- Fix mismatch palette between variants event = 'ColorScheme', config = function() require('lualine').setup({ options = { ---@usage 'rose-pine' | 'rose-pine-alt' theme = 'rose-pine' } }) end }) ``` - [galaxyline.nvim fork](https://github.com/NTBBloodbath/galaxyline.nvim) ```lua local colors = require("galaxyline.themes.colors")["rose-pine"] ``` ## Gallery **Rosé Pine** ![Rosé Pine with Neovim](assets/rose-pine.png) **Rosé Pine Moon** ![Rosé Pine Moon with Neovim](assets/rose-pine-moon.png) **Rosé Pine Dawn** ![Rosé Pine Dawn with Neovim](assets/rose-pine-dawn.png) ## Options > Options should be set **before** colorscheme ```lua -- set theme variant, matching terminal theme if unset -- @usage 'main' | 'moon' | 'dawn' vim.g.rose_pine_variant = '' vim.g.rose_pine_bold_vertical_split_line = false vim.g.rose_pine_disable_background = false vim.g.rose_pine_disable_float_background = false vim.g.rose_pine_disable_italics = false vim.g.rose_pine_inactive_background = false local palette = require('rose-pine.palette') vim.g.rose_pine_colors = { border = palette.highlight_med, comment = palette.muted, link = palette.iris, punctuation = palette.subtle, error = palette.love, hint = palette.iris, info = palette.foam, warn = palette.gold, git_add = palette.foam, git_change = palette.rose, git_delete = palette.love, git_dirty = palette.rose, git_ignore = palette.muted, git_merge = palette.iris, git_rename = palette.pine, git_stage = palette.iris, git_text = palette.rose, -- or set all headings to one colour: `headings = palette.text` headings = { h1 = palette.iris, h2 = palette.foam, h3 = palette.rose, h4 = palette.gold, h5 = palette.pine, h6 = palette.foam, }, } -- Set colorscheme after options vim.cmd('colorscheme rose-pine') ``` ## Suggested keymaps ```lua -- toggle between all variants vim.keymap.set('n', 'tt', require('rose-pine').toggle) -- or toggle between some variants vim.keymap.set('n', 'tt', function() return require('rose-pine').toggle({'moon', 'dawn'}) end) -- set variant vim.keymap.set('n', 't1', function() return require('rose-pine').set('main') end) vim.keymap.set('n', 't2', function() return require('rose-pine').set('moon') end) vim.keymap.set('n', 't3', function() return require('rose-pine').set('dawn') end) ``` ## Contributing We welcome and appreciate any help in creating a lovely experience for all. - [Get highlight groups under cursor](https://github.com/nvim-treesitter/playground#show-treesitter-and-syntax-highlight-groups-under-the-cursor) - [Adding new highlight groups](https://github.com/rose-pine/neovim/issues/6#issuecomment-962466323)