mirror of
https://github.com/rose-pine/neovim.git
synced 2025-10-15 12:38:53 +02:00
init
This commit is contained in:
commit
f0c2be8d63
7 changed files with 502 additions and 0 deletions
9
colors/rose-pine.vim
Normal file
9
colors/rose-pine.vim
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
lua << EOF
|
||||
package.loaded['rose-pine'] = nil
|
||||
package.loaded['rose-pine.util'] = nil
|
||||
package.loaded['rose-pine.palette'] = nil
|
||||
package.loaded['rose-pine.theme'] = nil
|
||||
package.loaded['rose-pine.functions'] = nil
|
||||
|
||||
require('rose-pine').set()
|
||||
EOF
|
||||
22
lua/rose-pine/functions.lua
Normal file
22
lua/rose-pine/functions.lua
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
if vim.g.rose_pine_variant_switch == nil then
|
||||
vim.g.rose_pine_variant_switch = 0
|
||||
end
|
||||
|
||||
local select_variant = function(variant)
|
||||
vim.g.rose_pine_variant = variant
|
||||
print("Rosé Pine", variant)
|
||||
vim.cmd([[colorscheme rose-pine]])
|
||||
end
|
||||
|
||||
local toggle_variant = function(variants)
|
||||
local options = variants or { "base", "moon", "dawn" }
|
||||
|
||||
vim.g.rose_pine_variant_switch = (vim.g.rose_pine_variant_switch % table.getn(options)) + 1
|
||||
|
||||
select_variant(options[vim.g.rose_pine_variant_switch])
|
||||
end
|
||||
|
||||
return {
|
||||
select_variant = select_variant,
|
||||
toggle_variant = toggle_variant,
|
||||
}
|
||||
7
lua/rose-pine/init.lua
Normal file
7
lua/rose-pine/init.lua
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
local util = require('rose-pine.util')
|
||||
|
||||
local set = function()
|
||||
util.load()
|
||||
end
|
||||
|
||||
return { set = set }
|
||||
58
lua/rose-pine/palette.lua
Normal file
58
lua/rose-pine/palette.lua
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
local palette = {
|
||||
base = '#191724',
|
||||
surface = '#1f1d2e',
|
||||
overlay = '#26233a',
|
||||
inactive = '#555169',
|
||||
subtle = '#6e6a86',
|
||||
text = '#e0def4',
|
||||
love = '#eb6f92',
|
||||
gold = '#f6c177',
|
||||
rose = '#ebbcba',
|
||||
pine = '#31748f',
|
||||
foam = '#9ccfd8',
|
||||
iris = '#c4a7e7',
|
||||
highlight = '#2a2837',
|
||||
highlight_inactive = '#211f2d',
|
||||
highlight_overlay = '#3a384a',
|
||||
none = 'NONE',
|
||||
}
|
||||
|
||||
if vim.g.rose_pine_variant == 'dawn' then
|
||||
palette = {
|
||||
base = '#faf4ed',
|
||||
surface = '#fffaf3',
|
||||
overlay = '#f2e9de',
|
||||
inactive = '#9893a5',
|
||||
subtle = '#6e6a86',
|
||||
text = '#575279',
|
||||
love = '#b4637a',
|
||||
gold = '#ea9d34',
|
||||
rose = '#d7827e',
|
||||
pine = '#286983',
|
||||
foam = '#56949f',
|
||||
iris = '#907aa9',
|
||||
highlight = '#eee9e6',
|
||||
highlight_inactive = '#f2ede9',
|
||||
highlight_overlay = '#e4dfde',
|
||||
}
|
||||
elseif vim.g.rose_pine_variant == 'moon' then
|
||||
palette = {
|
||||
base = '#232136',
|
||||
surface = '#2a273f',
|
||||
overlay = '#393552',
|
||||
inactive = '#59546d',
|
||||
subtle = '#817c9c',
|
||||
text = '#e0def4',
|
||||
love = '#eb6f92',
|
||||
gold = '#f6c177',
|
||||
rose = '#ea9a97',
|
||||
pine = '#3e8fb0',
|
||||
foam = '#9ccfd8',
|
||||
iris = '#c4a7e7',
|
||||
highlight = '#312f44',
|
||||
highlight_inactive = '#2a283d',
|
||||
highlight_overlay = '#3f3c53',
|
||||
}
|
||||
end
|
||||
|
||||
return palette
|
||||
259
lua/rose-pine/theme.lua
Normal file
259
lua/rose-pine/theme.lua
Normal file
|
|
@ -0,0 +1,259 @@
|
|||
local p = require('rose-pine.palette')
|
||||
|
||||
local theme = {}
|
||||
|
||||
theme.loadSyntax = function()
|
||||
local syntax = {
|
||||
Boolean = { fg = p.gold },
|
||||
Character = { fg = p.gold },
|
||||
Comment = { fg = p.subtle, style = 'italic' },
|
||||
Conditional = { fg = p.pine },
|
||||
Constant = { fg = p.gold },
|
||||
Debug = { fg = p.rose },
|
||||
Define = { fg = p.iris },
|
||||
Delimiter = { fg = p.rose },
|
||||
Error = { fg = p.love },
|
||||
Exception = { fg = p.pine },
|
||||
Float = { fg = p.gold },
|
||||
Function = { fg = p.rose },
|
||||
Identifier = { fg = p.rose },
|
||||
-- Ignore = { fg = '' },
|
||||
Include = { fg = p.iris },
|
||||
Keyword = { fg = p.pine },
|
||||
Label = { fg = p.pine },
|
||||
Macro = { fg = p.iris },
|
||||
Number = { fg = p.gold },
|
||||
Operator = { fg = p.pine },
|
||||
PreCondit = { fg = p.iris },
|
||||
PreProc = { fg = p.iris },
|
||||
Repeat = { fg = p.pine },
|
||||
Special = { fg = p.rose },
|
||||
SpecialChar = { fg = p.rose },
|
||||
SpecialComment = { fg = p.iris },
|
||||
Statement = { fg = p.pine },
|
||||
StorageClass = { fg = p.foam },
|
||||
String = { fg = p.gold },
|
||||
Structure = { fg = p.foam },
|
||||
Tag = { fg = p.rose },
|
||||
Todo = { fg = p.iris },
|
||||
Type = { fg = p.foam },
|
||||
Typedef = { fg = p.foam },
|
||||
Underlined = { fg = p.foam, style = 'underline' },
|
||||
|
||||
-- htmlH1 = { fg = '' },
|
||||
-- htmlH2 = { fg = '' },
|
||||
-- htmlH3 = { fg = '' },
|
||||
-- htmlH4 = { fg = '' },
|
||||
-- htmlH5 = { fg = '' },
|
||||
-- htmlLink = { fg = '' },
|
||||
-- markdownH1 = { fg = '' },
|
||||
-- markdownH1Delimeter = { fg = '' },
|
||||
-- markdownH2 = { fg = '' },
|
||||
-- markdownH2Delimeter = { fg = '' },
|
||||
-- markdownH3 = { fg = '' },
|
||||
-- markdownH3Delimeter = { fg = '' },
|
||||
}
|
||||
|
||||
return syntax
|
||||
end
|
||||
|
||||
theme.loadEditor = function()
|
||||
local editor = {
|
||||
-- ColorColumn = {},
|
||||
-- Conceal = {},
|
||||
-- Cursor = {},
|
||||
-- CursorColumn = {},
|
||||
-- CursorIM = {},
|
||||
CursorLine = { bg = p.highlight_inactive },
|
||||
CursorLineNr = { fg = p.text },
|
||||
DiffAdd = { fg = '', bg = '' },
|
||||
DiffChange = { fg = '', bg = '' },
|
||||
DiffDelete = { fg = '', bg = '' },
|
||||
DiffText = { fg = '', bg = '' },
|
||||
Directory = { fg = p.foam },
|
||||
-- EndOfBuffer = {},
|
||||
ErrorMsg = { fg = p.love, style = 'bold' },
|
||||
-- FoldColumn = {},
|
||||
-- Folded = {},
|
||||
IncSearch = { bg = p.highlight },
|
||||
LineNr = { fg = p.inactive },
|
||||
MatchParen = { fg = p.text, bg = p.overlay },
|
||||
-- ModeMsg = {},
|
||||
MoreMsg = { fg = p.iris },
|
||||
NonText = { fg = p.inactive },
|
||||
Normal = { fg = p.text },
|
||||
-- NormalFloat = {},
|
||||
Pmenu = { fg = p.subtle, bg = p.surface },
|
||||
PmenuSbar = { bg = p.overlay },
|
||||
PmenuSel = { fg = p.text, bg = p.overlay },
|
||||
PmenuThumb = { bg = p.inactive },
|
||||
Question = { fg = p.gold },
|
||||
-- QuickFixLine = {},
|
||||
Search = { fg = p.iris, bg = p.highlight_overlay },
|
||||
SpecialKey = { fg = p.foam },
|
||||
-- SpellBad = {},
|
||||
-- SpellCap = {},
|
||||
-- SpellLocal = {},
|
||||
-- SpellRare = {},
|
||||
SignColumn = {},
|
||||
-- StatusLine = {},
|
||||
-- StatusLineNC = {},
|
||||
-- StatusLineTerm = {},
|
||||
-- StatusLineTermNC = {},
|
||||
-- TabLine = {},
|
||||
-- TabLineFill = {},
|
||||
-- TabLineSel = {},
|
||||
Title = { fg = p.rose },
|
||||
VertSplit = { fg = p.overlay },
|
||||
Visual = { bg = p.highlight },
|
||||
-- VisualNOS = {},
|
||||
WarningMsg = { fg = p.gold },
|
||||
-- Whitespace = {},
|
||||
-- WildMenu = {},
|
||||
}
|
||||
|
||||
if vim.g.rose_pine_disable_background == true then
|
||||
editor.Normal = { fg = p.text, bg = p.none }
|
||||
editor.SignColumn = { fg = p.text, bg = p.none }
|
||||
else
|
||||
editor.Normal = { fg = p.text, bg = p.base }
|
||||
editor.SignColumn = { fg = p.text, bg = p.base }
|
||||
end
|
||||
|
||||
return editor
|
||||
end
|
||||
|
||||
theme.loadTerminal = function()
|
||||
-- black
|
||||
vim.g.terminal_color_0 = p.overlay
|
||||
vim.g.terminal_color_8 = p.subtle
|
||||
-- red
|
||||
vim.g.terminal_color_4 = p.love
|
||||
vim.g.terminal_color_12 = p.love
|
||||
-- green
|
||||
vim.g.terminal_color_2 = p.pine
|
||||
vim.g.terminal_color_10 = p.pine
|
||||
-- yellow
|
||||
vim.g.terminal_color_6 = p.gold
|
||||
vim.g.terminal_color_14 = p.gold
|
||||
-- blue
|
||||
vim.g.terminal_color_1 = p.foam
|
||||
vim.g.terminal_color_9 = p.foam
|
||||
-- magenta
|
||||
vim.g.terminal_color_5 = p.iris
|
||||
vim.g.terminal_color_13 = p.iris
|
||||
-- cyan
|
||||
vim.g.terminal_color_3 = p.rose
|
||||
vim.g.terminal_color_11 = p.rose
|
||||
-- white
|
||||
vim.g.terminal_color_7 = p.text
|
||||
vim.g.terminal_color_15 = p.text
|
||||
end
|
||||
|
||||
theme.loadTreesitter = function()
|
||||
local treesitter = {
|
||||
-- TSAnnotation = {},
|
||||
-- TSAttribute = {},
|
||||
-- TSBoolean = {},
|
||||
-- TSCharacter = {},
|
||||
TSComment = { fg = p.subtle },
|
||||
-- TSConditional = {},
|
||||
TSConstBuiltin = { fg = p.love },
|
||||
-- TSConstMacro = {},
|
||||
-- TSConstant = {},
|
||||
TSConstructor = { fg = p.text },
|
||||
-- TSEmphasis = {},
|
||||
-- TSError = {},
|
||||
-- TSException = {},
|
||||
-- TSField = {},
|
||||
-- TSFloat = {},
|
||||
TSFuncBuiltin = { fg = p.love },
|
||||
-- TSFuncMacro = {},
|
||||
-- TSFunction = {},
|
||||
-- TSInclude = {},
|
||||
-- TSKeyword = {},
|
||||
-- TSKeywordFunction = {},
|
||||
-- TSLabel = {},
|
||||
-- TSLiteral = {},
|
||||
-- TSMethod = {},
|
||||
-- TSNamespace = {},
|
||||
-- TSNone = {},
|
||||
-- TSNumber = {},
|
||||
-- TSOperator = {},
|
||||
-- TSParameter = {},
|
||||
-- TSParameterReference = {},
|
||||
-- TSProperty = {},
|
||||
TSPunctBracket = { fg = p.subtle },
|
||||
TSPunctDelimiter = { fg = p.subtle },
|
||||
TSPunctSpecial = { fg = p.subtle },
|
||||
-- TSRepeat = {},
|
||||
-- TSStrike = {},
|
||||
-- TSString = {},
|
||||
TSStringEscape = { fg = p.pine },
|
||||
-- TSStringRegex = {},
|
||||
-- TSSymbol = {},
|
||||
TSTag = { fg = p.foam },
|
||||
TSTagDelimiter = { fg = p.subtle },
|
||||
-- TSText = {},
|
||||
-- TSTitle = {},
|
||||
-- TSType = {},
|
||||
-- TSTypeBuiltin = {},
|
||||
-- TSURI = {},
|
||||
-- TSUnderline = {},
|
||||
-- TSVariable = {},
|
||||
TSVariableBuiltin = { fg = p.love },
|
||||
}
|
||||
|
||||
return treesitter
|
||||
end
|
||||
|
||||
theme.loadLsp = function()
|
||||
local lsp = {
|
||||
LspDiagnosticsDefaultError = { fg = p.love },
|
||||
LspDiagnosticsDefaultHint = { fg = p.iris },
|
||||
LspDiagnosticsDefaultInformation = { fg = p.foam },
|
||||
LspDiagnosticsDefaultWarning = { fg = p.gold },
|
||||
LspDiagnosticsFloatingError = { fg = p.love },
|
||||
LspDiagnosticsFloatingHint = { fg = p.iris },
|
||||
LspDiagnosticsFloatingInformation = { fg = p.foam },
|
||||
LspDiagnosticsFloatingWarning = { fg = p.gold },
|
||||
LspDiagnosticsSignError = { fg = p.love },
|
||||
LspDiagnosticsSignHint = { fg = p.iris },
|
||||
LspDiagnosticsSignInformation = { fg = p.foam },
|
||||
LspDiagnosticsSignWarning = { fg = p.gold },
|
||||
LspDiagnosticsUnderlineError = { style = 'undercurl', sp = p.love },
|
||||
LspDiagnosticsUnderlineHint = { style = 'undercurl', sp = p.iris },
|
||||
LspDiagnosticsUnderlineInformation = { style = 'undercurl', sp = p.foam },
|
||||
LspDiagnosticsUnderlineWarning = { style = 'undercurl', sp = p.gold },
|
||||
LspDiagnosticsVirtualTextError = { fg = p.love },
|
||||
LspDiagnosticsVirtualTextHint = { fg = p.iris },
|
||||
LspDiagnosticsVirtualTextInformation = { fg = p.foam },
|
||||
LspDiagnosticsVirtualTextWarning = { fg = p.gold },
|
||||
LspReferenceRead = { fg = p.rose, bg = p.highlight },
|
||||
LspReferenceText = { fg = p.rose, bg = p.highlight },
|
||||
LspReferenceWrite = { fg = p.rose, bg = p.highlight },
|
||||
}
|
||||
|
||||
return lsp
|
||||
end
|
||||
|
||||
theme.loadPlugins = function()
|
||||
local plugins = {
|
||||
-- barbar.nvim
|
||||
-- https://github.com/romgrk/barbar.nvim
|
||||
BufferTabpageFill = { bg = p.none },
|
||||
BufferCurrent = { fg = p.text, bg = p.overlay },
|
||||
BufferCurrentMod = { fg = p.foam, bg = p.overlay },
|
||||
BufferCurrentSign = { fg = p.subtle, bg = p.overlay },
|
||||
BufferInactive = { fg = p.subtle },
|
||||
BufferInactiveMod = { fg = p.foam },
|
||||
BufferInactiveSign = { fg = p.subtle },
|
||||
BufferVisible = { fg = p.subtle },
|
||||
BufferVisibleMod = { fg = p.foam },
|
||||
BufferVisibleSign = { fg = p.subtle },
|
||||
}
|
||||
|
||||
return plugins
|
||||
end
|
||||
|
||||
return theme
|
||||
69
lua/rose-pine/util.lua
Normal file
69
lua/rose-pine/util.lua
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
local util = {}
|
||||
local theme = require('rose-pine.theme')
|
||||
|
||||
util.highlight = function(group, color)
|
||||
local style = color.style and 'gui=' .. color.style or 'gui=NONE'
|
||||
local fg = color.fg and 'guifg=' .. color.fg or 'guifg=NONE'
|
||||
local bg = color.bg and 'guibg=' .. color.bg or 'guibg=NONE'
|
||||
local sp = color.sp and 'guisp=' .. color.sp or ''
|
||||
|
||||
local hl = 'highlight ' .. group .. ' ' .. style .. ' ' .. fg .. ' ' .. bg .. ' ' .. sp
|
||||
|
||||
vim.cmd(hl)
|
||||
if color.link then
|
||||
vim.cmd('highlight! link ' .. group .. ' ' .. color.link)
|
||||
end
|
||||
end
|
||||
|
||||
function util.load()
|
||||
vim.cmd('hi clear')
|
||||
if vim.fn.exists('syntax_on') then
|
||||
vim.cmd('syntax reset')
|
||||
end
|
||||
if vim.g.rose_pine_variant == 'dawn' then
|
||||
vim.o.background = 'light'
|
||||
else
|
||||
vim.o.background = 'dark'
|
||||
end
|
||||
vim.o.termguicolors = true
|
||||
vim.g.colors_name = 'rose-pine'
|
||||
|
||||
local async
|
||||
async = vim.loop.new_async(vim.schedule_wrap(function()
|
||||
theme.loadTerminal()
|
||||
local plugins = theme.loadPlugins()
|
||||
local treesitter = theme.loadTreesitter()
|
||||
local lsp = theme.loadLsp()
|
||||
|
||||
for group, colors in pairs(plugins) do
|
||||
util.highlight(group, colors)
|
||||
end
|
||||
|
||||
for group, colors in pairs(treesitter) do
|
||||
util.highlight(group, colors)
|
||||
end
|
||||
|
||||
for group, colors in pairs(lsp) do
|
||||
util.highlight(group, colors)
|
||||
end
|
||||
|
||||
async:close()
|
||||
end))
|
||||
|
||||
-- load priority groups first
|
||||
local editor = theme.loadEditor()
|
||||
local syntax = theme.loadSyntax()
|
||||
|
||||
for group, colors in pairs(editor) do
|
||||
util.highlight(group, colors)
|
||||
end
|
||||
|
||||
for group, colors in pairs(syntax) do
|
||||
util.highlight(group, colors)
|
||||
end
|
||||
|
||||
-- load enhancements (eg. lsp, treesitter, plugins)
|
||||
async:send()
|
||||
end
|
||||
|
||||
return util
|
||||
78
readme.md
Normal file
78
readme.md
Normal file
|
|
@ -0,0 +1,78 @@
|
|||
<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>
|
||||
|
||||
## Installation
|
||||
|
||||
|
||||
## Usage
|
||||
|
||||
1. Install via your preferred package manager
|
||||
|
||||
```lua
|
||||
-- Packer
|
||||
use('rose-pine/nvim')
|
||||
```
|
||||
|
||||
2. Require or set `rose-pine` colorscheme
|
||||
|
||||
```lua
|
||||
-- Lua
|
||||
require('rose-pine').set()
|
||||
```
|
||||
|
||||
```vim
|
||||
" Vimscript
|
||||
colorscheme rose-pine
|
||||
```
|
||||
|
||||
## Options
|
||||
|
||||
```lua
|
||||
-- Can be 'base', 'moon', 'dawn'
|
||||
vim.g.rose_pine_variant = 'base'
|
||||
|
||||
-- Use terminal background
|
||||
vim.g.rose_pine_remove_background = false
|
||||
```
|
||||
|
||||
## Functions
|
||||
|
||||
```lua
|
||||
-- Toggle between the three variants
|
||||
require('rose-pine.functions').toggle_variant()
|
||||
|
||||
-- Toggle between base and dawn
|
||||
require('rose-pine.functions').toggle_variant({'base', 'dawn'})
|
||||
|
||||
-- Switch to specified variant
|
||||
require('rose-pine.functions').select_variant('moon')
|
||||
```
|
||||
|
||||
## Gallery
|
||||
|
||||
**Rosé Pine**
|
||||
|
||||

|
||||
|
||||
**Rosé Pine Moon**
|
||||
|
||||

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

|
||||
|
||||
## Thanks to
|
||||
|
||||
- [mvllow](https://github.com/mvllow)
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue