mirror of
https://github.com/rose-pine/neovim.git
synced 2025-10-15 12:38:53 +02:00
154 lines
6.4 KiB
Markdown
154 lines
6.4 KiB
Markdown
<p align="center">
|
|
<img src="https://github.com/rose-pine/rose-pine-theme/raw/main/assets/icon.png" width="80" />
|
|
<h2 align="center">Rosé Pine for Neovim</h2>
|
|
</p>
|
|
|
|
<p align="center">All natural pine, faux fur and a bit of soho vibes for the classy minimalist</p>
|
|
|
|
<p align="center">
|
|
<a href="https://github.com/rose-pine/rose-pine-theme">
|
|
<img src="https://img.shields.io/badge/community-rosé%20pine-26233a?labelColor=191724&logo=data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjUwIiBoZWlnaHQ9IjIzNyIgdmlld0JveD0iMCAwIDI1MCAyMzciIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik0xNjEuMjI3IDE2MS4yNTFDMTMyLjE1NCAxNjkuMDQxIDExNC45MDEgMTk4LjkyNCAxMjIuNjkxIDIyNy45OTdDMTIzLjkyNSAyMzIuNjAzIDEyOC42NTkgMjM1LjMzNiAxMzMuMjY0IDIzNC4xMDJMMTg1LjkwNyAyMTkuOTk2QzIxOS41ODUgMjEwLjk3MiAyMzkuNTcgMTc2LjM1NCAyMzAuNTQ2IDE0Mi42NzdMMTYxLjIyNyAxNjEuMjUxWiIgZmlsbD0iIzI0NjI3QiIvPgo8cGF0aCBkPSJNODguMTgzNiAxNTkuOTg4QzExNy4yNTcgMTY3Ljc3OCAxMzQuNTEgMTk3LjY2MiAxMjYuNzIgMjI2LjczNUMxMjUuNDg2IDIzMS4zNCAxMjAuNzUyIDIzNC4wNzMgMTE2LjE0NyAyMzIuODM5TDYzLjUwNDEgMjE4LjczM0MyOS44MjY0IDIwOS43MSA5Ljg0MDk0IDE3NS4wOTIgMTguODY0OSAxNDEuNDE0TDg4LjE4MzYgMTU5Ljk4OFoiIGZpbGw9IiMyNDYyN0IiLz4KPHBhdGggZD0iTTE4Ni44NjcgMTcyLjk4QzE1Mi4wMDIgMTcyLjk4IDEyMy43MzcgMjAxLjI0NSAxMjMuNzM3IDIzNi4xMTFIMTg2Ljg3QzIyMS43MzYgMjM2LjExMSAyNTAgMjA3Ljg0NiAyNTAgMTcyLjk4TDE4Ni44NjcgMTcyLjk4WiIgZmlsbD0iIzMxNzQ4RiIvPgo8cGF0aCBkPSJNNjMuMTMyNyAxNzIuOThDOTcuOTk4NCAxNzIuOTggMTI2LjI2MyAyMDEuMjQ1IDEyNi4yNjMgMjM2LjExMUg2My4xM0MyOC4yNjQyIDIzNi4xMTEgLTEuNTI0MDNlLTA2IDIwNy44NDYgMCAxNzIuOThMNjMuMTMyNyAxNzIuOThaIiBmaWxsPSIjMzE3NDhGIi8+CjxwYXRoIGQ9Ik0xNzEuNzE3IDc1LjEyNjNDMTcxLjcxNyAxMDEuMjc2IDE1MC41MTggMTIyLjQ3NSAxMjQuMzY5IDEyMi40NzVDOTguMjE4OCAxMjIuNDc1IDc3LjAyMDIgMTAxLjI3NiA3Ny4wMjAyIDc1LjEyNjNDNzcuMDIwMiA0OC45NzY0IDk4LjIxODggMjcuNzc3OCAxMjQuMzY5IDI3Ljc3NzhDMTUwLjUxOCAyNy43Nzc4IDE3MS43MTcgNDguOTc2NCAxNzEuNzE3IDc1LjEyNjNaIiBmaWxsPSIjRUJCQ0JBIi8+CjxwYXRoIGQ9Ik0xNDQuMjE3IDg2LjIzNzlDMTYxLjY0OSA1Ni4wNDMyIDE1MS4zMDMgMTcuNDMyOSAxMjEuMTA4IDBMMTA2LjA2IDI2LjA2NDRDODguNjI3IDU2LjI1OSA5OC45NzM2IDk0Ljg2OTQgMTI5LjE2OCAxMTIuMzAyTDE0NC4yMTcgODYuMjM3OVoiIGZpbGw9IiNFQkJDQkEiLz4KPHBhdGggZD0iTTEyNS4yOTkgNjAuOTc4OUMxMTYuMjc1IDI3LjMwMTIgODEuNjU3NSA3LjMxNTY3IDQ3Ljk3OTcgMTYuMzM5Nkw2NC4zMTk3IDc3LjMyMTFDNzMuMzQzNiAxMTAuOTk5IDEwNy45NjEgMTMwLjk4NCAxNDEuNjM5IDEyMS45NkwxMjUuMjk5IDYwLjk3ODlaIiBmaWxsPSIjRUJCQ0JBIi8+CjxwYXRoIGQ9Ik0xMjQuOTI2IDYwLjk3ODlDMTMzLjk1IDI3LjMwMTIgMTY4LjU2NyA3LjMxNTY3IDIwMi4yNDUgMTYuMzM5NkwxODUuOTA1IDc3LjMyMTFDMTc2Ljg4MSAxMTAuOTk5IDE0Mi4yNjMgMTMwLjk4NCAxMDguNTg2IDEyMS45NkwxMjQuOTI2IDYwLjk3ODlaIiBmaWxsPSIjRUJCQ0JBIi8+Cjwvc3ZnPgo=&style=for-the-badge" />
|
|
</a>
|
|
</p>
|
|
|
|
## Usage
|
|
|
|
```lua
|
|
use({
|
|
'rose-pine/neovim',
|
|
as = 'rose-pine',
|
|
-- tag = '...',
|
|
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)
|
|
- [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 Moon**
|
|
|
|

|
|
|
|
**Rosé Pine Dawn**
|
|
|
|

|
|
|
|
## 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', '<leader>tt', require('rose-pine').toggle)
|
|
|
|
-- or toggle between some variants
|
|
vim.keymap.set('n', '<leader>tt', function() return require('rose-pine').toggle({'moon', 'dawn'}) end)
|
|
|
|
-- set variant
|
|
vim.keymap.set('n', '<leader>t1', function() return require('rose-pine').set('main') end)
|
|
vim.keymap.set('n', '<leader>t2', function() return require('rose-pine').set('moon') end)
|
|
vim.keymap.set('n', '<leader>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)
|