Soho vibes for Neovim
Find a file
2022-02-10 10:10:49 -06:00
colors wip: rely on vim background for setting theme 2022-02-10 10:10:49 -06:00
lua wip: rely on vim background for setting theme 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.