Git Product home page Git Product logo

nvim's Introduction

Logo
Catppuccin for (Neo)vim

This port of Catppuccin is special because it was the first one and the one that originated the project itself. Given this, it's important to acknowledge that it all didn't come to be what it is now out of nowhere. So, if you are interested in knowing more about the initial stages of the theme, you can find it under the v0.1 tag

Flavours

Latte
Frappe
Macchiato
Mocha

Bake your own flavour! Here are some config from our community: (background source)

nvimwalk-custom

Features

Installation

lazy.nvim

{ "catppuccin/nvim", name = "catppuccin", priority = 1000 }

packer.nvim

use { "catppuccin/nvim", as = "catppuccin" }

vim-plug

Plug 'catppuccin/nvim', { 'as': 'catppuccin' }

Usage

colorscheme catppuccin " catppuccin-latte, catppuccin-frappe, catppuccin-macchiato, catppuccin-mocha
vim.cmd.colorscheme "catppuccin"

Configuration

There is no need to call setup if you don't want to change the default options and settings.

require("catppuccin").setup({
    flavour = "auto", -- latte, frappe, macchiato, mocha
    background = { -- :h background
        light = "latte",
        dark = "mocha",
    },
    transparent_background = false, -- disables setting the background color.
    show_end_of_buffer = false, -- shows the '~' characters after the end of buffers
    term_colors = false, -- sets terminal colors (e.g. `g:terminal_color_0`)
    dim_inactive = {
        enabled = false, -- dims the background color of inactive window
        shade = "dark",
        percentage = 0.15, -- percentage of the shade to apply to the inactive window
    },
    no_italic = false, -- Force no italic
    no_bold = false, -- Force no bold
    no_underline = false, -- Force no underline
    styles = { -- Handles the styles of general hi groups (see `:h highlight-args`):
        comments = { "italic" }, -- Change the style of comments
        conditionals = { "italic" },
        loops = {},
        functions = {},
        keywords = {},
        strings = {},
        variables = {},
        numbers = {},
        booleans = {},
        properties = {},
        types = {},
        operators = {},
        -- miscs = {}, -- Uncomment to turn off hard-coded styles
    },
    color_overrides = {},
    custom_highlights = {},
    default_integrations = true,
    integrations = {
        cmp = true,
        gitsigns = true,
        nvimtree = true,
        treesitter = true,
        notify = false,
        mini = {
            enabled = true,
            indentscope_color = "",
        },
        -- For more plugins integrations please scroll down (https://github.com/catppuccin/nvim#integrations)
    },
})

-- setup must be called before loading
vim.cmd.colorscheme "catppuccin"

Customize highlights

Get catppuccin colors

local latte = require("catppuccin.palettes").get_palette "latte"
local frappe = require("catppuccin.palettes").get_palette "frappe"
local macchiato = require("catppuccin.palettes").get_palette "macchiato"
local mocha = require("catppuccin.palettes").get_palette "mocha"

Returns a table where the key is the name of the color and the value is its hex value corresponding to each flavour.

Overwriting colors

Colors can be overwritten using color_overrides in the setting, checkout #323 for inspirations:

require("catppuccin").setup {
    color_overrides = {
        all = {
            text = "#ffffff",
        },
        latte = {
            base = "#ff0000",
            mantle = "#242424",
            crust = "#474747",
        },
        frappe = {},
        macchiato = {},
        mocha = {},
    }
}

Note

For more information check out our style-guide

Overwriting highlight groups

Global highlight groups can be overwritten in the setting, for example:

require("catppuccin").setup {
    custom_highlights = function(colors)
        return {
            Comment = { fg = colors.flamingo },
            TabLineSel = { bg = colors.pink },
            CmpBorder = { fg = colors.surface2 },
            Pmenu = { bg = colors.none },
        }
    end
}

Per flavour highlight groups can also be overwritten in the setting, for example:

require("catppuccin").setup {
    highlight_overrides = {
        all = function(colors)
            return {
                NvimTreeNormal = { fg = colors.none },
                CmpBorder = { fg = "#3e4145" },
            }
        end,
        latte = function(latte)
            return {
                Normal = { fg = latte.base },
            }
        end,
        frappe = function(frappe)
            return {
                ["@comment"] = { fg = frappe.surface2, style = { "italic" } },
            }
        end,
        macchiato = function(macchiato)
            return {
                LineNr = { fg = macchiato.overlay1 },
            }
        end,
        mocha = function(mocha)
            return {
                Comment = { fg = mocha.flamingo },
            }
        end,
    },
}

Integrations

Catppuccin provides theme support for other plugins in the Neovim ecosystem and extended Neovim functionality through integrations.

To enable/disable an integration you just need to set it to true/false, for example:

require("catppuccin").setup({
    integrations = {
        cmp = true,
        gitsigns = true,
        nvimtree = true,
        treesitter = true,
        notify = false,
        mini = {
            enabled = true,
            indentscope_color = "",
        },
    }
})

Some integrations are enabled by default, you can control this behaviour with default_integrations option.

require("catppuccin").setup({
    default_integrations = false,
})

Below is a list of supported plugins and their corresponding integration module.

Important

If you'd like to know which highlight groups are being affected by catppuccin, check out this directory: lua/catppuccin/groups/integrations/.

Plugin Default
aerial.nvim
aerial = false
alpha-nvim
alpha = true
barbar.nvim
barbar = false
barbecue.nvim
barbecue = {
    dim_dirname = true, -- directory name is dimmed by default
    bold_basename = true,
    dim_context = false,
    alt_background = false,
},
Special

Use this to set it up:

require("barbecue").setup {
  theme = "catppuccin", -- catppuccin-latte, catppuccin-frappe, catppuccin-macchiato, catppuccin-mocha
}
beacon.nvim
beacon = false
bufferline.nvim
Special

Update your bufferline config to use the Catppuccin components:

[!NOTE] bufferline needs to be loaded after setting up catppuccin or it will highlight incorrectly

use "akinsho/bufferline.nvim" {
  after = "catppuccin",
  config = function()
    require("bufferline").setup {
      highlights = require("catppuccin.groups.integrations.bufferline").get()
    }
  end
}

Configurations are self-explanatory, see :h bufferline-highlights for detailed explanations:

local mocha = require("catppuccin.palettes").get_palette "mocha"
bufferline.setup {
    highlights = require("catppuccin.groups.integrations.bufferline").get {
        styles = { "italic", "bold" },
        custom = {
            all = {
                fill = { bg = "#000000" },
            },
            mocha = {
                background = { fg = mocha.text },
            },
            latte = {
                background = { fg = "#000000" },
            },
        },
    },
}
coc.nvim
coc_nvim = false
Special

Setting enabled to true enables this integration.

coc_nvim = true,

[!Note] coc.nvim by default link to native lsp highlight groups so config from native_lsp will also apply to coc

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_lsp = {
    enabled = true,
    virtual_text = {
        errors = { "italic" },
        hints = { "italic" },
        warnings = { "italic" },
        information = { "italic" },
        ok = { "italic" },
    },
    underlines = {
        errors = { "underline" },
        hints = { "underline" },
        warnings = { "underline" },
        information = { "underline" },
        ok = { "underline" },
    },
    inlay_hints = {
        background = true,
    },
},
colorful-winsep.nvim
colorful_winsep = {
    enabled = false,
    color = "red",
}
dashboard-nvim
dashboard = true
diffview.nvim
diffview = false
dropbar.nvim
dropbar = {
    enabled = false,
    color_mode = false, -- enable color for kind's texts, not just kind's icons
},
feline.nvim
Special

Update your Feline config to use the Catppuccin components:

local ctp_feline = require('catppuccin.groups.integrations.feline')

ctp_feline.setup()

require("feline").setup({
    components = ctp_feline.get(),
})

Notice that calling setup() is optional. You may pass a lua table in order to change assets, settings and the colors per vim mode.

Here are the defaults:

local clrs = require("catppuccin.palettes").get_palette()
local ctp_feline = require('catppuccin.groups.integrations.feline')
local U = require "catppuccin.utils.colors"

ctp_feline.setup({
    assets = {
        left_separator = "",
        right_separator = "",
        mode_icon = "",
        dir = "󰉖",
        file = "󰈙",
        lsp = {
            server = "󰅡",
            error = "",
            warning = "",
            info = "",
            hint = "",
        },
        git = {
            branch = "",
            added = "",
            changed = "",
            removed = "",
        },
    },
    sett = {
        text = U.vary_color({ latte = latte.base }, clrs.surface0),
        bkg = U.vary_color({ latte = latte.crust }, clrs.surface0),
        diffs = clrs.mauve,
        extras = clrs.overlay1,
        curr_file = clrs.maroon,
        curr_dir = clrs.flamingo,
        show_modified = true -- show if the file has been modified
    },
    mode_colors = {
        ["n"] = { "NORMAL", clrs.lavender },
        ["no"] = { "N-PENDING", clrs.lavender },
        ["i"] = { "INSERT", clrs.green },
        ["ic"] = { "INSERT", clrs.green },
        ["t"] = { "TERMINAL", clrs.green },
        ["v"] = { "VISUAL", clrs.flamingo },
        ["V"] = { "V-LINE", clrs.flamingo },
        [""] = { "V-BLOCK", clrs.flamingo },
        ["R"] = { "REPLACE", clrs.maroon },
        ["Rv"] = { "V-REPLACE", clrs.maroon },
        ["s"] = { "SELECT", clrs.maroon },
        ["S"] = { "S-LINE", clrs.maroon },
        [""] = { "S-BLOCK", clrs.maroon },
        ["c"] = { "COMMAND", clrs.peach },
        ["cv"] = { "COMMAND", clrs.peach },
        ["ce"] = { "COMMAND", clrs.peach },
        ["r"] = { "PROMPT", clrs.teal },
        ["rm"] = { "MORE", clrs.teal },
        ["r?"] = { "CONFIRM", clrs.mauve },
        ["!"] = { "SHELL", clrs.green },
    },
    view = {
        lsp = {
            progress = true, -- if true the status bar will display an lsp progress indicator
            name = false, -- if true the status bar will display the lsp servers name, otherwise it will display the text "Lsp"
            exclude_lsp_names = {}, -- lsp server names that should not be displayed when name is set to true
            separator = "|", -- the separator used when there are multiple lsp servers
        },
    }
})

[!Warning] Currently feline doesn't officially support custom themes. In order for :colorscheme catppuccin-<flavour> to work you could add this autocmd as a workaround:

vim.api.nvim_create_autocmd("ColorScheme", {
    pattern = "*",
    callback = function()
        package.loaded["feline"] = nil
        package.loaded["catppuccin.groups.integrations.feline"] = nil
        require("feline").setup {
            components = require("catppuccin.groups.integrations.feline").get(),
        }
    end,
})
fern.vim
fern = false
fidget.nvim
fidget = false
Special Set `notification.window.winblend` to `0`:
require("fidget").setup {
    notification = {
        window = {
            winblend = 0,
        },
    }
    -- ... the rest of your fidget config
}
flash.nvim
flash = true
gitsigns.nvim
gitsigns = true
harpoon
harpoon = false
headlines.nvim
headlines = false
hop.nvim
hop = false
indent-blankline.nvim
indent_blankline = {
    enabled = true,
    scope_color = "", -- catppuccin color (eg. `lavender`) Default: text
    colored_indent_levels = false,
},
Special

colored_indent_levels enables char highlights per indent level. Follow the instructions here to set the latter up.

leap.nvim
leap = false
lightline.vim
Special
let g:lightline = {'colorscheme': 'catppuccin'}
lightspeed.nvim
lightspeed = false
lspsaga.nvim
lsp_saga = false
Special

For custom Lsp Kind Icon and Color

require("lspsaga").setup {
    ui = {
        kind = require("catppuccin.groups.integrations.lsp_saga").custom_kind(),
    },
}
lualine.nvim
Special
require('lualine').setup {
    options = {
        theme = "catppuccin"
        -- ... the rest of your lualine config
    }
}
markdown
markdown = true
mason.nvim
mason = false
mini.nvim
mini = {
    enabled = true,
    indentscope_color = "", -- catppuccin color (eg. `lavender`) Default: text
},
neo-tree.nvim
neotree = false
neogit
neogit = true
neotest
neotest = false
noice.nvim
noice = false
NormalNvim
NormalNvim = false
notifier.nvim
notifier = false
nvim-cmp
cmp = true
nvim-dap
dap = true
Special
local sign = vim.fn.sign_define

sign("DapBreakpoint", { text = "", texthl = "DapBreakpoint", linehl = "", numhl = ""})
sign("DapBreakpointCondition", { text = "", texthl = "DapBreakpointCondition", linehl = "", numhl = ""})
sign("DapLogPoint", { text = "", texthl = "DapLogPoint", linehl = "", numhl = ""})
nvim-dap-ui
dap_ui = true
nvim-lspconfig
native_lsp = {
    enabled = true,
    virtual_text = {
        errors = { "italic" },
        hints = { "italic" },
        warnings = { "italic" },
        information = { "italic" },
        ok = { "italic" },
    },
    underlines = {
        errors = { "underline" },
        hints = { "underline" },
        warnings = { "underline" },
        information = { "underline" },
        ok = { "underline" },
    },
    inlay_hints = {
        background = true,
    },
},
Special

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)).

