Hello there and thanks for following the development of Catppuccino.nvim: remastered version. This branch is meant to hopefully end up being merged to main. As of now, all of the development discussions are carried out on #44, so feel free to leave your suggestions and ideas there :)
Hello there and thanks for following the development of Katppuccino.nvim: remastered version. This branch is meant to hopefully end up being merged to main. As of now, all of the development discussions are carried out on #44, so feel free to leave your suggestions and ideas there :)
# About
# About
<divstyle="text-align: justify">
<divstyle="text-align: justify">
Catppuccino.nvim is a NeoVim plugin that provides multiple colorschemes based on the Catppuccino color palette but varying their properties. Apart from the eye-candy colorschemes, Catppuccino.nvim also provides integrations with multiple plugins and tools you are probably already using (e.g. Treesitter, Native LSP, ...).
Katppuccino.nvim is a NeoVim plugin that provides multiple colorschemes based on the katppuccino color palette but varying their properties. Apart from the eye-candy colorschemes, Katppuccino.nvim also provides integrations with multiple plugins and tools you are probably already using (e.g. Treesitter, Native LSP, ...).
</div>
</div>
# π² Table of Contents
# π² Table of Contents
@ -40,7 +40,7 @@ Hello there and thanks for following the development of Catppuccino.nvim: remast
# π¨ Flavors
# π¨ Flavors
## Dark Catppuccino
## Dark katppuccino
<imgsrc ="https://i.imgur.com/qdTDwaC.png">
<imgsrc ="https://i.imgur.com/qdTDwaC.png">
@ -63,7 +63,7 @@ Hello there and thanks for following the development of Catppuccino.nvim: remast
There are already some sane defaults that you may like, however you can change them to match your taste. These are the defaults:
There are already some sane defaults that you may like, however you can change them to match your taste. These are the defaults:
```lua
```lua
colorscheme = "dark_catppuccino",
colorscheme = "dark_katppuccino",
transparency = false,
transparency = false,
term_colors = false,
term_colors = false,
styles = {
styles = {
@ -223,12 +223,12 @@ The way you setup the settings on your configuration varies on whether you are u
<p>
<p>
```lua
```lua
local catppuccino = require("catppuccino")
local katppuccino = require("katppuccino")
-- configure it
-- configure it
catppuccino.setup(
katppuccino.setup(
{
{
colorscheme = "dark_catppuccino",
colorscheme = "dark_katppuccino",
transparency = false,
transparency = false,
term_colors = false,
term_colors = false,
styles = {
styles = {
@ -293,12 +293,12 @@ catppuccino.setup(
```lua
```lua
lua <<EOF
lua <<EOF
local catppuccino = require("catppuccino")
local katppuccino = require("katppuccino")
-- configure it
-- configure it
catppuccino.setup(
katppuccino.setup(
{
{
colorscheme = "dark_catppuccino",
colorscheme = "dark_katppuccino",
transparency = false,
transparency = false,
term_colors = false,
term_colors = false,
styles = {
styles = {
@ -358,18 +358,18 @@ EOF
<br/>
<br/>
</details>
</details>
After setting things up, you can load Catppuccino like so:
After setting things up, you can load katppuccino like so:
```vim
```vim
" Vim Script
" Vim Script
colorscheme catppuccino
colorscheme katppuccino
```
```
```lua
```lua
-- Lua
-- Lua
vim.cmd[[colorscheme catppuccino]]
vim.cmd[[colorscheme katppuccino]]
```
```
Passing `catppuccino` to the `colorscheme` command will pick the colorscheme in the config. Optionally, you could pass one by its code name (e.g. `colorscheme neon_latte`).
Passing `katppuccino` to the `colorscheme` command will pick the colorscheme in the config. Optionally, you could pass one by its code name (e.g. `colorscheme neon_latte`).
For instructions on how to configure the plugin, check out the [configuration](#configuration) section.
For instructions on how to configure the plugin, check out the [configuration](#configuration) section.
@ -385,17 +385,17 @@ This depends on your plugin manager. If, for example, you are using Packer.nvim,
## Commands
## Commands
The provides commands that follows the _camel casing_ naming convention and have the `CP` prefix so that it's easy to remember that they are part of Catppuccino.nvim:
The provides commands that follows the _camel casing_ naming convention and have the `CP` prefix so that it's easy to remember that they are part of Katppuccino.nvim:
- `:CPClear` clear all highlight groups.
- `:CPClear` clear all highlight groups.
- `:colorscheme <colorscheme_name>` load a colorscheme, not necessarily a Catppuccino one. (Note: this is a built-in NVim command).
- `:colorscheme <colorscheme_name>` load a colorscheme, not necessarily a katppuccino one. (Note: this is a built-in NVim command).
## API
## API
The API allows you fetch data from Catppuccino. It can be required as a Lua module:
The API allows you fetch data from katppuccino. It can be required as a Lua module:
```lua
```lua
local cp_api = require("catppuccino.api.<module>")
local cp_api = require("katppuccino.api.<module>")
```
```
### Modules
### Modules
@ -406,7 +406,7 @@ local cp_api = require("catppuccino.api.<module>")
cp_api.get_colors(<colorscheme>)
cp_api.get_colors(<colorscheme>)
```
```
> Gets the colors from `<colorscheme>`. Returns two values: the first one is a table with a `status` field (for the exit status) and a `msg` field with an error message in case `status` is `false` (error), and the second value is a table with the colors. If it fails, it will return the colors from `dark_catppuccino`.
> Gets the colors from `<colorscheme>`. Returns two values: the first one is a table with a `status` field (for the exit status) and a `msg` field with an error message in case `status` is `false` (error), and the second value is a table with the colors. If it fails, it will return the colors from `dark_katppuccino`.
# π¬ Configuration
# π¬ Configuration
@ -432,33 +432,33 @@ Handles the style of general hi groups (see `:h highlight-args`):
## Integrations
## Integrations
These integrations allow Catppuccino to set the theme of various plugins/stuff. To enable an integration you just need to set it to `true`, however, there are some special integrations...
These integrations allow katppuccino to set the theme of various plugins/stuff. To enable an integration you just need to set it to `true`, however, there are some special integrations...
If you'd like to know which highlight groups are being affected by Catppuccino, checkout this directory: [`lua/catppuccino/core/integrations/`](https://github.com/Pocco81/Catppuccino.nvim/tree/main/lua/catppuccino/core/integrations).
If you'd like to know which highlight groups are being affected by katppuccino, checkout this directory: [`lua/katppuccino/core/integrations/`](https://github.com/Pocco81/Katppuccino.nvim/tree/main/lua/katppuccino/core/integrations).
### Special Integrations
### Special Integrations
- **Native Nvim LSP:** setting `enabled` to `true` enables this integration. In the inners tables you can set the style for the diagnostics, both `virtual_text` (what you see on the side) and `underlines` (what points directly at the thing (e.g. an error)).
- **Native Nvim LSP:** setting `enabled` to `true` enables this integration. In the inners tables you can set the style for the diagnostics, both `virtual_text` (what you see on the side) and `underlines` (what points directly at the thing (e.g. an error)).
- **Lualine:** use this to set it up (Note: `catppuccino` is the only valid theme name. It will pick the one set in your config):
- **Lualine:** use this to set it up (Note: `katppuccino` is the only valid theme name. It will pick the one set in your config):
```lua
```lua
require('lualine').setup {
require('lualine').setup {
options = {
options = {
theme = "catppuccino"
theme = "katppuccino"
-- ... the rest of your lualine config
-- ... the rest of your lualine config
}
}
}
}
```
```
- **Lightline:** use this to set it up (Note: `catppuccino` is the only valid colorscheme name. It will pick the one set in your config):
- **Lightline:** use this to set it up (Note: `katppuccino` is the only valid colorscheme name. It will pick the one set in your config):
```lua
```lua
let g:lightline = {'colorscheme': 'catppuccino'}
let g:lightline = {'colorscheme': 'katppuccino'}
```
```
- **Kitty:** Copy and paste the file corresponding to theme you want to use from [this directory](https://github.com/Pocco81/Catppuccino.nvim/tree/main/extra/kitty) on your Kitty config.
- **Kitty:** Copy and paste the file corresponding to theme you want to use from [this directory](https://github.com/Pocco81/Katppuccino.nvim/tree/main/extra/kitty) on your Kitty config.
- **Alacritty:** Copy and paste the file corresponding to theme you want to use from [this directory](https://github.com/Pocco81/Catppuccino.nvim/tree/main/extra/alacritty) on your Alacritty config.
- **Alacritty:** Copy and paste the file corresponding to theme you want to use from [this directory](https://github.com/Pocco81/Katppuccino.nvim/tree/main/extra/alacritty) on your Alacritty config.
- **Tmux**: Follow the instructions [here](https://github.com/Pocco81/Catppuccino.nvim/tree/main/extra/tmux)
- **Tmux**: Follow the instructions [here](https://github.com/Pocco81/Katppuccino.nvim/tree/main/extra/tmux)
- **Indent-blankline.nvim**: setting `enabled` to `true` enables this integration. `colored_indent_levels` enables char highlights per indent level. Follow the instructions [here](https://github.com/lukas-reineke/indent-blankline.nvim#with-custom-gindent_blankline_char_highlight_list) to set the latter up.
- **Indent-blankline.nvim**: setting `enabled` to `true` enables this integration. `colored_indent_levels` enables char highlights per indent level. Follow the instructions [here](https://github.com/lukas-reineke/indent-blankline.nvim#with-custom-gindent_blankline_char_highlight_list) to set the latter up.
- **NvimTree:** setting `enabled` to `true` enables this integration:
- **NvimTree:** setting `enabled` to `true` enables this integration:
@ -475,7 +475,7 @@ integration = {
| Colorschemes | Code Names |
| Colorschemes | Code Names |
| ---------------- | ------------------ |
| ---------------- | ------------------ |
| Dark Catppuccino | `dark_catppuccino` |
| Dark katppuccino | `dark_katppuccino` |
| Neon Latte | `neon_latte` |
| Neon Latte | `neon_latte` |
| Soft Manilo | `soft_manilo` |
| Soft Manilo | `soft_manilo` |
| Light Melya | `light_melya` |
| Light Melya | `light_melya` |
@ -485,7 +485,7 @@ integration = {
Both colors and highlight groups can be overwritten like so:
Both colors and highlight groups can be overwritten like so:
```lua
```lua
catppuccino.remap({<colors>},{<hi_groups>})
katppuccino.remap({<colors>},{<hi_groups>})
```
```
Since you want to overwrite hi groups, then it's likely that you'll want to use the API to get the colors from x colorscheme as well:
Since you want to overwrite hi groups, then it's likely that you'll want to use the API to get the colors from x colorscheme as well:
@ -497,11 +497,11 @@ local err, colors = cp_api.get_colors("neon_latte")
Here is an example using the API to overwrite the color green and change the style of the comments:
Here is an example using the API to overwrite the color green and change the style of the comments:
```lua
```lua
local cp_api = require("catppuccino.api.colors")
local cp_api = require("katppuccino.api.colors")
local err, colors = cp_api.get_colors("neon_latte")
local err, colors = cp_api.get_colors("neon_latte")
if err.status then -- good
if err.status then -- good
catppuccino.remap({
katppuccino.remap({
green = "#ffffff"
green = "#ffffff"
},
},
{
{
@ -510,7 +510,7 @@ if err.status then -- good
end
end
```
```
- For colorschemes: all editable fields are the same as the ones mentioned in any of the colorschemes found at: [`lua/catppuccino/color_schemes`](https://github.com/Pocco81/Catppuccino.nvim/tree/main/lua/catppuccino/color_schemes). You could also use one as a template, if you will.
- For colorschemes: all editable fields are the same as the ones mentioned in any of the colorschemes found at: [`lua/katppuccino/color_schemes`](https://github.com/Pocco81/Katppuccino.nvim/tree/main/lua/katppuccino/color_schemes). You could also use one as a template, if you will.
- For highlight groups: all the highlight groups have three editable fields: `fg` for the foreground, `bg` for the background and `style` for the style.
- For highlight groups: all the highlight groups have three editable fields: `fg` for the foreground, `bg` for the background and `style` for the style.
<br/>
<br/>
@ -528,9 +528,9 @@ Use them to execute code at certain events [described by their names]. These are
They can be used like so:
They can be used like so:
```lua
```lua
local catppuccino = require("catppuccino")
local katppuccino = require("katppuccino")
catppuccino.before_loading = function ()
katppuccino.before_loading = function ()
print("I ran before setting a colorscheme!")
print("I ran before setting a colorscheme!")
end
end
```
```
@ -538,32 +538,32 @@ end
# π FAQ
# π FAQ
- Q: **_"How can I view the doc from NeoVim?"_**
- Q: **_"How can I view the doc from NeoVim?"_**
A: Use `:help Catppuccino.nvim`
A: Use `:help Katppuccino.nvim`
- Q: **_"Why are the colorschemes named like that? Do they follow any convention(s)?"_**
- Q: **_"Why are the colorschemes named like that? Do they follow any convention(s)?"_**
A: A colorscheme's name is constructed by two words: the first one is a word that represents the tonalities in the colors used and the second one is the name of a coffee drink from [this list](https://en.wikipedia.org/wiki/List_of_coffee_drinks).
A: A colorscheme's name is constructed by two words: the first one is a word that represents the tonalities in the colors used and the second one is the name of a coffee drink from [this list](https://en.wikipedia.org/wiki/List_of_coffee_drinks).
# π Contribute
# π Contribute
See [CONTRIBUTING.md](https://github.com/Pocco81/Catppuccino.nvim/blob/dev/CONTRIBUTING.md).
See [CONTRIBUTING.md](https://github.com/Pocco81/Katppuccino.nvim/blob/dev/CONTRIBUTING.md).
# π Inspirations
# π Inspirations
The following projects inspired the creation of Catppuccino.nvim. If possible, go check them out to see why they are so amazing :]
The following projects inspired the creation of Katppuccino.nvim. If possible, go check them out to see why they are so amazing :]
- [folke/tokyonight.nvim](https://github.com/folke/tokyonight.nvim): A clean, dark Neovim theme written in Lua, with support for lsp, treesitter and lots of plugins. Includes additional themes for Kitty, Alacritty, iTerm and Fish.
- [folke/tokyonight.nvim](https://github.com/folke/tokyonight.nvim): A clean, dark Neovim theme written in Lua, with support for lsp, treesitter and lots of plugins. Includes additional themes for Kitty, Alacritty, iTerm and Fish.
- [norcalli/nvim-base16.lua](https://github.com/norcalli/nvim-base16.lua): Programmatic lua library for setting base16 themes in Neovim.
- [norcalli/nvim-base16.lua](https://github.com/norcalli/nvim-base16.lua): Programmatic lua library for setting base16 themes in Neovim.
# π License
# π License
Catppuccino.nvim is released under the GPL v3.0 license. It grants open-source permissions for users including:
Katppuccino.nvim is released under the GPL v3.0 license. It grants open-source permissions for users including:
- The right to download and run the software freely
- The right to download and run the software freely
- The right to make changes to the software as desired
- The right to make changes to the software as desired
- The right to redistribute copies of the software
- The right to redistribute copies of the software
- The right to modify and distribute copies of new versions of the software
- The right to modify and distribute copies of new versions of the software
For more convoluted language, see the [LICENSE file](https://github.com/Pocco81/Catppuccino.nvim/blob/main/LICENSE.md).
For more convoluted language, see the [LICENSE file](https://github.com/Pocco81/Katppuccino.nvim/blob/main/LICENSE.md).