Soho vibes for Neovim
Find a file
mvllow 59a88444de BREAKING!: rewrite config api and update styles
- move config to lua
- use rose for search match
- fix background flicker when automatically switching to dawn
- remove unneeded highlights (please report regressions)
  - remove deprecated `LspDiagnostics*`
  - remove `LspReference*`
- improve overall consistency between elements
  - non-treesitter updates to match treesitter styles
  - update popup menu scrollbar and selection
  - update telescope selection
  - match cursorcolumn to cursorline
2022-02-10 10:10:49 -06:00
colors BREAKING!: rewrite config api and update styles 2022-02-10 10:10:49 -06:00
lua BREAKING!: rewrite config api and update styles 2022-02-10 10:10:49 -06:00
.stylua.toml chore: update stylua config 2022-01-29 16:12:12 -06:00
readme.md BREAKING!: rewrite config api and update styles 2022-02-10 10:10:49 -06:00

Rosé Pine for Neovim

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

!!! You are looking at the canary branch. Documentation has not yet been updated on this branch and is NOT accurate.

Usage

use({
    'rose-pine/neovim',
    as = 'rose-pine',
    tag = '0.5.0',
    config = function()
        vim.cmd('colorscheme rose-pine')
    end
})

Plugins

PR's are more than welcome if your favourite plugin is missing

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
})
local colors = require("galaxyline.themes.colors")["rose-pine"]

Rosé Pine

Rosé Pine with Neovim

Rosé Pine Moon

Rosé Pine Moon with Neovim

Rosé Pine Dawn

Rosé Pine Dawn with Neovim

Options

Options should be set before colorscheme

-- 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

-- 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.