navic
navic = {
    enabled = false,
    custom_bg = "NONE", -- "lualine" will set background to mantle
},
Special
-- You NEED to enable highlight in nvim-navic setting or it won't work
require("nvim-navic").setup {
    highlight = true
}
nvim-notify
notify = false
nvim-semantic-tokens
semantic_tokens = true
nvim-tree.lua
nvimtree = true
nvim-treesitter-context
treesitter_context = true
nvim-treesitter
treesitter = true
nvim-ts-rainbow2
ts_rainbow2 = false
nvim-ts-rainbow
ts_rainbow = false
nvim-ufo
ufo = true
nvim-window-picker
window_picker = false
octo.nvim
octo = false
overseer.nvim
overseer = false
pounce.nvim
pounce = false
rainbow-delimiters.nvim
rainbow_delimiters = true
reactive.nvim
Special

There're 2 available presets (cursor and cursorline) for every flavour.

Here is how you can use them.

require('reactive').setup {
  load = { 'catppuccin-mocha-cursor', 'catppuccin-mocha-cursorline' }
}

To use another flavour just replace mocha with the one you want to use.

symbols-outline.nvim

Note

This plugin has been archived by the author, consider using outline.nvim

symbols_outline = false
telekasten.nvim
telekasten = false
telescope.nvim
telescope = {
    enabled = true,
    -- style = "nvchad"
}
trouble.nvim
lsp_trouble = false
vim-airline
Special
let g:airline_theme = 'catppuccin'
vim-clap
Special

