Soho vibes for Neovim
Find a file
2022-02-07 12:12:17 -06:00
colors refactor: simplify init 2021-12-03 09:36:54 -06:00
lua update active match highlight 2022-02-07 11:48:04 -06:00
.stylua.toml chore: update stylua config 2022-01-29 16:12:12 -06:00
readme.md docs: update tag 2022-02-07 12:12:17 -06:00

Rosé Pine for Neovim

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

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.