Full Code of catppuccin/nvim for AI

main 384f304c8b04 cached
151 files
299.3 KB
100.2k tokens
1 requests
Download .txt
Showing preview only (334K chars total). Download the full file or copy to clipboard to get everything.
Repository: catppuccin/nvim
Branch: main
Commit: 384f304c8b04
Files: 151
Total size: 299.3 KB

Directory structure:
gitextract_sldfuu1t/

├── .editorconfig
├── .github/
│   ├── ISSUE_TEMPLATE/
│   │   ├── bug_report.yml
│   │   ├── config.yml
│   │   └── feature_request.md
│   ├── PULL_REQUEST_TEMPLATE.md
│   └── workflows/
│       ├── formatting.yml
│       ├── neovim.yml
│       ├── patch.yml
│       ├── release.yml
│       └── tests.yml
├── .gitignore
├── CHANGELOG.md
├── LICENSE.md
├── README.md
├── after/
│   └── queries/
│       ├── css/
│       │   └── highlights.scm
│       ├── javascript/
│       │   └── highlights.scm
│       └── typescript/
│           └── highlights.scm
├── colors/
│   ├── catppuccin-frappe.lua
│   ├── catppuccin-latte.lua
│   ├── catppuccin-macchiato.lua
│   ├── catppuccin-mocha.lua
│   ├── catppuccin-nvim.vim
│   └── catppuccin.lua
├── doc/
│   └── catppuccin.txt
├── justfile
├── lua/
│   ├── barbecue/
│   │   └── theme/
│   │       ├── catppuccin-frappe.lua
│   │       ├── catppuccin-latte.lua
│   │       ├── catppuccin-macchiato.lua
│   │       ├── catppuccin-mocha.lua
│   │       └── catppuccin-nvim.lua
│   ├── catppuccin/
│   │   ├── groups/
│   │   │   ├── editor.lua
│   │   │   ├── integrations/
│   │   │   │   ├── aerial.lua
│   │   │   │   ├── alpha.lua
│   │   │   │   ├── artio.lua
│   │   │   │   ├── avante.lua
│   │   │   │   ├── barbar.lua
│   │   │   │   ├── beacon.lua
│   │   │   │   ├── blink_cmp.lua
│   │   │   │   ├── blink_indent.lua
│   │   │   │   ├── blink_pairs.lua
│   │   │   │   ├── buffon.lua
│   │   │   │   ├── cmp.lua
│   │   │   │   ├── coc_nvim.lua
│   │   │   │   ├── colorful_winsep.lua
│   │   │   │   ├── copilot_vim.lua
│   │   │   │   ├── dadbod_ui.lua
│   │   │   │   ├── dap.lua
│   │   │   │   ├── dap_ui.lua
│   │   │   │   ├── dashboard.lua
│   │   │   │   ├── diffview.lua
│   │   │   │   ├── dropbar.lua
│   │   │   │   ├── fern.lua
│   │   │   │   ├── fidget.lua
│   │   │   │   ├── flash.lua
│   │   │   │   ├── fzf.lua
│   │   │   │   ├── gitgraph.lua
│   │   │   │   ├── gitgutter.lua
│   │   │   │   ├── gitsigns.lua
│   │   │   │   ├── grug_far.lua
│   │   │   │   ├── harpoon.lua
│   │   │   │   ├── headlines.lua
│   │   │   │   ├── hop.lua
│   │   │   │   ├── illuminate.lua
│   │   │   │   ├── indent_blankline.lua
│   │   │   │   ├── leap.lua
│   │   │   │   ├── lightspeed.lua
│   │   │   │   ├── lir.lua
│   │   │   │   ├── lsp_saga.lua
│   │   │   │   ├── lsp_trouble.lua
│   │   │   │   ├── markview.lua
│   │   │   │   ├── mason.lua
│   │   │   │   ├── mini.lua
│   │   │   │   ├── navic.lua
│   │   │   │   ├── neogit.lua
│   │   │   │   ├── neotest.lua
│   │   │   │   ├── neotree.lua
│   │   │   │   ├── noice.lua
│   │   │   │   ├── notifier.lua
│   │   │   │   ├── notify.lua
│   │   │   │   ├── nvim_surround.lua
│   │   │   │   ├── nvimtree.lua
│   │   │   │   ├── octo.lua
│   │   │   │   ├── overseer.lua
│   │   │   │   ├── pounce.lua
│   │   │   │   ├── rainbow_delimiters.lua
│   │   │   │   ├── render_markdown.lua
│   │   │   │   ├── sandwich.lua
│   │   │   │   ├── signify.lua
│   │   │   │   ├── snacks.lua
│   │   │   │   ├── symbols_outline.lua
│   │   │   │   ├── telekasten.lua
│   │   │   │   ├── telescope.lua
│   │   │   │   ├── treesitter_context.lua
│   │   │   │   ├── ts_rainbow.lua
│   │   │   │   ├── ts_rainbow2.lua
│   │   │   │   ├── ufo.lua
│   │   │   │   ├── vim_sneak.lua
│   │   │   │   ├── vimwiki.lua
│   │   │   │   ├── which_key.lua
│   │   │   │   └── window_picker.lua
│   │   │   ├── lsp.lua
│   │   │   ├── semantic_tokens.lua
│   │   │   ├── syntax.lua
│   │   │   ├── terminal.lua
│   │   │   └── treesitter.lua
│   │   ├── init.lua
│   │   ├── lib/
│   │   │   ├── compiler.lua
│   │   │   ├── detect_integrations.lua
│   │   │   ├── hashing.lua
│   │   │   ├── highlighter.lua
│   │   │   ├── hsluv.lua
│   │   │   └── mapper.lua
│   │   ├── palettes/
│   │   │   ├── frappe.lua
│   │   │   ├── init.lua
│   │   │   ├── latte.lua
│   │   │   ├── macchiato.lua
│   │   │   └── mocha.lua
│   │   ├── special/
│   │   │   ├── bufferline.lua
│   │   │   └── feline.lua
│   │   ├── types.lua
│   │   └── utils/
│   │       ├── barbecue.lua
│   │       ├── colors.lua
│   │       ├── integration_mappings.lua
│   │       ├── lualine.lua
│   │       └── reactive.lua
│   ├── lualine/
│   │   └── themes/
│   │       ├── catppuccin-frappe.lua
│   │       ├── catppuccin-latte.lua
│   │       ├── catppuccin-macchiato.lua
│   │       ├── catppuccin-mocha.lua
│   │       └── catppuccin-nvim.lua
│   └── reactive/
│       └── presets/
│           ├── catppuccin-frappe-cursor.lua
│           ├── catppuccin-frappe-cursorline.lua
│           ├── catppuccin-latte-cursor.lua
│           ├── catppuccin-latte-cursorline.lua
│           ├── catppuccin-macchiato-cursor.lua
│           ├── catppuccin-macchiato-cursorline.lua
│           ├── catppuccin-mocha-cursor.lua
│           └── catppuccin-mocha-cursorline.lua
├── nvim.tera
├── renovate.json
├── scripts/
│   └── generate_integration_mappings_table.lua
├── selene.toml
├── stylua.toml
├── tests/
│   ├── flavour_spec.lua
│   ├── hash_spec.lua
│   ├── init.lua
│   ├── init.vim
│   ├── minimal_init.vim
│   ├── palette_spec.lua
│   └── pattern_spec.lua
└── vim.toml

================================================
FILE CONTENTS
================================================

================================================
FILE: .editorconfig
================================================
# EditorConfig helps developers define and maintain consistent
# coding styles between different editors and IDEs
# EditorConfig is awesome: https://EditorConfig.org

root = true

[*]
end_of_line = lf
charset = utf-8
insert_final_newline = true

[*.{lua,tera}]
indent_style = tab

[*.{diff,md}]
trim_trailing_whitespace = false
indent_style = space
indent_size = 4