Use this to set it up:

let g:clap_theme = 'catppuccin'
vim-gitgutter
gitgutter = false
vim-illuminate
illuminate = {
    enabled = true,
    lsp = false
}
vim-sandwich
sandwich = false
vim-sneak
vim_sneak = false
vimwiki
vimwiki = false
which-key.nvim
which_key = false

Compile

Important As of 7/10/2022, catppuccin should be able to automatically recompile when the setup table changed.

Catppuccin is a highly customizable and configurable colorscheme. This does however come at the cost of complexity and execution time. Catppuccin can pre compute the results of your configuration and store the results in a compiled lua file. We use these precached values to set it's highlights.

By default catppuccin writes the compiled results into the system's cache directory. You can change the cache dir using:

require("catppuccin").setup({ -- Note: On windows we replace `/` with `\` by default
    compile_path = vim.fn.stdpath "cache" .. "/catppuccin"
})

FAQ

Wrong treesitter highlights

Please disable additional_vim_regex_highlighting

require("nvim-treesitter.configs").setup {
    highlight = {
        enable = true,
        additional_vim_regex_highlighting = false
    },
}

Colors doesn't match preview screenshots

Catppuccin requires true color support AKA terminals support the full range of 16 million colors

  • Supported: iterm2 (macOS), kitty, wezterm, alacritty, tmux, ...

Full list of support terminals can be found here: https://github.com/termstandard/colors#truecolor-support-in-output-devices

  • Unsupported terminal: Terminal.app (macOS), Terminus, Terminology, ...

Full list of Unsupported terminals can be found here: https://github.com/termstandard/colors#not-supporting-truecolor

For tmux users

image

image

Thanks to

 

Copyright © 2021-present Catppuccin Org

nvim's People

Contributors

89iuv avatar augustocdias avatar axieax avatar emxxjnm avatar github-actions[bot] avatar gotgenes avatar igorlfs avatar jint-lzxy avatar jorgebef avatar knpwrs avatar laxtiz avatar lokesh-krishna avatar mehalter avatar mizlan avatar mrjones2014 avatar mrtnvgr avatar mslalith avatar nekowinston avatar nullchilly avatar ofseed avatar otherjl0 avatar pocco81 avatar rav64 avatar robmeijerink avatar sgoudham avatar smiteshp avatar suyashtnt avatar tarundacoder avatar vinibispo avatar williamhsieh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

nvim's Issues

[Feature] Highlight operators

The tokyonight theme provides a nice integration with operators:
image
as opposed to catpuccino's current implementation:
image
(notice the difference between <<, <, =, ++, & and *)
Additionally, semicolons and comma are also highlighted, but I think that's a nitpick

[dev-remaster] katpuccinno.api.colors.get_colors() is broken

The readme lists the way to get the colors for a theme as
image

This is working in main and i've been using it to modify some colors that i remap.

In the dev-remaster branch the call fails

E5113: Error while calling lua chunk: ...er/start/Catppuccino.nvim/lua/katppuccino/api/colors.lua:4: module 'katppuccino.core.cs' not found:
        no field package.preload['katppuccino.core.cs']
        no file './katppuccino/core/cs.lua'

The get_colors() function is provided by https://github.com/Pocco81/Catppuccino.nvim/blob/f90dcc9e4f860ce50d002b4cf2e0861a376f574f/lua/katppuccino/api/colors.lua#L3-L5

which depends on katpuccinno.core.cs, which was deleted in 0b177ad

Project rebranding: needing name suggestions

As it was discussed under #44, one of the objectives was to create an org. The project has been growing so much, not only in stars, but also in users. ATM the most accurate way I know how to get this number is by searching in all of github for catppuccino (because the name is unique enough) and writing down the amount of times it has been mentioned.

People actually love this, that's why we are creating an org for it.

I thought the name was original enough when I first came up with it, but unfortunately it seems like it wasn't. It sucks a lot to say this but we need to rebrand the project because of this. Of course this won't stop the still ongoing development, however the faster we rebrand the project the easier it will be to update the codebase now that it is so small. Doing this further down the road will disrupt web searches, delay deployments, but most importantly, affect active users negatively.

With that said, feel free to leave name suggestions below :)

Conditions (maybe?)

Since we now have the freedom to choose a name more keen and inline to the current objectives/color palette I think it'd be good to start from there. The only conditions I'd put for the name would be:

  • give cool vibes.
  • not too short, not too long.
  • preferably be a portmanteau (AKA a word that results from blending two or more words, like Catppuccino = Cat + Cappuccino)
  • don't start with letters people with speech impediments often struggle to pronounce (R, L, Th, ...)

Feel free to ignore what I just said, just properly justify yourself :)

lualine contrast

Hey @pocco81 as you asked in the VapourNvim issue I will be very happy to team up with you. I am trying to make a rice with this colorscheme but there is just one small issue that there is very less contrast in lualine. It would be great if you could make the text to a lighter color or add a light background to the text. Here is a screenshot:

Screenshot 2021-11-13 at 9 20 50 AM

[Request] Point-out to commit of last good version of neon-latte

Pocco,

First of all, I truely admire the effort and transparency you put into this project.

As far as I'm concerned, I don't like the new palette that much and would very much prefer to keep using the neon-latte flavor. I hadn't followed #44 closely and I didn't realize that neon-latte was removed during the remaster. Could you please add a line to the README that points out to the commit corresponding to the last good version of neon-latte (both palette and docs, somehow using colorscheme neon_latte was not working for me, so I had to manually configure the theme and I don't remember how (that's on me)).

Thank you and have a nice week-end.

[Integration] nvim-cmp

Hello, nvim-cmp recently merged a PR for using floating windows instead of the native menu when autocompleting and introduced some highlights that are available for further customization. I think we can get a cool catppuccino floating window:D

Edit: forgot to mention, idk if you use nvim-cmp so if you think it's hard to setup for you I could post some screenshots showing different highlights, or even open a PR and then we can talk about the colors to include.

Announcement: breaking changes

Note: Subscribe to the issue to get notified about Catppuccin's progess

Edit: refer to this project, which tracks Catppuccin's initial release.

Hello everyone! thanks for using Catppuccino.nvim and taking time to read this.

After the initial release I've been thinking about adding some new stuff and replacing other things. However, throughout the development I've found certain incongruences around it... Hence this issue.

  • Notices on the Katppuccino's status is being given here.

Ideas

All of the following ideas are oriented towards improving consistency and code quality:

  1. The name of the themes: after looking around and nitpicking over how other themes (not only for nvim) are naming the "variants" of their themes (e.g. a light version, dark version, ...), I've decided to do the same for Catppuccino. Consistency is key and naming the themes like how is being done regardless of them following a convention, feels inconsistent. Therefore themes will be named: [adjective] Catppuccino (e.g. Neon Catppuccino). Suggestions are welcomed.

  2. Let's talk about the color palette(s): initially the idea with Catppuccino, unlike other color palettes, was create other color palettes based on a "base color palette". This was kind of accomplished. I created the Catppuccino color palette (which was once in the repo AFAIR) and as you may have already noticed, all the themes share several colors like the white, pink, magenta, red, etc. But lately with the introduction of new variants this hasn't been quite as true as it used to, giving a feel that they are different themes (not THAT different but you get the idea). Because of this, the color palettes will be refactored as well.

  3. Syntax: syntax and UI highlighting is the most important thing following the color palettes. I personally think that the syntax highlighting in Catppuccino is just awesome, it's really what makes Catppuccino Catppuccino. Further improvements and suggestions are very welcomed nonetheless.

  4. New objective: "be an eye-candy and easy on the eyes colorscheme suited for various degrees of lightless and easy to adapt to other environments (web sites, WebApps, DEs, ...)" and it will, of course, accomplish this with the numerous things mentioned above.

  5. I'm thinking about removing Soft Manilo after #43 gets merged (before it has to be refactored taking into account the aforementioned ideas). Perhaps it'd be good to stick with the following styles:

Style Flavor Name
Dark Dark Catppuccino
Light Light Melya
Neon Neon Latte
Pale Misty Moka
  1. If people really really like this I will consider turning this into an org and extend the boundaries of Catppuccino, making it available as themes for web browsers, desktop environments, other editors, other applications (tmux, terminal emulators, ...) etc... Of course, people willing to maintain Catppuccino for x thing (e.g. for Firefox) would be welcomed to the org.

  2. The doc gotta be improved. Edit: the best option would be to auto generate documentation based on the README (or any other file for this matter) and perhaps do this through CI using md2vim. I'll write some shell scripts for this.

  3. The project hasn't had any speed related issues, yet, I'll add asynchronous loading to enhance the theme for users who like to load theirs like this.

Objectives

  • rename the theme variants
  • change some colors
  • refactor extras/
  • rethink which variants are going to be on Catppuccino
  • write documentation using md2vim
  • add asynchronous loading

New Ideas <-- read this

Edit 1: I’ve been reading about themes lately and I’ve two new ideas, which are just IDEAS at the moment:

  1. Perhaps create geometric color palettes? I was reading about Dracula PRO (an awesome theme indeed) and it follows a mathematical approach as opposed to what the standard colors of the Dracula theme used to follow in order to “normalize lightness and saturation”. This is an awesome idea and it’s the first theme I’ve seen doing such a thing.
  2. Perhaps standardizing a single color palette? Following my point above about Catppuccino “not seeming to be anything in particular but aspiring to be everything”: I was checking big names in the colorscheme forest (most notably Nord, Dracula, One Dark, Gruvbox, Molokai) and… they all have one single palette (notice that not all of them have the same amount of colors and some have specific colors for syntax related stuff). That would be a nice approach to follow if we try to project Catppuccino to other platforms in terms of maintainability and stability. Furthermore, having one single color palette will make it a more identifiable theme, because as of now, if one sees one of the current themes one won’t be able to tell they have the same root. If this EVER TAKES PLACE I expect people to be mad because this would imply the removal of some themes in order to stick with one (which could be the result of a fusion between the current one), I'll fork this project and maintain it.

Installing dev-remaster

Is the README on the dev-remaster branch up to date? I'm not having any luck installing following the guides. use "Pocco81/Catppuccin.nvim" fails to install using packer. Should this be use "catppuccin/catppuccin"?

Add a `stylua` formatter config

Would you be open to adding a stylua formatter config? I can make a PR for it if so.

I ask because, when submitting my most recent PR, my formatter ran with default settings and I had to mess with the format to not add unnecessary changes.

I can add a .stylua.toml file that sets the settings to how you have the project formatted currently.

Push Kitty Themes to the Kitty Themes

Kitty has a themes kitten which sources themes from their themes repo and then can automatically fetch the specified theme. I was wondering if you'd be willing/interested in submitting your themes. I'd have already created PRs for them myself, but you created them and I figured you might want the credit for those contributions.

Is this true color?

The 'NavBar' and "Home' should be different color (like yellow), I used treesitter (javascript) and also turn it on in the config

Or I miss out something

image

Changes on integration with bufferline

Hello! just to bring the discussion of #22 in a brand new issue. As I said in my last comment there, bufferline does not support color schemes to override its highlight groups anymore, so the current integration with Catppuccino doesn't work out of the box unless making some tweaks to packer.nvim (if using it). So I suggest to instead of highlight groups provide a lua table containing the desired colors which we can call from bufferline's setup function which is what bufferline expects.

Highlight in visual mode hard to see

I'm not sure if this is just an issue because my terminal has a slightly transparent background, and subsequently, so does nvim. But it's incredibly hard to see what is being selected when I'm in visual mode.

Lightspeed integration

These themes look absolutely great. Good light themes are especially hard to find. Consider me a fan...

I see that Sneak is integrated, so it would make sense to do the same for Lightspeed too (I'm the author/maintainer).

  1. I'd like to get some help with an actual bug. When Catpuccino is load()-ed, it clears out the highlight groups of Lightspeed, making the plugin unusable (we have an autocommand set up for the ColorScheme event - thus :colo catpuccino is OK -, but that is of no help in this case). I suppose we cannot fix this on our side(?), require'lightspeed'.init_highlight() should be called again somewhere, when loading Catpuccino.

  2. This might not be too pressing, as Lightspeed washes out the highlights underneath the area, like EasyMotion, and its defaults are perfectly okay-ish anyway, especially for the two dark versions. But if you think you can come up with some good tweaks, particularly for light-melya, that would be very cool. I'd be happy to assist with anything, if needed. (Or I might do a PR sometime in the future, though I think I'm too lazy for tweaking with the colors again, it was enough for me once :) .)

Error when setting term colors

Hey! when I install catppuccin and set term_colors to true I get the following error:
acker.nvim: Error running config for Catppuccino.nvim: /Users/luis/.config/nvim/lua/plugins/catppuccin.lua:55: Vim(lua):E5108: Error executing lua ...ker/start/Catppuccino.nvim/lua/catppuccin/utils/util.lua:120: attempt to index local 'clrs' (a nil value)

I like this project!

I like the details you've put on this color scheme, from documentation to flexibility in configs. Did you grab a template or fork some other project to get started with this one? I'd like to make my own color scheme in the future :p thanks!

Special characters pasted by C-v blend with background

My catppuccino setup:

local present, catppuccino = pcall(require, "catppuccino")
if not present then return end

catppuccino.setup({
    colorscheme = "catppuccino",
    transparency = false,
    styles = {
        comments = "italic",
        functions = "NONE",
        keywords = "NONE",
        strings = "NONE",
        variables = "NONE",
    },
    integrations = {
        treesitter = true,
        native_lsp = {
            enabled = true,
            styles = {
                errors = "italic",
                hints = "italic",
                warnings = "italic",
                information = "italic"
            }
        },
        lsp_trouble = false,
        lsp_saga = false,
        gitgutter = false,
        gitsigns = false,
        telescope = false,
        nvimtree = false,
        which_key = false,
        indent_blankline = false,
        dashboard = false,
        neogit = false,
        vim_sneak = false,
        fern = false,
        barbar = false,
        bufferline = false,
        markdown = false,
    }
})

catppuccino.load()

After you open new buffer; press C-v and then, for example, ESC, pasted character will be blending with background.

Screenshots

изображение
изображение

Error when enabling term colors

I set term_colors to true and when I enter neovim the following error appears:
image

This is my complete catppuccino config:

local catppuccino = require('catppuccino')

catppuccino.setup {
   colorscheme = 'neon_latte',
   term_colors = true,
   styles = {
      comments = "italic",
      functions = "italic",
      keywords = "italic",
      strings = "italic",
      variables = "NONE",
   },
   integrations = {
      treesitter = true,
      native_lsp = {
         enabled = true,
         styles = {
            errors = "italic",
            hints = "italic",
            warnings = "italic",
            information = "italic"
         }
      },
      lsp_trouble = true,
      lsp_saga = false,
      gitgutter = false,
      gitsigns = true,
      telescope = true,
      nvimtree = {
         enabled = true,
         show_root = true,
      },
      which_key = true,
      indent_blankline = true,
      dashboard = true,
      neogit = false,
      vim_sneak = false,
      fern = false,
      barbar = false,
      bufferline = true,
      markdown = true,
      lightspeed = false,
   }
}

catppuccino.load()

correct me if I'm doing something wrong or I missed some documentation please :'(

unexpected error

Error detected while processing /home/ashin/.local/share/nvim/site/pack/packer/start/Catppuccino.nvim/colors/catppuccino.vim:
line 12:
E5108: Error executing lua ...acker/start/Catppuccino.nvim/lua/catppuccino/core/cs.lua:21: bad argument #1 to 'next' (table expected, got nil)

Cannot override tabline highlights

I have the following code in my init.lua:

catppuccino.load()

vim.cmd('hi TabLineFill ctermfg=black ctermbg=black')
vim.cmd('hi TabLine ctermfg=white ctermbg=black')
vim.cmd('hi TabLineSel ctermfg=red ctermbg=black')

It seems like Catppuccino is overriding my highlight groups for this though:

:verbose highlight TabLineFill
TabLineFill    xxx cterm=reverse ctermfg=0 ctermbg=0 guibg=#0B1216
        Last set from anonymous :source

Is there a way to override the highlight groups for the tabline?

Gitsigns Backgrounds Sometimes Not Transparent

Sort of just what the title says. Depending on which colorscheme within catppuccino I use, the background for the gitsigns aren't transparent.

If I set it to dark_catppuccino only the git delete highlights aren't transparent:
1630402575

If I set it to catppuccino none of them have transparent backgrounds:
1630402597

Any idea how I can fix this, even if it's just setting a custom color for my instance?

Lualine Theme Not Setting

Good afternoon!

I'm loving this theme but having some issues. I cannot get this theme to set in lualine following the repos instructions. Here is my current config for both plugins. I can change the lualine theme to any of it's builtin themes but this one isn't working.

use {
  'shadmansaleh/lualine.nvim',
  config = function()
    require('lualine').setup {
      options = {
        component_separators = '',
        section_separators = '',
        theme = 'catppuccino',
      },
    }
  end,
}
  use {
    'Pocco81/Catppuccino.nvim',
    config = function()
      require('catppuccino').setup {
        colorscheme = 'dark_catppuccino',
        term_colors = true,
        integrations = {
          gitsigns = true,
          which_key = true,
          telescope = true,
          nvimtree = {
            enabled = true,
          },
        },
      }
      vim.cmd [[colorscheme catppuccino]]
    end,
  }

Thank you for any help or insight you can provide!

border color on window splits

Hey! I can see there's no border when splitting windows:
image
Is this intended? If so, can we have an option to activate borders? I'd personally like keyword's color (purple) as the border color for a neon fashion style, but choosing it explicitly would be great too!

Add Soft Manilo theme

I'd like to add a "soft Manilo" theme, similar to the dark catppuccino theme but primarily with a softer dark gray background.

Refuses to install via Vim Plug – doesn't even seem to recognize the Plugin

Cheers!

I saw the theme on Reddit earlier and decided to try it out. I like it so far, but I can't get it to run in NVIM.
I've added Plug 'catppuccin/nvim' into my plugins file, but when I try to install, it just doesn't show up at all? No error, no nothing. (Screenshot: https://i.imgur.com/mShA8zF.png)

I've seen the other issue (#63) about Vim Plug, and just to make sure I've tried to add the full git address plus a specified branch – Plug 'https://github.com/catppuccin/nvim.git', {'branch': 'main'} – but this also didn't yield any results.

(Un-)Installing other plugins works without any issues. Am I missing something? This might be a really stupid mistake, and I'm just blind..

Just for good measure:
I'm running on MacOS Catalina (10.15.7)
NVIM is up to date (v 0.6.0)
VimPlug also is up to date – updated via PlugUpgrade

add TSInclude highlight group as part of keywords

Hi, when I set the keywords in my config to be italic I would like the "import" and "from" keyword (in case of JavaScript) to be italic as well:
image

I can achieve this by overriding the highlight TSInclude in the config but I think this should be a default since those are keywords from the language and that highlight might apply to other languages as well.

Can not install with Vim Plug

I get this error:

x nvim:
    fatal: invalid reference: master

After I quit and try to install it again it is marked as "already installed"

When I try to use it I get this:

Error detected while processing /home/rgamuf.configinvim/pluginvim/colors/catopuccin.vim: line 3: E5105:
Error while calling lua chunk: ...mq.configinvim/pluginvim/lua/catopuccin/core/mapper.lua:191: attempt to call field 'ttildeep_extend' (a nil value) Press ENTER or type command to continue' 

Also the first installation that I did was successful, but then I got the above error

native_lsp won't affect DiagnosticUnderline* hl-groups on nightly

Hi, since neovim nightly changed a few things regarding diagnostics, it would be better to refactor the native_lsp integration into a more general diagnostic as I think this is the way things are going. This will also transparently apply the same gui and guisp styles for all diagnostics (Spell*, DiagnosticUnderline* and legacy LspDiagnosticsUnderline*)

Also, for some reason DiagnosticHint seems to be unset:
Screenshot 2021-11-12 at 20 11 51

I have this in my catppuccin config to solve the issue temporarily.

    vim.cmd('hi! link DiagnosticHint String')
    vim.cmd('hi DiagnosticUnderlineError gui=undercurl guisp='..require"colors".get_color('DiagnosticError', 'fg'))
    vim.cmd('hi DiagnosticUnderlineWarn  gui=undercurl guisp='..require"colors".get_color('DiagnosticWarn', 'fg'))
    vim.cmd('hi DiagnosticUnderlineInfo  gui=undercurl guisp='..require"colors".get_color('DiagnosticInfo', 'fg'))
    vim.cmd('hi DiagnosticUnderlineHint  gui=undercurl guisp='..require"colors".get_color('DiagnosticHint', 'fg'))

Awesome colorscheme btw ;)

git diffs blend in the background in lualine

Hi @pocco81 .
I absolutely love this theme.
But one thing that concerned me was after editing a file there would be some diffs right. So the count of the diffs are blended to background in lualine.
Here is the screenshot:
2021-08-28-171202_510x85_scrot

Contrast on bufferline tabs

I activated the integration for bufferline and this is how it looks:
image
I can barely notice the background of the tab among with its shape, I would expect something with more contrast like this:
image
Can't we have some more contrast like that one? Although I don't know how this would affect the other flavors of the colors scheme, I'm ussing Neon Latte.

missing color in lazygit.nvim

Hey :)

I have been using Catppuccino for awhile, just switched to Catppucin. Something I noticed is a color seems to have disappeared that is used in lazygit that was there before the switch

image

Add a Lualine theme

Lualine is one of the most popular status line plugins, and lots of color schemes also offer themes for Lualine.

This theme looks really, really great btw.

Gray delimiters with treesitter enabled

I noticed that when using treesitter, the color for delimiters, such as semicolons, parentheses, and brackets are a dark gray, like below:

image

This does not occur without treesitter:

image

Is this intentional? In my opinion delimiters should always be a bright color.

[Help] Issue with stylua

Hey! Since a few weeks I wanted to start contributing to this project by creating PR but I have an issue with rendering lua files and I think it's related to indentation with stylua, right now when I open a lua file from this project it looks like this:
image
As you can see some of the text is not visible.

I just wanted to know if you are familiar with this issue. I have editorconfig installed and stylua via cargo. I'm using gnome-terminal.

Thanks!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.