Compare commits

..

319 commits

Author SHA1 Message Date
Antoine Bertin
72a04c4065
feat: add AvantePromptInput highlight support (#368)
* feat: add AvantePromptInput highlight support
2025-08-24 09:50:23 -05:00
HieuDao-code
0e70556c8c
feat(diffview.nvim): add support for sindrets/diffview.nvim (#369) 2025-08-24 09:47:05 -05:00
Dawid Karpiński
72befaffea
fix: do not clear blend prop from highlight (#351)
* add private built-in blend override

---------

Co-authored-by: mvllow <mvllow@icloud.com>
2025-07-18 15:25:55 -05:00
fdcote
f93360149e
feat: add ModesFormat (#367) 2025-06-26 16:32:32 -05:00
Adrian Schneider
83c66bcadb
feat(grug-far): add highlight groups for add/remove results (#366) 2025-06-26 12:31:24 -05:00
fdcote
6b9840790c feat: add QuickFixLine (#357) 2025-05-05 12:13:20 -05:00
Andrei Heidelbacher
d195ed8673 feat(blink.cmp): improve BlinkCmpDoc contrast between current line (#356) 2025-05-01 16:55:24 -05:00
Andrei Heidelbacher
a67f5ef34b fix(blink.cmp): remove dedicated BlinkCmpDoc highlight (#355)
The default `BlinkCmpDoc` highlight is linked to `NormalFloat`, which is
a sensible default. However, due to overriding the default link with
only `fg` provided, the `bg` is cleared and the documentation popup is
indistinguishable from regular text.

This change is technically a no-op in terms of intended palette, because
`NormalFloat` should already use `palette.text`, and only fixes the
cleared `bg` bug.
2025-04-30 20:53:00 -05:00
Andrei Heidelbacher
39ec539f83 feat(lualine): change background from base to surface (#354)
This change improves the contrast of the statusline while aligning with the theme's spec.
2025-04-30 20:02:53 -05:00
aileot
5ccc379822 fix: set background=light if variant is "dawn" (#349)
* fix: set `background=light` if variant is "dawn"

This change might fix https://github.com/rose-pine/neovim/issues/321

* Update lua/rose-pine.lua

* fix: restrict variants that override `&background`

The other variant params are considered as if "auto"
2025-03-31 10:27:19 -05:00
stelo
d7dc9cd3f2 feat: extends DapUIType fg to iris (#348) 2025-03-11 21:25:25 -05:00
mvllow
44739383b9 docs: add highlight group examples with blend and inherit options 2025-02-25 19:58:52 -06:00
Tiago
8b216f7252 feat: add support for vim-sneak (#342) 2025-02-23 15:19:21 -06:00
mvllow
0511701746 feat: use experimental darker text for dawn 2025-02-05 19:49:14 -06:00
mvllow
946de320f4 fix: strip non-standard blend properties 2025-02-05 19:36:24 -06:00
mvllow
340cf5ed5e feat(perf): cache colors for up to 3x speed improvements 2025-02-05 19:35:55 -06:00
mvllow
f01eac6eed fix: invalid palette format 2025-02-03 11:28:57 -06:00
mvllow
3d71ab02f2 feat: reduce background opacity for special comments 2025-02-03 11:06:21 -06:00
mvllow
0ca4bfbc6f feat: set attribute style 2025-02-03 11:05:57 -06:00
mvllow
8db1217704 feat: use consistent variable styles 2025-02-03 11:05:44 -06:00
mvllow
2b88dfb054 refactor: update documentation 2025-02-03 11:05:20 -06:00
aileot
ffd5b69948 refactor(gitsigns): avoid redundant links (#336)
The `SignAdd`, `SignChange`, and `SignDelete` are never referenced by
any other highlight definitions than the previous `GitSigns` ones before
this change.

The isolated definitions are only left for backward compatibility.
2025-02-02 15:09:20 -06:00
Patrick Haun
6b51153905 More obvious match highlight in snacks.picker (#335) 2025-01-15 14:28:37 -06:00
Federico Minaya
40f03c4df1 feat: add snacks indent highlights (#334) 2025-01-14 15:20:19 -06:00
mvllow
463742691b feat: add Notify*Body highlights
Fixes #331
2025-01-08 09:37:09 -06:00
mvllow
c306f13158 feat: use blended iris for visual
Fixes #277
2025-01-08 09:09:59 -06:00
mvllow
fc418a716f fix: lualine transparency
Fixes #333
2025-01-07 09:47:00 -06:00
YarLama
36526815ee Update readme.md (#328)
* Update readme.md

Extended description for Structured Setup lazy.nvim

* Update readme.md

---------

Co-authored-by: mvllow <mvllow@icloud.com>
2024-12-10 09:50:19 -06:00
Metin Yalcinkaya
a449bb2599 feat: added highlight support for Saghen/blink.cmp (#329)
Closes #326
2024-12-10 09:39:28 -06:00
Anupam Basu
5e7bf83782 feat: add highlight support for epwalsh/obsidian.nvim (#323)
---------

Co-authored-by: mvllow <mvllow@icloud.com>
2024-10-23 18:59:08 -04:00
mvllow
1ebe0a5171 feat: use gold for search
Closes #305
2024-10-08 10:22:29 -05:00
not
8869e546d4 feat(transparency): support trouble.nvim (#319) 2024-08-25 13:09:15 -05:00
not
2f44ef189f feat: use neutral colours for search (#318) 2024-08-25 12:41:35 -05:00
not
22f873c7db fix: palette typo (#317) 2024-08-25 12:37:07 -05:00
dav-cho
33a1ba3126 fix: wrong spelling for palette (#316) 2024-08-25 12:35:29 -05:00
Aaron Pham
fe9e661cda feat(plugins): add support for avante.nvim (#315) 2024-08-25 12:20:43 -05:00
jostaub
94ffdb7748 feat: palette overrides (#307)
* feat: palette overrides

* removed option all from palett override

* removed dead code forgotten in last commit

* fix typo in readme and simplified comment

Co-authored-by: not <mvllow@icloud.com>

---------

Co-authored-by: not <mvllow@icloud.com>
2024-08-14 13:40:33 -05:00
Allan Deutsch
d97cc7fcd7 fix: nvim-notify background (#308) 2024-08-12 15:59:44 -05:00
Vlad
7f0b8c4c7f chore: markdown.nvim renamed to render-markdown.nvim (#309)
Reference to change:
aeb5cec617
2024-08-05 15:59:59 -05:00
Shaun Clayton
c14da532fa feat: add support for grug-far.nvim (#304)
* feat: add support for grug-far.nvim

* fix: change link for results match to `CurSearch`

Co-authored-by: not <mvllow@icloud.com>

* fix: add highlights for line numbers

---------

Co-authored-by: not <mvllow@icloud.com>
2024-07-25 16:47:21 -05:00
Shaun Clayton
8b1a2e73d2 feat: add support for markdown.nvim (#303)
* feat: add support for markdown.nvim

* fix: tweaked some highlights to achieve better appearance

* fix: adjust heading highlights to use group linking
2024-07-24 16:29:39 -05:00
not
d6112a7c56 fix(transparency): lualine separator (#301)
Fixes #288
2024-07-23 21:51:43 -05:00
not
535240c846 feat: highlight neotree tabs (#300)
Fixes #263
2024-07-23 19:17:59 -05:00
Shaun Clayton
f7c01f07ee fix: fzf-lua invisible selection (#299)
* fix: invisible text in selection in fzf-lua

* fix: correct bg color for FzfLuaNormal

* fix: invisible text in selection in fzf-lua

* fix: correct bg color for FzfLuaNormal

* fix: change linking and add highlight for FzfLuaFilePart

* fix: linking to 'FloatTitle' for WhichKeyTitle

This works the same as the original fix, confirmed by testing
against nvim 0.10.0 and nightly.

Prefer linking over previous solution.
2024-07-23 16:56:40 -05:00
not
656f360ded feat: improve diff text (#297) 2024-07-22 16:07:45 -05:00
not
5929bc8683 feat: improve float transparency (#298) 2024-07-22 11:12:10 -05:00
Shaun Clayton
bf7ceb32fa chore: update mini-icons highlights to use appropriate colors (#295) 2024-07-22 10:17:13 -05:00
Shaun Clayton
3bbd8a865c fix: broken transparency for treesitter-context (#294) 2024-07-22 00:23:59 -05:00
Shaun Clayton
afb46f9b66 fix: add missing highlight (#293) 2024-07-21 23:06:14 -05:00
Shaun Clayton
f2bf6e8d49 feat: add support for rainbow-delimiters.nvim (#292) 2024-07-21 16:39:15 -05:00
Shaun Clayton
2f1733d36f feat: add support for icons in which-key.nvim (#291)
* feat: add icon support for which-key.nvim

* fix: incorrect color reference

* feat: set WhichKeyIcon hl group to 'pine' by default

Used when the colors option is set to false.
2024-07-21 16:12:11 -05:00
Shaun Clayton
c4b55e85fb feat(palette): add initial support for new color leaf (#290)
* feat(palette): add new color 'leaf'

* feat: add  highlight groups to defaults
2024-07-21 13:17:17 -05:00
Shaun Clayton
fe5f4e11f7 chore: update highlights for which-key.nvim (#287)
* chore: update highlights for which-key.nvim

* fix: revert placement of WhichKeyFloat hl group

* feat: add additional highlight groups for icons in which-key

* Revert "feat: add additional highlight groups for icons in which-key"

Need to come up with a different solution.

This reverts commit 18d70420a2.

* fix: use explicit fg and bg for WhichKeyTitle

* Revert "fix: use explicit fg and bg for WhichKeyTitle"

Breaks extend_background_behind_borders again... Oops

This reverts commit 1389556a19.
2024-07-15 10:21:08 -05:00
Ilya Kuporosov
69b3aa9500 fix: link @lsp.type.comment.c, @lsp.type.comment.cpp to @comment (#282)
It fixes branches of conditional directives like `#if` and `#ifdef` in C and C++
appearing as if they both are true, without breaking TODO comments.
2024-07-03 16:23:19 -05:00
not
71852123cc feat: set matching background on MiniFilesTitle (#280) 2024-06-27 12:55:27 -05:00
Evgeni Chasnovski
6d476a5c64 feat: add explicit full 'mini.nvim' support (#279) 2024-06-27 12:51:35 -05:00
not
958dce3da9 feat: support upcoming modes.nvim update (#274)
[modes.nvim](https://github.com/mvllow/modes.nvim) is about to
incorporate replace mode.
2024-06-09 10:48:51 -05:00
abvee
511e82e272 Added ["@float"] to default_highlights (#272) (#273) 2024-05-25 21:52:38 -05:00
not
f67828be44 Revert "feat: new themes for lualine (#267)" (#269)
This reverts commit cbc2064f4c.
2024-05-14 09:42:41 -05:00
PRIZ ;]
cbc2064f4c feat: new themes for lualine (#267) 2024-05-10 12:22:41 -05:00
Hayden Rouille
c8477ee978 For transparency, remove BG for buffers and gray out the text (#265) 2024-04-18 09:48:05 -05:00
not
8d9c83d145 format (#264) 2024-04-09 13:00:32 -05:00
Dhruvin Shah
465b7dc623 feat: adding vim-illuminate highlights (#262) 2024-04-09 12:57:04 -05:00
Adam K
e4c22a9163 fix(python): import semantic_tokens from basedpyright (#257)
* fix(python): import semantic_tokens from basedpyright

* fix: restores svelte string highlights
2024-04-09 12:56:29 -05:00
Dave Greene
01dc90af2f Fixed enum use vs magic string (#261) 2024-03-29 22:39:26 -05:00
Julius Rüberg
63f4613365 feat: add highlights for nvim-treesitter-context (#260) 2024-03-29 19:51:22 -05:00
not
1f22d4e97e feat: add mini.diff (#259) 2024-03-28 19:32:00 -05:00
Jaehwang Jung
a959c73910 fix: clear autocmd when changing colorscheme (#254) 2024-03-23 13:53:11 -05:00
not
3dbb8a99bd feat: highlight lsp variable constant (#246)
Closes #245
2024-03-19 18:51:46 -05:00
James Knight
e901a53e41 feat: add mini.statusline highlights (#250) 2024-03-15 12:08:52 -05:00
Andrew
c8e97915d1 feat: add highlight groups for folke/trouble.nvim (#248) 2024-03-05 08:47:17 -06:00
Fitrah
12ace889a0 fix(migrate): avoid ternary 'falls through' state (#242)
See: https://riptutorial.com/lua/example/26503/emulating-ternary-operator-with--and---or--logical-operators-#undefined
2024-02-14 09:58:18 -06:00
not
e28cda232b feat: prioritise semantic variable highlighting (#240) 2024-02-11 20:11:47 -06:00
not
ea3f15ca95 fix: markdown delimiter (#238) 2024-02-08 13:44:50 -06:00
not
4372c4eb49 feat: improve markdown syntax (#237)
* types: update highlight type

* feat: improve markdown highlighting
2024-02-08 13:42:03 -06:00
Maxim Kozhukh
95e9767165 feat: use treesitter highlights for @lsp.type.variable (#233) 2024-01-29 09:57:21 -06:00
Lin Tinusgrag
9d0e1b70d9 feat: make markdown headings distinguishable with treesitter (#232) 2024-01-29 09:54:19 -06:00
Maxim Kozhukh
75d145fa08 fix: unable to override linked groups (#230) 2024-01-29 09:48:02 -06:00
Eric Milford
4452ecd140 feat: Add support for Neotest (#225)
https://github.com/nvim-neotest/neotest/
2024-01-27 21:02:37 -06:00
not
0b77ef0e7b chore: update variable highlights (#226) 2024-01-27 20:34:00 -06:00
Wahyu Wiyoko
8514c638bc fix: misspelled highlight group name (#223) 2024-01-27 09:43:15 -06:00
not
e62a61166e fix: regression in options (#221)
* fix: headings not migrating to flat options

* fix: invalid key when using inherit
2024-01-26 21:43:53 -06:00
not
7ed74e3f24 feat: add new treesitter highlights (#217)
* feat: add WinBar and WinBarNC

* feat: add new treesitter highlight groups

* perf: parse necessary values upfront

This commit no longer parses each highlight group, but rather user
config values only.

* fix: titles are no longer dynamically coloured

Closes #216 #218 #219
2024-01-26 14:12:54 -06:00
not
f4d51d67ee feat: add mini.clue and mini.pick (#215) 2024-01-18 10:28:16 -06:00
not
aa74893a06 fix: unlink TabLine from StatusLine (#214) 2024-01-16 08:31:18 -06:00
atinylittleshell
1ffdf27819 feat(transparency): remove lualine background (#212) 2024-01-14 21:28:49 -06:00
not
e0674e5e5c feat: support folke/flash.nvim (#211) 2024-01-12 20:46:04 -06:00
Robin Gruyters
79e0d756b9 chore: update highlights for indent-blanklines (#210) 2024-01-12 20:39:12 -06:00
not
46044020c6 feat: improve neogit support (#209)
* feat: improve neogit support

* add change copied
2024-01-09 15:44:36 -06:00
not
1edcf47562 fix: mismatched WinSeparator background (#208)
* fix: mismatched WinSeparator background

* feat: use border group for bolded vert split

* fix: Pmenu fg typo
2024-01-08 09:43:57 -06:00
not
188190f285 revert: improve palette contrast (#207)
This commit restores the official palette colours. A future update will
address contrast.
2024-01-08 09:27:46 -06:00
not
bfa2d2b2fb feat(transparency): remove more backgrounds (#205)
* feat(transparency): remove border background

* chore(transparency): remove telescope selection caret background
2024-01-07 23:41:02 -06:00
not
2c892088f9 fix: transparency not affecting Normal background (#204) 2024-01-07 19:27:50 -06:00
not
76b6d830f6 feat!: enable extend_background_behind_borders by default (#201) 2024-01-07 17:55:48 -06:00
not
82285ba9f1 fix: none palette value (#200) 2024-01-07 17:35:36 -06:00
not
86fa83761e feat: re-add inherit option for custom highlight groups (#198) 2024-01-07 15:39:30 -06:00
not
29477a109a feat!: add new options with better support for transparency (#185)
This commit adds a few new options and improves transparency support.

Enable transparency styles:

```lua
styles = { transparency = true }
```

Feedback is appreciated!
2024-01-07 13:42:09 -06:00
mortezadadgar
84a88f68e1 Add support for fzf-lua (#194)
In a attempt make it more like telescope colors.
2024-01-07 13:14:25 -06:00
not
c48de5d8f8 Update readme.md (#181) 2023-10-25 14:43:34 -05:00
not
8f37719a51 docs: fix readme typo (#179) 2023-07-28 23:04:08 +02:00
not
bca840fc90 docs: update installation (#178) 2023-07-28 23:03:23 +02:00
Tobias Sommer
70c641a0b7 docs: add inherit option (#175)
* Remove the option, which is not longer implemented
* Add an example for the inherit highlight config
2023-07-22 16:31:03 +02:00
Asthestarsfalll
eb4c5591c7 feat: color for flash (#174) 2023-07-21 10:09:29 +02:00
Niamh Ferns
805a183dde feat!: custom user highlight groups are merged with Rosé Pine defaults (#171)
Configuring `highlight_groups` now merge by default. For example, to add italics without changing the colour:

```diff
- Keyword = { fg = "pine", italic = true }
+ Keyword = { italic = true }
```

Opt out of this behaviour via `inherit = false`.
2023-07-15 17:04:58 +02:00
not
c552fcadac feat: update tag and includes for consistency with semantic tokens (#168) 2023-06-21 16:34:13 +02:00
not
3b3ca9ebb9 feat: change @method from iris to rose (#167)
Closes #164
2023-06-21 15:37:44 +02:00
Pedro Cattori
4e0e82b3af feat: colors for hop (#165) 2023-06-19 19:48:24 +02:00
Pedro Cattori
838b33cdc4 feat: colors for neo-tree (#166) 2023-06-19 19:48:02 +02:00
Sebastian Wiegandt
9ecd30d749 Improve Treesitter heading highlighting for Markdown (#163) 2023-06-10 23:56:22 +02:00
mvllow
ab6ab41da0 chore: clean up types and setup logic 2023-06-07 00:14:45 +02:00
mvllow
0fb313c3c5 fix: reset palette when switching colorschemes 2023-05-28 17:25:09 +02:00
not
eb057bd6dd Update bug_report.yml (#157) 2023-04-30 16:27:50 -05:00
not
75bb6e5a6d Update bug_report.yml 2023-04-27 12:23:40 -05:00
not
89bcc4b197 Update bug_report.yml 2023-04-27 12:22:09 -05:00
Fitrah
9cb8497413 fix: reset @lsp.type.comment (#155) 2023-04-18 11:29:36 -05:00
Егор Мартынов
15eeca1d44 fix(indent-blankline): fix italic indent lines (#154) 2023-04-12 18:02:24 -05:00
not
adc339c315 docs: remove empty setup function (#151) 2023-03-30 17:04:49 -05:00
not
196cb4cb06 chore: update config types (#150) 2023-03-30 13:00:32 -05:00
mvllow
8b63bcd142 feat: update bufferline selected tab
Ref #149
2023-03-30 12:23:39 -05:00
mvllow
3044a86a2c Merge branch 'main' of github.com:rose-pine/neovim 2023-03-23 14:03:19 -05:00
mvllow
88dfcf9e8a feat: match editor background for GitSigns* gutter 2023-03-23 14:02:37 -05:00
Егор Мартынов
3eb035f569 feat: add lsp injected highlights (#148) 2023-03-23 08:17:32 -05:00
mvllow
6fd3a3f1b5 feat: alias _experimental_nc to nc in the palette 2023-03-22 18:44:38 -05:00
Pedro Cattori
d500424a30 feat: highlights for goolord/alpha-nvim (#146) 2023-03-19 09:37:25 -05:00
mvllow
af49f208f0 groups.background now overrides all base instances 2023-03-12 14:35:16 -05:00
Jakub Theimer
5e48e3083a add highlights for mini.indentscope (#144) 2023-03-09 12:22:33 -06:00
Will Leinweber
8e66255eee Add popup title bar color for NeoTree (#140) 2023-03-08 09:10:19 -06:00
Егор Мартынов
576c0d2cb1 add @lsp.type highlight groups (add support for lsp semantic token groups) (#141) 2023-03-08 09:09:04 -06:00
Егор Мартынов
61ea7ce033 feat: add NoiceCursor highlight group (#138) 2023-03-07 21:45:48 -06:00
not
36feaf500f docs: remove empty setup function (#137) 2023-03-06 15:20:48 -06:00
not
2a7381e9ab feat: update navic colours (#136) 2023-03-06 15:07:12 -06:00
not
826458a62c feat: add background_nc and panel_nc groups (#130) (#132) 2023-03-06 14:40:10 -06:00
Jakub Theimer
832f94a957 Add highlights for nvim-navic (#135) 2023-03-06 14:35:28 -06:00
Tom Marien
80695a625c feat: added leap highlight groups (#133) 2023-03-04 09:17:46 -06:00
Brian Di Palma
a68fd96801 fix: Make extent/size of floating windows clearer (#129) 2023-02-24 12:06:25 -06:00
not
022be54f7d Update readme.md 2023-02-23 14:34:03 -06:00
mvllow
8f3894b5b8 fix: transparent Pmenu when disable_float_background
Closes #124
2023-02-23 14:03:14 -06:00
not
16a4739664 Merge canary (#114)
* feat!: use new highlight api

* feat: support custom highlight blending

Example:

```
{
	highlight_groups = {
		StatusLine = { bg = 'love', blend = 10 }
	}
}
```

* refactor: move config into separate file

* wip: update semantic tokens

* ci: add issue templates

Thanks to https://github.com/folke/lazy.nvim for the inspiration!

* ci: fix template formatting

* chore: update editorconfig

* fix: decouple more backgrounds from floats

* change `@tag.attribute` to iris

* add cursor highlights

Closes #121

* match link underline colour

* improve `dim_nc_background` behaviour

ref #123

* feat: expose each variant as individual theme

ref #98

* feat: update tokens

ref #107

* feat: distinguish between `CmpItemKind`'s
2023-02-22 13:25:36 -06:00
not
9e30b45caf Update readme.md 2023-01-17 21:09:31 -05:00
not
6d91e39c28 Update bug_report.yml 2023-01-17 21:07:28 -05:00
mvllow
61e22c730b fix: decouple StatusLine background from floats 2023-01-16 23:42:14 -05:00
mvllow
b33cdf76cd chore: update editorconfig 2023-01-13 14:11:12 -05:00
mvllow
7f6a7364de ci: fix template formatting 2023-01-13 13:58:29 -05:00
mvllow
d1e3278a45 ci: add issue templates
Thanks to https://github.com/folke/lazy.nvim for the inspiration!
2023-01-13 13:55:30 -05:00
Arkady Rost
37fa09c6d2 Fixed Telescope background in case when config.disable_background = true and (#110)
config.disable_float_background = false

Co-authored-by: Arkady Rost <arost@almworks.com>
2023-01-03 12:47:51 -06:00
Zakhary Kaplan
9fd19a9514 fix: indent-blankline missing hlGroups (#108) 2022-12-27 11:23:58 -06:00
not
db7e63846f create license
closes #106
2022-12-03 11:10:00 -05:00
numToStr
8ce63c8692 chore: rename colors/rose-pine.{vim => lua} (#105) 2022-11-20 09:39:24 -05:00
Slotos
148a6d2577 Ease up diff backgrounds (#104)
Lower the blend intensity to leave sufficient colour difference for the eye to catch on.
2022-11-08 20:45:19 -05:00
Slotos
4b6d23ff2e Ease up diff backgrounds (#104)
Lower the blend intensity to leave sufficient colour difference for the eye to catch on.
2022-11-08 20:39:38 -05:00
Pedro Carreño
d04e8b2aa5 fix: bufferline deprecated names (#102) 2022-10-24 12:26:41 -05:00
Myuwi
3eac7f3baa fix: add support for @* treesitter highlight groups (#101) 2022-10-20 15:15:40 -05:00
Mi Yu
e67b0bfdfe feat: Add neovim :checkhealth highlight groups (#100) 2022-10-03 10:39:52 -04:00
Daniel
39dd687ed9 feat: Add support to markid (#97) (#99) 2022-09-20 09:40:30 -04:00
Guilherme de Andrade
47dd2ad6ba docs: remove tag option from Packer snippet (#96) 2022-09-18 12:22:07 -04:00
mvllow
95dd29d70c reduce SpellBad importance 2022-09-06 17:28:48 -04:00
gdnand
506de581e5 ADD: dashboard hlGroups (#90) 2022-08-14 08:59:26 -04:00
Will Leinweber
006aac9d67 feat: Add nvim-dap-ui highlight groups (#87) 2022-07-16 23:08:57 -04:00
mvllow
04fa9d94a5 refactor(nvim-tree): link folder names 2022-07-08 19:53:27 -04:00
mvllow
28edf05036 feat: allow overriding unset highlight groups 2022-06-16 00:52:16 -04:00
mvllow
b0724442eb refactor: remove deprecation messages 2022-06-16 00:52:16 -04:00
mvllow
c253ca2586 docs: move supported plugins to the wiki 2022-06-16 00:52:16 -04:00
mvllow
c3762c935e refactor!: move galaxyline theme to rose-pine.plugins.galaxyline 2022-06-16 00:51:29 -04:00
mvllow
4a3b4512fc refactor: format and remove unused values
- update format rules
- update plugin file headers
- remove unused opacity from palette
2022-06-16 00:43:09 -04:00
mvllow
bc07e54924 chore: reduce contrast of ColorColumn
To override highlights: https://github.com/rose-pine/neovim#options
2022-06-14 11:59:22 -04:00
mvllow
a60b0e6581 feat: support WildMenu 2022-06-14 11:34:50 -04:00
crows
23685a0a2e feat: improve contrast of the FloatTitle (#83) 2022-06-02 11:07:52 -04:00
fvrests
aeec916cba link to packer.nvim 2022-05-14 11:58:12 -04:00
Will Leinweber
15894e3f21 Add CurSearch highlight group (#81) 2022-05-06 12:34:05 -04:00
Fitrah Muhammad
1ef267ddcc add LspCodelensXXX highlight group (#80) 2022-04-25 16:32:28 -04:00
not
c68bfa077b Update readme.md 2022-04-19 09:09:57 -05:00
Will Leinweber
de2a00774d chore: move image to github cdn (#78) 2022-04-19 09:07:45 -05:00
not
853112468d docs: remove duplicated usage 2022-04-15 13:02:57 -04:00
not
c38b23c022 add toggleterm highlights and initial bufferline highlights (#77) 2022-04-15 09:16:03 -04:00
Fitrah Muhammad
b10a5c3432 add LspReferenceXXX highlight group (#75) 2022-04-11 10:19:35 -04:00
not
49647d12b4 docs: update readme 2022-04-09 16:27:39 -04:00
not
e153a6b7eb add highlight groups (#74) 2022-04-01 12:28:34 -04:00
mvllow
2f7d458414 docs: add groups.background and groups.panel 2022-03-17 13:42:41 -04:00
mvllow
1346db5bde add groups.background and groups.panel
closes #73
2022-03-17 13:41:33 -04:00
Will Leinweber
2dea84a91f fix: Re-add nvim-notify highlights (#72) (#72) 2022-03-09 22:21:17 -05:00
mvllow
3fb07a770f fix named blend styles
ref #70
2022-02-18 11:13:01 -06:00
mvllow
f3c534e4be update punctuation colour 2022-02-15 22:37:52 -06:00
mvllow
64986b857d fix user options not being applied
closes #69
2022-02-14 15:20:30 -06:00
not
7c398c943c Update readme.md 2022-02-14 09:43:34 -06:00
Brian Di Palma
64c5952bc7 Update readme.md (#68) 2022-02-14 07:36:36 -06:00
not
317a7c8473 breaking: move to lua config (#64)
Co-authored-by: fvrests <fvrests@icloud.com>
2022-02-13 16:18:23 -06:00
not
c207a62f52 Update readme.md 2022-02-10 16:04:33 -06:00
not
6cbc72a75d Update readme.md 2022-02-10 10:31:12 -06:00
Daniel Mathiot
0e23ee652d feat: Add nvim-notify highlights (#66) 2022-02-08 12:47:47 -06:00
mvllow
acee7a0b09 reduce contrast of cursorline and cursorcolumn
closes #65
2022-02-08 08:58:59 -06:00
mvllow
73c5046bf3 docs: update tag 2022-02-07 12:12:17 -06:00
mvllow
a42c0e69df update active match highlight 2022-02-07 11:48:04 -06:00
mvllow
8b704ffdf4 minor tweaks and formatting 2022-02-07 11:47:42 -06:00
mvllow
da1c6111a3 docs: add alt lualine theme 2022-02-06 16:51:14 -06:00
mvllow
3835d28010 rename alternative lualine theme 2022-02-06 16:51:09 -06:00
fvrests
5d1388889e update dawn overlay 2022-02-06 16:42:43 -06:00
fvrests
f520ece741 add inverse theme 2022-02-06 16:42:43 -06:00
mvllow
1a3d0c279e update config logic 2022-02-03 19:35:16 -06:00
mvllow
7a44c1fbec Merge branch 'main' of github.com:rose-pine/neovim 2022-02-02 17:45:08 -06:00
mvllow
b1069203d1 feat: add link override
- refactor config and readme
2022-02-02 17:44:16 -06:00
mvllow
0ac6c6c091 chore: update stylua config 2022-01-29 16:12:12 -06:00
mvllow
9fabaff219 chore: update util function 2022-01-29 16:12:03 -06:00
not
03ace10a49 Update config.lua 2022-01-29 14:48:23 -06:00
not
8a728cd0cd Update readme.md 2022-01-28 18:32:46 -06:00
mvllow
b1f5b18fdf match telescope selection caret background 2022-01-28 15:20:20 -06:00
mvllow
34e6fd25ce feat: add support for telescope.nvim and allow border overrides 2022-01-28 15:11:59 -06:00
mvllow
6a4eeaaac3 update search highlights 2022-01-26 21:32:05 -06:00
mvllow
7ecc4a9dfb feat: support FoldColumn 2022-01-26 10:36:18 -06:00
yuhixyz
ac704d114e vimwikilink add underline style (#61) 2022-01-25 08:12:05 -06:00
Devin
556b04d018 feat: add support for pounce.nvim (#60) 2022-01-25 08:10:51 -06:00
mvllow
06fca4e007 darken statusline foreground 2022-01-23 18:27:38 -06:00
mvllow
f8c9ac7dad wip: add bufferline starting point
ref #56
2022-01-21 21:07:02 -06:00
not
e0fd291fb0 Update palette (#58)
* chore: format

* feat!: use new palette

- color "inactive" has been renamed to "muted"
- update subtle and muted colors
2022-01-21 20:27:22 -06:00
Daniel Mathiot
ed2dd129b6 feat: Add lsp_signature highlight (#54) 2022-01-04 09:29:16 -06:00
mvllow
617fb080ac fix: barbar buffer target
ref #52
2021-12-30 23:05:58 -06:00
mvllow
6986aee1e3 fix: diff changed contrast
ref #51
2021-12-30 11:34:58 -06:00
mvllow
bc7ec7ab69 feat: add TSStringSpecial 2021-12-30 10:51:34 -06:00
mvllow
d48856ebcf chore: match treesitter operator colour 2021-12-30 10:49:09 -06:00
mvllow
812bb12e29 chore: add coloured diff backgrounds
fixes #51
2021-12-21 11:06:40 -06:00
Samuel K
490b59d540 Support for LspSaga (#48)
* lspsaga: update readme
add lspsaga to the readme

* feat: code actions and diagnostics hl-groups
Highlight groups for:
- code actions
- diagnostics

* feat(nvim): add some more colors

Adding some more lspsaga colors.

* feat(lspsaga): finishing touches

Add the finihing touches and add the last needed highlightgroups

Disclaimer: Preview Definitions still don't work

* style(lspsaga): remove comments and rearrange

Remove uneeded comments and rearrange some code

* fix(lspsaga): preview definitions

Preview Definitions now get highlighted! Why?
Because it's *Definitions* not *Defintions*

* feat(lspsaga): add one new highlight

Add LspSagaBorderTitle highlight

* fix(lspsaga): remove lspsaga.norg

* style(lspsaga): rearrange diagnostic highlights

Rearrange `DiagnosticInformation` and `DiagnosticWarning` to their respective spots

* Revert "Merge branch 'main' into main"

This reverts commit 5d26b3da8b, reversing
changes made to 12cfac46f3.

* lspsaga: update readme
add lspsaga to the readme

* feat: code actions and diagnostics hl-groups
Highlight groups for:
- code actions
- diagnostics

* style(lspsaga): remove comments and rearrange

Remove uneeded comments and rearrange some code

* style(lspsaga): rearrange diagnostic highlights

Rearrange `DiagnosticInformation` and `DiagnosticWarning` to their respective spots

* Revert "Merge branch 'main' into main"

This reverts commit 5d26b3da8b, reversing
changes made to 12cfac46f3.

* fix(lspsaga): add missing diagnostc groups

* style(lspsaga): format with stylua

* chore: format

Co-authored-by: mvllow <mvllow@icloud.com>
2021-12-17 13:38:22 -06:00
Daniel Mathiot
12cfac46f3 Support for Neorg (#33) 2021-12-15 08:25:45 -06:00
Matthias Vogelgesang
8594322103 fix: match Markdown headings for TS plugin (#49) 2021-12-14 13:26:36 -06:00
mvllow
5feab69740 fix: matching parenthesis contrast
closes #47
2021-12-08 11:51:29 -06:00
mvllow
23c51ae234 chore: remove markdown test 2021-12-03 15:10:01 -06:00
not
e169df7098 docs: use default config as example 2021-12-03 15:04:41 -06:00
not
718fb1fcf7 docs: format 2021-12-03 15:03:47 -06:00
mvllow
40ae2b843d chore!: match heading prefix to text 2021-12-03 15:02:46 -06:00
mvllow
bebb579bcd feat: add vim.g.rose_pine_colors.heading_prefix 2021-12-03 14:44:21 -06:00
mvllow
1ef3ca3806 chore: update headings 2021-12-03 14:43:58 -06:00
mvllow
043d73befd docs: encourage tagged releases 2021-12-03 11:00:45 -06:00
mvllow
61c20113aa feat: add vim.g.rose_pine_inactive_background
closes #39
2021-12-03 09:58:25 -06:00
mvllow
ce1a9d36e5 feat: add vim.g.rose_pine_disable_float_background option 2021-12-03 09:45:20 -06:00
mvllow
0f83b4a472 docs: update variant name 2021-12-03 09:45:02 -06:00
mvllow
4a36ea9819 Revert "Remove background for popups (#38)"
This reverts commit 4fa5912437.
2021-12-03 09:39:40 -06:00
mvllow
62f9fb7b27 Merge branch 'main' of github.com:rose-pine/neovim 2021-12-03 09:38:58 -06:00
not
e6e25af038 Refactor structure (#43)
* refactor: palette

* refactor: simplify init

* chore!: rename functions

- `rose-pine.functions.select_variant` -> `rose-pine.set`
- `rose-pine.functions.toggle_variant` -> `rose-pine.toggle`

* docs: update options

* chore: update config with shared headings
2021-12-03 09:38:34 -06:00
mvllow
69038d7668 Merge branch 'main' of github.com:rose-pine/neovim 2021-12-03 09:37:47 -06:00
mvllow
4a43244c6a chore: update config with shared headings 2021-12-03 09:36:54 -06:00
mvllow
d625d91bb6 docs: update options 2021-12-03 09:36:54 -06:00
mvllow
dd00cb8de1 chore!: rename functions
- `rose-pine.functions.select_variant` -> `rose-pine.set`
- `rose-pine.functions.toggle_variant` -> `rose-pine.toggle`
2021-12-03 09:36:54 -06:00
mvllow
981ffd5e16 refactor: simplify init 2021-12-03 09:36:54 -06:00
mvllow
f712b06101 refactor: palette 2021-12-03 09:29:55 -06:00
Joonas Korhonen
ddb4959e27 Link legacy diff groups for git.vim and diff.vim syntax (#42) 2021-12-03 08:15:12 -06:00
Daniel Mathiot
4fa5912437 Remove background for popups (#38) 2021-12-02 11:33:09 -06:00
mvllow
21031bf9b2 chore: format group name 2021-12-01 23:58:50 -06:00
Devin
8ce782f282 Fix neogit highlight and adjust the highlight contrast (#41)
* fix: neogit highlight broken after #44065fc

* feat(neogit): adjust highlight contrast
2021-12-01 23:54:09 -06:00
mvllow
876b18a78e chore: format 2021-12-01 13:51:24 -06:00
mvllow
44065fcafe fix: improve highlight contrast
closes #40
2021-12-01 13:08:18 -06:00
Daniel Mathiot
bea1fa86c2 feat: Add more highlights to nvim-cmp (#37)
* feat: Add more highlights to nvim-cmp

This should close #36.
For information sake, the colors and the arrangement is very personal,
and can be subject to changes.
Feel free to complete the list of supported CmpItemKind from there: https://github.com/hrsh7th/nvim-cmp/blob/main/lua/cmp/types/lsp.lua#L108

* fix: Remove subtle hl for CmpItemKinds
2021-11-30 17:31:36 -06:00
Piers Olenski
a00a30d7d6 Add VimWiki support (#35) 2021-11-20 10:04:48 -06:00
mvllow
38f3720c64 feat: add NormalFloat 2021-11-19 13:36:11 -06:00
mvllow
75ecde0bb2 fix: float background mismatch 2021-11-19 13:25:44 -06:00
mvllow
7b5ba94aa9 fix: allow partial overrides for nested groups 2021-11-08 16:50:51 -06:00
mvllow
b547d92b88 feat: add headings to vim.g.rose_pine_colors 2021-11-08 16:44:45 -06:00
mvllow
cd176b07b0 docs: add contributing section 2021-11-08 16:43:37 -06:00
mvllow
21b041a50c chore: format 2021-11-08 16:41:31 -06:00
Koczka Bence
353c4e6f1e Added markdown highlight groups. (#32)
* Added markdown highlights.

* enchancement: Improve non-treesitter support(#6)

Added markdown highlight groups.
2021-11-08 16:24:32 -06:00
mvllow
7f2bcbb369 chore: update bufferline style 2021-11-08 16:23:45 -06:00
Karim Abou Zeid
bc6fa998dd Update readme.md (#31)
this will make sure the name of the containing plugin folder will be rose-pine instead of neovim.

it's also in packers docs for dracula: https://github.com/wbthomason/packer.nvim#quickstart
2021-10-19 13:14:20 -05:00
Karim Abou Zeid
4f6e07b643 chore: update FloatBorder bg color (#30) 2021-10-17 12:08:10 -05:00
mvllow
f14d1a8d0c docs: update readme 2021-10-12 13:47:17 -05:00
not
cb0852761f docs: format 2021-10-12 12:27:24 -05:00
mvllow
f772d17125 docs: add new group to vim.g.rose_pine_colors 2021-10-12 12:25:28 -05:00
mvllow
9dd9c6f553 feat: add punctuation to vim.g.rose_pine_colors
ref #29
2021-10-12 12:24:02 -05:00
mvllow
7b0ab96f47 feat: allow colour overrides
closes #10
2021-10-12 12:14:41 -05:00
mvllow
2d4876b8b1 chore: update Title from _rose_ to _text_ 2021-10-11 09:57:03 -05:00
mvllow
8c8eb7375f chore: update html heading text 2021-10-11 09:50:54 -05:00
mvllow
114ddf60b2 chore: use normal text colour for nvim-tree image files 2021-10-07 09:51:54 -05:00
mvllow
e77381fd2e fix: syntax error 2021-10-07 09:50:59 -05:00
mvllow
8acf4fd29c feat: add NvimInternalError 2021-10-07 09:50:02 -05:00
mvllow
26bcaaf703 feat: add RedrawDebug<*> 2021-10-07 09:49:48 -05:00
mvllow
fca45b69e2 feat: add NvimTreeImageFile 2021-10-07 09:44:08 -05:00
mvllow
256a231f3c fix: add Diagnostic<Type> 2021-10-07 09:42:07 -05:00
James
a642130aff feat(theme): Add TabLine TabLine and TabLineSel (#27) 2021-10-05 17:02:35 -05:00
Devin
09d761aec8 feat: add support for neogit (#25) 2021-09-29 16:02:12 -04:00
Devin
5cf7750240 feat: add bold vertical split line option (#26) 2021-09-29 16:00:34 -04:00
Devin
6489d7cc62 feat: add highlight for nvim_cmp (#24)
* feat: add highlight for nvim_cmp

* fix: indentation
2021-09-28 20:44:21 -04:00
Andres Baron
d8ca0bc95e Fix Lsp hightlight bug (#23) 2021-09-24 09:29:16 -04:00
not
0fc2979de2 Merge pull request #21 from NarutoXY/main 2021-09-22 07:19:39 -04:00
Naruto Uzumaki
4e0e41ff4f add(highlight): indent-blankline.nvim 2021-09-22 16:22:24 +05:30
not
50ee5ba492 Merge pull request #20 from GuillaumeAllain/main 2021-09-18 20:19:05 -05:00
GuillaumeAllain
fdc0ca2a6c c13242cf47
neovim officially reprecated LspDiagnostics* group. This changes the
LspDiagnostics* highlight group to the correct Diagnotics* group to
correct the highlight color.
2021-09-18 20:14:44 -04:00
not
101e0ad516 Merge pull request #19 from NTBBloodbath/main
feat: add galaxyline color theme, see notes in readme
2021-09-17 10:42:53 -05:00
NTBBloodbath
417d5122f3 feat: add galaxyline color theme, see notes in readme 2021-09-17 10:48:24 -04:00
not
11f9c5b297 docs: remove as from packer use 2021-08-28 17:08:19 -05:00
mvllow
5885e44602 add NvimTreeWindowPicker 2021-08-26 16:40:40 -05:00
mvllow
86e70ab512 increase contrast of FloatBorder
closes #17
2021-08-24 16:15:46 -05:00
mvllow
acc4201863 format 2021-08-24 16:15:42 -05:00
mvllow
4333dc20af revert to default border for telescope 2021-08-24 16:15:02 -05:00
not
889c4e3886 Merge pull request #18 from Iorvethe/conceal_fix
Fix conceal highlight
2021-08-24 15:21:14 -05:00
Boris Petrov
c231f9f729 Fix conceal highlight 2021-08-24 20:27:33 +02:00
mvllow
c039e4e01c Merge branch 'main' of github.com:rose-pine/neovim 2021-08-24 10:31:50 -05:00
mvllow
481a2ba8db fix: ColorScheme autocmd skipped due to async 2021-08-24 10:31:47 -05:00
not
8f8b502148 Merge pull request #16 from rose-pine/remove-todo-comments-config
remove todo-comments config
2021-08-20 18:22:16 -05:00
fvrests
f0ef7416c7 remove todo-comments config 2021-08-20 18:03:14 -05:00
mvllow
ce6f25e13b always prioritise global variant setting 2021-08-20 11:37:20 -05:00
mvllow
9eb7029ba7 docs: default to dawn if vim background is light 2021-08-20 11:24:03 -05:00
mvllow
368ac5fa04 increase TelescopeBorder contrast 2021-08-20 11:20:08 -05:00
mvllow
19c8dc4902 refactor lualine theme 2021-08-20 11:19:36 -05:00
mvllow
532b03164c docs: update readme 2021-08-20 11:19:19 -05:00
mvllow
e4d7c4fc76 docs: add telescope 2021-08-20 11:19:06 -05:00
mvllow
72bc07055f breaking: change italics setting, enabled by default
- changes `enable_italics` to `disable_italics`
2021-08-20 11:15:03 -05:00
mvllow
fd6219436b use dawn variant if vim background is light (closes #15) 2021-08-20 11:08:04 -05:00
mvllow
aa1de94e73 add telescope support 2021-08-20 11:07:09 -05:00
mvllow
5d560dfb11 refactor theme 2021-08-20 11:07:09 -05:00
mvllow
70bd2ee9e6 format 2021-08-20 11:00:41 -05:00
mvllow
c619fa139e format 2021-08-16 21:16:48 -05:00
mvllow
9fb6504ce3 add NvimTreeGitIgnored` 2021-08-16 21:16:37 -05:00
mvllow
901db8e6cf add NvimTreeSpecialFile 2021-08-16 21:16:26 -05:00
mvllow
e6649b4829 docs: cleanup usage 2021-08-16 10:29:29 -05:00
mvllow
c8d623872e docs: note to set options before setting the colorscheme
closes #12
2021-08-16 10:28:21 -05:00
mvllow
fad3c8779c inherit background for FoldColumn 2021-08-15 18:27:10 -05:00
mvllow
3ca8a59263 add CursorColumn 2021-08-15 18:26:29 -05:00
mvllow
ada34c540a add FoldColumn (fixes #13) 2021-08-15 18:19:20 -05:00
mvllow
564e48f990 add TSField 2021-08-15 15:44:17 -05:00
mvllow
14047522a1 increase ColorColumn contrast 2021-08-14 12:30:11 -05:00
mvllow
19cc3e36e6 actually fix #9 :) 2021-08-14 12:28:43 -05:00
mvllow
458fbadfaa Revert "add CursorColumn (fixes #9)"
This reverts commit 770a49c36e.
2021-08-14 12:27:39 -05:00
mvllow
770a49c36e add CursorColumn (fixes #9) 2021-08-14 12:25:29 -05:00
27 changed files with 2202 additions and 630 deletions

12
.editorconfig Normal file
View file

@ -0,0 +1,12 @@
root = true
[*]
charset = utf-8
end_of_line = lf
indent_style = tab
insert_final_newline = true
trim_trailing_whitespace = true
[*.{yaml,yml}]
indent_size = 2
indent_style = space

54
.github/ISSUE_TEMPLATE/bug_report.yml vendored Normal file
View file

@ -0,0 +1,54 @@
name: Bug Report
description: File a bug/issue
title: "bug: "
labels: [bug]
body:
- type: markdown
attributes:
value: |
**Before** reporting an issue, make sure to read the [documentation](https://github.com/rose-pine/neovim) and search [existing issues](https://github.com/rose-pine/neovim/issues). Usage questions such as ***"How do I...?"*** belong in [Discussions](https://github.com/rose-pine/neovim/discussions) and will be closed.
- type: input
attributes:
label: "Neovim version (nvim -v)"
placeholder: "0.8.0 commit db1b0ee3b30f"
validations:
required: true
- type: input
attributes:
label: "Terminal / multiplexer"
placeholder: "Kitty / tmux"
validations:
required: true
- type: textarea
attributes:
label: Describe the bug
description: A clear and concise description of what the bug is. Please include screenshots if possible and any related errors you see in Neovim.
validations:
required: true
- type: textarea
attributes:
label: Repro
description: Minimal `init.lua` to reproduce this issue. Save as `repro.lua` and run with `nvim -u repro.lua`
value: |
vim.o.packpath = "/tmp/nvim/site"
local plugins = {
rose_pine = "https://github.com/rose-pine/neovim",
-- ADD OTHER PLUGINS _NECESSARY_ TO REPRODUCE THE ISSUE
}
for name, url in pairs(plugins) do
local install_path = "/tmp/nvim/site/pack/test/start/" .. name
if vim.fn.isdirectory(install_path) == 0 then
vim.fn.system({ "git", "clone", "--depth=1", url, install_path })
end
end
require("rose-pine").setup({
-- ADD ROSÉ PINE CONFIG THAT IS _NECESSARY_ TO REPRODUCE THE ISSUE
})
vim.cmd("colorscheme rose-pine")
render: Lua
validations:
required: false

View file

@ -0,0 +1,17 @@
name: Feature Request
description: Suggest a new feature
title: "feature: "
labels: [enhancement]
body:
- type: textarea
validations:
required: true
attributes:
label: Describe the solution you'd like
description: A clear and concise description of what you want to happen.
- type: textarea
validations:
required: false
attributes:
label: Additional context
description: Add any other context or screenshots about the feature request here.

82
changelog.md Normal file
View file

@ -0,0 +1,82 @@
# Changelog
## v2.0.0-next.1
### What's new
- Add proper support for `StatusLineTerm` & `StatusLineTermNC`, controlled via `enable.terminal`
- Add background glow to diagnostic virtual text
- Add `extend_background_behind_borders`
- Add `styles.bold` and alternatively styling when disabled
- Add `before_highlight` hook to allow changing palette values and behaviours
- Increase contrast of search, visual selections, and more
### Features
**extend_background_behind_borders**
Extend float backgrounds behind borders. Results vary depending on your border characters.
```lua
{
extend_background_behind_borders = true
}
```
**styles.transparency**
Enable a unique experience focused around transparent terminals, avoiding large backgrounds and differentiating selections with foreground colours when possible.
```lua
{
styles = {
transparency = true
}
}
```
**before_highlight**
```lua
{
before_highlight = function(group, highlight, palette)
-- Disable all undercurls
if highlight.undercurl then
highlight.undercurl = false
end
-- Change palette colour
if highlight.fg == palette.pine then
highlight.fg = palette.foam
end
end,
}
```
### Breaking changes
> [!WARNING]
> Removed or renamed options should continue to work via internal migrations but backwards compatibility is not tested and may break at any time.
```diff
- dim_nc_background = true,
+ dim_inactive_windows = true,
- disable_background = true,
- disable_float_background = true,
+ styles.transparency = true
- disable_italics = true,
+ styles.italic = false,
- groups = {
- background = "...",
- comment = "...",
- punctuation = "...",
- },
+ highlight_groups = {
+ Normal = { bg = "..." },
+ Comment = { fg = "..." },
+ ["@punctuation"] = { fg = "..." },
+ }
```

View file

@ -0,0 +1,2 @@
package.loaded["rose-pine.palette"] = nil
require("rose-pine").colorscheme("dawn")

View file

@ -0,0 +1,2 @@
package.loaded["rose-pine.palette"] = nil
require("rose-pine").colorscheme("main")

View file

@ -0,0 +1,2 @@
package.loaded["rose-pine.palette"] = nil
require("rose-pine").colorscheme("moon")

2
colors/rose-pine.lua Normal file
View file

@ -0,0 +1,2 @@
package.loaded["rose-pine.palette"] = nil
require("rose-pine").colorscheme()

View file

@ -1,9 +0,0 @@
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

21
license Normal file
View file

@ -0,0 +1,21 @@
MIT License
Copyright (c) 2023 Rosé Pine
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View file

@ -0,0 +1,32 @@
local p = require("rose-pine.palette")
local config = require("rose-pine.config")
local bg_base = p.base
if config.options.styles.transparency then
bg_base = "NONE"
end
return {
normal = {
a = { bg = p.surface, fg = p.rose, gui = "bold" },
b = { bg = p.surface, fg = p.text },
c = { bg = p.surface, fg = p.subtle, gui = "italic" },
},
insert = {
a = { bg = p.surface, fg = p.foam, gui = "bold" },
},
visual = {
a = { bg = p.surface, fg = p.iris, gui = "bold" },
},
replace = {
a = { bg = p.surface, fg = p.pine, gui = "bold" },
},
command = {
a = { bg = p.surface, fg = p.love, gui = "bold" },
},
inactive = {
a = { bg = bg_base, fg = p.subtle, gui = "bold" },
b = { bg = bg_base, fg = p.subtle },
c = { bg = bg_base, fg = p.subtle, gui = "italic" },
},
}

View file

@ -1,34 +1,40 @@
local colors = require('rose-pine.palette')
local p = require("rose-pine.palette")
local config = require("rose-pine.config")
local bg_base = p.surface
if config.options.styles.transparency then
bg_base = "NONE"
end
return {
normal = {
a = { bg = colors.rose, fg = colors.base, gui = 'bold' },
b = { bg = colors.overlay, fg = colors.rose },
c = { bg = colors.base, fg = colors.text },
a = { bg = p.rose, fg = p.base, gui = "bold" },
b = { bg = p.overlay, fg = p.rose },
c = { bg = bg_base, fg = p.text },
},
insert = {
a = { bg = colors.foam, fg = colors.base, gui = 'bold' },
b = { bg = colors.overlay, fg = colors.foam },
c = { bg = colors.base, fg = colors.text },
a = { bg = p.foam, fg = p.base, gui = "bold" },
b = { bg = p.overlay, fg = p.foam },
c = { bg = bg_base, fg = p.text },
},
visual = {
a = { bg = colors.iris, fg = colors.base, gui = 'bold' },
b = { bg = colors.overlay, fg = colors.iris },
c = { bg = colors.base, fg = colors.text },
a = { bg = p.iris, fg = p.base, gui = "bold" },
b = { bg = p.overlay, fg = p.iris },
c = { bg = bg_base, fg = p.text },
},
replace = {
a = { bg = colors.pine, fg = colors.base, gui = 'bold' },
b = { bg = colors.overlay, fg = colors.pine },
c = { bg = colors.base, fg = colors.text },
a = { bg = p.pine, fg = p.base, gui = "bold" },
b = { bg = p.overlay, fg = p.pine },
c = { bg = bg_base, fg = p.text },
},
command = {
a = { bg = colors.love, fg = colors.base, gui = 'bold' },
b = { bg = colors.overlay, fg = colors.love },
c = { bg = colors.base, fg = colors.text },
a = { bg = p.love, fg = p.base, gui = "bold" },
b = { bg = p.overlay, fg = p.love },
c = { bg = bg_base, fg = p.text },
},
inactive = {
a = { bg = colors.base, fg = colors.inactive, gui = 'bold' },
b = { bg = colors.base, fg = colors.inactive },
c = { bg = colors.base, fg = colors.inactive },
a = { bg = bg_base, fg = p.muted, gui = "bold" },
b = { bg = bg_base, fg = p.muted },
c = { bg = bg_base, fg = p.muted },
},
}

1242
lua/rose-pine.lua Normal file

File diff suppressed because it is too large Load diff

176
lua/rose-pine/config.lua Normal file
View file

@ -0,0 +1,176 @@
---@alias Variant "main" | "moon" | "dawn"
---@alias Palette { base: string, surface: string, overlay: string, muted: string, subtle: string, text: string, love: string, gold: string, rose: string, pine: string, foam: string, iris: string }
---@alias PaletteColor "base" | "surface" | "overlay" | "muted" | "subtle" | "text" | "love" | "gold" | "rose" | "pine" | "foam" | "iris" | "highlight_low" | "highlight_med" | "highlight_high"
---@alias Highlight { link: string, inherit: boolean } | { fg: string, bg: string, sp: string, bold: boolean, italic: boolean, undercurl: boolean, underline: boolean, underdouble: boolean, underdotted: boolean, underdashed: boolean, strikethrough: boolean, inherit: boolean }
local config = {}
---@class Options
config.options = {
---Set the desired variant: "auto" will follow the vim background,
---defaulting to `dark_variant` or "main" for dark and "dawn" for light.
---@type "auto" | Variant
variant = "auto",
---Set the desired dark variant when `options.variant` is set to "auto".
---@type Variant
dark_variant = "main",
---Differentiate between active and inactive windows and panels.
dim_inactive_windows = false,
---Extend background behind borders. Appearance differs based on which
---border characters you are using.
extend_background_behind_borders = true,
enable = {
legacy_highlights = true,
migrations = true,
terminal = true,
},
styles = {
bold = true,
italic = true,
transparency = false,
},
---@type table<string, table<string, string>>
palette = {},
---@type table<string, string | PaletteColor>
groups = {
border = "muted",
link = "iris",
panel = "surface",
error = "love",
hint = "iris",
info = "foam",
ok = "leaf",
warn = "gold",
note = "pine",
todo = "rose",
git_add = "foam",
git_change = "rose",
git_delete = "love",
git_dirty = "rose",
git_ignore = "muted",
git_merge = "iris",
git_rename = "pine",
git_stage = "iris",
git_text = "rose",
git_untracked = "subtle",
---@type string | PaletteColor
h1 = "iris",
h2 = "foam",
h3 = "rose",
h4 = "gold",
h5 = "pine",
h6 = "leaf",
---@deprecated Replaced by `options.highlight_groups["Normal"]`
-- background = "base",
---@deprecated Replaced by `options.highlight_groups["Comment"]`
-- comment = "subtle",
---@deprecated Replaced by `options.highlight_groups["@punctuation"]`
-- punctuation = "muted",
---@deprecated Expects a table with values h1...h6
-- headings = "text",
},
---@type table<string, Highlight>
highlight_groups = {},
---Called before each highlight group, before setting the highlight.
---@param group string
---@param highlight Highlight
---@param palette Palette
---@diagnostic disable-next-line: unused-local
before_highlight = function(group, highlight, palette) end,
---@deprecated Replaced by `options.dim_inactive_windows`
-- dim_nc_background = false,
---@deprecated Replaced by `options.enable.transparency`
-- disable_background = false,
---@deprecated Replaced by `options.highlight_groups["NormalFloat"]`
-- disable_float_background = false,
---@deprecated Replaced by `options.styles.italic`
-- disable_italics = false,
---@deprecated Replaced by `options.highlight_groups`
-- bold_vert_split = false
}
local function migrate(options)
if options.bold_vert_split then
local border = options.groups.border or "muted"
options.highlight_groups["VertSplit"] = { fg = border, bg = border }
options.highlight_groups["WinSeparator"] = { fg = border, bg = border }
end
if options.disable_background then
options.highlight_groups["Normal"] = { bg = "NONE" }
end
if options.disable_float_background then
options.highlight_groups["NormalFloat"] = { bg = "NONE" }
end
options.dim_inactive_windows = options.dim_nc_background or options.dim_inactive_windows
if options.groups.background ~= nil then
options.highlight_groups["Normal"] = { bg = options.groups.background }
end
if options.groups.comment ~= nil then
options.highlight_groups["Comment"] = { fg = options.groups.comment }
end
if options.groups.punctuation ~= nil then
options.highlight_groups["@punctuation"] = { fg = options.groups.punctuation }
end
options.styles.transparency = (options.disable_background and options.disable_float_background)
or options.styles.transparency
-- These never actually existed, but may be set intuitively by the user
-- because of `disable_italics` existing.
options.styles.bold = not (options.disable_bold or options.disable_bolds) and options.styles.bold or false
-- Similar to bold options, `disable_italic` never existed but could be a
-- common typo of the actual `disable_italics`.
options.styles.italic = not (options.disable_italic or options.disable_italics) and options.styles.italic or false
-- Set h1 through h6 to the same color if only one is specified
if type(options.groups.headings) == "string" then
options.groups.h1 = options.groups.headings
options.groups.h2 = options.groups.headings
options.groups.h3 = options.groups.headings
options.groups.h4 = options.groups.headings
options.groups.h5 = options.groups.headings
options.groups.h6 = options.groups.headings
elseif options.groups.headings == "table" then
options.groups.h1 = options.groups.headings.h1 or options.groups.h1
options.groups.h2 = options.groups.headings.h2 or options.groups.h2
options.groups.h3 = options.groups.headings.h3 or options.groups.h3
options.groups.h4 = options.groups.headings.h4 or options.groups.h4
options.groups.h5 = options.groups.headings.h5 or options.groups.h5
options.groups.h6 = options.groups.headings.h6 or options.groups.h6
end
options.groups.headings = nil
return options
end
---@param options Options | nil
function config.extend_options(options)
config.options = vim.tbl_deep_extend("force", config.options, options or {})
if config.options.enable.migrations then
config.options = migrate(config.options)
end
end
return config

View file

@ -1,35 +0,0 @@
local select_variant = function(variant)
vim.g.rose_pine_variant = variant
local formatted_variant = ''
if variant == 'base' then
formatted_variant = ''
else
formatted_variant = variant:sub(1, 1):upper() .. variant:sub(2)
end
print('Rosé Pine', formatted_variant)
vim.cmd([[colorscheme rose-pine]])
end
local toggle_variant = function(variants)
local options = variants or { 'base', 'moon', 'dawn' }
local index = {}
for k, v in pairs(options) do
index[v] = k
end
if vim.g.rose_pine_variant_switch == nil then
-- Ensure theme toggles from correct position
vim.g.rose_pine_variant_switch = index[vim.g.rose_pine_variant] or 0
end
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,
}

View file

@ -1,7 +0,0 @@
local util = require('rose-pine.util')
local set = function()
util.load()
end
return { set = set }

View file

@ -1,64 +1,78 @@
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',
local options = require("rose-pine.config").options
local variants = {
main = {
_nc = "#16141f",
base = "#191724",
surface = "#1f1d2e",
overlay = "#26233a",
muted = "#6e6a86",
subtle = "#908caa",
text = "#e0def4",
love = "#eb6f92",
gold = "#f6c177",
rose = "#ebbcba",
pine = "#31748f",
foam = "#9ccfd8",
iris = "#c4a7e7",
leaf = "#95b1ac",
highlight_low = "#21202e",
highlight_med = "#403d52",
highlight_high = "#524f67",
none = "NONE",
},
moon = {
_nc = "#1f1d30",
base = "#232136",
surface = "#2a273f",
overlay = "#393552",
muted = "#6e6a86",
subtle = "#908caa",
text = "#e0def4",
love = "#eb6f92",
gold = "#f6c177",
rose = "#ea9a97",
pine = "#3e8fb0",
foam = "#9ccfd8",
iris = "#c4a7e7",
leaf = "#95b1ac",
highlight_low = "#2a283e",
highlight_med = "#44415a",
highlight_high = "#56526e",
none = "NONE",
},
dawn = {
_nc = "#f8f0e7",
base = "#faf4ed",
surface = "#fffaf3",
overlay = "#f2e9e1",
muted = "#9893a5",
subtle = "#797593",
text = "#464261",
love = "#b4637a",
gold = "#ea9d34",
rose = "#d7827e",
pine = "#286983",
foam = "#56949f",
iris = "#907aa9",
leaf = "#6d8f89",
highlight_low = "#f4ede8",
highlight_med = "#dfdad9",
highlight_high = "#cecacd",
none = "NONE",
},
}
if
vim.g.rose_pine_variant == 'dawn'
or vim.g.rose_pine_variant == 'rose-pine-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'
or vim.g.rose_pine_variant == 'rose-pine-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',
}
if options.palette ~= nil and next(options.palette) then
-- handle variant specific overrides
for variant_name, override_palette in pairs(options.palette) do
if variants[variant_name] then
variants[variant_name] = vim.tbl_extend("force", variants[variant_name], override_palette or {})
end
end
end
return palette
if variants[options.variant] ~= nil then
return variants[options.variant]
end
return vim.o.background == "light" and variants.dawn or variants[options.dark_variant or "main"]

View file

@ -0,0 +1,223 @@
--- Rosé Pine for bufferline
--- https://github.com/akinsho/bufferline.nvim
---
--- @usage
--- local highlights = require("rose-pine.plugins.bufferline")
--- require("bufferline").setup({ highlights = highlights })
local p = require("rose-pine.palette")
return {
-- fill = {
-- fg = "<color-value-here>",
-- bg = "<color-value-here>",
-- },
-- background = {
-- fg = "<color-value-here>",
-- bg = "<color-value-here>",
-- },
-- tab = {
-- fg = "<color-value-here>",
-- bg = "<color-value-here>",
-- },
tab_selected = {
fg = p.text,
bg = p.overlay,
},
-- tab_close = {
-- fg = "<color-value-here>",
-- bg = "<color-value-here>",
-- },
-- close_button = {
-- fg = "<color-value-here>",
-- bg = "<color-value-here>",
-- },
-- close_button_visible = {
-- fg = "<color-value-here>",
-- bg = "<color-value-here>",
-- },
-- close_button_selected = {
-- fg = "<color-value-here>",
-- bg = "<color-value-here>",
-- },
buffer_visible = {
fg = p.subtle,
bg = p.base,
},
buffer_selected = {
fg = p.text,
bg = p.surface,
bold = true,
italic = true,
},
-- diagnostic = {
-- fg = "<color-value-here>",
-- bg = "<color-value-here>",
-- },
-- diagnostic_visible = {
-- fg = "<color-value-here>",
-- bg = "<color-value-here>",
-- },
-- diagnostic_selected = {
-- fg = "<color-value-here>",
-- bg = "<color-value-here>",
-- bold = true,
-- italic = true,
-- },
-- info = {
-- fg = "<color-value-here>",
-- sp = "<color-value-here>",
-- bg = "<color-value-here>",
-- },
-- info_visible = {
-- fg = "<color-value-here>",
-- bg = "<color-value-here>",
-- },
-- info_selected = {
-- fg = "<color-value-here>",
-- bg = "<color-value-here>",
-- bold = true,
-- italic = true,
-- sp = "<color-value-here>",
-- },
-- info_diagnostic = {
-- fg = "<color-value-here>",
-- sp = "<color-value-here>",
-- bg = "<color-value-here>",
-- },
-- info_diagnostic_visible = {
-- fg = "<color-value-here>",
-- bg = "<color-value-here>",
-- },
-- info_diagnostic_selected = {
-- fg = "<color-value-here>",
-- bg = "<color-value-here>",
-- bold = true,
-- italic = true,
-- sp = "<color-value-here>",
-- },
-- warning = {
-- fg = "<color-value-here>",
-- sp = "<color-value-here>",
-- bg = "<color-value-here>",
-- },
-- warning_visible = {
-- fg = "<color-value-here>",
-- bg = "<color-value-here>",
-- },
-- warning_selected = {
-- fg = "<color-value-here>",
-- bg = "<color-value-here>",
-- bold = true,
-- italic = true,
-- sp = "<color-value-here>",
-- },
-- warning_diagnostic = {
-- fg = "<color-value-here>",
-- sp = "<color-value-here>",
-- bg = "<color-value-here>",
-- },
-- warning_diagnostic_visible = {
-- fg = "<color-value-here>",
-- bg = "<color-value-here>",
-- },
-- warning_diagnostic_selected = {
-- fg = "<color-value-here>",
-- bg = "<color-value-here>",
-- bold = true,
-- italic = true,
-- sp = warning_diagnostic_fg,
-- },
-- error = {
-- fg = "<color-value-here>",
-- bg = "<color-value-here>",
-- sp = "<color-value-here>",
-- },
-- error_visible = {
-- fg = "<color-value-here>",
-- bg = "<color-value-here>",
-- },
-- error_selected = {
-- fg = "<color-value-here>",
-- bg = "<color-value-here>",
-- bold = true,
-- italic = true,
-- sp = "<color-value-here>",
-- },
-- error_diagnostic = {
-- fg = "<color-value-here>",
-- bg = "<color-value-here>",
-- sp = "<color-value-here>",
-- },
-- error_diagnostic_visible = {
-- fg = "<color-value-here>",
-- bg = "<color-value-here>",
-- },
-- error_diagnostic_selected = {
-- fg = "<color-value-here>",
-- bg = "<color-value-here>",
-- bold = true,
-- italic = true,
-- sp = "<color-value-here>",
-- },
-- modified = {
-- fg = "<color-value-here>",
-- bg = "<color-value-here>",
-- },
-- modified_visible = {
-- fg = "<color-value-here>",
-- bg = "<color-value-here>",
-- },
-- modified_selected = {
-- fg = "<color-value-here>",
-- bg = "<color-value-here>",
-- },
-- duplicate_selected = {
-- fg = "<color-value-here>",
-- italic = true,
-- bg = "<color-value-here>",
-- },
-- duplicate_visible = {
-- fg = "<color-value-here>",
-- italic = true,
-- bg = "<color-value-here>",
-- },
-- duplicate = {
-- fg = "<color-value-here>",
-- italic = true,
-- bg = "<color-value-here>",
-- },
-- separator_selected = {
-- fg = "<color-value-here>",
-- bg = "<color-value-here>",
-- },
-- separator_visible = {
-- fg = "<color-value-here>",
-- bg = "<color-value-here>",
-- },
-- separator = {
-- fg = "<color-value-here>",
-- bg = "<color-value-here>",
-- },
-- indicator_selected = {
-- fg = "<color-value-here>",
-- bg = "<color-value-here>",
-- },
-- pick_selected = {
-- fg = "<color-value-here>",
-- bg = "<color-value-here>",
-- italic = true,
-- },
-- pick_visible = {
-- fg = "<color-value-here>",
-- bg = "<color-value-here>",
-- bold = true,
-- italic = true,
-- },
-- pick = {
-- fg = "<color-value-here>",
-- bg = "<color-value-here>",
-- bold = true,
-- italic = true,
-- },
}

View file

@ -0,0 +1,20 @@
--- Rosé Pine for galaxyline fork
--- https://github.com/NTBBloodbath/galaxyline.nvim
---
--- @usage
--- local highlights = require("rose-pine.plugins.galaxyline")
local p = require("rose-pine.palette")
return {
bg = p.surface,
fg = p.text,
fg_alt = p.subtle,
yellow = p.gold,
cyan = p.rose,
green = p.pine,
orange = p.muted,
magenta = p.iris,
blue = p.foam,
red = p.love,
}

View file

@ -0,0 +1,10 @@
--- Rosé Pine for markid
--- https://github.com/David-Kunz/markid
---
--- @usage
--- local highlights = require("rose-pine.plugins.markid")
--- require("nvim-treesitter.configs").setup({ markid = { enable = true, colors = highlights } })
local p = require("rose-pine.palette")
return { p.foam, p.rose, p.iris }

View file

@ -0,0 +1,14 @@
--- Rosé Pine for Obsidian(epwalsh)
--- https://github.com/epwalsh/obsidian.nvim
---
--- @usage
--- local highlights = require("rose-pine.plugins.obsidian")
--- require("obsidian").setup({ ui = {hl_groups = highlights} })
local p = require("rose-pine.palette")
return {
ObsidianBullet = { fg = p.muted },
ObsidianRefText = { underline = true, fg = p.iris },
ObsidianDone = { bold = true, fg = p.foam }
}

View file

@ -0,0 +1,15 @@
--- Rosé Pine for toggleterm
--- https://github.com/akinsho/toggleterm.nvim
---
--- @usage
--- local highlights = require("rose-pine.plugins.toggleterm")
--- require("toggleterm").setup({ highlights = highlights })
return {
Normal = { link = "Normal" },
NormalFloat = { link = "Normal" },
FloatBorder = { link = "FloatBorder" },
SignColumn = { link = "SignColumn" },
StatusLine = { link = "StatusLine" },
StatusLineNC = { link = "StatusLineNC" },
}

View file

@ -1,353 +0,0 @@
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 = vim.g.rose_pine_enable_italics and '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.foam },
Macro = { fg = p.iris },
Number = { fg = p.gold },
Operator = { fg = p.subtle },
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 },
Title = { fg = p.text },
Todo = { fg = p.iris },
Type = { fg = p.foam },
Typedef = { fg = p.foam },
Underlined = { fg = p.foam, style = 'underline' },
-- html
htmlArg = { fg = p.iris },
htmlEndTag = { fg = p.subtle },
htmlLink = { fg = p.text },
htmlTag = { fg = p.subtle },
htmlTagN = { fg = p.love },
htmlTagName = { fg = p.foam },
}
return syntax
end
theme.loadEditor = function()
local editor = {
-- ColorColumn = {},
-- Conceal = {},
-- Cursor = {},
-- CursorColumn = {},
-- CursorIM = {},
CursorLine = { bg = p.highlight_inactive },
CursorLineNr = { fg = p.text },
DarkenedPanel = { bg = p.surface },
DarkenedStatusline = { bg = p.surface },
DiffAdd = { fg = p.foam },
DiffChange = { fg = p.rose },
DiffDelete = { fg = p.love },
DiffText = { fg = p.text },
Directory = { fg = p.foam, bg = p.none },
-- EndOfBuffer = {},
ErrorMsg = { fg = p.love, style = 'bold' },
FloatBorder = { fg = p.highlight, bg = p.surface },
-- FoldColumn = {},
Folded = { fg = p.text, bg = p.surface },
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 = { style = 'undercurl', sp = p.love },
SpellCap = { style = 'undercurl', sp = p.subtle },
SpellLocal = { style = 'undercurl', sp = p.subtle },
SpellRare = { style = 'undercurl', sp = p.subtle },
SignColumn = {},
StatusLine = { fg = p.text, bg = p.surface },
StatusLineNC = { fg = p.subtle, bg = p.surface },
-- 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_1 = p.love
vim.g.terminal_color_9 = p.love
-- green
vim.g.terminal_color_2 = p.pine
vim.g.terminal_color_10 = p.pine
-- yellow
vim.g.terminal_color_3 = p.gold
vim.g.terminal_color_11 = p.gold
-- blue
vim.g.terminal_color_4 = p.foam
vim.g.terminal_color_12 = p.foam
-- magenta
vim.g.terminal_color_5 = p.iris
vim.g.terminal_color_13 = p.iris
-- cyan
vim.g.terminal_color_6 = p.rose
vim.g.terminal_color_14 = 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 = { fg = p.rose },
-- TSCharacter = {},
TSComment = {
fg = p.subtle,
style = vim.g.rose_pine_enable_italics and 'italic',
},
-- TSConditional = {},
TSConstBuiltin = { fg = p.love },
-- TSConstMacro = {},
TSConstant = { fg = p.foam },
TSConstructor = { fg = p.foam },
-- TSEmphasis = {},
-- TSError = {},
-- TSException = {},
-- TSField = {},
-- TSFloat = {},
TSFuncBuiltin = { fg = p.love },
-- TSFuncMacro = {},
TSFunction = { fg = p.rose },
TSInclude = { fg = p.pine },
TSKeyword = { fg = p.pine },
-- TSKeywordFunction = {},
TSKeywordOperator = { fg = p.pine },
TSLabel = { fg = p.foam },
-- TSLiteral = {},
-- TSMethod = {},
-- TSNamespace = {},
-- TSNone = {},
-- TSNumber = {},
TSOperator = { fg = p.pine },
TSParameter = {
fg = p.iris,
style = vim.g.rose_pine_enable_italics and 'italic',
},
-- TSParameterReference = {},
TSProperty = {
fg = p.iris,
style = vim.g.rose_pine_enable_italics and 'italic',
},
TSPunctBracket = { fg = p.subtle },
TSPunctDelimiter = { fg = p.subtle },
TSPunctSpecial = { fg = p.subtle },
-- TSRepeat = {},
-- TSStrike = {},
TSString = { fg = p.gold },
TSStringEscape = { fg = p.pine },
-- TSStringRegex = {},
-- TSSymbol = {},
TSTag = { fg = p.foam },
TSTagDelimiter = { fg = p.subtle },
TSText = { fg = p.text },
-- TSTitle = {},
-- TSType = {},
-- TSTypeBuiltin = {},
TSURI = { fg = p.gold },
-- TSUnderline = {},
TSVariable = {
fg = p.text,
style = vim.g.rose_pine_enable_italics and 'italic',
},
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 },
BufferCurrentIndex = { fg = p.text, bg = p.overlay },
BufferCurrentMod = { fg = p.foam, bg = p.overlay },
BufferCurrentSign = { fg = p.subtle, bg = p.overlay },
BufferInactive = { fg = p.subtle },
BufferInactiveIndex = { fg = p.subtle },
BufferInactiveMod = { fg = p.foam },
BufferInactiveSign = { fg = p.subtle },
BufferVisible = { fg = p.subtle },
BufferVisibleIndex = { fg = p.subtle },
BufferVisibleMod = { fg = p.foam },
BufferVisibleSign = { fg = p.subtle },
-- gitsigns.nvim
-- https://github.com/lewis6991/gitsigns.nvim
SignAdd = { fg = p.foam },
SignChange = { fg = p.rose },
SignDelete = { fg = p.love },
GitSignsAdd = { fg = p.foam },
GitSignsChange = { fg = p.rose },
GitSignsDelete = { fg = p.love },
-- modes.nvim
-- https://github.com/mvllow/modes.nvim
ModesCopy = { bg = p.gold },
ModesDelete = { bg = p.love },
ModesInsert = { bg = p.foam },
ModesVisual = { bg = p.iris },
-- nvim-tree.lua
-- https://github.com/kyazdani42/nvim-tree.lua
NvimTreeNormal = { fg = p.text },
NvimTreeEmptyFolderName = { fg = p.inactive },
NvimTreeFolderIcon = { fg = p.subtle },
NvimTreeFolderName = { fg = p.foam },
NvimTreeOpenedFile = { fg = p.text, bg = p.highlight },
NvimTreeOpenedFolderName = { fg = p.foam },
NvimTreeRootFolder = { fg = p.iris },
NvimTreeGitDeleted = { fg = p.love },
NvimTreeGitDirty = { fg = p.rose },
NvimTreeGitMerge = { fg = p.iris },
NvimTreeGitNew = { fg = p.foam },
NvimTreeGitRenamed = { fg = p.pine },
NvimTreeGitStaged = { fg = p.iris },
NvimTreeFileDeleted = { fg = p.love },
NvimTreeFileDirty = { fg = p.rose },
NvimTreeFileMerge = { fg = p.iris },
NvimTreeFileNew = { fg = p.foam },
NvimTreeFileRenamed = { fg = p.pine },
NvimTreeFileStaged = { fg = p.iris },
-- which-key.nvim
-- https://github.com/folke/which-key.nvim
WhichKey = { fg = p.iris },
WhichKeyGroup = { fg = p.foam },
WhichKeySeparator = { fg = p.subtle },
WhichKeyDesc = { fg = p.gold },
WhichKeyFloat = { bg = p.surface },
WhichKeyValue = { fg = p.rose },
-- todo-comments.nvim
-- https://github.com/folke/todo-comments.nvim
TodoBgFIX = { fg = '#000000', bg = p.love },
TodoFgFIX = { fg = p.love, bg = p.base },
TodoSignFIX = { fg = p.love, bg = p.base },
TodoBgTODO = { fg = '#000000', bg = p.rose },
TodoFgTODO = { fg = p.rose, bg = p.base },
TodoSignTODO = { fg = p.rose, bg = p.base },
TodoBgHACK = { fg = '#ffffff', bg = p.pine },
TodoFgHACK = { fg = p.pine, bg = p.base },
TodoSignHACK = { fg = p.pine, bg = p.base },
TodoBgWARN = { fg = '#000000', bg = p.gold },
TodoFgWARN = { fg = p.gold, bg = p.base },
TodoSignWARN = { fg = p.gold, bg = p.base },
TodoBgPERF = { fg = '#000000', bg = p.foam },
TodoFgPERF = { fg = p.foam, bg = p.base },
TodoSignPERF = { fg = p.foam, bg = p.base },
TodoBgNOTE = { fg = '#000000', bg = p.iris },
TodoFgNOTE = { fg = p.iris, bg = p.base },
TodoSignNOTE = { fg = p.iris, bg = p.base },
}
return plugins
end
return theme

View file

@ -1,81 +0,0 @@
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'
or vim.g.rose_pine_variant == 'rose-pine-dawn'
then
vim.opt.background = 'light'
else
vim.opt.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

View file

@ -0,0 +1,65 @@
local utilities = {}
---@param color string
local function color_to_rgb(color)
local function byte(value, offset)
return bit.band(bit.rshift(value, offset), 0xFF)
end
local new_color = vim.api.nvim_get_color_by_name(color)
if new_color == -1 then
new_color = vim.opt.background:get() == "dark" and 000 or 255255255
end
return { byte(new_color, 16), byte(new_color, 8), byte(new_color, 0) }
end
local color_cache = {}
---@param color string Palette key or hex value
function utilities.parse_color(color)
if color_cache[color] then
return color_cache[color]
end
if color == nil then
print("Invalid color: " .. color)
return nil
end
color = color:lower()
if not color:find("#") and color ~= "NONE" then
color = require("rose-pine.palette")[color] or vim.api.nvim_get_color_by_name(color)
end
color_cache[color] = color
return color
end
local blend_cache = {}
---@param fg string Foreground color
---@param bg string Background color
---@param alpha number Between 0 (background) and 1 (foreground)
function utilities.blend(fg, bg, alpha)
local cache_key = fg .. bg .. alpha
if blend_cache[cache_key] then
return blend_cache[cache_key]
end
local fg_rgb = color_to_rgb(fg)
local bg_rgb = color_to_rgb(bg)
local function blend_channel(i)
local ret = (alpha * fg_rgb[i] + ((1 - alpha) * bg_rgb[i]))
return math.floor(math.min(math.max(0, ret), 255) + 0.5)
end
local result = string.format("#%02X%02X%02X", blend_channel(1), blend_channel(2), blend_channel(3))
blend_cache[cache_key] = result
return result
end
return utilities

173
readme.md
View file

@ -11,102 +11,151 @@
</a>
</p>
## Install
## Getting started
Install via your preferred package manager
Install `rose-pine/neovim` using your favourite package manager:
### [pam.nvim](https://github.com/mvllow/pam.nvim)
```lua
-- Packer
use({ 'rose-pine/neovim', as = 'rose-pine' })
{ source = "rose-pine/neovim", as = "rose-pine" }
```
## Usage
### [lazy.nvim](https://lazy.folke.io/installation)
Enable `rose-pine` colorscheme
**Structured Setup**
```lua
-- Lua
vim.cmd('colorscheme rose-pine')
-- lua/plugins/rose-pine.lua
return {
"rose-pine/neovim",
name = "rose-pine",
config = function()
vim.cmd("colorscheme rose-pine")
end
}
```
```vim
" Vimscript
colorscheme rose-pine
```
Enable [lualine](https://github.com/hoob3rt/lualine.nvim) plugin
**Single file**
```lua
-- Lua
require('lualine').setup({
options = {
theme = 'rose-pine'
}
})
{ "rose-pine/neovim", name = "rose-pine" }
```
## Plugin Support
- [Treesitter](https://github.com/nvim-treesitter/nvim-treesitter)
- [LSP diagnostics](https://neovim.io/doc/user/lsp.html)
- [Barbar](https://github.com/romgrk/barbar.nvim)
- [Gitsigns](https://github.com/lewis6991/gitsigns.nvim)
- [Modes](https://github.com/mvllow/modes.nvim)
- [NvimTree](https://github.com/kyazdani42/nvim-tree.lua)
- [WhichKey](https://github.com/folke/which-key.nvim)
- [Todo Comments](https://github.com/folke/todo-comments.nvim)
- [Lualine](https://github.com/hoob3rt/lualine.nvim)
## Gallery
**Rosé Pine**
![Rosé Pine with Neovim](assets/rose-pine.png)
![Rosé Pine with Neovim](https://user-images.githubusercontent.com/1973/163921570-0f577baf-3199-4f09-9779-a7eb9238151a.png)
**Rosé Pine Moon**
![Rosé Pine Moon with Neovim](assets/rose-pine-moon.png)
![Rosé Pine Moon with Neovim](https://user-images.githubusercontent.com/1973/163921620-d3acd0d2-d227-4d28-a5e8-97ff22e56c6d.png)
**Rosé Pine Dawn**
![Rosé Pine Dawn with Neovim](assets/rose-pine-dawn.png)
![Rosé Pine Dawn with Neovim](https://user-images.githubusercontent.com/1973/163921656-644a2db3-c55c-4e89-9bdd-39cdd7a2681b.png)
## Options
```lua
-- Set variant
-- @usage 'base' | 'moon' | 'dawn' | 'rose-pine[-moon][-dawn]'
vim.g.rose_pine_variant = 'base'
> [!IMPORTANT]
> Configure options _before_ setting colorscheme.
-- Enable italics
vim.g.rose_pine_enable_italics = true
Rosé Pine has three variants: main, moon, and dawn. By default, `vim.o.background` is followed, using dawn when light and `dark_variant` when dark.
-- Use terminal background
-- Note: Set to true to fix any funky background colors
vim.g.rose_pine_disable_background = false
```
## Functions
Colour values accept named colours from the [Rosé Pine palette](https://rosepinetheme.com/palette/ingredients/), e.g. "foam", or valid hex, e.g. "#fa8072".
```lua
-- Toggle between the three variants
require('rose-pine.functions').toggle_variant()
require("rose-pine").setup({
variant = "auto", -- auto, main, moon, or dawn
dark_variant = "main", -- main, moon, or dawn
dim_inactive_windows = false,
extend_background_behind_borders = true,
-- Toggle between base and dawn
require('rose-pine.functions').toggle_variant({'base', 'dawn'})
enable = {
terminal = true,
legacy_highlights = true, -- Improve compatibility for previous versions of Neovim
migrations = true, -- Handle deprecated options automatically
},
-- Switch to specified variant
require('rose-pine.functions').select_variant('moon')
styles = {
bold = true,
italic = true,
transparency = false,
},
groups = {
border = "muted",
link = "iris",
panel = "surface",
error = "love",
hint = "iris",
info = "foam",
note = "pine",
todo = "rose",
warn = "gold",
git_add = "foam",
git_change = "rose",
git_delete = "love",
git_dirty = "rose",
git_ignore = "muted",
git_merge = "iris",
git_rename = "pine",
git_stage = "iris",
git_text = "rose",
git_untracked = "subtle",
h1 = "iris",
h2 = "foam",
h3 = "rose",
h4 = "gold",
h5 = "pine",
h6 = "foam",
},
palette = {
-- Override the builtin palette per variant
-- moon = {
-- base = '#18191a',
-- overlay = '#363738',
-- },
},
-- NOTE: Highlight groups are extended (merged) by default. Disable this
-- per group via `inherit = false`
highlight_groups = {
-- Comment = { fg = "foam" },
-- StatusLine = { fg = "love", bg = "love", blend = 15 },
-- VertSplit = { fg = "muted", bg = "muted" },
-- Visual = { fg = "base", bg = "text", inherit = false },
},
before_highlight = function(group, highlight, palette)
-- Disable all undercurls
-- if highlight.undercurl then
-- highlight.undercurl = false
-- end
--
-- Change palette colour
-- if highlight.fg == palette.pine then
-- highlight.fg = palette.foam
-- end
end,
})
vim.cmd("colorscheme rose-pine")
-- vim.cmd("colorscheme rose-pine-main")
-- vim.cmd("colorscheme rose-pine-moon")
-- vim.cmd("colorscheme rose-pine-dawn")
```
## Keymaps
> [!NOTE]
> Visit the [wiki](https://github.com/rose-pine/neovim/wiki) for [plugin configurations](https://github.com/rose-pine/neovim/wiki/Plugin-configurations) and [recipes](https://github.com/rose-pine/neovim/wiki/Recipes).
```lua
-- Toggle variant
vim.api.nvim_set_keymap('n', '<c-m>', [[<cmd>lua require('rose-pine.functions').toggle_variant()<cr>]], { noremap = true, silent = true })
## Contributing
-- Select each variant
vim.api.nvim_set_keymap('n', '<c-8>', [[<cmd>lua require('rose-pine.functions').select_variant('dawn')<cr>]], { noremap = true, silent = true })
vim.api.nvim_set_keymap('n', '<c-9>', [[<cmd>lua require('rose-pine.functions').select_variant('moon')<cr>]], { noremap = true, silent = true })
vim.api.nvim_set_keymap('n', '<c-0>', [[<cmd>lua require('rose-pine.functions').select_variant('base')<cr>]], { noremap = true, silent = true })
```
We welcome and appreciate contributions of any kind. Create an issue or start a discussion for any proposed changes. Pull requests are encouraged for supporting additional plugins or [treesitter improvements](https://github.com/nvim-treesitter/nvim-treesitter/blob/master/CONTRIBUTING.md#highlights).
Feel free to update the [wiki](https://github.com/rose-pine/neovim/wiki/) with any [recipes](https://github.com/rose-pine/neovim/wiki/Recipes).

View file

@ -1,3 +0,0 @@
column_width = 80
indent_type = "Tabs"
quote_style = "AutoPreferSingle"