================================================
FILE: .github/ISSUE_TEMPLATE/bug_report.yml
================================================
name: Bug report
description: Report a problem with Catppuccin
labels: [bug]
body:
  - type: textarea
    attributes:
      label: "Description"
      description: "A short description of the problem you are reporting."
    validations:
      required: true
  - type: textarea
    attributes:
      label: "Neovim version"
      description: "Output of `nvim --version` (Catppuccin requires neovim >= 0.8)"
      render: markdown
      placeholder: |
        NVIM v0.9.0
        Build type: Release
        LuaJIT 2.1.0-beta3
    validations:
      required: true
  - type: input
    attributes:
      label: "Terminal and multiplexer"
      placeholder: "kitty 0.29.2 with tmux 3.3a"
    validations:
      required: true
  - type: markdown
    attributes:
      value: |
        # FOR TMUX USERS
        FOLLOW THESE GIST BEFORE OPENING THE ISSUE
        - [Enable true color support](https://gist.github.com/andersevenrud/015e61af2fd264371032763d4ed965b6) to fix the [abnormal colors](https://github.com/catppuccin/nvim/issues/415)
        - [Enable italic font support](https://gist.github.com/gyribeiro/4192af1aced7a1b555df06bd3781a722) to fix the [incorrect if, then, else, end highlights](https://github.com/catppuccin/nvim/issues/428)
  - type: input
    attributes:
      label: "Catppuccin version / branch / rev"
      placeholder: "catppuccin v1.4.0"
    validations:
      required: true
  - type: textarea
    attributes:
      label: "Steps to reproduce"
      description: "Steps to reproduce using the minimal config provided below."
      placeholder: |
        1. `nvim -u repro.lua`
        2. ...
    validations:
      required: true
  - type: textarea
    attributes:
      label: "Expected behavior"
      description: "A description of the behavior you expected:"
    validations:
      required: true
  - type: textarea
    attributes:
      label: "Actual behavior"
      description: "Observed behavior (may optionally include logs, images, or videos)."
    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: |
        -- DO NOT change the paths and don't remove the colorscheme
        local root = vim.fn.fnamemodify("./.repro", ":p")

        -- set stdpaths to use .repro
        for _, name in ipairs({ "config", "data", "state", "cache" }) do
          vim.env[("XDG_%s_HOME"):format(name:upper())] = root .. "/" .. name
        end

        -- bootstrap lazy
        local lazypath = root .. "/plugins/lazy.nvim"
        if not vim.loop.fs_stat(lazypath) then
          vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", lazypath })
        end
        vim.opt.runtimepath:prepend(lazypath)

        -- install plugins
        local plugins = {
          "catppuccin/nvim",
          -- add any other plugins here
        }
        require("lazy").setup(plugins, {
          root = root .. "/plugins",
        })

        vim.cmd.colorscheme("catppuccin-nvim")
        -- add anything else here
      render: Lua


================================================
FILE: .github/ISSUE_TEMPLATE/config.yml
================================================
blank_issues_enabled: false
contact_links:
   - name: Question
     url: https://discord.com/servers/catppuccin-907385605422448742
     about: Join our discord server for real-time answers and more!


================================================
FILE: .github/ISSUE_TEMPLATE/feature_request.md
================================================
---
name: Feature request
about: "Suggest an idea for the project"
title: ""
labels: enhancement
assignees: ""
---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is.
Ex. I'm always frustrated when [...]. My workflow is like this [...]

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context or screenshots about the feature request here.

================================================
FILE: .github/PULL_REQUEST_TEMPLATE.md
================================================
🎉 First off, thanks for taking the time to contribute! 🎉

Here are some guidelines:
- Format code using [stylua](https://github.com/johnnymorganz/stylua).
- New plugin integration should be added in alphabetical order:
  - to the [README](https://github.com/catppuccin/nvim#integrations) (vimdoc is auto-generated).
  - to [types.lua](https://github.com/catppuccin/nvim/blob/main/lua/catppuccin/types.lua)
- Create a topic branch on your fork for your specific PR.
- Use [conventionalcommits.org's](https://www.conventionalcommits.org/en/v1.0.0/)
  rules for explicit and meaningful commit messages.
- If it's your first time contributing to a project, then read
  [About pull requests](https://docs.github.com/en/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)
  on Github's docs.

Here are some tips:
- Use `vim.g.catppuccin_debug = true` to get live config re-loading


================================================
FILE: .github/workflows/formatting.yml
================================================
name: StyLua
on:
  pull_request:
  push:
    paths-ignore:
      - "*.md"
    branches:
      - main

jobs:
  stylua:
    name: StyLua
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v5
      - uses: JohnnyMorganz/stylua-action@v4
        with:
          token: ${{ secrets.GITHUB_TOKEN }}
          version: latest
          args: --check --config-path=stylua.toml .


================================================
FILE: .github/workflows/neovim.yml
================================================
---
name: Neovim
on:
  pull_request:
  push:
    paths-ignore:
      - "*.md"
    branches:
      - main

jobs:
  ubuntu:
    name: Ubuntu
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v5
      - name: Install Neovim
        uses: MunifTanjim/setup-neovim-action@v1
      - name: Run neovim
        run: |
          nvim --version
          nvim --headless -u tests/init.lua +q
  macos:
    name: Macos
    runs-on: macos-latest

    steps:
      - uses: actions/checkout@v5
      - name: Install Neovim
        run: |
          wget -q https://github.com/neovim/neovim/releases/download/nightly/nvim-macos-x86_64.tar.gz
          xattr -c ./nvim-macos-x86_64.tar.gz
          tar xzvf nvim-macos-x86_64.tar.gz &> /dev/null
          ln -s $(pwd)/nvim-macos-x86_64/bin/nvim /usr/local/bin/nvim
      - name: Run neovim
        run: |
          nvim --version
          nvim --headless -u tests/init.lua +q
  windows:
    name: Windows
    runs-on: windows-latest
    steps:
      - uses: actions/checkout@v5
      - name: Install Neovim
        run: |
          C:\msys64\usr\bin\wget.exe -q https://github.com/neovim/neovim/releases/download/nightly/nvim-win64.zip
          7z x nvim-win64.zip
          Add-Content $env:GITHUB_PATH ".\nvim-win64\bin\"
      - name: Run neovim
        run: |
          nvim --version
          nvim --headless -u tests/init.lua +q


================================================
FILE: .github/workflows/patch.yml
================================================
name: Patch
on:
  workflow_dispatch:
  pull_request:
    branches: [main]

jobs:
  docs:
    name: generate vimdoc
    runs-on: ubuntu-latest
    permissions:
      contents: write

    steps:
      - uses: actions/checkout@v5
        with:
          ref: ${{ github.head_ref }}
      - name: panvimdoc
        uses: kdheepak/panvimdoc@main
        with:
          vimdoc: catppuccin
          description: "Soothing pastel theme for NeoVim"
          pandoc: "README.md"
          toc: true
          version: "nvim >= 0.8.0"
          treesitter: true
      - uses: stefanzweifel/git-auto-commit-action@v7
        with:
          commit_message: "docs: auto generate vimdoc"
  integration-table-gen:
    needs: [docs]
    name: update integration table
    runs-on: ubuntu-latest
    permissions:
      contents: write

    steps:
      - uses: actions/checkout@v5
        with:
          ref: ${{ github.head_ref }}
      - name: Install Neovim
        uses: MunifTanjim/setup-neovim-action@v1
      - name: Update integration table
        run: |
          nvim -l scripts/generate_integration_mappings_table.lua
      - uses: stefanzweifel/git-auto-commit-action@v7
        with:
          commit_message: "chore: auto generate integration table"


================================================
FILE: .github/workflows/release.yml
================================================
name: release

on:
  push:
    branches: [main]
  workflow_dispatch:

jobs:
  release:
    name: release
    runs-on: ubuntu-latest
    steps:
      - uses: googleapis/release-please-action@v4
        id: release
        with:
          release-type: simple
          package-name: catppuccin
      - uses: actions/checkout@v5
      - name: tag stable versions
        if: ${{ steps.release.outputs.release_created }}
        run: |
          git config user.name github-actions[bot]
          git config user.email 41898282+github-actions[bot]@users.noreply.github.com
          git remote add gh-token "https://${{ secrets.GITHUB_TOKEN }}@github.com/googleapis/release-please-action.git"
          git tag -d stable || true
          git push origin :stable || true
          git tag -a stable -m "Last Stable Release"
          git push origin stable


================================================
FILE: .github/workflows/tests.yml
================================================
---
name: Tests
on:
  pull_request:
  push:
    paths-ignore:
      - "*.md"
    branches:
      - main
  workflow_dispatch:
  schedule:
    - cron: '0 0 * * *' # Run every day at midnight UTC

jobs:
  ubuntu:
    name: Plenary
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v5
        with:
          path: nvim
      - uses: actions/checkout@v5
        with:
          ref: user-configs
          path: user-configs
      - run: |
          mv user-configs/tests/* nvim/tests/
      - name: Install Neovim
        uses: MunifTanjim/setup-neovim-action@v1
      - name: Fetch dependencies
        run: |
          git clone --depth 1 https://github.com/nvim-lua/plenary.nvim ~/.local/share/nvim/site/pack/vendor/start/plenary.nvim
          ln -s $(pwd) ~/.local/share/nvim/site/pack/vendor/start
      - name: Run tests
        working-directory: ./nvim
        run: |
          nvim --version
          [ ! -d tests ] && exit 0
          nvim --headless -u tests/minimal_init.vim -c "PlenaryBustedDirectory tests/ {minimal_init = 'tests/minimal_init.vim', sequential = true}"


================================================
FILE: .gitignore
================================================
doc/tags
.vscode/
.DS_Store
.repro


================================================
FILE: CHANGELOG.md
================================================
# Changelog

## [1.11.0](https://github.com/catppuccin/nvim/compare/v1.10.0...v1.11.0) (2025-07-31)


### Features

* automatic integration detection ([#871](https://github.com/catppuccin/nvim/issues/871)) ([44bd5ea](https://github.com/catppuccin/nvim/commit/44bd5ea20a1eccba71ee39e436d2fdf5017f1f80))
* **blink-cmp:** add `style` option ([#867](https://github.com/catppuccin/nvim/issues/867)) ([fa42eb5](https://github.com/catppuccin/nvim/commit/fa42eb5e26819ef58884257d5ae95dd0552b9a66))
* **blink-cmp:** improved support ([#862](https://github.com/catppuccin/nvim/issues/862)) ([d0972f1](https://github.com/catppuccin/nvim/commit/d0972f1de6fa771654bb881879afc27d3ddb7421))
* **buffon:** add buffon.nvim integration ([#855](https://github.com/catppuccin/nvim/issues/855)) ([ae1bac4](https://github.com/catppuccin/nvim/commit/ae1bac4c8026f705ef54677c0353be922480bea5))
* **buffon:** add to auto integration list ([#878](https://github.com/catppuccin/nvim/issues/878)) ([82f3dce](https://github.com/catppuccin/nvim/commit/82f3dcedc9acc242d2d4f98abca02e2f10a75248))
* make bg of `FloatBorder` same as `NormalFloat` ([#877](https://github.com/catppuccin/nvim/issues/877)) ([aac17a6](https://github.com/catppuccin/nvim/commit/aac17a6b20931e6aa6ca036c63a6f59e8c92135a))
* **markview:** add markview integration ([#854](https://github.com/catppuccin/nvim/issues/854)) ([961ec64](https://github.com/catppuccin/nvim/commit/961ec64a14e4b329475fc20226a59a28eb040303))
* **snacks:** add nvchad style for snacks.picker ([#858](https://github.com/catppuccin/nvim/issues/858)) ([84336e0](https://github.com/catppuccin/nvim/commit/84336e08415858f6d835835e81a4f79e585463c6))
* **snacks:** add snacks.picker support ([#853](https://github.com/catppuccin/nvim/issues/853)) ([be1e5e6](https://github.com/catppuccin/nvim/commit/be1e5e6308bb9d016bf5c1565e0f1d5e46400d7a))
* **telescope:** add `nvchad_outlined` style ([aac17a6](https://github.com/catppuccin/nvim/commit/aac17a6b20931e6aa6ca036c63a6f59e8c92135a))


### Bug Fixes

* add missing table based integrations to fix auto integration detection ([#890](https://github.com/catppuccin/nvim/issues/890)) ([6d0d9ae](https://github.com/catppuccin/nvim/commit/6d0d9ae1907443be5dd89ca06875ac14ba3bb655))
* adjust default integration settings ([#863](https://github.com/catppuccin/nvim/issues/863)) ([62dbc84](https://github.com/catppuccin/nvim/commit/62dbc841f48046dfe1be74179e92f53e1c33952c))
* **avante:** link background and border hl ([#865](https://github.com/catppuccin/nvim/issues/865)) ([387b4b1](https://github.com/catppuccin/nvim/commit/387b4b19568cbda82c1d6def9ded31fd6ae7fb99))
* **cursor:** update cursor color to rosewater / base ([#857](https://github.com/catppuccin/nvim/issues/857)) ([a0c769b](https://github.com/catppuccin/nvim/commit/a0c769bc7cd04bbbf258b3d5f01e2bdce744108d))
* **editor:** link `FloatTitle` bg to `NormalFloat` ([#882](https://github.com/catppuccin/nvim/issues/882)) ([d7b413f](https://github.com/catppuccin/nvim/commit/d7b413fdc2c2dfcff1404c0ef1e16c6d8314b20f))
* enable auto detected integrations with table options ([#886](https://github.com/catppuccin/nvim/issues/886)) ([5fa8d24](https://github.com/catppuccin/nvim/commit/5fa8d240944c47261f5e9172dc3dbc790fecaed2))
* **fzf:** link normal and title to defaults ([#883](https://github.com/catppuccin/nvim/issues/883)) ([0cf15ba](https://github.com/catppuccin/nvim/commit/0cf15babf716ed56593da425a236245f709dcbfb))
* **markview:** adjust highlights ([#860](https://github.com/catppuccin/nvim/issues/860)) ([30b1a81](https://github.com/catppuccin/nvim/commit/30b1a81c9f7a5d1b5616da0afff1bfe9aa26e622))
* **markview:** incorrect heading bg when using transparent bg ([56a9dfd](https://github.com/catppuccin/nvim/commit/56a9dfd1e05868cf3189369aad87242941396563))
* **mini.picker:** border and match styling ([#889](https://github.com/catppuccin/nvim/issues/889)) ([94f6e8a](https://github.com/catppuccin/nvim/commit/94f6e8a06b6bb7b8e5529cf9f93adb4654534241))
* **octo:** clear OctoFilePanelFileName hl group ([#875](https://github.com/catppuccin/nvim/issues/875)) ([784e529](https://github.com/catppuccin/nvim/commit/784e529c790b451abd0c169f055fc5ae89af039f))
* **render-markdown:** incorrect heading bg when using transparent bg ([56a9dfd](https://github.com/catppuccin/nvim/commit/56a9dfd1e05868cf3189369aad87242941396563))

## [1.10.0](https://github.com/catppuccin/nvim/compare/v1.9.0...v1.10.0) (2025-05-04)


### Features

* add background highlight to LSP signature help ([#771](https://github.com/catppuccin/nvim/issues/771)) ([de096dd](https://github.com/catppuccin/nvim/commit/de096dd4bc88be563617db50594b2dabe7f1bd86))
* **blink-cmp:** add integration ([#777](https://github.com/catppuccin/nvim/issues/777)) ([abceb64](https://github.com/catppuccin/nvim/commit/abceb64a223aaada38c21e744763d111e73aaf0a))
* **blink-cmp:** support `BlinkCmpLabelMatch` hl ([#802](https://github.com/catppuccin/nvim/issues/802)) ([637d99e](https://github.com/catppuccin/nvim/commit/637d99e638bc6f1efedac582f6ccab08badac0c6))
* **blink.cmp:** highlight `BlinkCmpKindCopilot` as `teal` ([#813](https://github.com/catppuccin/nvim/issues/813)) ([bd80c25](https://github.com/catppuccin/nvim/commit/bd80c256606770395b901f7c0b849517957da882))
* **copilot:** add integration ([#803](https://github.com/catppuccin/nvim/issues/803)) ([b71eacb](https://github.com/catppuccin/nvim/commit/b71eacb06842c493a490d24730f0a7c1fe82b61c))
* **gitgutter:** add LineNr highlights ([#833](https://github.com/catppuccin/nvim/issues/833)) ([4bb938b](https://github.com/catppuccin/nvim/commit/4bb938bbba41d306db18bf0eb0633a5f28fd7ba0))
* **gitsign:** improve gitsign inline add and delete colors ([#808](https://github.com/catppuccin/nvim/issues/808)) ([4965db2](https://github.com/catppuccin/nvim/commit/4965db2d6155c25db4e8417465fc2703fdf4c2b7))
* **integrations:** add support for gitgraph.nvim ([#822](https://github.com/catppuccin/nvim/issues/822)) ([58f1a92](https://github.com/catppuccin/nvim/commit/58f1a926a018b226ce2fd67e0878f1fc9bc45bb7))
* **integrations:** remove normalnvim ([#828](https://github.com/catppuccin/nvim/issues/828)) ([be45e04](https://github.com/catppuccin/nvim/commit/be45e0456b8faf37bd0cfed3c26617cbdad4152b))
* **integrations:** update mini.indentscope ([#821](https://github.com/catppuccin/nvim/issues/821)) ([0b2437b](https://github.com/catppuccin/nvim/commit/0b2437bcc12b4021614dc41fcea9d0f136d94063))
* **PmenuExtra:** add support for PmenuExtra highlights ([#851](https://github.com/catppuccin/nvim/issues/851)) ([b01060e](https://github.com/catppuccin/nvim/commit/b01060ef9e0a9d39681d18eafd91bc4a88114681))
* **reactive:** add cursor color for normal mode ([#834](https://github.com/catppuccin/nvim/issues/834)) ([5b5e3ae](https://github.com/catppuccin/nvim/commit/5b5e3aef9ad7af84f463d17b5479f06b87d5c429))
* **render-markdown:** change code block background to `mantle` ([#774](https://github.com/catppuccin/nvim/issues/774)) ([7be452e](https://github.com/catppuccin/nvim/commit/7be452ee067978cdc8b2c5f3411f0c71ffa612b9))
* **signify:** add vim-signify integration ([#850](https://github.com/catppuccin/nvim/issues/850)) ([54fb7f4](https://github.com/catppuccin/nvim/commit/54fb7f43e1eeadd2401a002d4856760c3f12a55c))
* **snacks:** add indent highlights ([#827](https://github.com/catppuccin/nvim/issues/827)) ([57c4077](https://github.com/catppuccin/nvim/commit/57c4077c4c1eb8430de4ae001738aa55f0a79fd8))
* **snacks:** add integration ([#807](https://github.com/catppuccin/nvim/issues/807)) ([f8a155a](https://github.com/catppuccin/nvim/commit/f8a155ab5891c5d2fb709b7e85627f1783d5a5d9))


### Bug Fixes

* **blink-cmp:** follow `Pmenu` highlights ([#799](https://github.com/catppuccin/nvim/issues/799)) ([35d8057](https://github.com/catppuccin/nvim/commit/35d8057137af463c9f41f169539e9b190d57d269))
* **colorful-winsep:** respect transparent_background configuration ([#775](https://github.com/catppuccin/nvim/issues/775)) ([9e6ec28](https://github.com/catppuccin/nvim/commit/9e6ec281f58038e5b30ce9a8828e6f9f9d744a27))
* **dap-ui:** add colors for *NC hlgroups of UI controls ([#783](https://github.com/catppuccin/nvim/issues/783)) ([d9ee9a3](https://github.com/catppuccin/nvim/commit/d9ee9a35f46f0a2bda9a15b5a763fee4095428fd))
* **editor:** add missing background for `TabLineFill` ([#757](https://github.com/catppuccin/nvim/issues/757)) ([bfdd6b3](https://github.com/catppuccin/nvim/commit/bfdd6b3833e991fa45c3d5931ffed853dca60fab))
* **editor:** make TabLine more readable ([#760](https://github.com/catppuccin/nvim/issues/760)) ([4fd72a9](https://github.com/catppuccin/nvim/commit/4fd72a9ab64b393c2c22b168508fd244877fec96))
* **editor:** more "modern" tabline ([#776](https://github.com/catppuccin/nvim/issues/776)) ([5ea0888](https://github.com/catppuccin/nvim/commit/5ea0888e9003f1457d13685ac76f046af26a5524))
* **gitsigns:** respect transparent option for gitsigns ([#844](https://github.com/catppuccin/nvim/issues/844)) ([2dfca93](https://github.com/catppuccin/nvim/commit/2dfca93e077a1568cc9d4a9d88eaabcf5fd4142c))
* **kitty:** respect `transparent_background` option ([#786](https://github.com/catppuccin/nvim/issues/786)) ([08efbef](https://github.com/catppuccin/nvim/commit/08efbefa415fbe8ae48799cddc6a5783d2465375))
* match fzf-lua highlights to telescope ([#812](https://github.com/catppuccin/nvim/issues/812)) ([f67b886](https://github.com/catppuccin/nvim/commit/f67b886d65a029f12ffa298701fb8f1efd89295d))
* **nvim-surround:** bg conflicts with document highlight ([#800](https://github.com/catppuccin/nvim/issues/800)) ([a4c64d7](https://github.com/catppuccin/nvim/commit/a4c64d7605f6eb95674e322bbbedfaa00aab7904))
* **octo:** incorrect highlight backgrounds ([#836](https://github.com/catppuccin/nvim/issues/836)) ([7ab1a6e](https://github.com/catppuccin/nvim/commit/7ab1a6ec70a664ecb95d84669efc20aaf4f4ed1b))
* respect transparent option for gitsigns integration ([#826](https://github.com/catppuccin/nvim/issues/826)) ([ebfb647](https://github.com/catppuccin/nvim/commit/ebfb6471cc4faa107234def49c308e95e44fd056))
* **syntax:** use `overlay2` for comments ([#768](https://github.com/catppuccin/nvim/issues/768)) ([147e7cf](https://github.com/catppuccin/nvim/commit/147e7cfb5b7ec05702468c332cf7e378d935abd3))


### Reverts

* fix(kitty): respect `transparent_background` option ([#794](https://github.com/catppuccin/nvim/issues/794)) ([65bf0b1](https://github.com/catppuccin/nvim/commit/65bf0b16f57a3db70d6a93ac68882dd9a31d0565))

## [1.9.0](https://github.com/catppuccin/nvim/compare/v1.8.0...v1.9.0) (2024-08-09)


### Features

* add fzf-lua integration ([#746](https://github.com/catppuccin/nvim/issues/746)) ([05206bb](https://github.com/catppuccin/nvim/commit/05206bbb6d500a339cd55a9486532c3871a4455e))
* add lir.nvim and lir-git-status.nvim integration ([#705](https://github.com/catppuccin/nvim/issues/705)) ([d3907de](https://github.com/catppuccin/nvim/commit/d3907deedf74d1d5bd3bb990bff2db2ebc916c56))
* add markdown.nvim integration ([ba41328](https://github.com/catppuccin/nvim/commit/ba413282677e1027a42d6ff585115d3e1df12b66))
* add vim-dadbod-ui integration ([#747](https://github.com/catppuccin/nvim/issues/747)) ([4db4c77](https://github.com/catppuccin/nvim/commit/4db4c77cc17d23aa90b393f3e550ce99b9e903d5))
* **render-markdown:** add highlights for callouts ([03a2f35](https://github.com/catppuccin/nvim/commit/03a2f354456373c199eb7829fd14120cc2099108))
* **terminal:** highlight `TermCursor` and `TermCursorNC` ([#749](https://github.com/catppuccin/nvim/issues/749)) ([548b2a2](https://github.com/catppuccin/nvim/commit/548b2a25415bb60e05c536b7658aa8ffbfeb3e45))

## [1.8.0](https://github.com/catppuccin/nvim/compare/v1.7.0...v1.8.0) (2024-07-25)


### Features

* add `grug-far.nvim` integration ([#735](https://github.com/catppuccin/nvim/issues/735)) ([07f1ee8](https://github.com/catppuccin/nvim/commit/07f1ee861394c163d1f1d3e1926eb309e0c81027))
* **bufferline:** add `indicator_visible` and `modified_visible` ([#716](https://github.com/catppuccin/nvim/issues/716)) ([cc8e290](https://github.com/catppuccin/nvim/commit/cc8e290d4c0d572171243087f8541e49be2c8764))
* **csv:** built-in rainbow highlighting ([#720](https://github.com/catppuccin/nvim/issues/720)) ([67565cd](https://github.com/catppuccin/nvim/commit/67565cd353fa543fa30cb738570c2e4c87da3e9c))
* **diffview:** add diffview integrations ([#700](https://github.com/catppuccin/nvim/issues/700)) ([182f256](https://github.com/catppuccin/nvim/commit/182f25640f85a3da2f1f22b088848d896a50fcce))
* **feline:** add lazy.nvim updates module, replace deprecated API ([#725](https://github.com/catppuccin/nvim/issues/725)) ([47bd419](https://github.com/catppuccin/nvim/commit/47bd419c0cb776cb0a67ebb525891eca44020b59))
* **feline:** allow to hide lazy.nvim updates ([#731](https://github.com/catppuccin/nvim/issues/731)) ([7946d1a](https://github.com/catppuccin/nvim/commit/7946d1a195c66fed38b3e34f9fa8e0c5a2da0700))
* **integration:** add colorful-winsep.nvim ([#701](https://github.com/catppuccin/nvim/issues/701)) ([30481d6](https://github.com/catppuccin/nvim/commit/30481d659b6524e6bcae0756201d737e5bc1f209))
* **mini:** add new highlight groups ([#721](https://github.com/catppuccin/nvim/issues/721)) ([6827a67](https://github.com/catppuccin/nvim/commit/6827a6763888f73df686f32c0e5ffb5b6b754d7b))
* **nvim-surround:** add integration ([#733](https://github.com/catppuccin/nvim/issues/733)) ([3f16c6d](https://github.com/catppuccin/nvim/commit/3f16c6d1f25bcb641f7b59f7108b9f4533974c41))
* support new "Ok" diagnostics ([5215ea5](https://github.com/catppuccin/nvim/commit/5215ea59df6d0a7e27da9a5cd1165e06d1b04cbe))
* **treesitter-content:** highlight line number ([#709](https://github.com/catppuccin/nvim/issues/709)) ([4edca6b](https://github.com/catppuccin/nvim/commit/4edca6bed2ccc2715317725985c692ef0a992a50))


### Bug Fixes

* **dapui:** border match bg color ([#727](https://github.com/catppuccin/nvim/issues/727)) ([4ea0173](https://github.com/catppuccin/nvim/commit/4ea01738dc7b872f0081e7093e46d418d8d4c5a1))
* **defaults:** Enable mini integration by default ([894efb5](https://github.com/catppuccin/nvim/commit/894efb557728e532aa98b98029d16907a214ec05))
* **leap:** highlight group for LeapLabel ([2d3419c](https://github.com/catppuccin/nvim/commit/2d3419c2aead379b7d1854d32458f20ffaa58562))
* **neogit:** link WinSeparator ([#713](https://github.com/catppuccin/nvim/issues/713)) ([afccb3d](https://github.com/catppuccin/nvim/commit/afccb3d2377a3d6f0f65405899c9c23b1fd7cc28))
* small typo in feline.lua file ([#719](https://github.com/catppuccin/nvim/issues/719)) ([c0bea77](https://github.com/catppuccin/nvim/commit/c0bea773a09e49e123136b099bce9ddc1bf395d2))
* **treesitter:** highlight paths in `.gitignore` as text ([#736](https://github.com/catppuccin/nvim/issues/736)) ([4374588](https://github.com/catppuccin/nvim/commit/4374588df4e99d403a359cda2ddececcf645d8a9))

## [1.7.0](https://github.com/catppuccin/nvim/compare/v1.6.0...v1.7.0) (2024-04-13)


### Features

* add ability to toggle default integrations ([#687](https://github.com/catppuccin/nvim/issues/687)) ([e60e400](https://github.com/catppuccin/nvim/commit/e60e400c411519f29e203185ddda121d4ec8ef57))
* add support for `outline.nvim` plugin ([#647](https://github.com/catppuccin/nvim/issues/647)) ([048c18f](https://github.com/catppuccin/nvim/commit/048c18fc531703815f5e10765ea46ce9b2c75ae4))
* **defaults:** enable neotree ([c536623](https://github.com/catppuccin/nvim/commit/c536623eac60f8443c93ae4ca0e03b51574b5f50))
* **defaults:** enable treesitter context ([dc392c0](https://github.com/catppuccin/nvim/commit/dc392c067739326c3cff380a8c52b0f31319e6dd)), closes [#683](https://github.com/catppuccin/nvim/issues/683)
* **feline:** fix feline integration ([#685](https://github.com/catppuccin/nvim/issues/685)) ([07679af](https://github.com/catppuccin/nvim/commit/07679af1af4f446655682ee2557b5840ac551504))
* **feline:** improve feline lsp display ([#688](https://github.com/catppuccin/nvim/issues/688)) ([f66654d](https://github.com/catppuccin/nvim/commit/f66654d5d5190865333e8e46474c1593302c558e))
* **integration:** add reactive.nvim integration ([#654](https://github.com/catppuccin/nvim/issues/654)) ([151e478](https://github.com/catppuccin/nvim/commit/151e478edf8108cfd451a3cbd44d0a20503e7b42))
* **lsp:** add highlight for `LspCodeLensSeparator` ([#693](https://github.com/catppuccin/nvim/issues/693)) ([02bdd74](https://github.com/catppuccin/nvim/commit/02bdd749931a5d739063562e57531c118e081882))
* set `[@comment](https://github.com/comment).warning` that does not affect readability in gitcommit ([#675](https://github.com/catppuccin/nvim/issues/675)) ([045e349](https://github.com/catppuccin/nvim/commit/045e3499d9ec8d84635fb08877ae44fd33f6a38d))
* **treesitter:** add styles.miscs to disable hardcoded italics ([#659](https://github.com/catppuccin/nvim/issues/659)) ([c0de3b4](https://github.com/catppuccin/nvim/commit/c0de3b46811fe1ce3912e2245a9dfbea6b41c300))
* **treesitter:** follow upstream captures ([#630](https://github.com/catppuccin/nvim/issues/630)) ([f288876](https://github.com/catppuccin/nvim/commit/f288876c6d05d3bb91b0e72b8031fe9e26ef05b8))
* **treesitter:** follow upstream captures ([#694](https://github.com/catppuccin/nvim/issues/694)) ([08c6417](https://github.com/catppuccin/nvim/commit/08c6417bdc3b29e5f8c53e2cfe4067f288d49a54))
* use a more distinguishable color for todos ([#645](https://github.com/catppuccin/nvim/issues/645)) ([657cc4f](https://github.com/catppuccin/nvim/commit/657cc4f35cf193cadac7e5471eb802c97e7a1b59))


### Bug Fixes

* **compile:** string.dump isn't deterministic ([836de8b](https://github.com/catppuccin/nvim/commit/836de8bc1898250b69332e66cbe993058870f849)), closes [#664](https://github.com/catppuccin/nvim/issues/664)
* **dropbar:** correct keyword highlight link ([#652](https://github.com/catppuccin/nvim/issues/652)) ([afab7ec](https://github.com/catppuccin/nvim/commit/afab7ec2a79c7127627dede79c0018b6e45663d0))
* ensure consistency between JSX and HTML markup ([#660](https://github.com/catppuccin/nvim/issues/660)) ([9703f22](https://github.com/catppuccin/nvim/commit/9703f227bfab20d04bcee62d2f08f1795723b4ae))
* **flavour:** g:catppuccin_flavour backwards compatibility ([fc98570](https://github.com/catppuccin/nvim/commit/fc98570d85ae772e56dc42cf8d7d6a497a909bdb))
* **flavour:** respect terminal's background ([#696](https://github.com/catppuccin/nvim/issues/696)) ([d5760c5](https://github.com/catppuccin/nvim/commit/d5760c53ae3b48f0f539298ec4165adc5c0afb19))
* **illuminate:** update type ([#690](https://github.com/catppuccin/nvim/issues/690)) ([30930f9](https://github.com/catppuccin/nvim/commit/30930f9656cffd068bcf52ced70cdfffd1e83a44))
* **integrations:** respect default options ([c2e6f8e](https://github.com/catppuccin/nvim/commit/c2e6f8e7eb8d0ebf55700c89bdf842809aeecf09))
* **neotree:** add `NeoTreeModified` ([#642](https://github.com/catppuccin/nvim/issues/642)) ([6853cc8](https://github.com/catppuccin/nvim/commit/6853cc8e6efc76e85e10ec153d05fc2520653508))
* **neotree:** blend sidebar with win separator ([56fb982](https://github.com/catppuccin/nvim/commit/56fb98218d22d5c326387bf9e4076227e7372e6b)), closes [#670](https://github.com/catppuccin/nvim/issues/670)
* repair treesitter underlined text (`Underline` -> `Underlined`) ([#663](https://github.com/catppuccin/nvim/issues/663)) ([42b687c](https://github.com/catppuccin/nvim/commit/42b687c42a35633366ed45e562bf921fb914048b))
* respect background variable on startup ([6b7a4df](https://github.com/catppuccin/nvim/commit/6b7a4dfdf241c8be0af6ec691b302e85cce03cab))
* **semantic_tokens:** namespace -> module ([196f301](https://github.com/catppuccin/nvim/commit/196f301de06090c40d7f98297675ac38ae7d6675))
* **treesitter:** some captures missing leading `@` ([#650](https://github.com/catppuccin/nvim/issues/650)) ([bc1f215](https://github.com/catppuccin/nvim/commit/bc1f2151f23227ba02ac203c2c59ad693352a741))
* use external index for lsp counting ([c3572a9](https://github.com/catppuccin/nvim/commit/c3572a968a79b64bd0ef16f2c3e93014f112e66d))
* wrong color shown when using color_overrides ([#658](https://github.com/catppuccin/nvim/issues/658)) ([b76ada8](https://github.com/catppuccin/nvim/commit/b76ada82bf2019d5e343018b4104cc9266900c16)), closes [#657](https://github.com/catppuccin/nvim/issues/657)

## [1.6.0](https://github.com/catppuccin/nvim/compare/v1.5.0...v1.6.0) (2023-12-28)


### Features

* add `WinSeparator` highlight group ([#623](https://github.com/catppuccin/nvim/issues/623)) ([988c0b2](https://github.com/catppuccin/nvim/commit/988c0b2dde4140572ed37c6b8b5d5deac0219f9f))
* **bufferline:** support `no_underline` option ([#601](https://github.com/catppuccin/nvim/issues/601)) ([f7638a1](https://github.com/catppuccin/nvim/commit/f7638a1a65cbffdd01a9ddac0018a20ec4be29e2))
* **dashboard:** add highlight groups for `doom` theme ([#593](https://github.com/catppuccin/nvim/issues/593)) ([3bdd5e8](https://github.com/catppuccin/nvim/commit/3bdd5e8296971f8c7ba5e499dac8247c3d621508))
* **integrations:** enable dap & dap_ui by default ([64dc309](https://github.com/catppuccin/nvim/commit/64dc309bc157779691be38bbfc5123584e0a4a85))
* **lualine:** darken lualine `b` section for better readability ([#606](https://github.com/catppuccin/nvim/issues/606)) ([32ee05d](https://github.com/catppuccin/nvim/commit/32ee05d014a4611555c7f56a73283efb4718d9c5))
* **mini.indentscope:** add scope color ([#592](https://github.com/catppuccin/nvim/issues/592)) ([795f639](https://github.com/catppuccin/nvim/commit/795f639ac50d6b8400c1d5868fca54844d579f37))
* **neogit:** support new highlight groups ([#610](https://github.com/catppuccin/nvim/issues/610)) ([f90c7c0](https://github.com/catppuccin/nvim/commit/f90c7c0c467722dc7acacbae3c3904720e09efb6))
* **notify:** add `NotifyBackground` hl group ([#637](https://github.com/catppuccin/nvim/issues/637)) ([c7cf3af](https://github.com/catppuccin/nvim/commit/c7cf3afe2eb6d9058eec4abb3ace2c1da006478a))


### Bug Fixes

* **airline:** missing refresh function ([dcef0a0](https://github.com/catppuccin/nvim/commit/dcef0a062de380885193fb0f919217d58b979753)), closes [#594](https://github.com/catppuccin/nvim/issues/594)
* **dashboard:** `orange` -> `peach` ([54002a1](https://github.com/catppuccin/nvim/commit/54002a1adfd543f54352b3ec79d4e62c4163e9ee))
* **flash:** link `FlashPrompt` to `NormalFloat` ([#605](https://github.com/catppuccin/nvim/issues/605)) ([40dc9f0](https://github.com/catppuccin/nvim/commit/40dc9f0621c55bd40da4ad0731fac44d15bb393a))
* **lualine:** match lualine mode colors for insert and terminal ([#597](https://github.com/catppuccin/nvim/issues/597)) ([ea52fe8](https://github.com/catppuccin/nvim/commit/ea52fe8a0b1e4a820df0d0cf9a6a5a0e18c3eaa0))
* **neogit:** remove `NeogitCursorLine` from integration ([#613](https://github.com/catppuccin/nvim/issues/613)) ([5e4be43](https://github.com/catppuccin/nvim/commit/5e4be43e1a6acb044d5c55cd10f22461c40656ed))
* **neogit:** remove diff context highlight fg ([1b40f07](https://github.com/catppuccin/nvim/commit/1b40f072305be71b73c730ff5c7d881e638fd040)), closes [#627](https://github.com/catppuccin/nvim/issues/627)
* **neogit:** tweak diff context highlighting ([#614](https://github.com/catppuccin/nvim/issues/614)) ([cc717ac](https://github.com/catppuccin/nvim/commit/cc717acba29259d578548973c41448b092453c52))
* **neotree:** change color of untracked files ([#608](https://github.com/catppuccin/nvim/issues/608)) ([d7521f6](https://github.com/catppuccin/nvim/commit/d7521f6050b94cb0e23067f63829d86886f870fe))
* **neotree:** make popup titlebar text visible ([#618](https://github.com/catppuccin/nvim/issues/618)) ([919d1f7](https://github.com/catppuccin/nvim/commit/919d1f786338ebeced798afbf28cd085cd54542a))
* **noice:** respect transparency ([#632](https://github.com/catppuccin/nvim/issues/632)) ([4fbab1f](https://github.com/catppuccin/nvim/commit/4fbab1f01488718c3d54034a473d0346346b90e3))
* **selene:** allow mixed tables ([#611](https://github.com/catppuccin/nvim/issues/611)) ([9f3c13b](https://github.com/catppuccin/nvim/commit/9f3c13bbcf16fcaec3a429c03743a13e5923f3e3))
* sync focused and unfocused winbars ([#628](https://github.com/catppuccin/nvim/issues/628)) ([079500a](https://github.com/catppuccin/nvim/commit/079500a625f3ae5aa6efb758f1a17fe4c7a57e52))
* **vim:** resolve deprecation of nested [[ ([7a4bcda](https://github.com/catppuccin/nvim/commit/7a4bcdadafc59a5bedbd866c643fa486d8cca4a1))

## [1.5.0](https://github.com/catppuccin/nvim/compare/v1.4.0...v1.5.0) (2023-09-29)


### Features

* add kitty detection ([d3da439](https://github.com/catppuccin/nvim/commit/d3da43907d1896ba3e68a62f18820d1d12574317))
* add ufo integration ([1f53686](https://github.com/catppuccin/nvim/commit/1f536869b1a2ca1710fc892db84d7e8bbc6ad8d9))
* add workaround for kitty transparent issue ([#579](https://github.com/catppuccin/nvim/issues/579)) ([f36fa5c](https://github.com/catppuccin/nvim/commit/f36fa5cdce162450df88298a16631eeed16b68a3))
* **compile:** use indexed cmd ([85e9360](https://github.com/catppuccin/nvim/commit/85e93601e0f0b48aa2c6bbfae4d0e9d7a1898280))
* **illuminate:** enabled by default and optional lsp option ([5b44baa](https://github.com/catppuccin/nvim/commit/5b44baa4aff0ff45c042620ee960d283a79807a1)), closes [#571](https://github.com/catppuccin/nvim/issues/571)
* **indent-blankline:** update to v3, add scope color ([#585](https://github.com/catppuccin/nvim/issues/585)) ([f04336b](https://github.com/catppuccin/nvim/commit/f04336ba4a2400ee2c5250068b39541652c0962f))
* **integrations:** add NormalNvim ([0e3c128](https://github.com/catppuccin/nvim/commit/0e3c128eea8a7de692778d52b8429817df5c9040)), closes [#580](https://github.com/catppuccin/nvim/issues/580)
* **integrations:** add notifier.nvim ([d029098](https://github.com/catppuccin/nvim/commit/d029098e124f6201a07298c0c1c499ed8d5aef76)), closes [#574](https://github.com/catppuccin/nvim/issues/574)
* **lib:** soft deprecate highlighter ([8202348](https://github.com/catppuccin/nvim/commit/82023485fec1703d6f700a4b2a92fd431d4882f4))
* **syntax:** respect style guide part 3 ([#576](https://github.com/catppuccin/nvim/issues/576)) ([81096ca](https://github.com/catppuccin/nvim/commit/81096cabe67f360acb06d64c0f7db8dd840afeba))


### Bug Fixes

* **coc:** improve inlay hints ([#582](https://github.com/catppuccin/nvim/issues/582)) ([3d9a5ed](https://github.com/catppuccin/nvim/commit/3d9a5ed556e289bce6c1fb0af89ec838360641b2))
* **editor:** invisible fold with transparent ([1c15c5e](https://github.com/catppuccin/nvim/commit/1c15c5e51a998c9198d63c6d2b75e9d1e4a84541)), closes [#577](https://github.com/catppuccin/nvim/issues/577)
* **template:** broken tmux italic gist link ([128e0d2](https://github.com/catppuccin/nvim/commit/128e0d27946491da979e2e04f5a4acf330ccdefd))
* **treesitter:** invalid string in type builtin ([135f9b0](https://github.com/catppuccin/nvim/commit/135f9b01386fa18da6d75c16ceb83e1aa3669430))
* **ufo:** use folded ellipsis ([846388d](https://github.com/catppuccin/nvim/commit/846388d137590e653390ce2f84fea5351a7516ac))
* **vim:** add vim.env index ([1786287](https://github.com/catppuccin/nvim/commit/17862877792db104d48c3260aec0ace92d55f863))


### Performance Improvements

* **compile:** reduce else statement ([a937d54](https://github.com/catppuccin/nvim/commit/a937d546f4783a1ff67f84043d2d7871ad4ecd83))

## [1.4.0](https://github.com/catppuccin/nvim/compare/v1.3.0...v1.4.0) (2023-08-21)


### Features

* add ability to enable/disable all integrations by default ([#552](https://github.com/catppuccin/nvim/issues/552)) ([737f60a](https://github.com/catppuccin/nvim/commit/737f60a3a25c79d9bb9574092f6c6c958a3d747a))
* add flash.nvim integration ([#550](https://github.com/catppuccin/nvim/issues/550)) ([381eddd](https://github.com/catppuccin/nvim/commit/381edddc4ad12126cfa7276818bca07c3d5606ed))
* enable neogit by default ([91f9f6f](https://github.com/catppuccin/nvim/commit/91f9f6fb413caff2bd06e326ec174deee1c1b7a9)), closes [#568](https://github.com/catppuccin/nvim/issues/568)
* **flash:** enable by default ([#551](https://github.com/catppuccin/nvim/issues/551)) ([a84ee18](https://github.com/catppuccin/nvim/commit/a84ee1848bfac4601771805396552bdbaa0a0e91))
* **gitsigns:** Support GitSignsCurrentLineBlame highlights ([#567](https://github.com/catppuccin/nvim/issues/567)) ([3fdd394](https://github.com/catppuccin/nvim/commit/3fdd3942567503d23b65ccc21e7d7757334defd5))
* **lspsaga:** support v0.3 ([#543](https://github.com/catppuccin/nvim/issues/543)) ([3ffd2f5](https://github.com/catppuccin/nvim/commit/3ffd2f511f3dc6c01258923d7170ccaf1445634b))
* **lspsaga:** upstream new hl groups ([#544](https://github.com/catppuccin/nvim/issues/544)) ([e0dd3f9](https://github.com/catppuccin/nvim/commit/e0dd3f9bb1513c98ab4ef9404ea26e18babf858a))
* **neogit:** update highlights ([#545](https://github.com/catppuccin/nvim/issues/545)) ([#549](https://github.com/catppuccin/nvim/issues/549)) ([371430f](https://github.com/catppuccin/nvim/commit/371430f32f2637d2dd5796399b3982d4cada61d8))
* **telescope:** make nvchad style great again ([#538](https://github.com/catppuccin/nvim/issues/538)) ([51961da](https://github.com/catppuccin/nvim/commit/51961da41e8189ca6f9ed73f37dfa83087b4e65c))
* **treesitter-context:** add color for normal background ([#564](https://github.com/catppuccin/nvim/issues/564)) ([b1caff9](https://github.com/catppuccin/nvim/commit/b1caff988fb395c0aae585cecff58b1ffa0a21c6))


### Bug Fixes

* don't highlight fg of `PmenuSel` ([#554](https://github.com/catppuccin/nvim/issues/554)) ([6425df1](https://github.com/catppuccin/nvim/commit/6425df128d46f2db2cccf9aa7a66ca2823c1d153))
* highlight NonText characters ([#547](https://github.com/catppuccin/nvim/issues/547)) ([bfe91df](https://github.com/catppuccin/nvim/commit/bfe91dfb3a19ffd4445e43611fcde68acbb3fed4))
* **integration_default:** hotfix for [#559](https://github.com/catppuccin/nvim/issues/559) ([4913a8b](https://github.com/catppuccin/nvim/commit/4913a8b47554a89a71ed44da39fc1f6e5c2841c3))
* **integration_default:** override `enabled` key only if integration has one ([#559](https://github.com/catppuccin/nvim/issues/559)) ([9709f82](https://github.com/catppuccin/nvim/commit/9709f8251a40e874238d6f9436cf4fba654b60e1))
* **noice:** set background blend to 0 for mini popups ([#556](https://github.com/catppuccin/nvim/issues/556)) ([2d50a4e](https://github.com/catppuccin/nvim/commit/2d50a4e3aecffea4144801bb3c0a3cf7b88fdd6b))
* **nvim-window-picker:** missing table keys ([#569](https://github.com/catppuccin/nvim/issues/569)) ([b9e4dae](https://github.com/catppuccin/nvim/commit/b9e4dae160bf9bc28d4ceb6d29a7e0134b107724))
* **options:** disable deprecated ts_rainbow and ts_rainbow2 by default ([096385d](https://github.com/catppuccin/nvim/commit/096385dd024ecd1332659916fd7f09d7d18d7374))
* **telescope:** keep consistency between the two styles ([#540](https://github.com/catppuccin/nvim/issues/540)) ([dfbc8e2](https://github.com/catppuccin/nvim/commit/dfbc8e2b478a65104d34556698067f2d40f1c227))
* **telescope:** respect transparency ([#542](https://github.com/catppuccin/nvim/issues/542)) ([f36af06](https://github.com/catppuccin/nvim/commit/f36af062e3242f333b12fe9b730053fdda36e000))
* **treesitter:** avoid possible nil ([17ae783](https://github.com/catppuccin/nvim/commit/17ae783b88bb7ae73dc004370473138d9d43ee46))
* **types:** make all options besides nested `enabled` optional ([#565](https://github.com/catppuccin/nvim/issues/565)) ([490078b](https://github.com/catppuccin/nvim/commit/490078b1593c6609e6a50ad5001e7902ea601824))

## [1.3.0](https://github.com/catppuccin/nvim/compare/v1.2.0...v1.3.0) (2023-07-10)


### Features

* auto-sync upstream palettes ([#507](https://github.com/catppuccin/nvim/issues/507)) ([8426d3b](https://github.com/catppuccin/nvim/commit/8426d3bfd55f4dc68ae451a82927d2ff88e47e95))
* **debug:** add auto compile on save ([c9cc5a9](https://github.com/catppuccin/nvim/commit/c9cc5a997f1dae3f35b4bdd62f35958fee363ab4))
* **dropbar:** add new highlight groups ([4f22a1e](https://github.com/catppuccin/nvim/commit/4f22a1e78460ae06e78a1085a8e0e6cc8027aef2)), closes [#503](https://github.com/catppuccin/nvim/issues/503)
* **integration:** add dropbar.nvim ([#499](https://github.com/catppuccin/nvim/issues/499)) ([e86aeb8](https://github.com/catppuccin/nvim/commit/e86aeb8ca0f03e97192074fba9dc6c836f953a83))
* **integrations:** accept both boolean and table config ([#534](https://github.com/catppuccin/nvim/issues/534)) ([f0b947a](https://github.com/catppuccin/nvim/commit/f0b947ab8cfdb9ca7ba6230b30bbc1ed48dd30a1))
* **integrations:** add rainbow_delimiters.nvim support ([#530](https://github.com/catppuccin/nvim/issues/530)) ([cc8d3ab](https://github.com/catppuccin/nvim/commit/cc8d3abc944d78cb6bf2a4cc88871ab383c4da62))
* **markdown:** add rainbow headlines ([#493](https://github.com/catppuccin/nvim/issues/493)) ([cc517bd](https://github.com/catppuccin/nvim/commit/cc517bdcb66a0f8dee90bab10ccdd651fa967bbe))
* **native_lsp:** add ability to disable background for inlay hints ([#518](https://github.com/catppuccin/nvim/issues/518)) ([b032ced](https://github.com/catppuccin/nvim/commit/b032cedb90c42a7bfbfbe2f91479505330f4a396))
* **native_lsp:** support inlay hints ([#516](https://github.com/catppuccin/nvim/issues/516)) ([d32b0bb](https://github.com/catppuccin/nvim/commit/d32b0bb5b1033920de5026e326869838aba856ee))
* **navic:** change text color ([278bfeb](https://github.com/catppuccin/nvim/commit/278bfeb61bd627dc2a8885180a0441a1ebe65a41))
* **semantic_tokens:** add some lsp semantic tokens ([#512](https://github.com/catppuccin/nvim/issues/512)) ([506a4aa](https://github.com/catppuccin/nvim/commit/506a4aa13443e0104ea49b99947cc09488d0791d))
* **telescope:** telescope flat style support ([#521](https://github.com/catppuccin/nvim/issues/521)) ([fc73faa](https://github.com/catppuccin/nvim/commit/fc73faa37bda393e3c4f846fb3e810a6ac8aae16))
* **types:** add type annotations ([#495](https://github.com/catppuccin/nvim/issues/495)) ([1d3eda1](https://github.com/catppuccin/nvim/commit/1d3eda15703ba70f57e94e6451db55914ff7017f))
* **workflows:** auto-sync upstream palettes ([e9fbeec](https://github.com/catppuccin/nvim/commit/e9fbeec106562475e82bae79304b6a421eee73f3))


### Bug Fixes

* calling palette before setup ([841d8ab](https://github.com/catppuccin/nvim/commit/841d8abf3be39de833d95a592a1fbbb1b9851296))
* **feline:** disable lsp status on nightly ([#510](https://github.com/catppuccin/nvim/issues/510)) ([9aaf5b4](https://github.com/catppuccin/nvim/commit/9aaf5b4ce5cd256695d8bbddb65869d19919abde))
* **feline:** use new `vim.lsp.status()` method ([#509](https://github.com/catppuccin/nvim/issues/509)) ([57ee09d](https://github.com/catppuccin/nvim/commit/57ee09dd532bd442b53d65c2b2f35550960981ed))
* **lsp:** do not link `LspInlayHint` to `Comment` directly ([#517](https://github.com/catppuccin/nvim/issues/517)) ([5dc566c](https://github.com/catppuccin/nvim/commit/5dc566c4206f383657d67500253559d3be82c421))
* **mapper:** remove unnecessary globals ([#529](https://github.com/catppuccin/nvim/issues/529)) ([c75562c](https://github.com/catppuccin/nvim/commit/c75562cbc954136f279ced91661251543b6f2a20))
* **native_lsp:** boolean logic ([#526](https://github.com/catppuccin/nvim/issues/526)) ([8d02781](https://github.com/catppuccin/nvim/commit/8d02781a638123394f9bc160aad47a9560a113f9))
* **tests:** shadowing variable ([15043d3](https://github.com/catppuccin/nvim/commit/15043d363729f1ef20e615c41bbd8b7e92c1453e))
* **treesitter_context:** underline content if `transparent_background` is true ([#519](https://github.com/catppuccin/nvim/issues/519)) ([6ecc158](https://github.com/catppuccin/nvim/commit/6ecc158dbf365d2cd290b58993296c42b3111965))
* **which-key:** wrong separator highlight group ([d438c01](https://github.com/catppuccin/nvim/commit/d438c0141609338140b18363a9a1e8eb8bb17130))
* **workflows:** stylua format ([2df7036](https://github.com/catppuccin/nvim/commit/2df7036c5c303c9184869936e40ca18935e4afcb))


================================================
FILE: LICENSE.md
================================================
MIT License

Copyright (c) 2021 Catppuccin

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.


================================================
FILE: README.md
================================================
<!-- panvimdoc-ignore-start -->

<h3 align="center">
    <img src="https://raw.githubusercontent.com/catppuccin/catppuccin/main/assets/logos/exports/1544x1544_circle.png" width="100" alt="Logo"/><br/>
    <img src="https://raw.githubusercontent.com/catppuccin/catppuccin/main/assets/misc/transparent.png" height="30" width="0px"/>
    Catppuccin for <a href="https://github.com/neovim/neovim">Neovim</a>
    <img src="https://raw.githubusercontent.com/catppuccin/catppuccin/main/assets/misc/transparent.png" height="30" width="0px"/>
</h3>

<p align="center">
    <a href="https://github.com/catppuccin/nvim/stargazers"><img src="https://img.shields.io/github/stars/catppuccin/nvim?colorA=363a4f&colorB=b7bdf8&style=for-the-badge"></a>
    <a href="https://github.com/catppuccin/nvim/issues"><img src="https://img.shields.io/github/issues/catppuccin/nvim?colorA=363a4f&colorB=f5a97f&style=for-the-badge"></a>
    <a href="https://github.com/catppuccin/nvim/contributors"><img src="https://img.shields.io/github/contributors/catppuccin/nvim?colorA=363a4f&colorB=a6da95&style=for-the-badge"></a>
</p>

<p align="center">
  <img src="https://user-images.githubusercontent.com/56817415/213472445-091e54fb-091f-4448-a631-fa6b2ba7d8a5.png"/>
</p>

<p align="center">
This port of <a href="https://github.com/catppuccin/">Catppuccin</a> 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 <a href="https://github.com/catppuccin/nvim/tree/v0.1">v0.1</a> tag.
</p>

## Previews

<details>
<summary>🌻 Latte</summary>
<img src="https://user-images.githubusercontent.com/56817415/213473391-603bdc68-68f4-4877-a15a-b469040928b5.png"/>
</details>
<details>
<summary>🪴 Frappé</summary>
<img src="https://user-images.githubusercontent.com/56817415/213473368-16931b70-fd84-4a89-a698-1b1bca1f82de.png"/>
</details>
<details>
<summary>🌺 Macchiato</summary>
<img src="https://user-images.githubusercontent.com/56817415/213473285-7bd858be-6947-4d9e-8c01-2573cbc7e76c.png"/>
</details>
<details>
<summary>🌿 Mocha</summary>
<img src="https://user-images.githubusercontent.com/56817415/213471997-34837219-88cc-4db2-baca-e25813a89789.png"/>
</details>

<!-- panvimdoc-ignore-end -->

## Features

- Supports [Neovim](https://github.com/neovim/neovim/) >= 0.8
- Highly configurable with 4 different flavours and [the ability to create your own!](https://github.com/catppuccin/nvim/discussions/323)
- [Compiled](https://github.com/catppuccin/nvim#Compile) configuration for [fast startup time](https://www.reddit.com/r/neovim/comments/xxfpt3/catppuccinnvim_now_startup_in_1ms/)
- Integrations with lsp, treesitter and [a bunch of plugins](https://github.com/catppuccin/nvim#integrations)
- Support for [many other applications](https://github.com/catppuccin/catppuccin)

## Installation

[lazy.nvim](https://github.com/folke/lazy.nvim)
```lua
{ "catppuccin/nvim", name = "catppuccin", priority = 1000 }
```

[mini.deps](https://github.com/echasnovski/mini.nvim/blob/main/readmes/mini-deps.md)
```lua
add({ source = "catppuccin/nvim", name = "catppuccin" })
```

[packer.nvim](https://github.com/wbthomason/packer.nvim)
```lua
use { "catppuccin/nvim", as = "catppuccin" }
```

with Neovim 0.12's `vim.pack`

```lua
vim.pack.add({ src = "https://github.com/catppuccin/nvim", name = "catppuccin" })
```

### vim support

Support for vim is provided through the `vim` branch.

```vim
Plug 'catppuccin/nvim', { 'branch': 'vim', 'as': 'catppuccin' }
```

> ![NOTE]
> Keep in mind that vim support has been dropped
> ([#949](https://github.com/catppuccin/nvim/pull/949)) and this branch won't
> receive further updates unless necessary. For full vim support see
> [catppuccin/vim](https://github.com/catppuccin/vim)

## Usage

```vim
colorscheme catppuccin-nvim " catppuccin-latte, catppuccin-frappe, catppuccin-macchiato, catppuccin-mocha
```

```lua
vim.cmd.colorscheme "catppuccin-nvim"
```

## Configuration

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

```lua
require("catppuccin").setup({
    flavour = "auto", -- latte, frappe, macchiato, mocha
    background = { -- :h background
        light = "latte",
        dark = "mocha",
    },
    transparent_background = false, -- disables setting the background color.
    float = {
        transparent = false, -- enable transparent floating windows
        solid = false, -- use solid styling for floating windows, see |winborder|
    },
    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
    },
    lsp_styles = { -- Handles the style of specific lsp hl groups (see `:h lsp-highlight`).
        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,
        },
    },
    color_overrides = {},
    custom_highlights = {},
    default_integrations = true,
    auto_integrations = false,
    integrations = {
        cmp = true,
        gitsigns = true,
        nvimtree = 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-nvim"
```

## Customization

### Getting colors

```lua
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 the hex code.

### Overwriting colors

Colors can be overwritten using `color_overrides`, see https://github.com/catppuccin/nvim/discussions/323 for inspiration:

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

### Overwriting highlight groups

Global highlight groups can be overwritten, for example:

```lua
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
}
```

Highlight groups per flavour can also be overwritten, for example:

```lua
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:

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

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

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

If you use [lazy.nvim](https://github.com/folke/lazy.nvim) as your package manager, you can use the `auto_integrations` option to let catppuccin automatically detect installed plugins and enable their respective integrations.

```lua
require("catppuccin").setup({
    auto_integrations = true,
})
```

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

> [!Important]
> If you'd like to see the full list of highlight groups modified by Catppuccin, see the [`lua/catppuccin/groups/integrations/`](https://github.com/catppuccin/nvim/tree/main/lua/catppuccin/groups/integrations) directory.

<table>
<tr>
<td> <b>Plugin</b> </td> <td> <b>Default</b> </td>
</tr>

<!-- aerial.nvim -->
</tr>
<tr>
<td> <a href="https://github.com/stevearc/aerial.nvim">aerial.nvim</a> </td>
<td>

```lua
aerial = false
```

</td>
</tr>
<!-- aerial.nvim -->

<!-- alpha.nvim -->
</tr>
<tr>
<td> <a href="https://github.com/goolord/alpha-nvim">alpha-nvim</a> </td>
<td>

```lua
alpha = true
```

</td>
</tr>
<!-- alpha.nvim -->

<!-- artio.nvim -->
</tr>
<tr
<tr>
<td> <a href="https://github.com/comfysage/artio.nvim">artio.nvim</a> </td>
<td>

```lua
artio = true
```

</td>

</tr>
<!-- artio.nvim -->

<!-- barbar.nvim -->
</tr>
<tr>
<td> <a href="https://github.com/romgrk/barbar.nvim">barbar.nvim</a> </td>
<td>

```lua
barbar = false
```

</td>
</tr>
<!-- barbar.nvim -->

<!-- barbecue.nvim -->
</tr>
<tr>
<td> <a href="https://github.com/utilyre/barbecue.nvim">barbecue.nvim</a> </td>
<td>

```lua
barbecue = {
    dim_dirname = true, -- directory name is dimmed by default
    bold_basename = true,
    dim_context = false,
    alt_background = false,
},
```

<details> <summary>Special</summary>

Use this to set it up:

```lua
require("barbecue").setup {
  theme = "catppuccin-nvim", -- catppuccin-latte, catppuccin-frappe, catppuccin-macchiato, catppuccin-mocha
}
```
</details>

</td>
</tr>
<!-- barbecue.nvim -->

<!-- beacon.nvim -->
</tr>
<tr>
<td> <a href="https://github.com/DanilaMihailov/beacon.nvim">beacon.nvim</a> </td>
<td>

```lua
beacon = false
```

</td>
</tr>
<!-- beacon.nvim -->

<!-- blink.cmp -->
</tr>
<tr>
<td> <a href="https://github.com/Saghen/blink.cmp">blink.cmp</a> </td>
<td>

```lua
blink_cmp = {
    style = 'bordered',
}
```

</td>
</tr>
<!-- blink.cmp -->

<!-- blink.indent -->
</tr>
<tr>
<td> <a href="https://github.com/saghen/blink.indent">blink.indent</a> </td>
<td>

```lua
blink_indent = true
```

</td>
</tr>
<!-- blink.indent -->

<!-- blink.pairs -->
</tr>
<tr>
<td> <a href="https://github.com/saghen/blink.pairs">blink.pairs</a> </td>
<td>

```lua
blink_pairs = true
```

<details> <summary>Special</summary>

Use this to set it up:

```lua
require("blink.pairs").setup {
    highlights = {
        groups = {
            "BlinkPairsRed",
            "BlinkPairsYellow",
            "BlinkPairsBlue",
            "BlinkPairsOrange",
            "BlinkPairsGreen",
            "BlinkPairsPurple",
            "BlinkPairsCyan",
        },
    },
}
```
</details>

</td>
</tr>
<!-- blink.pairs -->

<!-- bufferline.nvim -->
</tr>
<tr>
<td> <a href="https://github.com/akinsho/bufferline.nvim">bufferline.nvim</a> </td>
<td>

<details> <summary>Special</summary>

Update your bufferline config to use the Catppuccin components:

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

```lua
use "akinsho/bufferline.nvim" {
  after = "catppuccin",
  config = function()
    require("bufferline").setup {
      highlights = require("catppuccin.special.bufferline").get_theme()
    }
  end
}
```

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

```lua
local mocha = require("catppuccin.palettes").get_palette "mocha"
bufferline.setup {
    highlights = require("catppuccin.special.bufferline").get_theme {
        styles = { "italic", "bold" },
        custom = {
            all = {
                fill = { bg = "#000000" },
            },
            mocha = {
                background = { fg = mocha.text },
            },
            latte = {
                background = { fg = "#000000" },
            },
        },
    },
}
```

</details>

</td>
</tr>
<!-- bufferline.nvim -->

<!-- buffon.nvim -->
</tr>
<tr>
<td> <a href="https://github.com/francescarpi/buffon.nvim">buffon.nvim</a> </td>
<td>

```lua
buffon = false
```

</td>
</tr>
<!-- buffon.nvim -->

<!-- coc.nvim -->
</tr>
<tr>
<td> <a href="https://github.com/neoclide/coc.nvim">coc.nvim</a> </td>
<td>

```lua
coc_nvim = false
```

<details> <summary>Special</summary>

Setting `enabled` to `true` enables this integration.

```lua
coc_nvim = true,
```
> [!Note]
> coc.nvim by default link to native lsp highlight groups so `lsp_styles` options will also apply to coc

In the nested 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)).

```lua
lsp_styles = {
    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,
    },
},
```

</details>

</td>
</tr>
<!-- coc.nvim -->

<!-- colorful-winsep.nvim -->
</tr>
<tr>
<td> <a href="https://github.com/nvim-zh/colorful-winsep.nvim">colorful-winsep.nvim</a>
</td>
<td>

```lua
colorful_winsep = {
    enabled = false,
    color = "red",
}
```
</td>
</tr>
<!-- colorful_winsep.nvim -->

<!-- dashboard-nvim -->
</tr>
<tr>
<td> <a href="https://github.com/glepnir/dashboard-nvim">dashboard-nvim</a> </td>
<td>

```lua
dashboard = true
```

</td>
</tr>
<!-- dashboard-nvim -->

<!-- diffview.nvim -->
</tr>
<tr>
<td> <a href="https://github.com/sindrets/diffview.nvim">diffview.nvim</a> </td>
<td>

```lua
diffview = false
```

</td>
</tr>
<!-- diffview.nvim -->

<!-- dropbar.nvim -->
</tr>
<tr>
<td> <a href="https://github.com/Bekaboo/dropbar.nvim">dropbar.nvim</a> </td>
<td>

```lua
dropbar = {
    enabled = false,
    color_mode = false, -- enable color for kind's texts, not just kind's icons
},
```

</td>
</tr>
<!-- dropbar.nvim -->

<!-- feline.nvim -->
</tr>
<tr>
<td> <a href="https://github.com/freddiehaddad/feline.nvim/">feline.nvim</a> </td>
<td>

</details>

<details> <summary>Special</summary>

Update your Feline config to use the Catppuccin components:

```lua
local ctp_feline = require('catppuccin.special.feline')

ctp_feline.setup()

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

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:

```lua
local clrs = require("catppuccin.palettes").get_palette()
local ctp_feline = require('catppuccin.special.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 = false, -- show if the file has been modified
        show_lazy_updates = false -- show the count of updatable plugins from lazy.nvim
                                  -- need to set checker.enabled = true in lazy.nvim first
                                  -- the icon is set in ui.icons.plugin in lazy.nvim
    },
    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](https://github.com/feline-nvim/feline.nvim/issues/302). In order for `:colorscheme catppuccin-<flavour>` to work you could add this autocmd as a workaround:

```lua
vim.api.nvim_create_autocmd("ColorScheme", {
    pattern = "*",
    callback = function()
        package.loaded["feline"] = nil
        package.loaded["catppuccin.special.feline"] = nil
        require("feline").setup {
            components = require("catppuccin.special.feline").get_statusline(),
        }
    end,
})
```

</details>

</td>
</tr>
<!-- feline.nvim -->

<!-- fern.vim -->
</tr>
<tr>
<td> <a href="https://github.com/lambdalisue/fern.vim">fern.vim</a> </td>
<td>

```lua
fern = false
```

</td>
</tr>
<!-- fern.vim -->

<!-- fidget.nvim -->
</tr>
<tr>
<td> <a href="https://github.com/j-hui/fidget.nvim">fidget.nvim</a> </td>
<td>

```lua
fidget = false
```

<details> <summary>Special</summary>
Set `notification.window.winblend` to `0`:

```lua
require("fidget").setup {
    notification = {
        window = {
            winblend = 0,
        },
    }
    -- ... the rest of your fidget config
}
```

</details>

</td>
</tr>
<!-- fidget.nvim -->

<!-- flash.nvim -->
</tr>
<tr>
<td> <a href="https://github.com/folke/flash.nvim">flash.nvim</a> </td>
<td>

```lua
flash = true
```
<!-- flash.nvim -->

<!-- fzf-lua -->
</tr>
<tr>
<td> <a href="https://github.com/ibhagwan/fzf-lua">fzf-lua</a> </td>
<td>

```lua
fzf = true
```

</td>
</tr>
<!-- fzf-lua -->

<!-- gitgraph.nvim -->
</tr>
<tr>
<td> <a href="https://github.com/isakbm/gitgraph.nvim">gitgraph.nvim</a> </td>
<td>

```lua
gitgraph = false
```
<!-- gitgraph.nvim -->

<!-- gitsigns.nvim -->
</tr>
<tr>
<td> <a href="https://github.com/lewis6991/gitsigns.nvim">gitsigns.nvim</a> </td>
<td>

```lua
gitsigns = true
```

<details> <summary>Special</summary>

```lua
gitsigns = {
  enabled = true,
  -- align with the transparent_background option by default
  transparent = false,
}
 ```

</details>
<!-- gitsigns.nvim -->

<!-- grug-far.nvim -->
</tr>
<tr>
<td> <a href="https://github.com/MagicDuck/grug-far.nvim">grug-far.nvim</a> </td>
<td>

```lua
grug_far = false
```
<!-- grug-far.nvim -->

<!-- harpoon -->
</tr>
<tr>
<td> <a href="https://github.com/ThePrimeagen/harpoon">harpoon</a> </td>
<td>

```lua
harpoon = false
```
<!-- harpoon -->

<!-- headlines.nvim -->
</tr>
<tr>
<td> <a href="https://github.com/lukas-reineke/headlines.nvim">headlines.nvim</a> </td>
<td>

```lua
headlines = false
```
<!-- headlines.nvim -->

<!-- hop.nvim -->
</tr>
<tr>
<td> <a href="https://github.com/phaazon/hop.nvim">hop.nvim</a> </td>
<td>

```lua
hop = false
```
<!-- hop.nvim -->

<!-- indent-blankline.nvim -->
</tr>
<tr>
<td> <a href="https://github.com/lukas-reineke/indent-blankline.nvim">indent-blankline.nvim</a> </td>
<td>

```lua
indent_blankline = {
    enabled = true,
    scope_color = "", -- catppuccin color (eg. `lavender`) Default: text
    colored_indent_levels = false,
},

```

<details> <summary>Special</summary>

`colored_indent_levels` enables char highlights per indent level. Follow the instructions [here](https://github.com/lukas-reineke/indent-blankline.nvim#multiple-indent-colors) to set the latter up.

</details>

<!-- indent-blankline.nvim -->

<!-- leap.nvim -->
</tr>
<tr>
<td> <a href="https://github.com/ggandor/leap.nvim">leap.nvim</a> </td>
<td>

```lua
leap = false
```
<!-- leap.nvim -->

<!-- lightline.vim -->
</tr>
<tr>
<td> <a href="https://github.com/itchyny/lightline.vim">lightline.vim</a> </td>
<td>

<details> <summary>Special</summary>

```vim
let g:lightline = {'colorscheme': 'catppuccin'}
```

</details>
<!-- lightline.vim -->

<!-- lightspeed.nvim -->
</tr>
<tr>
<td> <a href="https://github.com/ggandor/lightspeed.nvim">lightspeed.nvim</a> </td>
<td>

```lua
lightspeed = false
```
<!-- lightspeed.nvim -->

<!-- lir.nvim -->
</tr>
<tr>
<td> <a href="https://github.com/tamago324/lir.nvim">lir.nvim</a> </td>
<td>

```lua
lir = {
    enabled = false,
    git_status = false
}
```
<!-- lir.nvim -->

<!-- lspsaga.nvim -->
</tr>
<tr>
<td> <a href="https://github.com/glepnir/lspsaga.nvim">lspsaga.nvim</a> </td>
<td>

```lua
lsp_saga = false
```

<details> <summary>Special</summary>

For custom Lsp Kind Icon and Color

```lua
require("lspsaga").setup {
    ui = {
        kind = require("catppuccin.groups.integrations.lsp_saga").custom_kind(),
    },
}
```

</details>
</tr>
<!-- lspsaga.nvim -->

<!-- lualine.nvim -->
<tr>
<td> <a href="https://github.com/nvim-lualine/lualine.nvim">lualine.nvim</a> </td>
<td>

```lua
-- transparent_bg = opts.transparent_background and "NONE" or C.mantle
lualine = {
    normal = {
        a = { bg = C.blue, fg = C.mantle, gui = "bold" },
        b = { bg = C.surface0, fg = C.blue },
        c = { bg = transparent_bg, fg = C.text },
    },

    insert = {
        a = { bg = C.green, fg = C.base, gui = "bold" },
        b = { bg = C.surface0, fg = C.green },
    },

    terminal = {
        a = { bg = C.green, fg = C.base, gui = "bold" },
        b = { bg = C.surface0, fg = C.green },
    },

    command = {
        a = { bg = C.peach, fg = C.base, gui = "bold" },
        b = { bg = C.surface0, fg = C.peach },
    },
    visual = {
        a = { bg = C.mauve, fg = C.base, gui = "bold" },
        b = { bg = C.surface0, fg = C.mauve },
    },
    replace = {
        a = { bg = C.red, fg = C.base, gui = "bold" },
        b = { bg = C.surface0, fg = C.red },
    },
    inactive = {
        a = { bg = transparent_bg, fg = C.blue },
        b = { bg = transparent_bg, fg = C.surface1, gui = "bold" },
        c = { bg = transparent_bg, fg = C.overlay0 },
    },
},
```

<details> <summary>Special</summary>

To implement color overrides in the `integrations.lualine` spec:
```lua
-- In your catppuccin config (integrations): 
lualine = {
    -- lualine color overrides in the following hierarchy: Catppuccin Flavor -> Mode -> Lualine Section
    -- The Catppuccin flavor entry can be any Catpuccin flavor or "all" to apply to all flavors
    -- The flavor entry can be either a table or a function which consumes the current Catppuccin palette, just like custom_highlights and color_overrides
    all = function(colors)
        ---@type CtpIntegrationLualineOverride
        return {
            -- Specifying a normal-mode status line override for section a's background and b's foreground to use lavender like the main Catppuccin theme
            normal = { 
                a = { bg = colors.lavender, gui = "italic" },
                b = { fg = colors.lavender },
            }
        }
    end,
    -- A macchiato-specific override, which takes priority over 'all'. Also using the direct table syntax instead of function in case you do not rely on dynamic palette colors
    macchiato = { 
        normal = { 
            a = { bg = "#abcdef" },
        }
    },
},
--  And in your lualine config:
require('lualine').setup {
    options = {
        -- lualine will integrate with catppuccin by name or automatically via `vim.g.colors_name` by setting this to "auto" 
        theme = "catppuccin-nvim"
        -- ... the rest of your lualine config
    }
}
```

</details>

<!-- lualine.nvim -->

<!-- markview.nvim -->
</tr>
<tr>
<td> <a href="https://github.com/OXY2DEV/markview.nvim">markview.nvim</a> </td>
<td>

```lua
markview = false
```

</td>
</tr>
<!-- markview.nvim -->

<!-- mason.nvim -->
</tr>
<tr>
<td> <a href="https://github.com/williamboman/mason.nvim">mason.nvim</a> </td>
<td>

```lua
mason = false
```

</td>
</tr>
<!-- mason.nvim -->

<!-- mini.nvim -->
</tr>
<tr>
<td> <a href="https://github.com/echasnovski/mini.nvim">mini.nvim</a> </td>
<td>

```lua
mini = {
    enabled = true,
    indentscope_color = "", -- catppuccin color (eg. `lavender`) Default: text
},
```

</td>
</tr>
<!-- mini.nvim -->

<!-- neo-tree.nvim -->
</tr>
<tr>
<td> <a href="https://github.com/nvim-neo-tree/neo-tree.nvim">neo-tree.nvim</a> </td>
<td>

```lua
neotree = true
```

</td>
</tr>
<!-- neo-tree.nvim -->

<!-- neogit -->
</tr>
<tr>
<td> <a href="https://github.com/NeogitOrg/neogit">neogit</a> </td>
<td>

```lua
neogit = true
```

</td>
</tr>
<!-- neogit -->

<!-- neotest -->
</tr>
<tr>
<td> <a href="https://github.com/nvim-neotest/neotest">neotest</a> </td>
<td>

```lua
neotest = false
```

</td>
</tr>
<!-- neotest -->

<!-- noice.nvim -->
</tr>
<tr>
<td> <a href="https://github.com/folke/noice.nvim">noice.nvim</a> </td>
<td>

```lua
noice = false
```

</td>
</tr>
<!-- noice.nvim -->

<!-- notifier.nvim -->
</tr>
<tr>
<td> <a href="https://github.com/vigoux/notifier.nvim">notifier.nvim</a> </td>
<td>

```lua
notifier = false
```

</td>
</tr>
<!-- notifier.nvim -->

<!-- nvim-cmp -->
</tr>
<tr>
<td> <a href="https://github.com/hrsh7th/nvim-cmp">nvim-cmp</a> </td>
<td>

```lua
cmp = true
```

</td>
</tr>
<!-- nvim-cmp -->

<!-- nvim-copilot-vim -->
</tr>
<tr>
<td> <a href="https://github.com/github/copilot.vim">copilot.vim</a> </td>
<td>

```lua
copilot_vim = false,
```

</td>
</tr>
<!-- nvim-copilot-vim -->

<!-- nvim-dap -->
</tr>
<tr>
<td> <a href="https://github.com/mfussenegger/nvim-dap">nvim-dap</a> </td>
<td>

```lua
dap = true
```

<details> <summary>Special</a> </summary>

```lua
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 = ""})
```

</details>

</td>
</tr>
<!-- nvim-dap -->

<!-- nvim-dap-ui -->
</tr>
<tr>
<td> <a href="https://github.com/rcarriga/nvim-dap-ui">nvim-dap-ui</a> </td>
<td>

```lua
dap_ui = true
```

</td>
</tr>
<!-- nvim-dap-ui -->

<!-- navic -->
</tr>
<tr>
<td> <a href="https://github.com/SmiteshP/nvim-navic">navic</a> </td>
<td>

```lua
navic = {
    enabled = false,
    custom_bg = "NONE", -- "lualine" will set background to mantle
},

```
<details> <summary>Special</summary>

```lua
-- You NEED to enable highlight in nvim-navic setting or it won't work
require("nvim-navic").setup {
    highlight = true
}
```

</details>

</td>
</tr>
<!-- navic -->

<!-- nvim-notify -->
</tr>
<tr>
<td> <a href="https://github.com/rcarriga/nvim-notify">nvim-notify</a> </td>
<td>

```lua
notify = false
```

</td>
</tr>
<!-- nvim-notify -->

<!-- nvim-surround -->
</tr>
<tr>
<td> <a href="https://github.com/kylechui/nvim-surround">nvim-surround</a> </td>
<td>

```lua
nvim_surround = false
```

</td>
</tr>
<!-- nvim-surround -->

<!-- nvim-tree.lua -->
</tr>
<tr>
<td> <a href="https://github.com/kyazdani42/nvim-tree.lua">nvim-tree.lua</a> </td>
<td>

```lua
nvimtree = true
```

</td>
</tr>
<!-- nvim-tree.lua -->

<!-- nvim-treesitter-context -->
</tr>
<tr>
<td> <a href="https://github.com/nvim-treesitter/nvim-treesitter-context">nvim-treesitter-context</a> </td>
<td>

```lua
treesitter_context = true
```

</td>
</tr>
<!-- nvim-treesitter-context -->

<!-- nvim-ts-rainbow2 -->
</tr>
<tr>
<td> <a href="https://github.com/HiPhish/nvim-ts-rainbow2">nvim-ts-rainbow2</a> </td>
<td>

```lua
ts_rainbow2 = false
```

</td>
</tr>
<!-- nvim-ts-rainbow2 -->

<!-- nvim-ts-rainbow -->
</tr>
<tr>
<td> <a href="https://github.com/p00f/nvim-ts-rainbow">nvim-ts-rainbow</a> </td>
<td>

```lua
ts_rainbow = false
```

</td>
</tr>
<!-- nvim-ts-rainbow -->

<!-- nvim-ufo -->
</tr>
<tr>
<td> <a href="https://github.com/kevinhwang91/nvim-ufo">nvim-ufo</a> </td>
<td>

```lua
ufo = true
```

</td>
</tr>
<!-- nvim-ufo -->

<!-- nvim-window-picker -->
</tr>
<tr>
<td> <a href="https://github.com/s1n7ax/nvim-window-picker">nvim-window-picker</a> </td>
<td>

```lua
window_picker = false
```
<!-- nvim-window-picker -->

<!-- octo.nvim -->
</tr>
<tr>
<td> <a href="https://github.com/pwntester/octo.nvim">octo.nvim</a> </td>
<td>

```lua
octo = false
```

</td>
</tr>
<!-- octo.nvim -->

<!-- overseer.nvim -->
</tr>
<tr>
<td> <a href="https://github.com/stevearc/overseer.nvim">overseer.nvim</a> </td>
<td>

```lua
overseer = false
```

</td>
</tr>
<!-- overseer.nvim -->

<!-- pounce.nvim -->
</tr>
<tr>
<td> <a href="https://github.com/rlane/pounce.nvim">pounce.nvim</a> </td>
<td>

```lua
pounce = false
```

</td>
</tr>
<!-- pounce.nvim -->

<!-- rainbow-delimiters.nvim -->
</tr>
<tr>
<td> <a href="https://github.com/HiPhish/rainbow-delimiters.nvim">rainbow-delimiters.nvim</a> </td>
<td>

```lua
rainbow_delimiters = true
```

</td>
</tr>
<!-- rainbow-delimiters.nvim -->

<!-- reactive.nvim -->
</tr>
<tr>
<td> <a href="https://github.com/rasulomaroff/reactive.nvim">reactive.nvim</a> </td>
<td>

<details> <summary>Special</summary>

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

Here is how you can use them.

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

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

</details>

</td>
</tr>
<!-- reactive.nvim -->

<!-- render-markdown.nvim -->
</tr>
<tr>
<td> <a href="https://github.com/MeanderingProgrammer/render-markdown.nvim">render-markdown.nvim</a> </td>
<td>

```lua
render_markdown = true
```

</td>
</tr>
<!-- render-markdown.nvim -->

<!-- snacks.nvim -->
</tr>
<tr>
<td> <a href="https://github.com/folke/snacks.nvim">snacks.nvim</a> </td>
<td>

```lua
snacks = {
    enabled = false,
    indent_scope_color = "", -- catppuccin color (eg. `lavender`) Default: overlay2
}
```

</td>
</tr>
<!-- snacks.nvim -->

<!-- symbols-outline.nvim -->
</tr>
<tr>
<td> <a href="https://github.com/simrat39/symbols-outline.nvim">symbols-outline.nvim</a> </td>
<td>

> [!NOTE]
> This plugin has been archived by the author, consider using [outline.nvim](https://github.com/hedyhli/outline.nvim)

```lua
symbols_outline = false
```

</td>
</tr>
<!-- symbols-outline.nvim -->

<!-- telekasten.nvim -->
</tr>
<tr>
<td> <a href="https://github.com/renerocksai/telekasten.nvim">telekasten.nvim</a> </td>
<td>

```lua
telekasten = false
```

</td>
</tr>
<!-- telekasten.nvim -->

<!-- telescope.nvim -->
</tr>
<tr>
<td> <a href="https://github.com/nvim-telescope/telescope.nvim">telescope.nvim</a> </td>
<td>

```lua
telescope = {
    enabled = true,
}
```

</td>
</tr>
<!-- telescope.nvim -->

<!-- trouble.nvim -->
</tr>
<tr>
<td> <a href="https://github.com/folke/trouble.nvim">trouble.nvim</a> </td>
<td>

```lua
lsp_trouble = false
```

</td>
</tr>
<!-- trouble.nvim -->

<!-- vim-airline -->
</tr>
<tr>
<td> <a href="https://github.com/vim-airline/vim-airline">vim-airline</a> </td>
<td>

<details> <summary>Special</summary>

```vim
let g:airline_theme = 'catppuccin'
```

</details>

</td>
</tr>
<!-- vim-airline -->

<!-- vim-clap -->
</tr>
<tr>
<td> <a href="https://github.com/liuchengxu/vim-clap">vim-clap</a> </td>
<td>

<details> <summary>Special</summary>

Use this to set it up:

```vim
let g:clap_theme = 'catppuccin'
```

</details>

</td>
</tr>
<!-- vim-clap -->

<!-- vim-dadbod-ui -->
</tr>
<tr>
<td> <a href="https://github.com/kristijanhusak/vim-dadbod-ui">vim-dadbod-ui</a> </td>
<td>

```lua
dadbod_ui = false
```

</td>
</tr>
<!-- vim-dadbod-ui -->

<!-- vim-gitgutter -->
</tr>
<tr>
<td> <a href="https://github.com/airblade/vim-gitgutter">vim-gitgutter</a> </td>
<td>

```lua
gitgutter = false
```

</td>
</tr>
<!-- vim-gitgutter -->

<!-- vim-illuminate -->
</tr>
<tr>
<td> <a href="https://github.com/RRethy/vim-illuminate">vim-illuminate</a> </td>
<td>

```lua
illuminate = {
    enabled = true,
    lsp = false
}
```

</td>
</tr>
<!-- vim-illuminate -->

<!-- vim-sandwich -->
</tr>
<tr>
<td> <a href="https://github.com/machakann/vim-sandwich">vim-sandwich</a> </td>
<td>

```lua
sandwich = false
```

</td>
</tr>
<!-- vim-sandwich -->

<!-- vim-signify -->
</tr>
<tr>
<td> <a href="https://github.com/mhinz/vim-signify">vim-signify</a> </td>
<td>

```lua
signify = false
```

</td>
</tr>
<!-- vim-signify -->

<!-- vim-sneak -->
</tr>
<tr>
<td> <a href="https://github.com/justinmk/vim-sneak">vim-sneak</a> </td>
<td>

```lua
vim_sneak = false
```

</td>
</tr>
<!-- vim-sneak -->

<!-- vimwiki -->
</tr>
<tr>
<td> <a href="https://github.com/vimwiki/vimwiki">vimwiki</a> </td>
<td>

```lua
vimwiki = false
```

</td>
</tr>
<!-- vimwiki -->

<!-- which-key.nvim -->
</tr>
<tr>
<td> <a href="https://github.com/folke/which-key.nvim">which-key.nvim</a> </td>
<td>

```lua
which_key = false
```

</td>
</tr>
<!-- which-key.nvim -->

</table>

## Compile

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 pre-cached values to set it's highlights.

By default, Catppuccin writes the compiled results into the system's cache
directory. See below if you'd like to change the cache directory:

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

## 🙋 FAQ

### Why do my Treesitter highlights look incorrect?

Please disable `additional_vim_regex_highlighting`:

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

### Why aren't my colors the same as the previews?

Catppuccin requires that your terminal supports true color, meaning that your
terminal can display the full range of 16 million colors.

- Supported: iterm2 (macOS), kitty, wezterm, alacritty, [see full list...](https://github.com/termstandard/colors#truecolor-support-in-output-devices)
- Unsupported: Terminal.app (macOS), Terminus, Terminology, [see full list...](https://github.com/termstandard/colors#not-supporting-truecolor)

If you use tmux, make sure to enable [true color
support](https://gist.github.com/andersevenrud/015e61af2fd264371032763d4ed965b6)
and [italic font
support](https://gist.github.com/gyribeiro/4192af1aced7a1b555df06bd3781a722).
This will prevent issues raised in
[#415](https://github.com/catppuccin/nvim/issues/415) and
[#428](https://github.com/catppuccin/nvim/issues/428).

## 💝 Thanks to

**Current Maintainer(s)**

- [vollowx](https://github.com/vollowx)
- [robin](https://github.com/comfysage)

**Previous Maintainer(s)**

- [Pocco81](https://github.com/Pocco81)
- [nullchilly](https://github.com/nullchilly)
- [mrtnvgr](https://github.com/mrtnvgr)

<!-- panvimdoc-ignore-start -->

&nbsp;

<p align="center"><img src="https://raw.githubusercontent.com/catppuccin/catppuccin/main/assets/footers/gray0_ctp_on_line.svg?sanitize=true" /></p>
<p align="center">Copyright &copy; 2021-present <a href="https://github.com/catppuccin" target="_blank">Catppuccin Org</a>
<p align="center"><a href="https://github.com/catppuccin/catppuccin/blob/main/LICENSE"><img src="https://img.shields.io/static/v1.svg?style=for-the-badge&label=License&message=MIT&logoColor=d9e0ee&colorA=363a4f&colorB=b7bdf8"/></a></p>

<!-- panvimdoc-ignore-end -->


================================================
FILE: after/queries/css/highlights.scm
================================================
;; extends
[
(class_name)
] @property.class

[
 (id_name)
 ] @property.id

[
 (declaration
	 (plain_value) @string.plain)
 ]
[
 (tag_name)
 ] @type.tag


================================================
FILE: after/queries/javascript/highlights.scm
================================================
;; extends
[
"export"
] @keyword.export


================================================
FILE: after/queries/typescript/highlights.scm
================================================
;; extends
[
"export"
] @keyword.export


================================================
FILE: colors/catppuccin-frappe.lua
================================================
require("catppuccin").load "frappe"


================================================
FILE: colors/catppuccin-latte.lua
================================================
require("catppuccin").load "latte"


================================================
FILE: colors/catppuccin-macchiato.lua
================================================
require("catppuccin").load "macchiato"


================================================
FILE: colors/catppuccin-mocha.lua
================================================
require("catppuccin").load "mocha"


================================================
FILE: colors/catppuccin-nvim.vim
================================================
lua require("catppuccin").load()


================================================
FILE: colors/catppuccin.lua
================================================
require("catppuccin").load()


================================================
FILE: doc/catppuccin.txt
================================================
*catppuccin.txt*                              Soothing pastel theme for NeoVim

==============================================================================
Table of Contents                               *catppuccin-table-of-contents*

  - Features                                             |catppuccin-features|
  - Installation                                     |catppuccin-installation|
  - Usage                                                   |catppuccin-usage|
  - Configuration                                   |catppuccin-configuration|
  - Customization                                   |catppuccin-customization|
  - Integrations                                     |catppuccin-integrations|
  - Compile                                               |catppuccin-compile|
  - 🙋 FAQ                                             |catppuccin-🙋-faq|
  - 💝 Thanks to                                 |catppuccin-💝-thanks-to|

FEATURES                                                 *catppuccin-features*

- Supports Neovim <https://github.com/neovim/neovim/> >= 0.8
- Highly configurable with 4 different flavours and the ability to create your own! <https://github.com/catppuccin/nvim/discussions/323>
- Compiled <https://github.com/catppuccin/nvim#Compile> configuration for fast startup time <https://www.reddit.com/r/neovim/comments/xxfpt3/catppuccinnvim_now_startup_in_1ms/>
- Integrations with lsp, treesitter and a bunch of plugins <https://github.com/catppuccin/nvim#integrations>
- Support for many other applications <https://github.com/catppuccin/catppuccin>


INSTALLATION                                         *catppuccin-installation*

lazy.nvim <https://github.com/folke/lazy.nvim>

>lua
    { "catppuccin/nvim", name = "catppuccin", priority = 1000 }
<

mini.deps
<https://github.com/echasnovski/mini.nvim/blob/main/readmes/mini-deps.md>

>lua
    add({ source = "catppuccin/nvim", name = "catppuccin" })
<

packer.nvim <https://github.com/wbthomason/packer.nvim>

>lua
    use { "catppuccin/nvim", as = "catppuccin" }
<

with Neovim 0.12’s `vim.pack`

>lua
    vim.pack.add({ src = "https://github.com/catppuccin/nvim", name = "catppuccin" })
<


VIM SUPPORT ~

Support for vim is provided through the `vim` branch.

>vim
    Plug 'catppuccin/nvim', { 'branch': 'vim', 'as': 'catppuccin' }
<


  ![NOTE] Keep in mind that vim support has been dropped (#949
  <https://github.com/catppuccin/nvim/pull/949>) and this branch won’t receive
  further updates unless necessary. For full vim support see catppuccin/vim
  <https://github.com/catppuccin/vim>

USAGE                                                       *catppuccin-usage*

>vim
    colorscheme catppuccin-nvim " catppuccin-latte, catppuccin-frappe, catppuccin-macchiato, catppuccin-mocha
<

>lua
    vim.cmd.colorscheme "catppuccin-nvim"
<


CONFIGURATION                                       *catppuccin-configuration*

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

>lua
    require("catppuccin").setup({
        flavour = "auto", -- latte, frappe, macchiato, mocha
        background = { -- :h background
            light = "latte",
            dark = "mocha",
        },
        transparent_background = false, -- disables setting the background color.
        float = {
            transparent = false, -- enable transparent floating windows
            solid = false, -- use solid styling for floating windows, see |winborder|
        },
        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
        },
        lsp_styles = { -- Handles the style of specific lsp hl groups (see `:h lsp-highlight`).
            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,
            },
        },
        color_overrides = {},
        custom_highlights = {},
        default_integrations = true,
        auto_integrations = false,
        integrations = {
            cmp = true,
            gitsigns = true,
            nvimtree = 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-nvim"
<


CUSTOMIZATION                                       *catppuccin-customization*


GETTING COLORS ~

>lua
    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 the hex
code.


OVERWRITING COLORS ~

Colors can be overwritten using `color_overrides`, see
https://github.com/catppuccin/nvim/discussions/323 for inspiration:

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


OVERWRITING HIGHLIGHT GROUPS ~

Global highlight groups can be overwritten, for example:

>lua
    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
    }
<

Highlight groups per flavour can also be overwritten, for example:

>lua
    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-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:

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

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

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

If you use lazy.nvim <https://github.com/folke/lazy.nvim> as your package
manager, you can use the `auto_integrations` option to let catppuccin
automatically detect installed plugins and enable their respective
integrations.

>lua
    require("catppuccin").setup({
        auto_integrations = true,
    })
<

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


  [!Important] If you’d like to see the full list of highlight groups modified
  by Catppuccin, see the `lua/catppuccin/groups/integrations/`
  <https://github.com/catppuccin/nvim/tree/main/lua/catppuccin/groups/integrations>
  directory.
PluginDefaultaerial.nvim>lua
    aerial = false
<

alpha-nvim>lua
    alpha = true
<

barbar.nvim>lua
    barbar = false
<

barbecue.nvim>lua
    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:

>lua
    require("barbecue").setup {
      theme = "catppuccin-nvim", -- catppuccin-latte, catppuccin-frappe, catppuccin-macchiato, catppuccin-mocha
    }
<

beacon.nvim>lua
    beacon = false
<

blink.cmp>lua
    blink_cmp = {
        style = 'bordered',
    }
<

blink.indent>lua
    blink_indent = true
<

blink.pairs>lua
    blink_pairs = true
<

Special ~

Use this to set it up:

>lua
    require("blink.pairs").setup {
        highlights = {
            groups = {
                "BlinkPairsRed",
                "BlinkPairsYellow",
                "BlinkPairsBlue",
                "BlinkPairsOrange",
                "BlinkPairsGreen",
                "BlinkPairsPurple",
                "BlinkPairsCyan",
            },
        },
    }
<

bufferline.nvimSpecial ~

Update your bufferline config to use the Catppuccin components:


  [!NOTE] bufferline needs to be loaded after setting up Catppuccin or it will
  highlight incorrectly
>lua
    use "akinsho/bufferline.nvim" {
      after = "catppuccin",
      config = function()
        require("bufferline").setup {
          highlights = require("catppuccin.special.bufferline").get_theme()
        }
      end
    }
<

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

>lua
    local mocha = require("catppuccin.palettes").get_palette "mocha"
    bufferline.setup {
        highlights = require("catppuccin.special.bufferline").get_theme {
            styles = { "italic", "bold" },
            custom = {
                all = {
                    fill = { bg = "#000000" },
                },
                mocha = {
                    background = { fg = mocha.text },
                },
                latte = {
                    background = { fg = "#000000" },
                },
            },
        },
    }
<

buffon.nvim>lua
    buffon = false
<

coc.nvim>lua
    coc_nvim = false
<

Special ~

Setting `enabled` to `true` enables this integration.

>lua
    coc_nvim = true,
<


  [!Note] coc.nvim by default link to native lsp highlight groups so `lsp_styles`
  options will also apply to coc
In the nested 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)).

>lua
    lsp_styles = {
        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>lua
    colorful_winsep = {
        enabled = false,
        color = "red",
    }
<

dashboard-nvim>lua
    dashboard = true
<

diffview.nvim>lua
    diffview = false
<

dropbar.nvim>lua
    dropbar = {
        enabled = false,
        color_mode = false, -- enable color for kind's texts, not just kind's icons
    },
<

feline.nvimSpecial ~

Update your Feline config to use the Catppuccin components:

>lua
    local ctp_feline = require('catppuccin.special.feline')
    
    ctp_feline.setup()
    
    require("feline").setup({
        components = ctp_feline.get_statusline(),
    })
<

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:

>lua
    local clrs = require("catppuccin.palettes").get_palette()
    local ctp_feline = require('catppuccin.special.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 = false, -- show if the file has been modified
            show_lazy_updates = false -- show the count of updatable plugins from lazy.nvim
                                      -- need to set checker.enabled = true in lazy.nvim first
                                      -- the icon is set in ui.icons.plugin in lazy.nvim
        },
        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
  <https://github.com/feline-nvim/feline.nvim/issues/302>. In order for
  `:colorscheme catppuccin-<flavour>` to work you could add this autocmd as a
  workaround:
>lua
    vim.api.nvim_create_autocmd("ColorScheme", {
        pattern = "*",
        callback = function()
            package.loaded["feline"] = nil
            package.loaded["catppuccin.special.feline"] = nil
            require("feline").setup {
                components = require("catppuccin.special.feline").get_statusline(),
            }
        end,
    })
<

fern.vim>lua
    fern = false
<

fidget.nvim>lua
    fidget = false
<

Special ~

Set `notification.window.winblend` to `0`:

>lua
    require("fidget").setup {
        notification = {
            window = {
                winblend = 0,
            },
        }
        -- ... the rest of your fidget config
    }
<

flash.nvim>lua
    flash = true
<

fzf-lua>lua
    fzf = true
<

gitgraph.nvim>lua
    gitgraph = false
<

gitsigns.nvim>lua
    gitsigns = true
<

Special ~

>lua
    gitsigns = {
      enabled = true,
      -- align with the transparent_background option by default
      transparent = false,
    }
<

grug-far.nvim>lua
    grug_far = false
<

harpoon>lua
    harpoon = false
<

headlines.nvim>lua
    headlines = false
<

hop.nvim>lua
    hop = false
<

indent-blankline.nvim>lua
    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
<https://github.com/lukas-reineke/indent-blankline.nvim#multiple-indent-colors>
to set the latter up.

leap.nvim>lua
    leap = false
<

lightline.vimSpecial ~

>vim
    let g:lightline = {'colorscheme': 'catppuccin'}
<

lightspeed.nvim>lua
    lightspeed = false
<

lir.nvim>lua
    lir = {
        enabled = false,
        git_status = false
    }
<

lspsaga.nvim>lua
    lsp_saga = false
<

Special ~

For custom Lsp Kind Icon and Color

>lua
    require("lspsaga").setup {
        ui = {
            kind = require("catppuccin.groups.integrations.lsp_saga").custom_kind(),
        },
    }
<

lualine.nvim>lua
    -- transparent_bg = opts.transparent_background and "NONE" or C.mantle
    lualine = {
        normal = {
            a = { bg = C.blue, fg = C.mantle, gui = "bold" },
            b = { bg = C.surface0, fg = C.blue },
            c = { bg = transparent_bg, fg = C.text },
        },
    
        insert = {
            a = { bg = C.green, fg = C.base, gui = "bold" },
            b = { bg = C.surface0, fg = C.green },
        },
    
        terminal = {
            a = { bg = C.green, fg = C.base, gui = "bold" },
            b = { bg = C.surface0, fg = C.green },
        },
    
        command = {
            a = { bg = C.peach, fg = C.base, gui = "bold" },
            b = { bg = C.surface0, fg = C.peach },
        },
        visual = {
            a = { bg = C.mauve, fg = C.base, gui = "bold" },
            b = { bg = C.surface0, fg = C.mauve },
        },
        replace = {
            a = { bg = C.red, fg = C.base, gui = "bold" },
            b = { bg = C.surface0, fg = C.red },
        },
        inactive = {
            a = { bg = transparent_bg, fg = C.blue },
            b = { bg = transparent_bg, fg = C.surface1, gui = "bold" },
            c = { bg = transparent_bg, fg = C.overlay0 },
        },
    },
<

Special ~

To implement color overrides in the `integrations.lualine` spec:

>lua
    -- In your catppuccin config (integrations): 
    lualine = {
        -- lualine color overrides in the following hierarchy: Catppuccin Flavor -> Mode -> Lualine Section
        -- The Catppuccin flavor entry can be any Catpuccin flavor or "all" to apply to all flavors
        -- The flavor entry can be either a table or a function which consumes the current Catppuccin palette, just like custom_highlights and color_overrides
        all = function(colors)
            ---@type CtpIntegrationLualineOverride
            return {
                -- Specifying a normal-mode status line override for section a's background and b's foreground to use lavender like the main Catppuccin theme
                normal = { 
                    a = { bg = colors.lavender, gui = "italic" },
                    b = { fg = colors.lavender },
                }
            }
        end,
        -- A macchiato-specific override, which takes priority over 'all'. Also using the direct table syntax instead of function in case you do not rely on dynamic palette colors
        macchiato = { 
            normal = { 
                a = { bg = "#abcdef" },
            }
        },
    },
    --  And in your lualine config:
    require('lualine').setup {
        options = {
            -- lualine will integrate with catppuccin by name or automatically via `vim.g.colors_name` by setting this to "auto" 
            theme = "catppuccin-nvim"
            -- ... the rest of your lualine config
        }
    }
<

markview.nvim>lua
    markview = false
<

mason.nvim>lua
    mason = false
<

mini.nvim>lua
    mini = {
        enabled = true,
        indentscope_color = "", -- catppuccin color (eg. `lavender`) Default: text
    },
<

neo-tree.nvim>lua
    neotree = true
<

neogit>lua
    neogit = true
<

neotest>lua
    neotest = false
<

noice.nvim>lua
    noice = false
<

notifier.nvim>lua
    notifier = false
<

nvim-cmp>lua
    cmp = true
<

copilot.vim>lua
    copilot_vim = false,
<

nvim-dap>lua
    dap = true
<

Special ~

>lua
    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>lua
    dap_ui = true
<

navic>lua
    navic = {
        enabled = false,
        custom_bg = "NONE", -- "lualine" will set background to mantle
    },
<

Special ~

>lua
    -- You NEED to enable highlight in nvim-navic setting or it won't work
    require("nvim-navic").setup {
        highlight = true
    }
<

nvim-notify>lua
    notify = false
<

nvim-surround>lua
    nvim_surround = false
<

nvim-tree.lua>lua
    nvimtree = true
<

nvim-treesitter-context>lua
    treesitter_context = true
<

nvim-ts-rainbow2>lua
    ts_rainbow2 = false
<

nvim-ts-rainbow>lua
    ts_rainbow = false
<

nvim-ufo>lua
    ufo = true
<

nvim-window-picker>lua
    window_picker = false
<

octo.nvim>lua
    octo = false
<

overseer.nvim>lua
    overseer = false
<

pounce.nvim>lua
    pounce = false
<

rainbow-delimiters.nvim>lua
    rainbow_delimiters = true
<

reactive.nvimSpecial ~

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

Here is how you can use them.

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

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

render-markdown.nvim>lua
    render_markdown = true
<

snacks.nvim>lua
    snacks = {
        enabled = false,
        indent_scope_color = "", -- catppuccin color (eg. `lavender`) Default: overlay2
    }
<

symbols-outline.nvim
  [!NOTE] This plugin has been archived by the author, consider using
  outline.nvim <https://github.com/hedyhli/outline.nvim>
>lua
    symbols_outline = false
<

telekasten.nvim>lua
    telekasten = false
<

telescope.nvim>lua
    telescope = {
        enabled = true,
    }
<

trouble.nvim>lua
    lsp_trouble = false
<

vim-airlineSpecial ~

>vim
    let g:airline_theme = 'catppuccin'
<

vim-clapSpecial ~

Use this to set it up:

>vim
    let g:clap_theme = 'catppuccin'
<

vim-dadbod-ui>lua
    dadbod_ui = false
<

vim-gitgutter>lua
    gitgutter = false
<

vim-illuminate>lua
    illuminate = {
        enabled = true,
        lsp = false
    }
<

vim-sandwich>lua
    sandwich = false
<

vim-signify>lua
    signify = false
<

vim-sneak>lua
    vim_sneak = false
<

vimwiki>lua
    vimwiki = false
<

which-key.nvim>lua
    which_key = false
<


COMPILE                                                   *catppuccin-compile*

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 pre-cached values to set it’s highlights.

By default, Catppuccin writes the compiled results into the system’s cache
directory. See below if you’d like to change the cache directory:

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


🙋 FAQ                                                 *catppuccin-🙋-faq*


WHY DO MY TREESITTER HIGHLIGHTS LOOK INCORRECT? ~

Please disable `additional_vim_regex_highlighting`:

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


WHY AREN’T MY COLORS THE SAME AS THE PREVIEWS? ~

Catppuccin requires that your terminal supports true color, meaning that your
terminal can display the full range of 16 million colors.

- Supported: iterm2 (macOS), kitty, wezterm, alacritty, see full list… <https://github.com/termstandard/colors#truecolor-support-in-output-devices>
- Unsupported: Terminal.app (macOS), Terminus, Terminology, see full list… <https://github.com/termstandard/colors#not-supporting-truecolor>

If you use tmux, make sure to enable true color support
<https://gist.github.com/andersevenrud/015e61af2fd264371032763d4ed965b6> and
italic font support
<https://gist.github.com/gyribeiro/4192af1aced7a1b555df06bd3781a722>. This will
prevent issues raised in #415 <https://github.com/catppuccin/nvim/issues/415>
and #428 <https://github.com/catppuccin/nvim/issues/428>.


💝 THANKS TO                                     *catppuccin-💝-thanks-to*

**Current Maintainer(s)**

- vollowx <https://github.com/vollowx>
- robin <https://github.com/comfysage>

**Previous Maintainer(s)**

- Pocco81 <https://github.com/Pocco81>
- nullchilly <https://github.com/nullchilly>
- mrtnvgr <https://github.com/mrtnvgr>

Generated by panvimdoc <https://github.com/kdheepak/panvimdoc>

vim:tw=78:ts=8:noet:ft=help:norl:


================================================
FILE: justfile
================================================
_default:
  @just list

build:
  whiskers nvim.tera


================================================
FILE: lua/barbecue/theme/catppuccin-frappe.lua
================================================
return require "catppuccin.utils.barbecue" "frappe"


================================================
FILE: lua/barbecue/theme/catppuccin-latte.lua
================================================
return require "catppuccin.utils.barbecue" "latte"


================================================
FILE: lua/barbecue/theme/catppuccin-macchiato.lua
================================================
return require "catppuccin.utils.barbecue" "macchiato"


================================================
FILE: lua/barbecue/theme/catppuccin-mocha.lua
================================================
return require "catppuccin.utils.barbecue" "mocha"


================================================
FILE: lua/barbecue/theme/catppuccin-nvim.lua
================================================
return require "catppuccin.utils.barbecue"()


================================================
FILE: lua/catppuccin/groups/editor.lua
================================================
local M = {}

function M.get()
	return {
		ColorColumn = { bg = C.surface0 }, -- used for the columns set with 'colorcolumn'
		Conceal = { fg = C.overlay1 }, -- placeholder characters substituted for concealed text (see 'conceallevel')
		Cursor = { fg = C.base, bg = C.rosewater }, -- character under the cursor
		lCursor = { fg = C.base, bg = C.rosewater }, -- the character under the cursor when |language-mapping| is used (see 'guicursor')
		CursorIM = { fg = C.base, bg = C.rosewater }, -- like Cursor, but used when in IME mode |CursorIM|
		CursorColumn = { bg = C.mantle }, -- Screen-column at the cursor, when 'cursorcolumn' is set.
		CursorLine = {
			bg = U.vary_color({ latte = U.lighten(C.mantle, 0.70, C.base) }, U.darken(C.surface0, 0.64, C.base)),
		}, -- Screen-line at the cursor, when 'cursorline' is set.  Low-priority if forecrust (ctermfg OR guifg) is not set.
		Directory = { fg = C.blue }, -- directory names (and other special names in listings)
		EndOfBuffer = { fg = O.show_end_of_buffer and C.surface1 or C.base }, -- filler lines (~) after the end of the buffer.  By default, this is highlighted like |hl-NonText|.
		ErrorMsg = { fg = C.red, style = { "bold", "italic" } }, -- error messages on the command line
		VertSplit = { fg = O.transparent_background and C.surface1 or C.crust }, -- the column separating vertically split windows
		Folded = { fg = C.blue, bg = O.transparent_background and C.none or C.surface1 }, -- line used for closed folds
		FoldColumn = { fg = C.overlay0 }, -- 'foldcolumn'
		SignColumn = { fg = C.surface1 }, -- column where |signs| are displayed
		SignColumnSB = { bg = C.crust, fg = C.surface1 }, -- column where |signs| are displayed
		Substitute = { bg = C.surface1, fg = U.vary_color({ latte = C.red }, C.pink) }, -- |:substitute| replacement text highlighting
		LineNr = { fg = C.surface1 }, -- Line number for ":number" and ":#" commands, and when 'number' or 'relativenumber' option is set.
		CursorLineNr = { fg = C.lavender }, -- Like LineNr when 'cursorline' or 'relativenumber' is set for the cursor line. highlights the number in numberline.
		MatchParen = { fg = C.peach, bg = U.darken(C.surface1, 0.70, C.base), style = { "bold" } }, -- The character under the cursor or just before it, if it is a paired bracket, and its match. |pi_paren.txt|
		ModeMsg = { fg = C.text, style = { "bold" } }, -- 'showmode' message (e.g., "-- INSERT -- ")
		-- MsgArea = { fg = C.text }, -- Area for messages and cmdline, don't set this highlight because of https://github.com/neovim/neovim/issues/17832
		MsgSeparator = { link = "WinSeparator" }, -- Separator for scrolled messages, `msgsep` flag of 'display'
		MoreMsg = { fg = C.blue }, -- |more-prompt|
		NonText = { fg = C.overlay0 }, -- '@' at the end of the window, characters from 'showbreak' and other characters that do not really exist in the text (e.g., ">" displayed when a double-wide character doesn't fit at the end of the line). See also |hl-EndOfBuffer|.
		Normal = { fg = C.text, bg = O.transparent_background and C.none or C.base }, -- normal text
		NormalNC = {
			fg = C.text,
			bg = (O.transparent_background and O.dim_inactive.enabled and C.dim)
				or (O.dim_inactive.enabled and C.dim)
				or (O.transparent_background and C.none)
				or C.base,
		}, -- normal text in non-current windows
		NormalSB = { fg = C.text, bg = C.crust }, -- normal text in non-current windows
		NormalFloat = { fg = C.text, bg = (O.float.transparent and vim.o.winblend == 0) and C.none or C.mantle }, -- Normal text in floating windows.
		FloatBorder = O.float.solid
				and ((O.float.transparent and vim.o.winblend == 0) and { fg = C.surface2, bg = C.none } or {
					fg = C.mantle,
					bg = C.mantle,
				})
			or { fg = C.blue, bg = (O.float.transparent and vim.o.winblend == 0) and C.none or C.mantle },
		FloatTitle = O.float.solid and {
			fg = C.crust,
			bg = C.lavender,
		} or { fg = C.subtext0, bg = (O.float.transparent and vim.o.winblend == 0) and C.none or C.mantle }, -- Title of floating windows
		FloatShadow = { bg = (O.float.transparent and vim.o.winblend == 0) and C.none or C.overlay0, blend = 80 },
		FloatShadowThrough = {
			bg = (O.float.transparent and vim.o.winblend == 0) and C.none or C.overlay0,
			blend = 100,
		},
		Pmenu = {
			bg = (O.transparent_background and vim.o.pumblend == 0) and C.none or C.mantle,
			fg = C.overlay2,
		}, -- Popup menu: normal item.
		PmenuSel = { bg = C.surface0, style = { "bold" } }, -- Popup menu: selected item.
		PmenuMatch = { fg = C.text, style = { "bold" } }, -- Popup menu: matching text.
		PmenuMatchSel = { style = { "bold" } }, -- Popup menu: matching text in selected item; is combined with |hl-PmenuMatch| and |hl-PmenuSel|.
		PmenuSbar = { bg = C.surface0 }, -- Popup menu: scrollbar.
		PmenuThumb = { bg = C.overlay0 }, -- Popup menu: Thumb of the scrollbar.
		PmenuExtra = { fg = C.overlay0 }, -- Popup menu: normal item extra text.
		PmenuExtraSel = {
			bg = C.surface0,
			fg = C.overlay0,
			style = { "bold" },
		}, -- Popup menu: selected item extra text.
		ComplMatchIns = { link = "PreInsert" }, -- Matched text of the currently inserted completion.
		PreInsert = { fg = C.overlay2 }, -- Text inserted when "preinsert" is in 'completeopt'.
		ComplHint = { fg = C.subtext0 }, -- Virtual text of the currently selected completion.
		ComplHintMore = { link = "Question" }, -- The additional information of the virtual text.
		Question = { fg = C.blue }, -- |hit-enter| prompt and yes/no questions
		QuickFixLine = { bg = U.darken(C.surface1, 0.70, C.base), style = { "bold" } }, -- Current |quickfix| item in the quickfix window. Combined with |hl-CursorLine| when the cursor is there.
		Search = { bg = U.darken(C.sky, 0.30, C.base), fg = C.text }, -- Last search pattern highlighting (see 'hlsearch').  Also used for similar items that need to stand out.
		IncSearch = { bg = U.darken(C.sky, 0.90, C.base), fg = C.mantle }, -- 'incsearch' highlighting; also used for the text replaced with ":s///c"
		CurSearch = { bg = C.red, fg = C.mantle }, -- 'cursearch' highlighting: highlights the current search you're on differently
		SpecialKey = { link = "NonText" }, -- Unprintable characters: text displayed differently from what it really is.  But not 'listchars' textspace. |hl-Whitespace|
		SpellBad = { sp = C.red, style = { "undercurl" } }, -- Word that is not recognized by the spellchecker. |spell| Combined with the highlighting used otherwise.
		SpellCap = { sp = C.yellow, style = { "undercurl" } }, -- Word that should start with a capital. |spell| Combined with the highlighting used otherwise.
		SpellLocal = { sp = C.blue, style = { "undercurl" } }, -- Word that is recognized by the spellchecker as one that is used in another region. |spell| Combined with the highlighting used otherwise.
		SpellRare = { sp = C.green, style = { "undercurl" } }, -- Word that is recognized by the spellchecker as one that is hardly ever used.  |spell| Combined with the highlighting used otherwise.
		StatusLine = { fg = C.text, bg = O.transparent_background and C.none or C.mantle }, -- status line of current window
		StatusLineNC = { fg = C.surface1, bg = O.transparent_background and C.none or C.mantle }, -- status lines of not-current windows Note: if this is equal to "StatusLine" Vim will use "^^^" in the status line of the current window.
		TabLine = { bg = C.crust, fg = C.overlay0 }, -- tab pages line, not active tab page label
		TabLineFill = { bg = O.transparent_background and C.none or C.mantle }, -- tab pages line, where there are no labels
		TabLineSel = { link = "Normal" }, -- tab pages line, active tab page label
		TermCursor = { fg = C.base, bg = C.rosewater }, -- cursor in a focused terminal
		TermCursorNC = { fg = C.base, bg = C.overlay2 }, -- cursor in unfocused terminals
		Title = { fg = C.blue, style = { "bold" } }, -- titles for output from ":set all", ":autocmd" etc.
		Visual = { bg = C.surface1, style = { "bold" } }, -- Visual mode selection
		VisualNOS = { bg = C.surface1, style = { "bold" } }, -- Visual mode selection when vim is "Not Owning the Selection".
		WarningMsg = { fg = C.yellow }, -- warning messages
		Whitespace = { fg = C.surface1 }, -- "nbsp", "space", "tab" and "trail" in 'listchars'
		WildMenu = { bg = C.overlay0 }, -- current match in 'wildmenu' completion
		WinBar = { fg = C.rosewater },
		WinBarNC = { link = "WinBar" },
		WinSeparator = { fg = O.transparent_background and C.surface1 or C.crust },
	}
end

return M


================================================
FILE: lua/catppuccin/groups/integrations/aerial.lua
================================================
local M = {}

M.url = "https://github.com/stevearc/aerial.nvim"

function M.get()
	return {
		AerialLine = { fg = C.yellow, bg = C.none },
		AerialGuide = { fg = C.overlay2 },
		AerialBooleanIcon = { link = "@boolean" },
		AerialClassIcon = { link = "@type" },
		AerialConstantIcon = { link = "@constant" },
		AerialConstructorIcon = { link = "@constructor" },
		AerialFieldIcon = { link = "@field" },
		AerialFunctionIcon = { link = "@function" },
		AerialMethodIcon = { link = "@method" },
		AerialNamespaceIcon = { link = "@namespace" },
		AerialNumberIcon = { link = "@number" },
		AerialOperatorIcon = { link = "@operator" },
		AerialTypeParameterIcon = { link = "@type" },
		AerialPropertyIcon = { link = "@property" },
		AerialStringIcon = { link = "@string" },
		AerialVariableIcon = { link = "@constant" },
		AerialEnumMemberIcon = { link = "@field" },
		AerialEnumIcon = { link = "@type" },
		AerialFileIcon = { link = "@text.uri" },
		AerialModuleIcon = { link = "@namespace" },
		AerialPackageIcon = { link = "@namespace" },
		AerialInterfaceIcon = { link = "@type" },
		AerialStructIcon = { link = "@type" },
		AerialEventIcon = { link = "@type" },
		AerialArrayIcon = { link = "@constant" },
		AerialObjectIcon = { link = "@type" },
		AerialKeyIcon = { link = "@type" },
		AerialNullIcon = { link = "@type" },
	}
end

return M


================================================
FILE: lua/catppuccin/groups/integrations/alpha.lua
================================================
local M = {}

M.url = "https://github.com/goolord/alpha-nvim"

function M.get()
	return {
		AlphaShortcut = { fg = C.green },
		AlphaHeader = { fg = C.blue },
		AlphaHeaderLabel = { fg = C.peach },
		AlphaButtons = { fg = C.lavender },
		AlphaFooter = { fg = C.yellow, style = { "italic" } },
	}
end

return M


================================================
FILE: lua/catppuccin/groups/integrations/artio.lua
================================================
local M = {}

M.url = "https://github.com/comfysage/artio.nvim"

function M.get()
	local transparent_background = require("catppuccin").options.transparent_background

	return {
		ArtioNormal = {
			fg = C.text,
			bg = transparent_background and "NONE" or C.mantle,
		},
		ArtioSel = {
			fg = C.flamingo,
			bg = C.surface0,
			style = { "bold" },
		},
		ArtioMatch = { fg = C.blue },
		ArtioPointer = { fg = C.flamingo },
		ArtioPrompt = { fg = C.blue },
		ArtioMark = { fg = C.yellow },
		ArtioMarkLine = { link = "Visual" },
	}
end

return M


================================================
FILE: lua/catppuccin/groups/integrations/avante.lua
================================================
local M = {}

M.url = "https://github.com/yetone/avante.nvim"

function M.get()
	local rounded = O.integrations.avante.windows_sidebar_header_rounded
	return {
		-- titles
		AvanteTitle = rounded and { bg = C.lavender, fg = C.base } or { fg = C.lavender },
		AvanteReversedTitle = rounded and { bg = C.none, fg = C.lavender } or { fg = C.lavender },

		AvanteSubtitle = rounded and { bg = C.peach, fg = C.base } or { fg = C.peach },
		AvanteReversedSubtitle = rounded and { bg = C.none, fg = C.peach } or { fg = C.peach },

		AvanteThirdTitle = rounded and { bg = C.blue, fg = C.base } or { fg = C.blue },
		AvanteReversedThirdTitle = rounded and { bg = C.none, fg = C.blue } or { fg = C.blue },

		-- hints
		AvanteInlineHint = { fg = C.overlay0 },
		AvantePopupHint = { fg = C.overlay0 },
		AvanteAnnotation = { fg = C.overlay0 },
		AvanteSuggestion = { fg = C.overlay0 },

		-- conflicts
		AvanteConflictCurrent = {
			bg = O.transparent_background and C.none or C.mantle,
			fg = C.green,
		},
		AvanteConflictCurrentLabel = {
			bg = O.transparent_background and C.none or C.mantle,
			fg = C.green,
		},

		AvanteConflictIncoming = {
			bg = O.transparent_background and C.none or C.mantle,
			fg = C.blue,
		},
		AvanteConflictIncomingLabel = {
			bg = O.transparent_background and C.none or C.mantle,
			fg = C.blue,
		},

		AvanteConflictAncestor = {
			bg = O.transparent_background and C.none or C.mantle,
			fg = C.teal,
		},
		AvanteConflictAncestorLabel = {
			bg = O.transparent_background and C.none or C.mantle,
			fg = C.teal,
		},

		AvanteToBeDeleted = {
			bg = O.transparent_background and C.none or C.mantle,
			fg = C.red,
		},

		AvanteSidebarWinSeparator = {
			link = "WinSeparator",
		},

		AvantePromptInput = {
			link = "FloatNormal",
		},

		AvantePromptInputBorder = {
			link = "FloatBorder",
		},
	}
end

return M


================================================
FILE: lua/catppuccin/groups/integrations/barbar.lua
================================================
local M = {}

M.url = "https://github.com/romgrk/barbar.nvim"

function M.get()
	return {
		BufferCurrent = { bg = C.surface1, fg = C.text },
		BufferCurrentIndex = { bg = C.surface1, fg = C.blue },
		BufferCurrentMod = { bg = C.surface1, fg = C.yellow },
		BufferCurrentSign = { bg = C.surface1, fg = C.blue },
		BufferCurrentTarget = { bg = C.surface1, fg = C.red },
		BufferVisible = { bg = C.mantle, fg = C.text },
		BufferVisibleIndex = { bg = C.mantle, fg = C.blue },
		BufferVisibleMod = { bg = C.mantle, fg = C.yellow },
		BufferVisibleSign = { bg = C.mantle, fg = C.blue },
		BufferVisibleTarget = { bg = C.mantle, fg = C.red },
		BufferInactive = { bg = C.mantle, fg = C.overlay0 },
		BufferInactiveIndex = { bg = C.mantle, fg = C.overlay0 },
		BufferInactiveMod = { bg = C.mantle, fg = C.yellow },
		BufferInactiveSign = { bg = C.mantle, fg = C.blue },
		BufferInactiveTarget = { bg = C.mantle, fg = C.red },
		BufferTabpages = { bg = C.mantle, fg = C.none },
		BufferTabpage = { bg = C.mantle, fg = C.blue },
	}
end

return M


================================================
FILE: lua/catppuccin/groups/integrations/beacon.lua
================================================
local M = {}

M.url = "https://github.com/DanilaMihailov/beacon.nvim"

function M.get()
	return {
		Beacon = { bg = C.blue },
	}
end

return M


================================================
FILE: lua/catppuccin/groups/integrations/blink_cmp.lua
================================================
local M = {}

M.url = "https://github.com/saghen/blink.cmp"

function M.get()
	local style = O.integrations.blink_cmp.style

	local highlights = {
		BlinkCmpLabel = { fg = C.overlay2 },
		BlinkCmpLabelDeprecated = { fg = C.overlay0, style = { "strikethrough" } },
		BlinkCmpKind = { fg = C.blue },
		BlinkCmpMenu = { link = "Pmenu" },
		BlinkCmpDoc = { link = "NormalFloat" },
		BlinkCmpLabelMatch = { link = "PmenuMatch" },
		BlinkCmpMenuSelection = { bg = C.surface1, style = { "bold" } },
		BlinkCmpScrollBarGutter = { bg = C.surface1 },
		BlinkCmpScrollBarThumb = { bg = C.overlay0 },
		BlinkCmpLabelDescription = { link = "PmenuExtra" },
		BlinkCmpLabelDetail = { link = "PmenuExtra" },
		BlinkCmpSignatureHelpBorder = { link = "FloatBorder" },

		BlinkCmpKindText = { fg = C.green },
		BlinkCmpKindMethod = { fg = C.blue },
		BlinkCmpKindFunction = { fg = C.blue },
		BlinkCmpKindConstructor = { fg = C.blue },
		BlinkCmpKindField = { fg = C.green },
		BlinkCmpKindVariable = { fg = C.flamingo },
		BlinkCmpKindClass = { fg = C.yellow },
		BlinkCmpKindInterface = { fg = C.yellow },
		BlinkCmpKindModule = { fg = C.blue },
		BlinkCmpKindProperty = { fg = C.blue },
		BlinkCmpKindUnit = { fg = C.green },
		BlinkCmpKindValue = { fg = C.peach },
		BlinkCmpKindEnum = { fg = C.yellow },
		BlinkCmpKindKeyword = { fg = C.mauve },
		BlinkCmpKindSnippet = { fg = C.flamingo },
		BlinkCmpKindColor = { fg = C.red },
		BlinkCmpKindFile = { fg = C.blue },
		BlinkCmpKindReference = { fg = C.red },
		BlinkCmpKindFolder = { fg = C.blue },
		BlinkCmpKindEnumMember = { fg = C.teal },
		BlinkCmpKindConstant = { fg = C.peach },
		BlinkCmpKindStruct = { fg = C.blue },
		BlinkCmpKindEvent = { fg = C.blue },
		BlinkCmpKindOperator = { fg = C.sky },
		BlinkCmpKindTypeParameter = { fg = C.maroon },
		BlinkCmpKindCopilot = { fg = C.teal },
	}

	if style == "bordered" then
		-- uses FloatBorder.fg and Pmenu.bg
		highlights["BlinkCmpMenuBorder"] = {
			fg = O.float.solid and ((O.float.transparent and vim.o.winblend == 0) and C.surface2 or C.mantle) or C.blue,
			bg = (O.transparent_background and vim.o.pumblend == 0) and C.none or C.mantle,
		}
		highlights["BlinkCmpDocBorder"] = { link = "FloatBorder" }
	end

	return highlights
end

return M


================================================
FILE: lua/catppuccin/groups/integrations/blink_indent.lua
================================================
local M = {}

M.url = "https://github.com/saghen/blink.indent"

function M.get()
	return {
		BlinkIndent = { fg = C.surface0 },
		BlinkIndentScope = { fg = C.overlay2 },

		BlinkIndentRed = { fg = C.red },
		BlinkIndentOrange = { fg = C.peach },
		BlinkIndentYellow = { fg = C.yellow },
		BlinkIndentGreen = { fg = C.green },
		BlinkIndentCyan = { fg = C.sky },
		BlinkIndentBlue = { fg = C.blue },
		BlinkIndentViolet = { fg = C.mauve },

		BlinkIndentRedUnderline = { sp = C.red, style = { "underline" } },
		BlinkIndentOrangeUnderline = { sp = C.peach, style = { "underline" } },
		BlinkIndentYellowUnderline = { sp = C.yellow, style = { "underline" } },
		BlinkIndentGreenUnderline = { sp = C.green, style = { "underline" } },
		BlinkIndentCyanUnderline = { sp = C.sky, style = { "underline" } },
		BlinkIndentBlueUnderline = { sp = C.blue, style = { "underline" } },
		BlinkIndentVioletUnderline = { sp = C.mauve, style = { "underline" } },
	}
end

return M


================================================
FILE: lua/catppuccin/groups/integrations/blink_pairs.lua
================================================
local M = {}

M.url = "https://github.com/saghen/blink.pairs"

function M.get()
	return {
		BlinkPairsRed = { fg = C.red },
		BlinkPairsYellow = { fg = C.yellow },
		BlinkPairsBlue = { fg = C.blue },
		BlinkPairsOrange = { fg = C.peach },
		BlinkPairsGreen = { fg = C.green },
		BlinkPairsPurple = { fg = C.mauve },
		BlinkPairsCyan = { fg = C.teal },
		BlinkPairsUnmatched = { fg = C.red },
		BlinkPairsMatchParen = { link = "MatchParen" },
	}
end

return M


================================================
FILE: lua/catppuccin/groups/integrations/buffon.lua
================================================
local M = {}

M.url = "https://github.com/francescarpi/buffon.nvim"

function M.get()
	return {
		BuffonUnloadedBuffer = { fg = C.surface1 },
		BuffonShortcut = { fg = C.peach },
		BuffonLineActive = { fg = C.sapphire },
		BuffonUnsavedIndicator = { fg = C.red },
	}
end

return M


================================================
FILE: lua/catppuccin/groups/integrations/cmp.lua
================================================
local M = {}

M.url = "https://github.com/hrsh7th/nvim-cmp"

function M.get()
	return {
		CmpItemAbbr = { fg = C.overlay2 },
		CmpItemAbbrDeprecated = { fg = C.overlay0, style = { "strikethrough" } },
		CmpItemKind = { fg = C.blue },
		CmpItemMenu = { fg = C.text },
		CmpItemAbbrMatch = { fg = C.text, style = { "bold" } },
		CmpItemAbbrMatchFuzzy = { fg = C.text, style = { "bold" } },

		-- kind support
		CmpItemKindSnippet = { fg = C.mauve },
		CmpItemKindKeyword = { fg = C.red },
		CmpItemKindText = { fg = C.teal },
		CmpItemKindMethod = { fg = C.blue },
		CmpItemKindConstructor = { fg = C.blue },
		CmpItemKindFunction = { fg = C.blue },
		CmpItemKindFolder = { fg = C.blue },
		CmpItemKindModule = { fg = C.blue },
		CmpItemKindConstant = { fg = C.peach },
		CmpItemKindField = { fg = C.green },
		CmpItemKindProperty = { fg = C.green },
		CmpItemKindEnum = { fg = C.green },
		CmpItemKindUnit = { fg = C.green },
		CmpItemKindClass = { fg = C.yellow },
		CmpItemKindVariable = { fg = C.flamingo },
		CmpItemKindFile = { fg = C.blue },
		CmpItemKindInterface = { fg = C.yellow },
		CmpItemKindColor = { fg = C.red },
		CmpItemKindReference = { fg = C.red },
		CmpItemKindEnumMember = { fg = C.red },
		CmpItemKindStruct = { fg = C.blue },
		CmpItemKindValue = { fg = C.peach },
		CmpItemKindEvent = { fg = C.blue },
		CmpItemKindOperator = { fg = C.blue },
		CmpItemKindTypeParameter = { fg = C.blue },
		CmpItemKindCopilot = { fg = C.teal },
	}
end

return M


================================================
FILE: lua/catppuccin/groups/integrations/coc_nvim.lua
================================================
local M = {}

M.url = "https://github.com/neoclide/coc.nvim"

function M.get()
	return {
		-- These groups are for the coc.nvim, see ":h coc-highlights"
		-- Custom popup menu since coc v0.0.82
		CocMenuSel = { link = "PmenuSel" },
		CocPumSearch = { fg = C.sky, style = { "bold" } },

		-- Inlay hints
		CocInlayHint = {
			-- fg of `Comment`
			fg = C.overlay0,
			style = { "italic" },
		},
	}
end

return M


================================================
FILE: lua/catppuccin/groups/integrations/colorful_winsep.lua
================================================
local M = {}

M.url = "https://github.com/nvim-zh/colorful-winsep.nvim"

function M.get()
	return {
		ColorfulWinSep = {
			fg = C[O.integrations.colorful_winsep.color],
			bg = O.transparent_background and C.none or C.base,
		},
		NvimSeparator = { link = "ColorfulWinSep" },
	}
end

return M


================================================
FILE: lua/catppuccin/groups/integrations/copilot_vim.lua
================================================
local M = {}

M.url = "https://github.com/github/copilot.vim"

function M.get()
	return {
		CopilotSuggestion = { fg = C.overlay0 },
		CopilotAnnotation = { fg = C.blue },
	}
end

return M


================================================
FILE: lua/catppuccin/groups/integrations/dadbod_ui.lua
================================================
local M = {}

M.url = "https://github.com/kristijanhusak/vim-dadbod-ui"

function M.get()
	return {
		NotificationInfo = { fg = C.blue, bg = C.mantle },
		NotificationWarning = { fg = C.yellow, bg = C.mantle },
		NotificationError = { fg = C.red, bg = C.mantle },
	}
end

return M


================================================
FILE: lua/catppuccin/groups/integrations/dap.lua
================================================
local M = {}

M.url = "https://github.com/mfussenegger/nvim-dap"

function M.get()
	return {
		DapBreakpoint = { fg = C.red },
		DapBreakpointCondition = { fg = C.yellow },
		DapBreakpointRejected = { fg = C.mauve },
		DapLogPoint = { fg = C.sky },
		DapStopped = { fg = C.maroon },
	}
end

return M


================================================
FILE: lua/catppuccin/groups/integrations/dap_ui.lua
================================================
local M = {}

M.url = "https://github.com/rcarriga/nvim-dap-ui"

function M.get()
	return {
		DapUIScope = { fg = C.sky },
		DapUIType = { fg = C.mauve },
		DapUIValue = { fg = C.sky },
		DapUIVariable = { fg = C.text },
		DapUIModifiedValue = { fg = C.peach },
		DapUIDecoration = { fg = C.sky },
		DapUIThread = { fg = C.green },
		DapUIStoppedThread = { fg = C.sky },
		DapUISource = { fg = C.lavender },
		DapUILineNumber = { fg = C.sky },
		DapUIFloatBorder = { link = "FloatBorder" },

		DapUIWatchesEmpty = { fg = C.maroon },
		DapUIWatchesValue = { fg = C.green },
		DapUIWatchesError = { fg = C.maroon },

		DapUIBreakpointsPath = { fg = C.sky },
		DapUIBreakpointsInfo = { fg = C.green },
		DapUIBreakpointsCurrentLine = { fg = C.green, style = { "bold" } },
		DapUIBreakpointsDisabledLine = { fg = C.surface2 },

		DapUIStepOver = { fg = C.blue },
		DapUIStepOverNC = { link = "DapUIStepOver" },
		DapUIStepInto = { fg = C.blue },
		DapUIStepIntoNC = { link = "DapUIStepInto" },
		DapUIStepBack = { fg = C.blue },
		DapUIStepBackNC = { link = "DapUIStepBack" },
		DapUIStepOut = { fg = C.blue },
		DapUIStepOutNC = { link = "DapUIStepOut" },
		DapUIStop = { fg = C.red },
		DapUIStopNC = { link = "DapUIStop" },
		DapUIPlayPause = { fg = C.green },
		DapUIPlayPauseNC = { link = "DapUIPlayPause" },
		DapUIRestart = { fg = C.green },
		DapUIRestartNC = { link = "DapUIRestart" },
		DapUIUnavailable = { fg = C.surface1 },
		DapUIUnavailableNC = { link = "DapUIUnavailable" },

		DapUIWinSelect = { fg = C.peach },
	}
end

return M


================================================
FILE: lua/catppuccin/groups/integrations/dashboard.lua
================================================
local M = {}

M.url = "https://github.com/nvimdev/dashboard-nvim"

function M.get()
	return {
		DashboardShortCut = { fg = C.pink },
		DashboardHeader = { fg = C.blue },
		DashboardCenter = { fg = C.green },
		DashboardFooter = { fg = C.yellow, style = { "italic" } },
		DashboardMruTitle = { fg = C.sky },
		DashboardProjectTitle = { fg = C.sky },
		DashboardFiles = { fg = C.lavender },
		DashboardKey = { fg = C.peach },
		DashboardDesc = { fg = C.blue },
		DashboardIcon = { fg = C.pink, bold = true },
	}
end

return M


================================================
FILE: lua/catppuccin/groups/integrations/diffview.lua
================================================
local M = {}

M.url = "https://github.com/sindrets/diffview.nvim"

function M.get()
	return {
		DiffviewDim1 = { link = "Comment" },
		DiffviewPrimary = { fg = C.blue },
		DiffviewSecondary = { fg = C.green },
		DiffviewNormal = { fg = C.text, bg = O.transparent_background and C.none or C.mantle },
		DiffviewWinSeparator = {
			fg = O.transparent_background and C.surface1 or C.base,
			bg = O.transparent_background and C.none or C.base,
		},
		DiffviewFilePanelTitle = { fg = C.blue, style = { "bold" } },
		DiffviewFilePanelCounter = { fg = C.text },
		DiffviewFilePanelRootPath = { fg = C.lavender, style = { "bold" } },
		DiffviewFilePanelFileName = { fg = C.text },
		DiffviewFilePanelSelected = { fg = C.yellow },
		DiffviewFilePanelPath = { link = "Comment" },
		DiffviewFilePanelInsertions = { fg = C.green },
		DiffviewFilePanelDeletions = { fg = C.red },
		DiffviewFilePanelConflicts = { fg = C.yellow },
		DiffviewFolderName = { fg = C.blue, style = { "bold" } },
		DiffviewFolderSign = { fg = C.blue },
		DiffviewHash = { fg = C.flamingo },
		DiffviewReference = { fg = C.blue, style = { "bold" } },
		DiffviewReflogSelector = { fg = C.pink },
		DiffviewStatusAdded = { fg = C.green },
		DiffviewStatusUntracked = { fg = C.green },
		DiffviewStatusModified = { fg = C.yellow },
		DiffviewStatusRenamed = { fg = C.yellow },
		DiffviewStatusCopied = { fg = C.yellow },
		DiffviewStatusTypeChange = { fg = C.yellow },
		DiffviewStatusUnmerged = { fg = C.yellow },
		DiffviewStatusUnknown = { fg = C.red },
		DiffviewStatusDeleted = { fg = C.red },
		DiffviewStatusBroken = { fg = C.red },
		DiffviewStatusIgnored = { fg = C.overlay0 },
	}
end

return M


================================================
FILE: lua/catppuccin/groups/integrations/dropbar.lua
================================================
local M = {}

M.url = "https://github.com/Bekaboo/dropbar.nvim"

function M.get()
	local color = O.integrations.dropbar.color_mode
	return {
		DropBarMenuHoverEntry = { link = "Visual" },
		DropBarMenuHoverIcon = { reverse = true },
		DropBarMenuHoverSymbol = { bold = true },
		DropBarIconUISeparator = { fg = C.overlay1 },
		DropBarKindArray = color and { link = "DropBarIconKindArray" } or { fg = C.text },
		DropBarKindBoolean = color and { link = "DropBarIconKindBoolean" } or { fg = C.text },
		DropBarKindBreakStatement = color and { link = "DropBarIconKindBreakStatement" } or { fg = C.text },
		DropBarKindCall = color and { link = "DropBarIconKindCall" } or { fg = C.text },
		DropBarKindCaseStatement = color and { link = "DropBarIconKindCaseStatement" } or { fg = C.text },
		DropBarKindClass = color and { link = "DropBarIconKindClass" } or { fg = C.text },
		DropBarKindConstant = color and { link = "DropBarIconKindConstant" } or { fg = C.text },
		DropBarKindConstructor = color and { link = "DropBarIconKindConstructor" } or { fg = C.text },
		DropBarKindContinueStatement = color and { link = "DropBarIconKindContinueStatement" } or { fg = C.text },
		DropBarKindDeclaration = color and { link = "DropBarIconKindDeclaration" } or { fg = C.text },
		DropBarKindDelete = color and { link = "DropBarIconKindDelete" } or { fg = C.text },
		DropBarKindDoStatement = color and { link = "DropBarIconKindDoStatement" } or { fg = C.text },
		DropBarKindElseStatement = color and { link = "DropBarIconKindElseStatement" } or { fg = C.text },
		DropBarKindEnum = color and { link = "DropBarIconKindEnum" } or { fg = C.text },
		DropBarKindEnumMember = color and { link = "DropBarIconKindEnumMember" } or { fg = C.text },
		DropBarKindEvent = color and { link = "DropBarIconKindEvent" } or { fg = C.text },
		DropBarKindField = color and { link = "DropBarIconKindField" } or { fg = C.text },
		DropBarKindFile = color and { link = "DropBarIconKindFile" } or { fg = C.text },
		DropBarKindFolder = color and { link = "DropBarIconKindFolder" } or { fg = C.text },
		DropBarKindForStatement = color and { link = "DropBarIconKindForStatement" } or { fg = C.text },
		DropBarKindFunction = color and { link = "DropBarIconKindFunction" } or { fg = C.text },
		DropBarKindIdentifier = color and { link = "DropBarIconKindIdentifier" } or { fg = C.text },
		DropBarKindIfStatement = color and { link = "DropBarIconKindIfStatement" } or { fg = C.text },
		DropBarKindInterface = color and { link = "DropBarIconKindInterface" } or { fg = C.text },
		DropBarKindKeyword = color and { link = "DropBarIconKindKeyword" } or { fg = C.text },
		DropBarKindList = color and { link = "DropBarIconKindList" } or { fg = C.text },
		DropBarKindMacro = color and { link = "DropBarIconKindMacro" } or { fg = C.text },
		DropBarKindMarkdownH1 = color and { link = "DropBarIconKindMarkdownH1" } or { fg = C.text },
		DropBarKindMarkdownH2 = color and { link = "DropBarIconKindMarkdownH2" } or { fg = C.text },
		DropBarKindMarkdownH3 = color and { link = "DropBarIconKindMarkdownH3" } or { fg = C.text },
		DropBarKindMarkdownH4 = color and { link = "DropBarIconKindMarkdownH4" } or { fg = C.text },
		DropBarKindMarkdownH5 = color and { link = "DropBarIconKindMarkdownH5" } or { fg = C.text },
		DropBarKindMarkdownH6 = color and { link = "DropBarIconKindMarkdownH6" } or { fg = C.text },
		DropBarKindMethod = color and { link = "DropBarIconKindMethod" } or { fg = C.text },
		DropBarKindModule = color and { link = "DropBarIconKindModule" } or { fg = C.text },
		DropBarKindNamespace = color and { link = "DropBarIconKindNamespace" } or { fg = C.text },
		DropBarKindNull = color and { link = "DropBarIconKindNull" } or { fg = C.text },
		DropBarKindNumber = color and { link = "DropBarIconKindNumber" } or { fg = C.text },
		DropBarKindObject = color and { link = "DropBarIconKindObject" } or { fg = C.text },
		DropBarKindOperator = color and { link = "DropBarIconKindOperator" } or { fg = C.text },
		DropBarKindPackage = color and { link = "DropBarIconKindPackage" } or { fg = C.text },
		DropBarKindProperty = color and { link = "DropBarIconKindProperty" } or { fg = C.text },
		DropBarKindReference = color and { link = "DropBarIconKindReference" } or { fg = C.text },
		DropBarKindRepeat = color and { link = "DropBarIconKindRepeat" } or { fg = C.text },
		DropBarKindScope = color and { link = "DropBarIconKindScope" } or { fg = C.text },
		DropBarKindSpecifier = color and { link = "DropBarIconKindSpecifier" } or { fg = C.text },
		DropBarKindStatement = color and { link = "DropBarIconKindStatement" } or { fg = C.text },
		DropBarKindString = color and { link = "DropBarIconKindString" } or { fg = C.text },
		DropBarKindStruct = color and { link = "DropBarIconKindStruct" } or { fg = C.text },
		DropBarKindSwitchStatement = color and { link = "DropBarIconKindSwitchStatement" } or { fg = C.text },
		DropBarKindType = color and { link = "DropBarIconKindType" } or { fg = C.text },
		DropBarKindTypeParameter = color and { link = "DropBarIconKindTypeParameter" } or { fg = C.text },
		DropBarKindUnit = color and { link = "DropBarIconKindUnit" } or { fg = C.text },
		DropBarKindValue = color and { link = "DropBarIconKindValue" } or { fg = C.text },
		DropBarKindVariable = color and { link = "DropBarIconKindVariable" } or { fg = C.text },
		DropBarKindWhileStatement = color and { link = "DropBarIconKindWhileStatement" } or { fg = C.text },
	}
end

return M


================================================
FILE: lua/catppuccin/groups/integrations/fern.lua
================================================
local M = {}

M.url = "https://github.com/lambdalisue/vim-fern"

function M.get()
	return {
		FernBranchText = { fg = C.blue },
	}
end

return M


================================================
FILE: lua/catppuccin/groups/integrations/fidget.lua
================================================
local M = {}

M.url = "https://github.com/j-hui/fidget.nvim"

function M.get()
	return {
		FidgetTask = {
			bg = O.transparent_background and C.none or C.mantle,
			fg = C.text,
		},
		FidgetTitle = { fg = C.blue },
	}
end

return M


================================================
FILE: lua/catppuccin/groups/integrations/flash.lua
================================================
local M = {}

M.url = "https://github.com/folke/flash.nvim"

function M.get()
	local bg = O.transparent_background and C.none or C.base
	return {
		FlashBackdrop = { fg = C.overlay0 },
		FlashLabel = { fg = C.green, bg = bg, style = { "bold" } },
		FlashMatch = { fg = C.lavender, bg = bg },
		FlashCurrent = { fg = C.peach, bg = bg },
		FlashPrompt = { link = "NormalFloat" },
	}
end

return M


================================================
FILE: lua/catppuccin/groups/integrations/fzf.lua
================================================
local M = {}

M.url = "https://github.com/ibhagwan/fzf-lua"

function M.get()
	return {
		FzfLuaNormal = { link = "NormalFloat" },
		FzfLuaBorder = { link = "FloatBorder" },
		FzfLuaTitle = { link = "FloatTitle" },
		FzfLuaHeaderBind = { fg = C.yellow },
		FzfLuaHeaderText = { fg = C.peach },
		FzfLuaDirPart = { link = "NonText" },
		FzfLuaFzfMatch = { fg = C.blue },
		FzfLuaFzfPrompt = { fg = C.blue },
		FzfLuaPathColNr = { fg = C.blue },
		FzfLuaPathLineNr = { fg = C.green },
		FzfLuaBufName = { fg = C.mauve },
		FzfLuaBufNr = { fg = C.yellow },
		FzfLuaBufFlagCur = { fg = C.peach },
		FzfLuaBufFlagAlt = { fg = C.blue },
		FzfLuaTabTitle = { fg = C.sky },
		FzfLuaTabMarker = { fg = C.yellow },
		FzfLuaLiveSym = { fg = C.peach },
	}
end

return M


================================================
FILE: lua/catppuccin/groups/integrations/gitgraph.lua
================================================
local M = {}

M.url = "https://github.com/isakbm/gitgraph.nvim"

function M.get()
	return {
		GitGraphHash = { fg = C.mauve },
		GitGraphTimestamp = { fg = C.lavender },
		GitGraphAuthor = { fg = C.flamingo },
		GitGraphBranchName = { fg = C.teal },
		GitGraphBranchTag = { fg = C.pink },
		GitGraphBranchMsg = { fg = C.overlay2 },
		GitGraphBranch1 = { fg = C.yellow },
		GitGraphBranch2 = { fg = C.pink },
		GitGraphBranch3 = { fg = C.sky },
		GitGraphBranch4 = { fg = C.green },
		GitGraphBranch5 = { fg = C.red },
	}
end

return M


================================================
FILE: lua/catppuccin/groups/integrations/gitgutter.lua
================================================
local M = {}

M.url = "https://github.com/airblade/vim-gitgutter"

function M.get()
	return {
		GitGutterAdd = { fg = C.green },
		GitGutterChange = { fg = C.yellow },
		GitGutterDelete = { fg = C.red },
		GitGutterAddLineNr = { fg = C.green },
		GitGutterChangeLineNr = { fg = C.yellow },
		GitGutterDeleteLineNr = { fg = C.red },
	}
end

return M


================================================
FILE: lua/catppuccin/groups/integrations/gitsigns.lua
================================================
local M = {}

M.url = "https://github.com/lewis6991/gitsigns.nvim"

function M.get()
	-- (a ~= nil) and a or b: Potential false-negative handling
	local transparent = O.transparent_background
	if type(O.integrations.gitsigns.transparent) == "boolean" then transparent = O.integrations.gitsigns.transparent end

	if transparent then
		return {
			GitSignsAdd = { fg = C.green }, -- diff mode: Added line |diff.txt|
			GitSignsChange = { fg = C.yellow }, -- diff mode: Changed line |diff.txt|
			GitSignsDelete = { fg = C.red }, -- diff mode: Deleted line |diff.txt|

			GitSignsCurrentLineBlame = { fg = C.surface1 },

			GitSignsAddPreview = { fg = C.green, bg = C.none },
			GitSignsDeletePreview = { fg = C.red, bg = C.none },

			-- for word diff in previews
			GitSignsAddInline = { fg = C.base, bg = C.green, style = { "bold" } },
			GitSignsDeleteInline = { fg = C.base, bg = C.red, style = { "bold" } },
			GitSignsChangeInline = { fg = C.base, bg = C.blue, style = { "bold" } },

			GitSignsDeleteVirtLn = { bg = C.none, fg = C.red },
		}
	else
		return {
			GitSignsAdd = { fg = C.green }, -- diff mode: Added line |diff.txt|
			GitSignsChange = { fg = C.yellow }, -- diff mode: Changed line |diff.txt|
			GitSignsDelete = { fg = C.red }, -- diff mode: Deleted line |diff.txt|

			GitSignsCurrentLineBlame = { fg = C.surface1 },

			GitSignsAddPreview = { link = "DiffAdd" },
			GitSignsDeletePreview = { link = "DiffDelete" },

			GitSignsAddInline = { bg = U.darken(C.green, 0.36, C.base) },
			GitSignsChangeInline = { bg = U.darken(C.blue, 0.14, C.base) },
			GitSignsDeleteInline = { bg = U.darken(C.red, 0.36, C.base) },
		}
	end
end

return M


================================================
FILE: lua/catppuccin/groups/integrations/grug_far.lua
================================================
local M = {}

M.url = "https://github.com/MagicDuck/grug-far.nvim"

function M.get()
	return {
		GrugFarResultsMatch = { link = "IncSearch" },
	}
end

return M


================================================
FILE: lua/catppuccin/groups/integrations/harpoon.lua
================================================
local M = {}

M.url = "https://github.com/ThePrimeagen/harpoon"

function M.get()
	return {
		HarpoonWindow = { fg = C.text, bg = O.transparent_background and C.none or C.base },
		HarpoonBorder = { fg = C.blue },
	}
end

return M


================================================
FILE: lua/catppuccin/groups/integrations/headlines.lua
================================================
local M = {}

M.url = "https://github.com/lukas-reineke/headlines.nvim"

function M.get()
	return {
		Dash = { fg = C.overlay2, style = { "bold" } },
		Quote = { link = "@markup.strong" },
		CodeBlock = { bg = C.mantle },
		Headline = { link = "Headline1" },
		Headline1 = { bg = C.surface0, fg = C.red },
		Headline2 = { bg = C.surface0, fg = C.peach },
		Headline3 = { bg = C.surface0, fg = C.yellow },
		Headline4 = { bg = C.surface0, fg = C.green },
		Headline5 = { bg = C.surface0, fg = C.sapphire },
		Headline6 = { bg = C.surface0, fg = C.lavender },
	}
end

return M


================================================
FILE: lua/catppuccin/groups/integrations/hop.lua
================================================
local M = {}

M.url = "https://github.com/hadronized/hop.nvim"

function M.get()
	local bg = O.transparent_background and C.none or C.base
	return {
		HopNextKey = { bg = bg, fg = C.peach, style = { "bold", "underline" } },
		HopNextKey1 = { bg = bg, fg = C.blue, style = { "bold" } },
		HopNextKey2 = { bg = bg, fg = C.teal, style = { "bold", "italic" } },
		HopUnmatched = { bg = bg, fg = C.overlay0 },
	}
end

return M


================================================
FILE: lua/catppuccin/groups/integrations/illuminate.lua
================================================
local M = {}

M.url = "https://github.com/RRethy/vim-illuminate"

function M.get()
	return {
		IlluminatedWordText = { bg = U.darken(C.surface1, 0.7, C.base) },
		IlluminatedWordRead = { bg = U.darken(C.surface1, 0.7, C.base) },
		IlluminatedWordWrite = {
			bg = U.darken(C.surface1, 0.7, C.base),
			style = O.integrations.illuminate.lsp and { "standout" } or {},
		},
	}
end

return M


================================================
FILE: lua/catppuccin/groups/integrations/indent_blankline.lua
================================================
local M = {}

M.url = "https://github.com/lukas-reineke/indent-blankline.nvim"

function M.get()
	local scope_color = O.integrations.indent_blankline.scope_color

	local hi = {
		IblIndent = { fg = C.surface0 },
		IblScope = { fg = C[scope_color] or C.text },
	}

	if O.integrations.indent_blankline.colored_indent_levels then
		hi["RainbowRed"] = { blend = 0, fg = C.red }
		hi["RainbowYellow"] = { blend = 0, fg = C.yellow }
		hi["RainbowBlue"] = { blend = 0, fg = C.blue }
		hi["RainbowOrange"] = { blend = 0, fg = C.peach }
		hi["RainbowGreen"] = { blend = 0, fg = C.green }
		hi["RainbowViolet"] = { blend = 0, fg = C.mauve }
		hi["RainbowCyan"] = { blend = 0, fg = C.teal }
	end

	return hi
end

return M


================================================
FILE: lua/catppuccin/groups/integrations/leap.lua
================================================
local M = {}

M.url = "https://github.com/ggandor/leap.nvim"

function M.get()
	return {
		LeapMatch = {
			fg = O.transparent_background and C.pink or U.vary_color({ latte = "#222222" }, U.brighten(C.green, 0.3)),
			style = { "underline", "nocombine", O.transparent_background and "bold" or nil },
		},
		LeapLabel = {
			fg = O.transparent_background and C.green or U.vary_color({ latte = "#222222" }, C.base),
			bg = O.transparent_background and C.none
				or U.vary_color({ latte = U.brighten(C.red, 0.4) }, U.brighten(C.green, 0.3)),
			style = { "nocombine", O.transparent_background and "bold" or nil },
		},
		LeapBackdrop = { fg = O.transparent_background and C.overlay0 or C.none },
	}
end

return M


================================================
FILE: lua/catppuccin/groups/integrations/lightspeed.lua
================================================
local M = {}

M.url = "https://github.com/ggandor/lightspeed.nvim"

function M.get()
	return {
		LightspeedLabel = { fg = C.red, style = { "bold", "underline" } },
		LightspeedLabelDistant = {
			fg = U.vary_color({ latte = C.blue }, C.sky),
			style = { "bold", "underline" },
		},
		LightspeedShortcut = {
			fg = "#ffffff",
			bg = U.increase_saturation(C.red, 0.7),
			style = { "bold" },
		},
		LightspeedMaskedChar = {
			fg = U.vary_color({ latte = U.lighten(C.pink, 0.7, C.text) }, U.darken(C.pink, 0.7, C.base)),
		},
		LightspeedUnlabeledMatch = { fg = C.text, style = { "bold" } },
		LightspeedGreyWash = { link = "Comment" },
		LightspeedUniqueChar = { link = "LightspeedUnlabeledMatch" },
		LightspeedOneCharMatch = { link = "LightspeedShortcut" },
		LightspeedPendingOpArea = { link = "IncSearch" },
		LightspeedCursor = { link = "Cursor" },
	}
end

return M


================================================
FILE: lua/catppuccin/groups/integrations/lir.lua
================================================
local M = {}

M.url = "https://github.com/tamago324/lir.nvim"

function M.get()
	return vim.tbl_deep_extend("force", {}, {
		LirFloatNormal = { fg = C.text, bg = O.transparent_background and C.none or C.mantle },
		LirFloatBorder = {
			fg = O.transparent_background and C.surface1 or C.base,
			bg = O.transparent_background and C.none or C.base,
		},
		LirFloatCursorLine = { link = "CursorLine" },
		LirDir = { fg = C.blue },
		LirSymLink = { fg = C.pink },
		LirEmptyDirText = { fg = C.blue },
		LirFloatCurdirWindowNormal = { fg = C.text },
		LirFloatCurdirWindowDirName = { fg = C.lavender, style = { "bold" } },
	}, ((O.integrations.lir and O.integrations.lir.git_status) and {
		LirGitStatusBracket = { fg = C.overlay0 },
		LirGitStatusIndex = { fg = C.blue },
		LirGitStatusWorktree = { fg = C.yellow },
		LirGitStatusUnmerged = { fg = C.red },
		LirGitStatusUntracked = { fg = C.subtext0 },
		LirGitStatusIgnored = { fg = C.subtext0 },
	}) or {})
end

return M


================================================
FILE: lua/catppuccin/groups/integrations/lsp_saga.lua
================================================
local M = {}

M.url = "https://github.com/nvimdev/lspsaga.nvim"

function M.get()
	return {
		SagaTitle = { fg = C.teal, style = { "bold" } },
		SagaBorder = { fg = C.blue, bg = C.none },
		SagaNormal = { bg = O.transparent_background and C.none or C.base },
		SagaToggle = { fg = C.green },
		SagaCount = { fg = C.overlay1 },
		SagaBeacon = { bg = U.darken(C.surface0, 0.8, C.crust) },
		SagaVirtLine = { fg = C.surface2 },
		SagaSpinner = { fg = C.mauve, style = { "bold" } },
		SagaSpinnerTitle = { fg = C.mauve, style = { "bold" } },
		SagaText = { fg = C.text },
		SagaSelect = { fg = C.blue, style = { "bold" } },
		SagaSearch = { link = "Search" },
		SagaFinderFname = { fg = C.subtext0, style = { "bold" } },
		ActionFix = { fg = C.pink },
		ActionPreviewTitle = { fg = C.mauve, bg = O.transparent_background and C.none or C.base },
		CodeActionText = { fg = C.green },
		CodeActionNumber = { fg = C.pink },
		SagaImpIcon = { fg = C.pink },
		SagaLightBulb = { link = "DiagnosticSignHint" },
		RenameNormal = { fg = C.text },
		RenameMatch = { link = "Search" },
		DiagnosticText = { fg = C.text },
		SagaWinbarSep = { fg = C.flamingo },
		SagaDetail = { link = "Comment" },
		SagaFileName = { fg = C.overlay2, style = { "bold" } },
		SagaFolderName = { fg = C.overlay2, style = { "bold" } },
		SagaInCurrent = { fg = C.peach },

		-- Lspkind icons support
		LspKindClass = { fg = C.yellow },
		LspKindConstant = { fg = C.peach },
		LspKindConstructor = { fg = C.sapphire },
		LspKindEnum = { fg = C.yellow },
		LspKindEnumMember = { fg = C.teal },
		LspKindEvent = { fg = C.yellow },
		LspKindField = { fg = C.teal },
		LspKindFile = { fg = C.rosewater },
		LspKindFunction = { fg = C.blue },
		LspKindInterface = { fg = C.yellow },
		LspKindKey = { fg = C.red },
		LspKindMethod = { fg = C.blue },
		LspKindModule = { fg = C.blue },
		LspKindNamespace = { fg = C.blue },
		LspKindNumber = { fg = C.peach },
		LspKindOperator = { fg = C.sky },
		LspKindPackage = { fg = C.blue },
		LspKindProperty = { fg = C.teal },
		LspKindStruct = { fg = C.yellow },
		LspKindTypeParameter = { fg = C.blue },
		LspKindVariable = { fg = C.peach },
		LspKindArray = { fg = C.peach },
		LspKindBoolean = { fg = C.peach },
		LspKindNull = { fg = C.yellow },
		LspKindObject = { fg = C.yellow },
		LspKindString = { fg = C.green },
		-- ccls-specific icons.
		LspKindTypeAlias = { fg = C.green },
		LspKindParameter = { fg = C.blue },
		LspKindStaticMethod = { fg = C.peach },
		-- Microsoft-specific icons.
		LspKindText = { fg = C.green },
		LspKindSnippet = { fg = C.mauve },
		LspKindFolder = { fg = C.blue },
		LspKindUnit = { fg = C.green },
		LspKindValue = { fg = C.peach },
	}
end

function M.custom_kind()
	return {
		File = { "󰈙 ", "LspKindFile" },
		Module = { " ", "LspKindModule" },
		Namespace = { "󰌗 ", "LspKindNamespace" },
		Package = { "󰏖 ", "LspKindPackage" },
		Class = { "󰌗 ", "LspKindClass" },
		Method = { " ", "LspKindMethod" },
		Property = { "󰆧 ", "LspKindProperty" },
		Field = { " ", "LspKindField" },
		Constructor = { " ", "LspKindConstructor" },
		Enum = { "󰒻", "LspKindEnum" },
		Interface = { " ", "LspKindInterface" },
		Function = { "󰊕 ", "LspKindFunction" },
		Variable = { " ", "LspKindVariable" },
		Constant = { " ", "LspKindConstant" },
		String = { "󰀬 ", "LspKindString" },
		Number = { "󰎠 ", "LspKindNumber" },
		Boolean = { " ", "LspKindBoolean" },
		Array = { "󰅪 ", "LspKindArray" },
		Object = { "󰅩 ", "LspKindObject" },
		Key = { "󰌋 ", "LspKindKey" },
		Null = { " ", "LspKindNull" },
		EnumMember = { " ", "LspKindEnumMember" },
		Struct = { "󰌗 ", "LspKindStruct" },
		Event = { " ", "LspKindEvent" },
		Operator = { "󰆕 ", "LspKindOperator" },
		TypeParameter = { "󰊄 ", "LspKindTypeParameter" },
		TypeAlias = { " ", "LspKindTypeAlias" },
		Parameter = { " ", "LspKindParameter" },
		StaticMethod = { "󰠄 ", "LspKindStaticMethod" },
		Macro = { " ", "LspKindMacro" },
		Text = { "󰉿 ", "LspKindText" },
		Snippet = { " ", "LspKindSnippet" },
		Folder = { " ", "LspKindFolder" },
		Unit = { "󰉻 ", "LspKindUnit" },
		Value = { " ", "LspKindValue" },
	}
end

-- Backwards compatibility
function M.custom_colors()
	local C = require("catppuccin.palettes").get_palette()
	return {
		normal_bg = C.base,
		title_bg = C.green,
		red = C.red,
		magenta = C.maroon,
		orange = C.peach,
		yellow = C.yellow,
		green = C.green,
		cyan = C.sky,
		blue = C.blue,
		purple = C.mauve,
		white = C.text,
		black = C.crust,
	}
end

return M


================================================
FILE: lua/catppuccin/groups/integrations/lsp_trouble.lua
================================================
local M = {}

M.url = "https://github.com/folke/trouble.nvim"

function M.get()
	return {
		TroubleText = { fg = C.green },
		TroubleCount = { fg = C.pink, bg = O.transparent_background and C.none or C.surface1 },
		TroubleNormal = { fg = C.text, bg = O.transparent_background and C.none or C.crust },
		TroubleNormalNC = { link = "TroubleNormal" },
	}
end

return M


================================================
FILE: lua/catppuccin/groups/integrations/markview.lua
================================================
local M = {}

M.url = "https://github.com/OXY2DEV/markview.nvim"

-- markview.nvim highlight groups:
-- https://github.com/OXY2DEV/markview.nvim#-highlight-groups

function M.get()
	local darkening_percentage = O.transparent_background and U.vary_color({ latte = 0.15 }, 0.28) or 0.095

	local blockquote_bg = not O.transparent_background and C.mantle or nil

	local groups = {
		MarkviewBlockQuoteDefault = { fg = C.overlay2, bg = C.mantle },
		MarkviewBlockQuoteError = { fg = C.red, bg = U.darken(C.red, darkening_percentage, blockquote_bg) },
		MarkviewBlockQuoteNote = { fg = C.blue, bg = U.darken(C.blue, darkening_percentage, blockquote_bg) },
		MarkviewBlockQuoteOk = { fg = C.green, bg = U.darken(C.green, darkening_percentage, blockquote_bg) },
		MarkviewBlockQuoteSpecial = { fg = C.mauve, bg = U.darken(C.pink, darkening_percentage, blockquote_bg) },
		MarkviewBlockQuoteWarn = { fg = C.yellow, bg = U.darken(C.yellow, darkening_percentage, blockquote_bg) },

		MarkviewHyperlink = { link = "@markup.link.url" },

		MarkviewCode = { bg = C.mantle },
		MarkviewCodeFg = { fg = C.mantle },
		MarkviewCodeInfo = { fg = C.overlay2, bg = C.mantle },
		MarkviewInlineCode = { bg = C.surface0 },

		MarkviewTableHeader = { fg = C.blue },
	}

	local rainbow = {
		[0] = C.overlay2,
		[7] = C.mauve,
	}

	local syntax = require("catppuccin.groups.syntax").get()

	for i = 0, 7 do
		local color = rainbow[i] or syntax["rainbow" .. i].fg
		local bg = U.darken(color, darkening_percentage, C.base)
		groups["MarkviewPalette" .. i] = { fg = color, bg = bg }
		groups["MarkviewPalette" .. i .. "Fg"] = { fg = color }
		groups["MarkviewPalette" .. i .. "Bg"] = { bg = bg }
		groups["MarkviewIcon" .. i] = { fg = color, bg = C.mantle }
	end

	return groups
end

return M


================================================
FILE: lua/catppuccin/groups/integrations/mason.lua
================================================
local M = {}

M.url = "https://github.com/mason-org/mason.nvim"

function M.get()
	local bg = O.transparent_background and C.none or C.lavender
	local fg = O.transparent_background and C.lavender or C.base

	local secondary_bg = O.transparent_background and C.none or C.blue
	local secondary_fg = O.transparent_background and C.blue or C.base

	local muted_bg = O.transparent_background and C.none or C.overlay0
	local muted_fg = O.transparent_background and C.overlay0 or C.base

	return {
		MasonHeader = { fg = fg, bg = bg, style = { "bold" } },
		MasonHeaderSecondary = { fg = secondary_fg, bg = secondary_bg, style = { "bold" } },

		MasonHighlight = { fg = C.green },
		MasonHighlightBlock = {
			bg = O.transparent_background and C.none or C.green,
			fg = O.transparent_background and C.green or C.base,
		},
		MasonHighlightBlockBold = { bg = secondary_bg, fg = secondary_fg, bold = true },

		MasonHighlightSecondary = { fg = C.mauve },
		MasonHighlightBlockSecondary = { fg = secondary_fg, bg = secondary_bg },
		MasonHighlightBlockBoldSecondary = { fg = fg, bg = bg, bold = true },

		MasonMuted = { fg = C.overlay0 },
		MasonMutedBlock = { bg = muted_bg, fg = muted_fg },
		MasonMutedBlockBold = { bg = C.yellow, fg = C.base, bold = true },

		MasonError = { fg = C.red },

		MasonHeading = { fg = C.lavender, bold = true },
	}
end

return M


================================================
FILE: lua/catppuccin/groups/integrations/mini.lua
================================================
local M = {}

M.url = "https://github.com/echasnovski/mini.nvim"

function M.get()
	local transparent_background = require("catppuccin").options.transparent_background
	local bg_highlight = transparent_background and "NONE" or C.base

	local inactive_bg = transparent_background and "NONE" or C.mantle

	local indentscope_color = O.integrations.mini.indentscope_color
	return {
		MiniAnimateCursor = { style = { "reverse", "nocombine" } },
		MiniAnimateNormalFloat = { link = "NormalFloat" },

		MiniClueBorder = { link = "FloatBorder" },
		MiniClueDescGroup = { link = "DiagnosticFloatingWarn" },
		MiniClueDescSingle = { link = "NormalFloat" },
		MiniClueNextKey = { link = "DiagnosticFloatingHint" },
		MiniClueNextKeyWithPostkeys = { link = "DiagnosticFloatingError" },
		MiniClueSeparator = { link = "DiagnosticFloatingInfo" },
		MiniClueTitle = { link = "FloatTitle" },

		MiniCompletionActiveParameter = { style = { "underline" } },

		MiniCursorword = { style = { "underline" } },
		MiniCursorwordCurrent = { style = { "underline" } },

		MiniDepsChangeAdded = { link = "diffAdded" },
		MiniDepsChangeRemoved = { link = "diffRemoved" },
		MiniDepsHint = { link = "DiagnosticHint" },
		MiniDepsInfo = { link = "DiagnosticInfo" },
		MiniDepsMsgBreaking = { link = "DiagnosticWarn" },
		MiniDepsPlaceholder = { link = "Comment" },
		MiniDepsTitle = { link = "Title" },
		MiniDepsTitleError = { bg = C.red, fg = C.base },
		MiniDepsTitleSame = { link = "DiffText" },
		MiniDepsTitleUpdate = { bg = C.green, fg = C.base },

		MiniDiffSignAdd = { fg = C.green },
		MiniDiffSignChange = { fg = C.yellow },
		MiniDiffSignDelete = { fg = C.red },
		MiniDiffOverAdd = { link = "DiffAdd" },
		MiniDiffOverChange = { link = "DiffText" },
		MiniDiffOverContext = { link = "DiffChange" },
		MiniDiffOverDelete = { link = "DiffDelete" },

		MiniFilesBorder = { link = "FloatBorder" },
		MiniFilesBorderModified = { link = "DiagnosticFloatingWarn" },
		MiniFilesCursorLine = { link = "CursorLine" },
		MiniFilesDirectory = { link = "Directory" },
		MiniFilesFile = { fg = C.text },
		MiniFilesNormal = { link = "NormalFloat" },
		MiniFilesTitle = { link = "FloatTitle" },
		MiniFilesTitleFocused = O.float.solid and {
			fg = C.crust,
			bg = C.mauve,
		} or {
			fg = C.subtext0,
			bg = (O.float.transparent and vim.o.winblend == 0) and C.none or C.mantle,
			style = { "bold" },
		},

		MiniHipatternsFixme = { fg = C.base, bg = C.red, style = { "bold" } },
		MiniHipatternsHack = { fg = C.base, bg = C.yellow, style = { "bold" } },
		MiniHipatternsNote = { fg = C.base, bg = C.sky, style = { "bold" } },
		MiniHipatternsTodo = { fg = C.base, bg = C.teal, style = { "bold" } },

		MiniIconsAzure = { fg = C.sapphire },
		MiniIconsBlue = { fg = C.blue },
		MiniIconsCyan = { fg = C.teal },
		MiniIconsGreen = { fg = C.green },
		MiniIconsGrey = { fg = C.text },
		MiniIconsOrange = { fg = C.peach },
		MiniIconsPurple = { fg = C.mauve },
		MiniIconsRed = { fg = C.red },
		MiniIconsYellow = { fg = C.yellow },

		MiniIndentscopeSymbol = { fg = C[indentscope_color] or C.overlay2 },

		MiniJump = { fg = C.overlay2, bg = C.pink },

		MiniJump2dDim = { fg = C.overlay0 },
		MiniJump2dSpot = { bg = C.base, fg = C.peach, style = { "bold", "underline" } },
		MiniJump2dSpotAhead = { bg = C.dim, fg = C.teal },
		MiniJump2dSpotUnique = { bg = C.base, fg = C.sky, style = { "bold" } },

		MiniMapNormal = { link = "NormalFloat" },
		MiniMapSymbolCount = { link = "Special" },
		MiniMapSymbolLine = { link = "Title" },
		MiniMapSymbolView = { link = "Delimiter" },

		MiniNotifyBorder = { link = "FloatBorder" },
		MiniNotifyNormal = { link = "NormalFloat" },
		MiniNotifyTitle = { link = "FloatTitle" },

		MiniOperatorsExchangeFrom = { link = "IncSearch" },

		MiniPickBorder = { link = "FloatBorder" },
		MiniPickBorderBusy = { link = "DiagnosticFloatingWarn" },
		MiniPickBorderText = O.float.solid and {
			fg = C.crust,
			bg = C.mauve,
		} or { fg = C.mauve, bg = (O.float.transparent and vim.o.winblend == 0) and C.none or C.mantle },
		MiniPickIconDirectory = { link = "Directory" },
		MiniPickIconFile = { link = "MiniPickNormal" },
		MiniPickHeader = { link = "DiagnosticFloatingHint" },
		MiniPickMatchCurrent = {
			fg = C.flamingo,
			bg = C.surface0,
			style = { "bold" },
		},
		MiniPickMatchMarked = { link = "Visual" },
		MiniPickMatchRanges = { link = "DiagnosticFloatingHint" },
		MiniPickNormal = { link = "NormalFloat" },
		MiniPickPreviewLine = { link = "CursorLine" },
		MiniPickPreviewRegion = { link = "IncSearch" },
		MiniPickPrompt = { fg = C.text, bg = O.float.transparent and C.none or C.mantle },
		MiniPickPromptCaret = {
			fg = C.flamingo,
			bg = O.float.transparent and C.none or C.mantle,
		},
		MiniPickPromptPrefix = {
			fg = C.flamingo,
			bg = O.float.transparent and C.none or C.mantle,
		},

		MiniStarterCurrent = {},
		MiniStarterFooter = { fg = C.yellow, style = { "italic" } },
		MiniStarterHeader = { fg = C.blue },
		MiniStarterInactive = { fg = C.surface2, style = O.styles.comments },
		MiniStarterItem = { fg = C.text },
		MiniStarterItemBullet = { fg = C.blue },
		MiniStarterItemPrefix = { fg = C.pink },
		MiniStarterSection = { fg = C.flamingo },
		MiniStarterQuery = { fg = C.green },

		MiniStatuslineDevinfo = { fg = C.subtext1, bg = C.surface1 },
		MiniStatuslineFileinfo = { fg = C.subtext1, bg = C.surface1 },
		MiniStatuslineFilename = { fg = C.text, bg = C.mantle },
		MiniStatuslineInactive = { fg = C.blue, bg = C.mantle },
		MiniStatuslineModeCommand = { fg = C.base, bg = C.peach, style = { "bold" } },
		MiniStatuslineModeInsert = { fg = C.base, bg = C.green, style = { "bold" } },
		MiniStatuslineModeNormal = { fg = C.mantle, bg = C.blue, style = { "bold" } },
		MiniStatuslineModeOther = { fg = C.base, bg = C.teal, style = { "bold" } },
		MiniStatuslineModeReplace = { fg = C.base, bg = C.red, style = { "bold" } },
		MiniStatuslineModeVisual = { fg = C.base, bg = C.mauve, style = { "bold" } },

		MiniSurround = { bg = C.pink, fg = C.surface1 },

		MiniTablineCurrent = { fg = C.text, bg = C.base, sp = C.red, style = { "bold", "italic", "underline" } },
		MiniTablineFill = { bg = bg_highlight },
		MiniTablineHidden = { fg = C.text, bg = inactive_bg },
		MiniTablineModifiedCurrent = { fg = C.red, bg = C.none, style = { "bold", "italic" } },
		MiniTablineModifiedHidden = { fg = C.red, bg = C.none },
		MiniTablineModifiedVisible = { fg = C.red, bg = C.none },
		MiniTablineTabpagesection = { fg = C.surface1, bg = C.base },
		MiniTablineVisible = { bg = C.none },

		MiniTestEmphasis = { style = { "bold" } },
		MiniTestFail = { fg = C.red, style = { "bold" } },
		MiniTestPass = { fg = C.green, style = { "bold" } },

		MiniTrailspace = { bg = C.red },
	}
end

return M


================================================
FILE: lua/catppuccin/groups/integrations/navic.lua
================================================
local M = {}

M.url = "https://github.com/SmiteshP/nvim-navic"

function M.get()
	local background = O.integrations.navic.custom_bg and O.integrations.navic.custom_bg or C.none
	if O.integrations.navic.custom_bg == "lualine" then background = C.mantle end

	return {
		NavicIconsFile = { fg = C.blue, bg = background },
		NavicIconsModule = { fg = C.blue, bg = background },
		NavicIconsNamespace = { fg = C.blue, bg = background },
		NavicIconsPackage = { fg = C.blue, bg = background },
		NavicIconsClass = { fg = C.yellow, bg = background },
		NavicIconsMethod = { fg = C.blue, bg = background },
		NavicIconsProperty = { fg = C.green, bg = background },
		NavicIconsField = { fg = C.green, bg = background },
		NavicIconsConstructor = { fg = C.blue, bg = background },
		NavicIconsEnum = { fg = C.green, bg = background },
		NavicIconsInterface = { fg = C.yellow, bg = background },
		NavicIconsFunction = { fg = C.blue, bg = background },
		NavicIconsVariable = { fg = C.flamingo, bg = background },
		NavicIconsConstant = { fg = C.peach, bg = background },
		NavicIconsString = { fg = C.green, style = O.styles.strings, bg = background },
		NavicIconsNumber = { fg = C.peach, bg = background },
		NavicIconsBoolean = { fg = C.peach, bg = background },
		NavicIconsArray = { fg = C.peach, bg = background },
		NavicIconsObject = { fg = C.peach, bg = background },
		NavicIconsKey = { fg = C.pink, style = O.styles.keywords, bg = background },
		NavicIconsNull = { fg = C.peach, bg = background },
		NavicIconsEnumMember = { fg = C.red, bg = background },
		NavicIconsStruct = { fg = C.blue, bg = background },
		NavicIconsEvent = { fg = C.blue, bg = background },
		NavicIconsOperator = { fg = C.sky, bg = background },
		NavicIconsTypeParameter = { fg = C.blue, bg = background },
		NavicText = { fg = C.sapphire, bg = background },
		NavicSeparator = { fg = C.text, bg = background },
	}
end

return M


================================================
FILE: lua/catppuccin/groups/integrations/neogit.lua
================================================
local M = {}

M.url = "https://github.com/NeogitOrg/neogit"

function M.get()
	return {
		NeogitBranch = {
			fg = C.peach,
			style = { "bold" },
		},
		NeogitRemote = {
			fg = C.green,
			style = { "bold" },
		},
		NeogitUnmergedInto = {
			link = "Function",
		},
		NeogitUnpulledFrom = {
			link = "Function",
		},
		NeogitObjectId = {
			link = "Comment",
		},
		NeogitStash = {
			link = "Comment",
		},
		NeogitRebaseDone = {
			link = "Comment",
		},
		NeogitHunkHeader = {
			bg = U.darken(C.blue, 0.095, C.base),
			fg = U.darken(C.blue, 0.5, C.base),
		},
		NeogitHunkHeaderHighlight = {
			bg = U.darken(C.blue, 0.215, C.base),
			fg = C.blue,
		},
		NeogitDiffContextHighlight = {
			bg = C.surface0,
		},
		NeogitDiffDeleteHighlight = {
			bg = U.darken(C.red, 0.345, C.base),
			fg = U.lighten(C.red, 0.850, C.text),
		},
		NeogitDiffAddHighlight = {
			bg = U.darken(C.green, 0.345, C.base),
			fg = U.lighten(C.green, 0.850, C.text),
		},
		NeogitDiffDelete = {
			bg = U.darken(C.red, 0.095, C.base),
			fg = U.darken(C.red, 0.800, C.base),
		},
		NeogitDiffAdd = {
			bg = U.darken(C.green, 0.095, C.base),
			fg = U.darken(C.green, 0.800, C.base),
		},
		NeogitCommitViewHeader = {
			bg = U.darken(C.blue, 0.300, C.base),
			fg = U.lighten(C.blue, 0.800, C.text),
		},
		NeogitChangeModified = {
			fg = C.blue,
			style = { "bold" },
		},
		NeogitChangeDeleted = {
			fg = C.red,
			style = { "bold" },
		},
		NeogitChangeAdded = {
			fg = C.green,
			style = { "bold" },
		},
		NeogitChangeRenamed = {
			fg = C.mauve,
			style = { "bold" },
		},
		NeogitChangeUpdated = {
			fg = C.peach,
			style = { "bold" },
		},
		NeogitChangeCopied = {
			fg = C.pink,
			style = { "bold" },
		},
		NeogitChangeBothModified = {
			fg = C.yellow,
			style = { "bold" },
		},
		NeogitChangeNewFile = {
			fg = C.green,
			style = { "bold" },
		},
		NeogitUntrackedfiles = {
			fg = C.mauve,
			style = { "bold" },
		},
		NeogitUnstagedchanges = {
			fg = C.mauve,
			style = { "bold" },
		},
		NeogitUnmergedchanges = {
			fg = C.mauve,
			style = { "bold" },
		},
		NeogitUnpulledchanges = {
			fg = C.mauve,
			style = { "bold" },
		},
		NeogitRecentcommits = {
			fg = C.mauve,
			style = { "bold" },
		},
		NeogitStagedchanges = {
			fg = C.mauve,
			style = { "bold" },
		},
		NeogitStashes = {
			fg = C.mauve,
			style = { "bold" },
		},
		NeogitRebasing = {
			fg = C.mauve,
			style = { "bold" },
		},
		NeogitNotificationInfo = {
			fg = C.blue,
		},
		NeogitNotificationWarning = {
			fg = C.yellow,
		},
		NeogitNotificationError = {
			fg = C.red,
		},
		NeogitGraphRed = {
			fg = C.red,
		},
		NeogitGraphWhite = {
			fg = C.base,
		},
		NeogitGraphYellow = {
			fg = C.yellow,
		},
		NeogitGraphGreen = {
			fg = C.green,
		},
		NeogitGraphCyan = {
			fg = C.blue,
		},
		NeogitGraphBlue = {
			fg = C.blue,
		},
		NeogitGraphPurple = {
			fg = C.lavender,
		},
		NeogitGraphGray = {
			fg = C.subtext1,
		},
		NeogitGraphOrange = {
			fg = C.peach,
		},
		NeogitGraphBoldRed = {
			fg = C.red,
			style = { "bold" },
		},
		NeogitGraphBoldWhite = {
			fg = C.white,
			style = { "bold" },
		},
		NeogitGraphBoldYellow = {
			fg = C.yellow,
			style = { "bold" },
		},
		NeogitGraphBoldGreen = {
			fg = C.green,
			style = { "bold" },
		},
		NeogitGraphBoldCyan = {
			fg = C.blue,
			style = { "bold" },
		},
		NeogitGraphBoldBlue = {
			fg = C.blue,
			style = { "bold" },
		},
		NeogitGraphBoldPurple = {
			fg = C.lavender,
			style = { "bold" },
		},
		NeogitGraphBoldGray = {
			fg = C.subtext1,
			style = { "bold" },
		},
		NeogitDiffContext = {
			bg = C.base,
		},
		NeogitPopupBold = {
			style = { "bold" },
		},
		NeogitPopupSwitchKey = {
			fg = C.lavender,
		},
		NeogitPopupOptionKey = {
			fg = C.lavender,
		},
		NeogitPopupConfigKey = {
			fg = C.lavender,
		},
		NeogitPopupActionKey = {
			fg = C.lavender,
		},
		NeogitFilePath = {
			fg = C.blue,
			style = { "italic" },
		},
		NeogitDiffHeader = {
			bg = C.base,
			fg = C.blue,
			style = { "bold" },
		},
		NeogitDiffHeaderHighlight = {
			bg = C.base,
			fg = C.peach,
			style = { "bold" },
		},
		NeogitUnpushedTo = {
			fg = C.lavender,
			style = { "bold" },
		},
		NeogitFold = {
			fg = C.none,
			bg = C.none,
		},
		NeogitSectionHeader = {
			fg = C.mauve,
			style = { "bold" },
		},
		NeogitTagName = {
			fg = C.yellow,
		},
		NeogitTagDistance = {
			fg = C.blue,
		},
		NeogitWinSeparator = {
			link = "WinSeparator",
		},
	}
end

return M


================================================
FILE: lua/catppuccin/groups/integrations/neotest.lua
================================================
local M = {}

M.url = "https://github.com/nvim-neotest/neotest"

function M.get()
	return {
		NeotestPassed = { fg = C.green },
		NeotestFailed = { fg = C.red },
		NeotestRunning = { fg = C.yellow },
		NeotestSkipped = { fg = C.blue },
		NeotestTest = { fg = C.text },
		NeotestNamespace = { fg = C.mauve },
		NeotestFocused = { style = { "bold", "underline" } },
		NeotestFile = { fg = C.blue },
		NeotestDir = { fg = C.blue },
		NeotestIndent = { fg = C.overlay1 },
		NeotestExpandMarker = { fg = C.overlay1 },
		NeotestAdapterName = { fg = C.maroon },
		NeotestWinSelect = { fg = C.blue, style = { "bold" } },
		NeotestMarked = { fg = C.peach, style = { "bold" } },
		NeotestTarget = { fg = C.red },
		NeotestUnknown = { fg = C.text },
	}
end

return M


================================================
FILE: lua/catppuccin/groups/integrations/neotree.lua
================================================
local M = {}

M.url = "https://github.com/nvim-neo-tree/neo-tree.nvim"

function M.get()
	local active_bg = O.transparent_background and C.none or C.mantle
	local inactive_bg = O.transparent_background and C.none or C.base
	return {
		NeoTreeDirectoryName = { fg = C.blue },
		NeoTreeDirectoryIcon = { fg = C.blue },
		NeoTreeNormal = { fg = C.text, bg = active_bg },
		NeoTreeNormalNC = { fg = C.text, bg = active_bg },
		NeoTreeExpander = { fg = C.overlay0 },
		NeoTreeIndentMarker = { fg = C.overlay0 },
		NeoTreeRootName = { fg = C.blue, style = { "bold" } },
		NeoTreeSymbolicLinkTarget = { fg = C.pink },
		NeoTreeModified = { fg = C.peach },

		NeoTreeGitAdded = { fg = C.green },
		NeoTreeGitConflict = { fg = C.red },
		NeoTreeGitDeleted = { fg = C.red },
		NeoTreeGitIgnored = { fg = C.overlay0 },
		NeoTreeGitModified = { fg = C.yellow },
		NeoTreeGitUnstaged = { fg = C.red },
		NeoTreeGitUntracked = { fg = C.mauve },
		NeoTreeGitStaged = { fg = C.green },

		NeoTreeFloatBorder = { link = "FloatBorder" },
		NeoTreeFloatTitle = { link = "FloatTitle" },
		NeoTreeTitleBar = { fg = C.mantle, bg = C.blue },

		NeoTreeFileNameOpened = { fg = C.pink },
		NeoTreeDimText = { fg = C.overlay1 },
		NeoTreeFilterTerm = { fg = C.green, style = { "bold" } },
		NeoTreeTabActive = { bg = active_bg, fg = C.lavender, style = { "bold" } },
		NeoTreeTabInactive = { bg = inactive_bg, fg = C.overlay0 },
		NeoTreeTabSeparatorActive = { fg = active_bg, bg = active_bg },
		NeoTreeTabSeparatorInactive = { fg = inactive_bg, bg = inactive_bg },
		NeoTreeVertSplit = { fg = C.base, bg = inactive_bg },
		NeoTreeWinSeparator = {
			fg = O.transparent_background and C.surface1 or C.base,
			bg = O.transparent_background and C.none or C.base,
		},
		NeoTreeStatusLineNC = { fg = C.mantle, bg = C.mantle },
	}
end

return M


================================================
FILE: lua/catppuccin/groups/integrations/noice.lua
================================================
local M = {}

M.url = "https://github.com/folke/noice.nvim"

local virtual_text = O.lsp_styles.virtual_text

function M.get()
	return { -- Personally the default integration is already pretty good
		NoiceCmdline = { fg = C.text },
		NoiceCmdlineIcon = { fg = C.sky, style = virtual_text.information },
		NoiceCmdlineIconSearch = { fg = C.yellow },
		NoiceCmdlinePopupBorder = { fg = C.lavender },
		NoiceCmdlinePopupBorderSearch = { fg = C.yellow },
		NoiceConfirmBorder = { fg = C.blue },
		NoiceMini = { fg = C.subtext0, blend = 0 },
		NoiceFormatProgressDone = {
			bg = O.transparent_background and C.none or U.darken(C.sky, 0.30, C.base),
			fg = C.subtext0,
		},
		NoiceFormatProgressTodo = {
			bg = O.transparent_background and C.none
				or U.vary_color({ latte = U.lighten(C.mantle, 0.70, C.base) }, U.darken(C.surface0, 0.64, C.base)),
			fg = C.subtext0,
		},
	}
end

return M


================================================
FILE: lua/catppuccin/groups/integrations/notifier.lua
================================================
local M = {}

M.url = "https://github.com/vigoux/notifier.nvim"

function M.get()
	return {
		NotifierIcon = { fg = C.mauve },
		NotifierContent = { fg = C.overlay2, blend = 0, style = { "italic" } },
		NotifierContentDim = { fg = C.overlay1, blend = 0, style = { "italic" } },
	}
end

return M


================================================
FILE: lua/catppuccin/groups/integrations/notify.lua
================================================
local M = {}

M.url = "https://github.com/rcarriga/nvim-notify"

function M.get()
	return {
		NotifyBackground = { bg = (O.transparent_background and vim.o.winblend == 0) and "#000000" or C.mantle },

		NotifyERRORBorder = { fg = C.red },
		NotifyERRORIcon = { fg = C.red },
		NotifyERRORTitle = { fg = C.red, style = { "italic" } },
		NotifyWARNBorder = { fg = C.yellow },
		NotifyWARNIcon = { fg = C.yellow },
		NotifyWARNTitle = { fg = C.yellow, style = { "italic" } },
		NotifyINFOBorder = { fg = C.blue },
		NotifyINFOIcon = { fg = C.blue },
		NotifyINFOTitle = { fg = C.blue, style = { "italic" } },
		NotifyDEBUGBorder = { fg = C.peach },
		NotifyDEBUGIcon = { fg = C.peach },
		NotifyDEBUGTitle = { fg = C.peach, style = { "italic" } },
		NotifyTRACEBorder = { fg = C.rosewater },
		NotifyTRACEIcon = { fg = C.rosewater },
		NotifyTRACETitle = { fg = C.rosewater, style = { "italic" } },
	}
end

return M


================================================
FILE: lua/catppuccin/groups/integrations/nvim_surround.lua
================================================
local M = {}

M.url = "https://github.com/kylechui/nvim-surround"

function M.get()
	return {
		NvimSurroundHighlight = { sp = C.peach, style = { "underline" } },
	}
end

return M


================================================
FILE: lua/catppuccin/groups/integrations/nvimtree.lua
================================================
local M = {}

M.url = "https://github.com/nvim-tree/nvim-tree.lua"

function M.get()
	return {
		NvimTreeFolderName = { fg = C.blue },
		NvimTreeFolderIcon = { fg = C.blue },
		NvimTreeNormal = { fg = C.text, bg = O.transparent_background and C.none or C.mantle },
		NvimTreeOpenedFolderName = { fg = C.blue },
		NvimTreeEmptyFolderName = { fg = C.blue },
		NvimTreeIndentMarker = { fg = C.overlay0 },
		NvimTreeWinSeparator = {
			fg = O.transparent_background and C.surface1 or C.base,
			bg = O.transparent_background and C.none or C.base,
		},
		NvimTreeRootFolder = { fg = C.lavender, style = { "bold" } },
		NvimTreeSymlink = { fg = C.pink },
		NvimTreeStatuslineNc = { fg = C.mantle, bg = C.mantle },
		NvimTreeGitDirty = { fg = C.yellow },
		NvimTreeGitNew = { fg = C.blue },
		NvimTreeGitDeleted = { fg = C.red },
		NvimTreeSpecialFile = { fg = C.flamingo },
		NvimTreeImageFile = { fg = C.text },
		NvimTreeOpenedFile = { fg = C.pink },
	}
end

return M


================================================
FILE: lua/catppuccin/groups/integrations/octo.lua
================================================
local M = {}

M.url = "https://github.com/pwntester/octo.nvim"

function M.get()
	return {
		-- colors
		OctoGrey = { fg = C.base },
		OctoBlue = { fg = C.blue },
		OctoGreen = { fg = C.green },
		OctoRed = { fg = C.red },
		OctoPurple = { fg = C.mauve },
		OctoYellow = { fg = C.yellow },
		-- highlight groups
		OctoDirty = { link = "ErrorMsg" },
		OctoIssueTitle = { link = "PreProc" },
		OctoIssueId = { link = "Question" },
		OctoEmpty = { link = "Comment" },
		OctoFloat = { link = "NormalNC" },
		OctoDate = { link = "Comment" },
		OctoSymbol = { link = "Comment" },
		OctoTimelineItemHeading = { link = "Comment" },
		OctoDetailsLabel = { link = "Title" },
		OctoMissingDetails = { link = "Comment" },
		OctoDetailsValue = { link = "Identifier" },
		OctoDiffHunkPosition = { link = "NormalFloat" },
		OctoCommentLine = { link = "TabLineSel" },
		OctoViewer = { fg = C.base, bg = C.blue },
		OctoBubble = { fg = C.text, bg = C.base },
		OctoBubbleGrey = { fg = C.text, bg = C.base },
		OctoBubbleDelimiterGrey = { fg = C.base },
		OctoBubbleGreen = { fg = C.base, bg = C.green },
		OctoBubbleDelimiterGreen = { fg = C.green },
		OctoBubbleBlue = { fg = C.base, bg = C.sky },
		OctoBubbleDelimiterBlue = { fg = C.sky },
		OctoBubbleYellow = { fg = C.base, bg = C.yellow },
		OctoBubbleDelimiterYellow = { fg = C.yellow },
		OctoBubbleRed = { fg = C.base, bg = C.red },
		OctoBubbleDelimiterRed = { fg = C.red },
		OctoBubblePurple = { fg = C.base, bg = C.mauve },
		OctoBubbleDelimiterPurple = { fg = C.mauve },
		OctoUser = { link = "OctoBubble" },
		OctoUserViewer = { link = "OctoViewer" },
		OctoReaction = { link = "OctoBubble" },
		OctoReactionViewer = { link = "OctoViewer" },
		OctoPassingTest = { link = "OctoGreen" },
		OctoFailingTest = { link = "OctoRed" },
		OctoPullAdditions = { link = "OctoGreen" },
		OctoPullDeletions = { link = "OctoRed" },
		OctoPullModifications = { fg = C.peach },
		OctoStateOpen = { fg = C.green, bg = C.base },
		OctoStateOpenFloat = { fg = C.green, bg = C.base },
		OctoStateClosed = { fg = C.red, bg = C.base },
		OctoStateClosedFloat = { fg = C.red, bg = C.base },
		OctoStateMerged = { fg = C.mauve, bg = C.base },
		OctoStateMergedFloat = { fg = C.mauve, bg = C.base },
		OctoStatePending = { fg = C.peach, bg = C.base },
		OctoStatePendingFloat = { fg = C.peach, bg = C.base },
		OctoStateApproved = { link = "OctoStateOpen" },
		OctoStateApprovedFloat = { link = "OctoStateOpen" },
		OctoStateChangesRequested = { fg = C.maroon, bg = C.base },
		OctoStateChangesRequestedFloat = { fg = C.maroon, bg = C.base },
		OctoStateCommented = { link = "Normal" },
		OctoStateCommentedFloat = { link = "Normal" },
		OctoStateDismissed = { link = "OctoStateClosed" },
		OctoStateDismissedFloat = { link = "OctoStateClosed" },
		OctoStateSubmittedBubble = { link = "OctoBubbleGreen" },
		OctoFilePanelCounter = { fg = C.blue, style = { "bold" } },
		OctoFilePanelTitle = { fg = C.blue, style = { "bold" } },
		OctoFilePanelFileName = {},
		OctoNormalFront = { fg = C.text },
		OctoYellowFloat = { fg = C.yellow, bg = C.base },
		OctoPurpleFloat = { fg = C.mauve, bg = C.base },
		OctoRedFloat = { fg = C.red, bg = C.base },
		OctoGreenFloat = { fg = C.green, bg = C.base },
		OctoGreyFloat = { fg = C.text, bg = C.base },
		OctoBlueFloat = { fg = C.blue, bg = C.base },
	}
end

return M


================================================
FILE: lua/catppuccin/groups/integrations/overseer.lua
================================================
local M = {}

M.url = "https://github.com/stevearc/overseer.nvim"

function M.get()
	return {
		OverseerPENDING = { fg = C.grey },
		OverseerRUNNING = { fg = C.yellow },
		OverseerSUCCESS = { fg = C.green },
		OverseerCANCELED = { fg = C.overlay2 },
		OverseerFAILURE = { fg = C.red },
		OverseerTask = { fg = C.blue },
		OverseerTaskBorder = { fg = C.sky },
		OverseerOutput = { fg = C.text },
		OverseerComponent = { fg = C.yellow },
		OverseerField = { fg = C.green },
	}
end

return M


================================================
FILE: lua/catppuccin/groups/integrations/pounce.lua
================================================
local M = {}

M.url = "https://github.com/rlane/pounce.nvim"

function M.get()
	return {
		PounceMatch = { bg = U.lighten(C.green, 0.7), fg = C.base, style = { "bold" } },
		PounceGap = { bg = U.darken(C.green, 0.7), fg = C.base, style = { "bold" } },
		PounceAccept = { bg = C.peach, fg = C.base, style = { "bold" } },
		PounceAcceptBest = { bg = C.teal, fg = C.base, style = { "bold" } },
	}
end

return M


================================================
FILE: lua/catppuccin/groups/integrations/rainbow_delimiters.lua
================================================
local M = {}

M.url = "https://github.com/HiPhish/rainbow-delimiters.nvim"

function M.get()
	return {
		RainbowDelimiterRed = { fg = C.red },
		RainbowDelimiterYellow = { fg = C.yellow },
		RainbowDelimiterBlue = { fg = C.blue },
		RainbowDelimiterOrange = { fg = C.peach },
		RainbowDelimiterGreen = { fg = C.green },
		RainbowDelimiterViolet = { fg = C.mauve },
		RainbowDelimiterCyan = { fg = C.teal },
	}
end

return M


================================================
FILE: lua/catppuccin/groups/integrations/render_markdown.lua
================================================
local M = {}

M.url = "https://github.com/MeanderingProgrammer/render-markdown.nvim"

-- render-markdown.nvim highlight groups:
-- https://github.com/MeanderingProgrammer/render-markdown.nvim?tab=readme-ov-file#colors

function M.get()
	local groups = {
		RenderMarkdownCode = { bg = C.mantle },
		RenderMarkdownCodeInline = { bg = C.surface0 },
		RenderMarkdownBullet = { fg = C.sky },
		RenderMarkdownTableHead = { fg = C.blue },
		RenderMarkdownTableRow = { fg = C.lavender },
		RenderMarkdownSuccess = { fg = C.green },
		RenderMarkdownInfo = { fg = C.sky },
		RenderMarkdownHint = { fg = C.teal },
		RenderMarkdownWarn = { fg = C.yellow },
		RenderMarkdownError = { fg = C.red },
	}

	local syntax = require("catppuccin.groups.syntax").get()
	local darkening_percentage = O.transparent_background and U.vary_color({ latte = 0.15 }, 0.28) or 0.095

	for i = 1, 6 do
		local color = syntax["rainbow" .. i].fg
		groups["RenderMarkdownH" .. i] = { fg = color }
		groups["RenderMarkdownH" .. i .. "Bg"] = { bg = U.darken(color, darkening_percentage, C.base) }
	end

	return groups
end

return M


================================================
FILE: lua/catppuccin/groups/integrations/sandwich.lua
================================================
local M = {}

M.url = "https://github.com/machakann/vim-sandwich"

function M.get()
	return {
		OperatorSandwichAdd = { bg = C.blue, fg = C.base },
		OperatorSandwichBuns = { bg = C.blue, fg = C.base },
		OperatorSandwichChange = { bg = C.blue, fg = C.base },
		OperatorSandwichDelete = { bg = C.blue, fg = C.base },
	}
end

return M


================================================
FILE: lua/catppuccin/groups/integrations/signify.lua
================================================
local M = {}

M.url = "https://github.com/mhinz/vim-signify"

function M.get()
	return {
		SignifySignAdd = { fg = C.green },
		SignifySignChange = { fg = C.yellow },
		SignifySignDelete = { fg = C.red },
	}
end

return M


================================================
FILE: lua/catppuccin/groups/integrations/snacks.lua
================================================
local M = {}

M.url = "https://github.com/folke/snacks.nvim"

function M.get()
	local indent_scope_color = O.integrations.snacks.indent_scope_color

	local hlgroups = {
		SnacksNormal = { link = "Normal" },
		SnacksWinBar = { link = "Title" },
		SnacksBackdrop = { link = "FloatShadow" },
		SnacksNormalNC = { link = "NormalFloat" },
		SnacksWinBarNC = { link = "SnacksWinBar" },

		SnacksNotifierInfo = { fg = C.blue },
		SnacksNotifierIconInfo = { fg = C.blue },
		SnacksNotifierTitleInfo = { fg = C.blue, style = { "italic" } },
		SnacksNotifierFooterInfo = { link = "DiagnosticInfo" },
		SnacksNotifierBorderInfo = { fg = C.blue },
		SnacksNotifierWarn = { fg = C.yellow },
		SnacksNotifierIconWarn = { fg = C.yellow },
		SnacksNotifierTitleWarn = { fg = C.yellow, style = { "italic" } },
		SnacksNotifierBorderWarn = { fg = C.yellow },
		SnacksNotifierFooterWarn = { link = "DiagnosticWarn" },
		SnacksNotifierDebug = { fg = C.peach },
		SnacksNotifierIconDebug = { fg = C.peach },
		SnacksNotifierTitleDebug = { fg = C.peach, style = { "italic" } },
		SnacksNotifierBorderDebug = { fg = C.peach },
		SnacksNotifierFooterDebug = { link = "DiagnosticHint" },
		SnacksNotifierError = { fg = C.red },
		SnacksNotifierIco
Download .txt
gitextract_sldfuu1t/

├── .editorconfig
├── .github/
│   ├── ISSUE_TEMPLATE/
│   │   ├── bug_report.yml
│   │   ├── config.yml
│   │   └── feature_request.md
│   ├── PULL_REQUEST_TEMPLATE.md
│   └── workflows/
│       ├── formatting.yml
│       ├── neovim.yml
│       ├── patch.yml
│       ├── release.yml
│       └── tests.yml
├── .gitignore
├── CHANGELOG.md
├── LICENSE.md
├── README.md
├── after/
│   └── queries/
│       ├── css/
│       │   └── highlights.scm
│       ├── javascript/
│       │   └── highlights.scm
│       └── typescript/
│           └── highlights.scm
├── colors/
│   ├── catppuccin-frappe.lua
│   ├── catppuccin-latte.lua
│   ├── catppuccin-macchiato.lua
│   ├── catppuccin-mocha.lua
│   ├── catppuccin-nvim.vim
│   └── catppuccin.lua
├── doc/
│   └── catppuccin.txt
├── justfile
├── lua/
│   ├── barbecue/
│   │   └── theme/
│   │       ├── catppuccin-frappe.lua
│   │       ├── catppuccin-latte.lua
│   │       ├── catppuccin-macchiato.lua
│   │       ├── catppuccin-mocha.lua
│   │       └── catppuccin-nvim.lua
│   ├── catppuccin/
│   │   ├── groups/
│   │   │   ├── editor.lua
│   │   │   ├── integrations/
│   │   │   │   ├── aerial.lua
│   │   │   │   ├── alpha.lua
│   │   │   │   ├── artio.lua
│   │   │   │   ├── avante.lua
│   │   │   │   ├── barbar.lua
│   │   │   │   ├── beacon.lua
│   │   │   │   ├── blink_cmp.lua
│   │   │   │   ├── blink_indent.lua
│   │   │   │   ├── blink_pairs.lua
│   │   │   │   ├── buffon.lua
│   │   │   │   ├── cmp.lua
│   │   │   │   ├── coc_nvim.lua
│   │   │   │   ├── colorful_winsep.lua
│   │   │   │   ├── copilot_vim.lua
│   │   │   │   ├── dadbod_ui.lua
│   │   │   │   ├── dap.lua
│   │   │   │   ├── dap_ui.lua
│   │   │   │   ├── dashboard.lua
│   │   │   │   ├── diffview.lua
│   │   │   │   ├── dropbar.lua
│   │   │   │   ├── fern.lua
│   │   │   │   ├── fidget.lua
│   │   │   │   ├── flash.lua
│   │   │   │   ├── fzf.lua
│   │   │   │   ├── gitgraph.lua
│   │   │   │   ├── gitgutter.lua
│   │   │   │   ├── gitsigns.lua
│   │   │   │   ├── grug_far.lua
│   │   │   │   ├── harpoon.lua
│   │   │   │   ├── headlines.lua
│   │   │   │   ├── hop.lua
│   │   │   │   ├── illuminate.lua
│   │   │   │   ├── indent_blankline.lua
│   │   │   │   ├── leap.lua
│   │   │   │   ├── lightspeed.lua
│   │   │   │   ├── lir.lua
│   │   │   │   ├── lsp_saga.lua
│   │   │   │   ├── lsp_trouble.lua
│   │   │   │   ├── markview.lua
│   │   │   │   ├── mason.lua
│   │   │   │   ├── mini.lua
│   │   │   │   ├── navic.lua
│   │   │   │   ├── neogit.lua
│   │   │   │   ├── neotest.lua
│   │   │   │   ├── neotree.lua
│   │   │   │   ├── noice.lua
│   │   │   │   ├── notifier.lua
│   │   │   │   ├── notify.lua
│   │   │   │   ├── nvim_surround.lua
│   │   │   │   ├── nvimtree.lua
│   │   │   │   ├── octo.lua
│   │   │   │   ├── overseer.lua
│   │   │   │   ├── pounce.lua
│   │   │   │   ├── rainbow_delimiters.lua
│   │   │   │   ├── render_markdown.lua
│   │   │   │   ├── sandwich.lua
│   │   │   │   ├── signify.lua
│   │   │   │   ├── snacks.lua
│   │   │   │   ├── symbols_outline.lua
│   │   │   │   ├── telekasten.lua
│   │   │   │   ├── telescope.lua
│   │   │   │   ├── treesitter_context.lua
│   │   │   │   ├── ts_rainbow.lua
│   │   │   │   ├── ts_rainbow2.lua
│   │   │   │   ├── ufo.lua
│   │   │   │   ├── vim_sneak.lua
│   │   │   │   ├── vimwiki.lua
│   │   │   │   ├── which_key.lua
│   │   │   │   └── window_picker.lua
│   │   │   ├── lsp.lua
│   │   │   ├── semantic_tokens.lua
│   │   │   ├── syntax.lua
│   │   │   ├── terminal.lua
│   │   │   └── treesitter.lua
│   │   ├── init.lua
│   │   ├── lib/
│   │   │   ├── compiler.lua
│   │   │   ├── detect_integrations.lua
│   │   │   ├── hashing.lua
│   │   │   ├── highlighter.lua
│   │   │   ├── hsluv.lua
│   │   │   └── mapper.lua
│   │   ├── palettes/
│   │   │   ├── frappe.lua
│   │   │   ├── init.lua
│   │   │   ├── latte.lua
│   │   │   ├── macchiato.lua
│   │   │   └── mocha.lua
│   │   ├── special/
│   │   │   ├── bufferline.lua
│   │   │   └── feline.lua
│   │   ├── types.lua
│   │   └── utils/
│   │       ├── barbecue.lua
│   │       ├── colors.lua
│   │       ├── integration_mappings.lua
│   │       ├── lualine.lua
│   │       └── reactive.lua
│   ├── lualine/
│   │   └── themes/
│   │       ├── catppuccin-frappe.lua
│   │       ├── catppuccin-latte.lua
│   │       ├── catppuccin-macchiato.lua
│   │       ├── catppuccin-mocha.lua
│   │       └── catppuccin-nvim.lua
│   └── reactive/
│       └── presets/
│           ├── catppuccin-frappe-cursor.lua
│           ├── catppuccin-frappe-cursorline.lua
│           ├── catppuccin-latte-cursor.lua
│           ├── catppuccin-latte-cursorline.lua
│           ├── catppuccin-macchiato-cursor.lua
│           ├── catppuccin-macchiato-cursorline.lua
│           ├── catppuccin-mocha-cursor.lua
│           └── catppuccin-mocha-cursorline.lua
├── nvim.tera
├── renovate.json
├── scripts/
│   └── generate_integration_mappings_table.lua
├── selene.toml
├── stylua.toml
├── tests/
│   ├── flavour_spec.lua
│   ├── hash_spec.lua
│   ├── init.lua
│   ├── init.vim
│   ├── minimal_init.vim
│   ├── palette_spec.lua
│   └── pattern_spec.lua
└── vim.toml
Condensed preview — 151 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (340K chars).
[
  {
    "path": ".editorconfig",
    "chars": 365,
    "preview": "# EditorConfig helps developers define and maintain consistent\n# coding styles between different editors and IDEs\n# Edit"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/bug_report.yml",
    "chars": 3159,
    "preview": "name: Bug report\ndescription: Report a problem with Catppuccin\nlabels: [bug]\nbody:\n  - type: textarea\n    attributes:\n  "
  },
  {
    "path": ".github/ISSUE_TEMPLATE/config.yml",
    "chars": 199,
    "preview": "blank_issues_enabled: false\ncontact_links:\n   - name: Question\n     url: https://discord.com/servers/catppuccin-90738560"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/feature_request.md",
    "chars": 635,
    "preview": "---\nname: Feature request\nabout: \"Suggest an idea for the project\"\ntitle: \"\"\nlabels: enhancement\nassignees: \"\"\n---\n\n**Is"
  },
  {
    "path": ".github/PULL_REQUEST_TEMPLATE.md",
    "chars": 934,
    "preview": "🎉 First off, thanks for taking the time to contribute! 🎉\n\nHere are some guidelines:\n- Format code using [stylua](https:/"
  },
  {
    "path": ".github/workflows/formatting.yml",
    "chars": 389,
    "preview": "name: StyLua\non:\n  pull_request:\n  push:\n    paths-ignore:\n      - \"*.md\"\n    branches:\n      - main\n\njobs:\n  stylua:\n  "
  },
  {
    "path": ".github/workflows/neovim.yml",
    "chars": 1391,
    "preview": "---\nname: Neovim\non:\n  pull_request:\n  push:\n    paths-ignore:\n      - \"*.md\"\n    branches:\n      - main\n\njobs:\n  ubuntu"
  },
  {
    "path": ".github/workflows/patch.yml",
    "chars": 1252,
    "preview": "name: Patch\non:\n  workflow_dispatch:\n  pull_request:\n    branches: [main]\n\njobs:\n  docs:\n    name: generate vimdoc\n    r"
  },
  {
    "path": ".github/workflows/release.yml",
    "chars": 854,
    "preview": "name: release\n\non:\n  push:\n    branches: [main]\n  workflow_dispatch:\n\njobs:\n  release:\n    name: release\n    runs-on: ub"
  },
  {
    "path": ".github/workflows/tests.yml",
    "chars": 1102,
    "preview": "---\nname: Tests\non:\n  pull_request:\n  push:\n    paths-ignore:\n      - \"*.md\"\n    branches:\n      - main\n  workflow_dispa"
  },
  {
    "path": ".gitignore",
    "chars": 35,
    "preview": "doc/tags\n.vscode/\n.DS_Store\n.repro\n"
  },
  {
    "path": "CHANGELOG.md",
    "chars": 36036,
    "preview": "# Changelog\n\n## [1.11.0](https://github.com/catppuccin/nvim/compare/v1.10.0...v1.11.0) (2025-07-31)\n\n\n### Features\n\n* au"
  },
  {
    "path": "LICENSE.md",
    "chars": 1067,
    "preview": "MIT License\n\nCopyright (c) 2021 Catppuccin\n\nPermission is hereby granted, free of charge, to any person obtaining a copy"
  },
  {
    "path": "README.md",
    "chars": 38260,
    "preview": "<!-- panvimdoc-ignore-start -->\n\n<h3 align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/catppuccin/catppucc"
  },
  {
    "path": "after/queries/css/highlights.scm",
    "chars": 152,
    "preview": ";; extends\n[\n(class_name)\n] @property.class\n\n[\n (id_name)\n ] @property.id\n\n[\n (declaration\n\t (plain_value) @string.plain"
  },
  {
    "path": "after/queries/javascript/highlights.scm",
    "chars": 40,
    "preview": ";; extends\n[\n\"export\"\n] @keyword.export\n"
  },
  {
    "path": "after/queries/typescript/highlights.scm",
    "chars": 40,
    "preview": ";; extends\n[\n\"export\"\n] @keyword.export\n"
  },
  {
    "path": "colors/catppuccin-frappe.lua",
    "chars": 36,
    "preview": "require(\"catppuccin\").load \"frappe\"\n"
  },
  {
    "path": "colors/catppuccin-latte.lua",
    "chars": 35,
    "preview": "require(\"catppuccin\").load \"latte\"\n"
  },
  {
    "path": "colors/catppuccin-macchiato.lua",
    "chars": 39,
    "preview": "require(\"catppuccin\").load \"macchiato\"\n"
  },
  {
    "path": "colors/catppuccin-mocha.lua",
    "chars": 35,
    "preview": "require(\"catppuccin\").load \"mocha\"\n"
  },
  {
    "path": "colors/catppuccin-nvim.vim",
    "chars": 33,
    "preview": "lua require(\"catppuccin\").load()\n"
  },
  {
    "path": "colors/catppuccin.lua",
    "chars": 29,
    "preview": "require(\"catppuccin\").load()\n"
  },
  {
    "path": "doc/catppuccin.txt",
    "chars": 27175,
    "preview": "*catppuccin.txt*                              Soothing pastel theme for NeoVim\n\n========================================"
  },
  {
    "path": "justfile",
    "chars": 52,
    "preview": "_default:\n  @just list\n\nbuild:\n  whiskers nvim.tera\n"
  },
  {
    "path": "lua/barbecue/theme/catppuccin-frappe.lua",
    "chars": 52,
    "preview": "return require \"catppuccin.utils.barbecue\" \"frappe\"\n"
  },
  {
    "path": "lua/barbecue/theme/catppuccin-latte.lua",
    "chars": 51,
    "preview": "return require \"catppuccin.utils.barbecue\" \"latte\"\n"
  },
  {
    "path": "lua/barbecue/theme/catppuccin-macchiato.lua",
    "chars": 55,
    "preview": "return require \"catppuccin.utils.barbecue\" \"macchiato\"\n"
  },
  {
    "path": "lua/barbecue/theme/catppuccin-mocha.lua",
    "chars": 51,
    "preview": "return require \"catppuccin.utils.barbecue\" \"mocha\"\n"
  },
  {
    "path": "lua/barbecue/theme/catppuccin-nvim.lua",
    "chars": 45,
    "preview": "return require \"catppuccin.utils.barbecue\"()\n"
  },
  {
    "path": "lua/catppuccin/groups/editor.lua",
    "chars": 8475,
    "preview": "local M = {}\n\nfunction M.get()\n\treturn {\n\t\tColorColumn = { bg = C.surface0 }, -- used for the columns set with 'colorcol"
  },
  {
    "path": "lua/catppuccin/groups/integrations/aerial.lua",
    "chars": 1341,
    "preview": "local M = {}\n\nM.url = \"https://github.com/stevearc/aerial.nvim\"\n\nfunction M.get()\n\treturn {\n\t\tAerialLine = { fg = C.yell"
  },
  {
    "path": "lua/catppuccin/groups/integrations/alpha.lua",
    "chars": 310,
    "preview": "local M = {}\n\nM.url = \"https://github.com/goolord/alpha-nvim\"\n\nfunction M.get()\n\treturn {\n\t\tAlphaShortcut = { fg = C.gre"
  },
  {
    "path": "lua/catppuccin/groups/integrations/artio.lua",
    "chars": 547,
    "preview": "local M = {}\n\nM.url = \"https://github.com/comfysage/artio.nvim\"\n\nfunction M.get()\n\tlocal transparent_background = requir"
  },
  {
    "path": "lua/catppuccin/groups/integrations/avante.lua",
    "chars": 1849,
    "preview": "local M = {}\n\nM.url = \"https://github.com/yetone/avante.nvim\"\n\nfunction M.get()\n\tlocal rounded = O.integrations.avante.w"
  },
  {
    "path": "lua/catppuccin/groups/integrations/barbar.lua",
    "chars": 1038,
    "preview": "local M = {}\n\nM.url = \"https://github.com/romgrk/barbar.nvim\"\n\nfunction M.get()\n\treturn {\n\t\tBufferCurrent = { bg = C.sur"
  },
  {
    "path": "lua/catppuccin/groups/integrations/beacon.lua",
    "chars": 143,
    "preview": "local M = {}\n\nM.url = \"https://github.com/DanilaMihailov/beacon.nvim\"\n\nfunction M.get()\n\treturn {\n\t\tBeacon = { bg = C.bl"
  },
  {
    "path": "lua/catppuccin/groups/integrations/blink_cmp.lua",
    "chars": 2241,
    "preview": "local M = {}\n\nM.url = \"https://github.com/saghen/blink.cmp\"\n\nfunction M.get()\n\tlocal style = O.integrations.blink_cmp.st"
  },
  {
    "path": "lua/catppuccin/groups/integrations/blink_indent.lua",
    "chars": 963,
    "preview": "local M = {}\n\nM.url = \"https://github.com/saghen/blink.indent\"\n\nfunction M.get()\n\treturn {\n\t\tBlinkIndent = { fg = C.surf"
  },
  {
    "path": "lua/catppuccin/groups/integrations/blink_pairs.lua",
    "chars": 459,
    "preview": "local M = {}\n\nM.url = \"https://github.com/saghen/blink.pairs\"\n\nfunction M.get()\n\treturn {\n\t\tBlinkPairsRed = { fg = C.red"
  },
  {
    "path": "lua/catppuccin/groups/integrations/buffon.lua",
    "chars": 281,
    "preview": "local M = {}\n\nM.url = \"https://github.com/francescarpi/buffon.nvim\"\n\nfunction M.get()\n\treturn {\n\t\tBuffonUnloadedBuffer ="
  },
  {
    "path": "lua/catppuccin/groups/integrations/cmp.lua",
    "chars": 1471,
    "preview": "local M = {}\n\nM.url = \"https://github.com/hrsh7th/nvim-cmp\"\n\nfunction M.get()\n\treturn {\n\t\tCmpItemAbbr = { fg = C.overlay"
  },
  {
    "path": "lua/catppuccin/groups/integrations/coc_nvim.lua",
    "chars": 411,
    "preview": "local M = {}\n\nM.url = \"https://github.com/neoclide/coc.nvim\"\n\nfunction M.get()\n\treturn {\n\t\t-- These groups are for the c"
  },
  {
    "path": "lua/catppuccin/groups/integrations/colorful_winsep.lua",
    "chars": 294,
    "preview": "local M = {}\n\nM.url = \"https://github.com/nvim-zh/colorful-winsep.nvim\"\n\nfunction M.get()\n\treturn {\n\t\tColorfulWinSep = {"
  },
  {
    "path": "lua/catppuccin/groups/integrations/copilot_vim.lua",
    "chars": 189,
    "preview": "local M = {}\n\nM.url = \"https://github.com/github/copilot.vim\"\n\nfunction M.get()\n\treturn {\n\t\tCopilotSuggestion = { fg = C"
  },
  {
    "path": "lua/catppuccin/groups/integrations/dadbod_ui.lua",
    "chars": 281,
    "preview": "local M = {}\n\nM.url = \"https://github.com/kristijanhusak/vim-dadbod-ui\"\n\nfunction M.get()\n\treturn {\n\t\tNotificationInfo ="
  },
  {
    "path": "lua/catppuccin/groups/integrations/dap.lua",
    "chars": 300,
    "preview": "local M = {}\n\nM.url = \"https://github.com/mfussenegger/nvim-dap\"\n\nfunction M.get()\n\treturn {\n\t\tDapBreakpoint = { fg = C."
  },
  {
    "path": "lua/catppuccin/groups/integrations/dap_ui.lua",
    "chars": 1542,
    "preview": "local M = {}\n\nM.url = \"https://github.com/rcarriga/nvim-dap-ui\"\n\nfunction M.get()\n\treturn {\n\t\tDapUIScope = { fg = C.sky "
  },
  {
    "path": "lua/catppuccin/groups/integrations/dashboard.lua",
    "chars": 524,
    "preview": "local M = {}\n\nM.url = \"https://github.com/nvimdev/dashboard-nvim\"\n\nfunction M.get()\n\treturn {\n\t\tDashboardShortCut = { fg"
  },
  {
    "path": "lua/catppuccin/groups/integrations/diffview.lua",
    "chars": 1665,
    "preview": "local M = {}\n\nM.url = \"https://github.com/sindrets/diffview.nvim\"\n\nfunction M.get()\n\treturn {\n\t\tDiffviewDim1 = { link = "
  },
  {
    "path": "lua/catppuccin/groups/integrations/dropbar.lua",
    "chars": 5458,
    "preview": "local M = {}\n\nM.url = \"https://github.com/Bekaboo/dropbar.nvim\"\n\nfunction M.get()\n\tlocal color = O.integrations.dropbar."
  },
  {
    "path": "lua/catppuccin/groups/integrations/fern.lua",
    "chars": 145,
    "preview": "local M = {}\n\nM.url = \"https://github.com/lambdalisue/vim-fern\"\n\nfunction M.get()\n\treturn {\n\t\tFernBranchText = { fg = C."
  },
  {
    "path": "lua/catppuccin/groups/integrations/fidget.lua",
    "chars": 234,
    "preview": "local M = {}\n\nM.url = \"https://github.com/j-hui/fidget.nvim\"\n\nfunction M.get()\n\treturn {\n\t\tFidgetTask = {\n\t\t\tbg = O.tran"
  },
  {
    "path": "lua/catppuccin/groups/integrations/flash.lua",
    "chars": 395,
    "preview": "local M = {}\n\nM.url = \"https://github.com/folke/flash.nvim\"\n\nfunction M.get()\n\tlocal bg = O.transparent_background and C"
  },
  {
    "path": "lua/catppuccin/groups/integrations/fzf.lua",
    "chars": 758,
    "preview": "local M = {}\n\nM.url = \"https://github.com/ibhagwan/fzf-lua\"\n\nfunction M.get()\n\treturn {\n\t\tFzfLuaNormal = { link = \"Norma"
  },
  {
    "path": "lua/catppuccin/groups/integrations/gitgraph.lua",
    "chars": 535,
    "preview": "local M = {}\n\nM.url = \"https://github.com/isakbm/gitgraph.nvim\"\n\nfunction M.get()\n\treturn {\n\t\tGitGraphHash = { fg = C.ma"
  },
  {
    "path": "lua/catppuccin/groups/integrations/gitgutter.lua",
    "chars": 349,
    "preview": "local M = {}\n\nM.url = \"https://github.com/airblade/vim-gitgutter\"\n\nfunction M.get()\n\treturn {\n\t\tGitGutterAdd = { fg = C."
  },
  {
    "path": "lua/catppuccin/groups/integrations/gitsigns.lua",
    "chars": 1659,
    "preview": "local M = {}\n\nM.url = \"https://github.com/lewis6991/gitsigns.nvim\"\n\nfunction M.get()\n\t-- (a ~= nil) and a or b: Potentia"
  },
  {
    "path": "lua/catppuccin/groups/integrations/grug_far.lua",
    "chars": 160,
    "preview": "local M = {}\n\nM.url = \"https://github.com/MagicDuck/grug-far.nvim\"\n\nfunction M.get()\n\treturn {\n\t\tGrugFarResultsMatch = {"
  },
  {
    "path": "lua/catppuccin/groups/integrations/harpoon.lua",
    "chars": 231,
    "preview": "local M = {}\n\nM.url = \"https://github.com/ThePrimeagen/harpoon\"\n\nfunction M.get()\n\treturn {\n\t\tHarpoonWindow = { fg = C.t"
  },
  {
    "path": "lua/catppuccin/groups/integrations/headlines.lua",
    "chars": 575,
    "preview": "local M = {}\n\nM.url = \"https://github.com/lukas-reineke/headlines.nvim\"\n\nfunction M.get()\n\treturn {\n\t\tDash = { fg = C.ov"
  },
  {
    "path": "lua/catppuccin/groups/integrations/hop.lua",
    "chars": 422,
    "preview": "local M = {}\n\nM.url = \"https://github.com/hadronized/hop.nvim\"\n\nfunction M.get()\n\tlocal bg = O.transparent_background an"
  },
  {
    "path": "lua/catppuccin/groups/integrations/illuminate.lua",
    "chars": 388,
    "preview": "local M = {}\n\nM.url = \"https://github.com/RRethy/vim-illuminate\"\n\nfunction M.get()\n\treturn {\n\t\tIlluminatedWordText = { b"
  },
  {
    "path": "lua/catppuccin/groups/integrations/indent_blankline.lua",
    "chars": 711,
    "preview": "local M = {}\n\nM.url = \"https://github.com/lukas-reineke/indent-blankline.nvim\"\n\nfunction M.get()\n\tlocal scope_color = O."
  },
  {
    "path": "lua/catppuccin/groups/integrations/leap.lua",
    "chars": 712,
    "preview": "local M = {}\n\nM.url = \"https://github.com/ggandor/leap.nvim\"\n\nfunction M.get()\n\treturn {\n\t\tLeapMatch = {\n\t\t\tfg = O.trans"
  },
  {
    "path": "lua/catppuccin/groups/integrations/lightspeed.lua",
    "chars": 873,
    "preview": "local M = {}\n\nM.url = \"https://github.com/ggandor/lightspeed.nvim\"\n\nfunction M.get()\n\treturn {\n\t\tLightspeedLabel = { fg "
  },
  {
    "path": "lua/catppuccin/groups/integrations/lir.lua",
    "chars": 971,
    "preview": "local M = {}\n\nM.url = \"https://github.com/tamago324/lir.nvim\"\n\nfunction M.get()\n\treturn vim.tbl_deep_extend(\"force\", {},"
  },
  {
    "path": "lua/catppuccin/groups/integrations/lsp_saga.lua",
    "chars": 4478,
    "preview": "local M = {}\n\nM.url = \"https://github.com/nvimdev/lspsaga.nvim\"\n\nfunction M.get()\n\treturn {\n\t\tSagaTitle = { fg = C.teal,"
  },
  {
    "path": "lua/catppuccin/groups/integrations/lsp_trouble.lua",
    "chars": 367,
    "preview": "local M = {}\n\nM.url = \"https://github.com/folke/trouble.nvim\"\n\nfunction M.get()\n\treturn {\n\t\tTroubleText = { fg = C.green"
  },
  {
    "path": "lua/catppuccin/groups/integrations/markview.lua",
    "chars": 1767,
    "preview": "local M = {}\n\nM.url = \"https://github.com/OXY2DEV/markview.nvim\"\n\n-- markview.nvim highlight groups:\n-- https://github.c"
  },
  {
    "path": "lua/catppuccin/groups/integrations/mason.lua",
    "chars": 1355,
    "preview": "local M = {}\n\nM.url = \"https://github.com/mason-org/mason.nvim\"\n\nfunction M.get()\n\tlocal bg = O.transparent_background a"
  },
  {
    "path": "lua/catppuccin/groups/integrations/mini.lua",
    "chars": 6739,
    "preview": "local M = {}\n\nM.url = \"https://github.com/echasnovski/mini.nvim\"\n\nfunction M.get()\n\tlocal transparent_background = requi"
  },
  {
    "path": "lua/catppuccin/groups/integrations/navic.lua",
    "chars": 1909,
    "preview": "local M = {}\n\nM.url = \"https://github.com/SmiteshP/nvim-navic\"\n\nfunction M.get()\n\tlocal background = O.integrations.navi"
  },
  {
    "path": "lua/catppuccin/groups/integrations/neogit.lua",
    "chars": 4462,
    "preview": "local M = {}\n\nM.url = \"https://github.com/NeogitOrg/neogit\"\n\nfunction M.get()\n\treturn {\n\t\tNeogitBranch = {\n\t\t\tfg = C.pea"
  },
  {
    "path": "lua/catppuccin/groups/integrations/neotest.lua",
    "chars": 756,
    "preview": "local M = {}\n\nM.url = \"https://github.com/nvim-neotest/neotest\"\n\nfunction M.get()\n\treturn {\n\t\tNeotestPassed = { fg = C.g"
  },
  {
    "path": "lua/catppuccin/groups/integrations/neotree.lua",
    "chars": 1817,
    "preview": "local M = {}\n\nM.url = \"https://github.com/nvim-neo-tree/neo-tree.nvim\"\n\nfunction M.get()\n\tlocal active_bg = O.transparen"
  },
  {
    "path": "lua/catppuccin/groups/integrations/noice.lua",
    "chars": 889,
    "preview": "local M = {}\n\nM.url = \"https://github.com/folke/noice.nvim\"\n\nlocal virtual_text = O.lsp_styles.virtual_text\n\nfunction M."
  },
  {
    "path": "lua/catppuccin/groups/integrations/notifier.lua",
    "chars": 295,
    "preview": "local M = {}\n\nM.url = \"https://github.com/vigoux/notifier.nvim\"\n\nfunction M.get()\n\treturn {\n\t\tNotifierIcon = { fg = C.ma"
  },
  {
    "path": "lua/catppuccin/groups/integrations/notify.lua",
    "chars": 913,
    "preview": "local M = {}\n\nM.url = \"https://github.com/rcarriga/nvim-notify\"\n\nfunction M.get()\n\treturn {\n\t\tNotifyBackground = { bg = "
  },
  {
    "path": "lua/catppuccin/groups/integrations/nvim_surround.lua",
    "chars": 180,
    "preview": "local M = {}\n\nM.url = \"https://github.com/kylechui/nvim-surround\"\n\nfunction M.get()\n\treturn {\n\t\tNvimSurroundHighlight = "
  },
  {
    "path": "lua/catppuccin/groups/integrations/nvimtree.lua",
    "chars": 964,
    "preview": "local M = {}\n\nM.url = \"https://github.com/nvim-tree/nvim-tree.lua\"\n\nfunction M.get()\n\treturn {\n\t\tNvimTreeFolderName = { "
  },
  {
    "path": "lua/catppuccin/groups/integrations/octo.lua",
    "chars": 3330,
    "preview": "local M = {}\n\nM.url = \"https://github.com/pwntester/octo.nvim\"\n\nfunction M.get()\n\treturn {\n\t\t-- colors\n\t\tOctoGrey = { fg"
  },
  {
    "path": "lua/catppuccin/groups/integrations/overseer.lua",
    "chars": 489,
    "preview": "local M = {}\n\nM.url = \"https://github.com/stevearc/overseer.nvim\"\n\nfunction M.get()\n\treturn {\n\t\tOverseerPENDING = { fg ="
  },
  {
    "path": "lua/catppuccin/groups/integrations/pounce.lua",
    "chars": 408,
    "preview": "local M = {}\n\nM.url = \"https://github.com/rlane/pounce.nvim\"\n\nfunction M.get()\n\treturn {\n\t\tPounceMatch = { bg = U.lighte"
  },
  {
    "path": "lua/catppuccin/groups/integrations/rainbow_delimiters.lua",
    "chars": 424,
    "preview": "local M = {}\n\nM.url = \"https://github.com/HiPhish/rainbow-delimiters.nvim\"\n\nfunction M.get()\n\treturn {\n\t\tRainbowDelimite"
  },
  {
    "path": "lua/catppuccin/groups/integrations/render_markdown.lua",
    "chars": 1095,
    "preview": "local M = {}\n\nM.url = \"https://github.com/MeanderingProgrammer/render-markdown.nvim\"\n\n-- render-markdown.nvim highlight "
  },
  {
    "path": "lua/catppuccin/groups/integrations/sandwich.lua",
    "chars": 334,
    "preview": "local M = {}\n\nM.url = \"https://github.com/machakann/vim-sandwich\"\n\nfunction M.get()\n\treturn {\n\t\tOperatorSandwichAdd = { "
  },
  {
    "path": "lua/catppuccin/groups/integrations/signify.lua",
    "chars": 222,
    "preview": "local M = {}\n\nM.url = \"https://github.com/mhinz/vim-signify\"\n\nfunction M.get()\n\treturn {\n\t\tSignifySignAdd = { fg = C.gre"
  },
  {
    "path": "lua/catppuccin/groups/integrations/snacks.lua",
    "chars": 3175,
    "preview": "local M = {}\n\nM.url = \"https://github.com/folke/snacks.nvim\"\n\nfunction M.get()\n\tlocal indent_scope_color = O.integration"
  },
  {
    "path": "lua/catppuccin/groups/integrations/symbols_outline.lua",
    "chars": 315,
    "preview": "local M = {}\n\nM.url = \"https://github.com/simrat39/symbols-outline.nvim\"\n\nfunction M.get()\n\treturn {\n\t\t-- https://github"
  },
  {
    "path": "lua/catppuccin/groups/integrations/telekasten.lua",
    "chars": 206,
    "preview": "local M = {}\n\nM.url = \"https://github.com/nvim-telekasten/telekasten.nvim\"\n\nfunction M.get()\n\treturn {\n\t\ttkLink = { fg ="
  },
  {
    "path": "lua/catppuccin/groups/integrations/telescope.lua",
    "chars": 960,
    "preview": "local M = {}\n\nM.url = \"https://github.com/nvim-telescope/telescope.nvim\"\n\nfunction M.get()\n\tlocal hlgroups = {\n\t\tTelesco"
  },
  {
    "path": "lua/catppuccin/groups/integrations/treesitter_context.lua",
    "chars": 487,
    "preview": "local M = {}\n\nM.url = \"https://github.com/nvim-treesitter/nvim-treesitter-context\"\n\nfunction M.get()\n\treturn {\n\t\tTreesit"
  },
  {
    "path": "lua/catppuccin/groups/integrations/ts_rainbow.lua",
    "chars": 349,
    "preview": "local M = {}\n\nM.url = \"https://github.com/HiPhish/nvim-ts-rainbow\"\n\nfunction M.get()\n\treturn {\n\t\trainbowcol1 = { fg = C."
  },
  {
    "path": "lua/catppuccin/groups/integrations/ts_rainbow2.lua",
    "chars": 368,
    "preview": "local M = {}\n\nM.url = \"https://github.com/HiPhish/nvim-ts-rainbow2\"\n\nfunction M.get()\n\treturn {\n\t\tTSRainbowRed = { fg = "
  },
  {
    "path": "lua/catppuccin/groups/integrations/ufo.lua",
    "chars": 202,
    "preview": "local M = {}\n\nM.url = \"https://github.com/kevinhwang91/nvim-ufo\"\n\nM.get = function()\n\treturn {\n\t\tUfoFoldedFg = { fg = C."
  },
  {
    "path": "lua/catppuccin/groups/integrations/vim_sneak.lua",
    "chars": 183,
    "preview": "local M = {}\n\nM.url = \"https://github.com/justinmk/vim-sneak\"\n\nfunction M.get()\n\treturn {\n\t\tSneak = { fg = C.overlay2, b"
  },
  {
    "path": "lua/catppuccin/groups/integrations/vimwiki.lua",
    "chars": 811,
    "preview": "local M = {}\n\nM.url = \"https://github.com/vimwiki/vimwiki\"\n\nfunction M.get()\n\treturn {\n\t\tVimwikiLink = { fg = C.sky, bg "
  },
  {
    "path": "lua/catppuccin/groups/integrations/which_key.lua",
    "chars": 345,
    "preview": "local M = {}\n\nM.url = \"https://github.com/folke/which-key.nvim\"\n\nfunction M.get()\n\treturn {\n\t\tWhichKey = { link = \"Norma"
  },
  {
    "path": "lua/catppuccin/groups/integrations/window_picker.lua",
    "chars": 362,
    "preview": "local M = {}\n\nM.url = \"https://github.com/s1n7ax/nvim-window-picker\"\n\nfunction M.get()\n\treturn {\n\t\tWindowPickerStatusLin"
  },
  {
    "path": "lua/catppuccin/groups/lsp.lua",
    "chars": 7349,
    "preview": "local M = {}\n\nfunction M.get()\n\tlocal virtual_text = O.lsp_styles.virtual_text\n\tlocal underlines = O.lsp_styles.underlin"
  },
  {
    "path": "lua/catppuccin/groups/semantic_tokens.lua",
    "chars": 1196,
    "preview": "local M = {}\n\nfunction M.get()\n\tif vim.treesitter.highlighter.hl_map then\n\t\tvim.notify_once(\n\t\t\t[[Catppuccin (info):\nsem"
  },
  {
    "path": "lua/catppuccin/groups/syntax.lua",
    "chars": 5822,
    "preview": "local M = {}\n\nfunction M.get()\n\treturn {\n\t\tComment = { fg = C.overlay2, style = O.styles.comments }, -- just comments\n\t\t"
  },
  {
    "path": "lua/catppuccin/groups/terminal.lua",
    "chars": 545,
    "preview": "local M = {}\n\nfunction M.get()\n\treturn {\n\t\tterminal_color_0 = C.overlay0,\n\t\tterminal_color_8 = C.overlay1,\n\n\t\tterminal_c"
  },
  {
    "path": "lua/catppuccin/groups/treesitter.lua",
    "chars": 13918,
    "preview": "local M = {}\n\nfunction M.get()\n\tif vim.treesitter.highlighter.hl_map then\n\t\tvim.notify_once(\n\t\t\t[[Catppuccin (info):\nnvi"
  },
  {
    "path": "lua/catppuccin/init.lua",
    "chars": 6631,
    "preview": "---@type Catppuccin\nlocal M = {\n\tdefault_options = {\n\t\tflavour = \"auto\",\n\t\tbackground = {\n\t\t\tlight = \"latte\",\n\t\t\tdark = "
  },
  {
    "path": "lua/catppuccin/lib/compiler.lua",
    "chars": 3022,
    "preview": "local path_sep = require(\"catppuccin\").path_sep\nlocal O = require(\"catppuccin\").options\nlocal M = {}\n\n-- Credit: https:/"
  },
  {
    "path": "lua/catppuccin/lib/detect_integrations.lua",
    "chars": 1957,
    "preview": "local M = {}\n\n--- parses url to get the last part of it's path, without the `/`.\n---@param url string\n---@return any\nfun"
  },
  {
    "path": "lua/catppuccin/lib/hashing.lua",
    "chars": 596,
    "preview": "local M = {}\nlocal B = bit or bit32\n\nlocal hash_str = function(str) -- djb2, https://theartincode.stanis.me/008-djb2/\n\tl"
  },
  {
    "path": "lua/catppuccin/lib/highlighter.lua",
    "chars": 335,
    "preview": "-- DEPRECATED MODULE\nlocal M = {}\n\nfunction M.highlight(group, color)\n\tif color.style then\n\t\tfor _, style in ipairs(colo"
  },
  {
    "path": "lua/catppuccin/lib/hsluv.lua",
    "chars": 8411,
    "preview": "--[[\nLua implementation of HSLuv and HPLuv color spaces\nHomepage: http://www.hsluv.org/\n\nCopyright (C) 2019 Alexei Boron"
  },
  {
    "path": "lua/catppuccin/lib/mapper.lua",
    "chars": 2610,
    "preview": "local M = {}\n\nfunction M.apply(flavour)\n\tflavour = flavour or require(\"catppuccin\").flavour\n\n\tlocal _O, _C, _U = O, C, U"
  },
  {
    "path": "lua/catppuccin/palettes/frappe.lua",
    "chars": 562,
    "preview": "return {\n\trosewater = \"#f2d5cf\",\n\tflamingo = \"#eebebe\",\n\tpink = \"#f4b8e4\",\n\tmauve = \"#ca9ee6\",\n\tred = \"#e78284\",\n\tmaroon"
  },
  {
    "path": "lua/catppuccin/palettes/init.lua",
    "chars": 1158,
    "preview": "local M = {}\n\nfunction M.get_palette(flavour)\n\tlocal flvr = flavour or require(\"catppuccin\").flavour or vim.g.catppuccin"
  },
  {
    "path": "lua/catppuccin/palettes/latte.lua",
    "chars": 562,
    "preview": "return {\n\trosewater = \"#dc8a78\",\n\tflamingo = \"#dd7878\",\n\tpink = \"#ea76cb\",\n\tmauve = \"#8839ef\",\n\tred = \"#d20f39\",\n\tmaroon"
  },
  {
    "path": "lua/catppuccin/palettes/macchiato.lua",
    "chars": 562,
    "preview": "return {\n\trosewater = \"#f4dbd6\",\n\tflamingo = \"#f0c6c6\",\n\tpink = \"#f5bde6\",\n\tmauve = \"#c6a0f6\",\n\tred = \"#ed8796\",\n\tmaroon"
  },
  {
    "path": "lua/catppuccin/palettes/mocha.lua",
    "chars": 562,
    "preview": "return {\n\trosewater = \"#f5e0dc\",\n\tflamingo = \"#f2cdcd\",\n\tpink = \"#f5c2e7\",\n\tmauve = \"#cba6f7\",\n\tred = \"#f38ba8\",\n\tmaroon"
  },
  {
    "path": "lua/catppuccin/special/bufferline.lua",
    "chars": 4896,
    "preview": "local M = {}\n\nlocal ctp = require \"catppuccin\"\nlocal O = ctp.options\n\nfunction M.get_theme(user_config)\n\tuser_config = u"
  },
  {
    "path": "lua/catppuccin/special/feline.lua",
    "chars": 11961,
    "preview": "local M = {}\n\nlocal C = require(\"catppuccin.palettes\").get_palette()\nlocal ok, lsp = pcall(require, \"feline.providers.ls"
  },
  {
    "path": "lua/catppuccin/types.lua",
    "chars": 12841,
    "preview": "---@class Catppuccin\n---@field options CatppuccinOptions\n---@field setup fun(opts: CatppuccinOptions?)\n\n---@alias CtpFla"
  },
  {
    "path": "lua/catppuccin/utils/barbecue.lua",
    "chars": 1838,
    "preview": "return function(flavour)\n\tlocal C = require(\"catppuccin.palettes\").get_palette(flavour)\n\tlocal O = require(\"catppuccin\")"
  },
  {
    "path": "lua/catppuccin/utils/colors.lua",
    "chars": 4749,
    "preview": "local M = {}\n\nlocal hsluv = require \"catppuccin.lib.hsluv\"\n\nM.bg = \"#000000\"\nM.fg = \"#ffffff\"\nM.day_brightness = 0.3\n\n--"
  },
  {
    "path": "lua/catppuccin/utils/integration_mappings.lua",
    "chars": 2206,
    "preview": "local M = {\n\t[\"aerial.nvim\"] = \"aerial\",\n\t[\"alpha-nvim\"] = \"alpha\",\n\t[\"artio.nvim\"] = \"artio\",\n\t[\"avante.nvim\"] = \"avant"
  },
  {
    "path": "lua/catppuccin/utils/lualine.lua",
    "chars": 1862,
    "preview": "---@param colors_override (CtpIntegrationLualineOverride | CtpIntegrationLualineOverrideFn)?\n---@param colors CtpColors<"
  },
  {
    "path": "lua/catppuccin/utils/reactive.lua",
    "chars": 2764,
    "preview": "local M = {}\n\nfunction M.cursor(name, palette)\n\treturn {\n\t\tname = name,\n\t\tinit = function() vim.opt.guicursor:append \"a:"
  },
  {
    "path": "lua/lualine/themes/catppuccin-frappe.lua",
    "chars": 51,
    "preview": "return require \"catppuccin.utils.lualine\" \"frappe\"\n"
  },
  {
    "path": "lua/lualine/themes/catppuccin-latte.lua",
    "chars": 50,
    "preview": "return require \"catppuccin.utils.lualine\" \"latte\"\n"
  },
  {
    "path": "lua/lualine/themes/catppuccin-macchiato.lua",
    "chars": 54,
    "preview": "return require \"catppuccin.utils.lualine\" \"macchiato\"\n"
  },
  {
    "path": "lua/lualine/themes/catppuccin-mocha.lua",
    "chars": 50,
    "preview": "return require \"catppuccin.utils.lualine\" \"mocha\"\n"
  },
  {
    "path": "lua/lualine/themes/catppuccin-nvim.lua",
    "chars": 44,
    "preview": "return require \"catppuccin.utils.lualine\"()\n"
  },
  {
    "path": "lua/reactive/presets/catppuccin-frappe-cursor.lua",
    "chars": 180,
    "preview": "local palette = require(\"catppuccin.palettes\").get_palette \"frappe\"\nlocal presets = require \"catppuccin.utils.reactive\"\n"
  },
  {
    "path": "lua/reactive/presets/catppuccin-frappe-cursorline.lua",
    "chars": 1750,
    "preview": "local darken = require(\"catppuccin.utils.colors\").darken\nlocal palette = require(\"catppuccin.palettes\").get_palette \"fra"
  },
  {
    "path": "lua/reactive/presets/catppuccin-latte-cursor.lua",
    "chars": 263,
    "preview": "local palette = require(\"catppuccin.palettes\").get_palette \"latte\"\nlocal presets = require \"catppuccin.utils.reactive\"\n\n"
  },
  {
    "path": "lua/reactive/presets/catppuccin-latte-cursorline.lua",
    "chars": 1736,
    "preview": "local lighten = require(\"catppuccin.utils.colors\").lighten\nlocal palette = require(\"catppuccin.palettes\").get_palette \"l"
  },
  {
    "path": "lua/reactive/presets/catppuccin-macchiato-cursor.lua",
    "chars": 186,
    "preview": "local palette = require(\"catppuccin.palettes\").get_palette \"macchiato\"\nlocal presets = require \"catppuccin.utils.reactiv"
  },
  {
    "path": "lua/reactive/presets/catppuccin-macchiato-cursorline.lua",
    "chars": 439,
    "preview": "local palette = require(\"catppuccin.palettes\").get_palette \"macchiato\"\nlocal presets = require \"catppuccin.utils.reactiv"
  },
  {
    "path": "lua/reactive/presets/catppuccin-mocha-cursor.lua",
    "chars": 178,
    "preview": "local palette = require(\"catppuccin.palettes\").get_palette \"mocha\"\nlocal presets = require \"catppuccin.utils.reactive\"\n\n"
  },
  {
    "path": "lua/reactive/presets/catppuccin-mocha-cursorline.lua",
    "chars": 186,
    "preview": "local palette = require(\"catppuccin.palettes\").get_palette \"mocha\"\nlocal presets = require \"catppuccin.utils.reactive\"\n\n"
  },
  {
    "path": "nvim.tera",
    "chars": 213,
    "preview": "---\nwhiskers:\n  version: 2.5.1\n  matrix:\n    - flavor\n  filename: \"lua/catppuccin/palettes/{{flavor.identifier}}.lua\"\n--"
  },
  {
    "path": "renovate.json",
    "chars": 128,
    "preview": "{\n  \"$schema\": \"https://docs.renovatebot.com/renovate-schema.json\",\n  \"extends\": [\n    \"local>catppuccin/renovate-config"
  },
  {
    "path": "scripts/generate_integration_mappings_table.lua",
    "chars": 1722,
    "preview": "local M = {}\n\nlocal catppuccin_path = vim.fn.getcwd() -- get to the root directory of the plugin\nlocal lua_path = catppu"
  },
  {
    "path": "selene.toml",
    "chars": 43,
    "preview": "std = 'vim'\n\n[lints]\nmixed_table = 'allow'\n"
  },
  {
    "path": "stylua.toml",
    "chars": 175,
    "preview": "column_width = 120\nline_endings = \"Unix\"\nindent_type = \"Tabs\"\nindent_width = 4\nquote_style = \"AutoPreferDouble\"\ncollapse"
  },
  {
    "path": "tests/flavour_spec.lua",
    "chars": 3151,
    "preview": "local function reload()\n\tfor name, _ in pairs(package.loaded) do\n\t\tif name:match \"^catppuccin\" then package.loaded[name]"
  },
  {
    "path": "tests/hash_spec.lua",
    "chars": 906,
    "preview": "describe(\"hash\", function()\n\tlocal hash = require(\"catppuccin.lib.hashing\").hash\n\tit(\"typo\", function() assert.are_not.e"
  },
  {
    "path": "tests/init.lua",
    "chars": 776,
    "preview": "local status, error = pcall(function()\n\tlocal root = vim.fn.fnamemodify(\".repro\", \":p\")\n\tfor _, name in ipairs { \"config"
  },
  {
    "path": "tests/init.vim",
    "chars": 188,
    "preview": "try\n\tcall plug#begin()\n\tPlug expand('<sfile>')[0:-16] \n\tcall plug#end()\n\n\tlua require(\"catppuccin\").setup {}\n  colorsche"
  },
  {
    "path": "tests/minimal_init.vim",
    "chars": 40,
    "preview": "set rtp+=.\n\nruntime! plugin/plenary.vim\n"
  },
  {
    "path": "tests/palette_spec.lua",
    "chars": 598,
    "preview": "local function reload()\n\tfor name, _ in pairs(package.loaded) do\n\t\tif name:match \"^catppuccin\" then package.loaded[name]"
  },
  {
    "path": "tests/pattern_spec.lua",
    "chars": 860,
    "preview": "describe(\"parse url from\", function()\n\tlocal parse_url = require(\"catppuccin.lib.detect_integrations\").parse_url\n\n\tit(\n\t"
  },
  {
    "path": "vim.toml",
    "chars": 165,
    "preview": "[selene]\nbase = \"lua51\"\nname = \"vim\"\n\n[vim]\nany = true\n\n[jit]\nany = true\n\n[assert]\nany = true\n\n[describe]\nany = true\n\n[i"
  }
]

About this extraction

This page contains the full source code of the catppuccin/nvim GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 151 files (299.3 KB), approximately 100.2k tokens. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!