├── .github ├── CODEOWNERS ├── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md ├── pull_request_template.md └── workflows │ ├── auto-assign-issues.yml │ ├── pr.yml │ └── update.yml ├── .gitignore ├── CONTRIBUTING.md ├── LICENSE.md ├── README.md ├── colors ├── base16-3024.vim ├── base16-apathy.vim ├── base16-apprentice.vim ├── base16-ashes.vim ├── base16-atelier-cave-light.vim ├── base16-atelier-cave.vim ├── base16-atelier-dune-light.vim ├── base16-atelier-dune.vim ├── base16-atelier-estuary-light.vim ├── base16-atelier-estuary.vim ├── base16-atelier-forest-light.vim ├── base16-atelier-forest.vim ├── base16-atelier-heath-light.vim ├── base16-atelier-heath.vim ├── base16-atelier-lakeside-light.vim ├── base16-atelier-lakeside.vim ├── base16-atelier-plateau-light.vim ├── base16-atelier-plateau.vim ├── base16-atelier-savanna-light.vim ├── base16-atelier-savanna.vim ├── base16-atelier-seaside-light.vim ├── base16-atelier-seaside.vim ├── base16-atelier-sulphurpool-light.vim ├── base16-atelier-sulphurpool.vim ├── base16-atlas.vim ├── base16-ayu-dark.vim ├── base16-ayu-light.vim ├── base16-ayu-mirage.vim ├── base16-aztec.vim ├── base16-bespin.vim ├── base16-black-metal-bathory.vim ├── base16-black-metal-burzum.vim ├── base16-black-metal-dark-funeral.vim ├── base16-black-metal-gorgoroth.vim ├── base16-black-metal-immortal.vim ├── base16-black-metal-khold.vim ├── base16-black-metal-marduk.vim ├── base16-black-metal-mayhem.vim ├── base16-black-metal-nile.vim ├── base16-black-metal-venom.vim ├── base16-black-metal.vim ├── base16-blueforest.vim ├── base16-blueish.vim ├── base16-brewer.vim ├── base16-bright.vim ├── base16-brogrammer.vim ├── base16-brushtrees-dark.vim ├── base16-brushtrees.vim ├── base16-caroline.vim ├── base16-catppuccin-frappe.vim ├── base16-catppuccin-latte.vim ├── base16-catppuccin-macchiato.vim ├── base16-catppuccin-mocha.vim ├── base16-chalk.vim ├── base16-chicago-day.vim ├── base16-chicago-night.vim ├── base16-circus.vim ├── base16-classic-dark.vim ├── base16-classic-light.vim ├── base16-codeschool.vim ├── base16-colors.vim ├── base16-cupcake.vim ├── base16-cupertino.vim ├── base16-da-one-black.vim ├── base16-da-one-gray.vim ├── base16-da-one-ocean.vim ├── base16-da-one-paper.vim ├── base16-da-one-sea.vim ├── base16-da-one-white.vim ├── base16-danqing-light.vim ├── base16-danqing.vim ├── base16-darcula.vim ├── base16-darkmoss.vim ├── base16-darktooth.vim ├── base16-darkviolet.vim ├── base16-decaf.vim ├── base16-deep-oceanic-next.vim ├── base16-default-dark.vim ├── base16-default-light.vim ├── base16-digital-rain.vim ├── base16-dirtysea.vim ├── base16-dracula.vim ├── base16-edge-dark.vim ├── base16-edge-light.vim ├── base16-eighties.vim ├── base16-embers-light.vim ├── base16-embers.vim ├── base16-emil.vim ├── base16-equilibrium-dark.vim ├── base16-equilibrium-gray-dark.vim ├── base16-equilibrium-gray-light.vim ├── base16-equilibrium-light.vim ├── base16-eris.vim ├── base16-espresso.vim ├── base16-eva-dim.vim ├── base16-eva.vim ├── base16-evenok-dark.vim ├── base16-everforest-dark-hard.vim ├── base16-everforest-dark-soft.vim ├── base16-everforest.vim ├── base16-flat.vim ├── base16-framer.vim ├── base16-fruit-soda.vim ├── base16-gigavolt.vim ├── base16-github-dark.vim ├── base16-github.vim ├── base16-google-dark.vim ├── base16-google-light.vim ├── base16-gotham.vim ├── base16-grayscale-dark.vim ├── base16-grayscale-light.vim ├── base16-greenscreen.vim ├── base16-gruber.vim ├── base16-gruvbox-dark-hard.vim ├── base16-gruvbox-dark-medium.vim ├── base16-gruvbox-dark-pale.vim ├── base16-gruvbox-dark-soft.vim ├── base16-gruvbox-dark.vim ├── base16-gruvbox-light-hard.vim ├── base16-gruvbox-light-medium.vim ├── base16-gruvbox-light-soft.vim ├── base16-gruvbox-light.vim ├── base16-gruvbox-material-dark-hard.vim ├── base16-gruvbox-material-dark-medium.vim ├── base16-gruvbox-material-dark-soft.vim ├── base16-gruvbox-material-light-hard.vim ├── base16-gruvbox-material-light-medium.vim ├── base16-gruvbox-material-light-soft.vim ├── base16-hardcore.vim ├── base16-harmonic16-dark.vim ├── base16-harmonic16-light.vim ├── base16-heetch-light.vim ├── base16-heetch.vim ├── base16-helios.vim ├── base16-hopscotch.vim ├── base16-horizon-dark.vim ├── base16-horizon-light.vim ├── base16-horizon-terminal-dark.vim ├── base16-horizon-terminal-light.vim ├── base16-humanoid-dark.vim ├── base16-humanoid-light.vim ├── base16-ia-dark.vim ├── base16-ia-light.vim ├── base16-icy.vim ├── base16-irblack.vim ├── base16-isotope.vim ├── base16-jabuti.vim ├── base16-kanagawa-dragon.vim ├── base16-kanagawa.vim ├── base16-katy.vim ├── base16-kimber.vim ├── base16-lime.vim ├── base16-macintosh.vim ├── base16-marrakesh.vim ├── base16-materia.vim ├── base16-material-darker.vim ├── base16-material-lighter.vim ├── base16-material-palenight.vim ├── base16-material-vivid.vim ├── base16-material.vim ├── base16-measured-dark.vim ├── base16-measured-light.vim ├── base16-mellow-purple.vim ├── base16-mexico-light.vim ├── base16-mocha.vim ├── base16-monokai.vim ├── base16-moonlight.vim ├── base16-mountain.vim ├── base16-nebula.vim ├── base16-nord-light.vim ├── base16-nord.vim ├── base16-nova.vim ├── base16-ocean.vim ├── base16-oceanicnext.vim ├── base16-one-light.vim ├── base16-onedark-dark.vim ├── base16-onedark.vim ├── base16-outrun-dark.vim ├── base16-oxocarbon-dark.vim ├── base16-oxocarbon-light.vim ├── base16-pandora.vim ├── base16-papercolor-dark.vim ├── base16-papercolor-light.vim ├── base16-paraiso.vim ├── base16-pasque.vim ├── base16-phd.vim ├── base16-pico.vim ├── base16-pinky.vim ├── base16-pop.vim ├── base16-porple.vim ├── base16-precious-dark-eleven.vim ├── base16-precious-dark-fifteen.vim ├── base16-precious-light-warm.vim ├── base16-precious-light-white.vim ├── base16-primer-dark-dimmed.vim ├── base16-primer-dark.vim ├── base16-primer-light.vim ├── base16-purpledream.vim ├── base16-qualia.vim ├── base16-railscasts.vim ├── base16-rebecca.vim ├── base16-rose-pine-dawn.vim ├── base16-rose-pine-moon.vim ├── base16-rose-pine.vim ├── base16-saga.vim ├── base16-sagelight.vim ├── base16-sakura.vim ├── base16-sandcastle.vim ├── base16-selenized-black.vim ├── base16-selenized-dark.vim ├── base16-selenized-light.vim ├── base16-selenized-white.vim ├── base16-seti.vim ├── base16-shades-of-purple.vim ├── base16-shadesmear-dark.vim ├── base16-shadesmear-light.vim ├── base16-shapeshifter.vim ├── base16-silk-dark.vim ├── base16-silk-light.vim ├── base16-snazzy.vim ├── base16-solarflare-light.vim ├── base16-solarflare.vim ├── base16-solarized-dark.vim ├── base16-solarized-light.vim ├── base16-spaceduck.vim ├── base16-spacemacs.vim ├── base16-sparky.vim ├── base16-standardized-dark.vim ├── base16-standardized-light.vim ├── base16-stella.vim ├── base16-still-alive.vim ├── base16-summercamp.vim ├── base16-summerfruit-dark.vim ├── base16-summerfruit-light.vim ├── base16-synth-midnight-dark.vim ├── base16-synth-midnight-light.vim ├── base16-tango.vim ├── base16-tarot.vim ├── base16-tender.vim ├── base16-terracotta-dark.vim ├── base16-terracotta.vim ├── base16-tokyo-city-dark.vim ├── base16-tokyo-city-light.vim ├── base16-tokyo-city-terminal-dark.vim ├── base16-tokyo-city-terminal-light.vim ├── base16-tokyo-night-dark.vim ├── base16-tokyo-night-light.vim ├── base16-tokyo-night-moon.vim ├── base16-tokyo-night-storm.vim ├── base16-tokyo-night-terminal-dark.vim ├── base16-tokyo-night-terminal-light.vim ├── base16-tokyo-night-terminal-storm.vim ├── base16-tokyodark-terminal.vim ├── base16-tokyodark.vim ├── base16-tomorrow-night-eighties.vim ├── base16-tomorrow-night.vim ├── base16-tomorrow.vim ├── base16-tube.vim ├── base16-twilight.vim ├── base16-unikitty-dark.vim ├── base16-unikitty-light.vim ├── base16-unikitty-reversible.vim ├── base16-uwunicorn.vim ├── base16-valua.vim ├── base16-vesper.vim ├── base16-vice.vim ├── base16-vulcan.vim ├── base16-windows-10-light.vim ├── base16-windows-10.vim ├── base16-windows-95-light.vim ├── base16-windows-95.vim ├── base16-windows-highcontrast-light.vim ├── base16-windows-highcontrast.vim ├── base16-windows-nt-light.vim ├── base16-windows-nt.vim ├── base16-woodland.vim ├── base16-xcode-dusk.vim ├── base16-zenbones.vim ├── base16-zenburn.vim ├── base24-3024-day.vim ├── base24-3024-night.vim ├── base24-adventure-time.vim ├── base24-alien-blood.vim ├── base24-argonaut.vim ├── base24-arthur.vim ├── base24-atelier-sulphurpool.vim ├── base24-ayu-light.vim ├── base24-ayu.vim ├── base24-banana-blueberry.vim ├── base24-batman.vim ├── base24-birds-of-paradise.vim ├── base24-blazer.vim ├── base24-blue-berry-pie.vim ├── base24-blue-matrix.vim ├── base24-bluloco-dark.vim ├── base24-bluloco-light.vim ├── base24-borland.vim ├── base24-breeze.vim ├── base24-broadcast.vim ├── base24-brogrammer.vim ├── base24-builtin-dark.vim ├── base24-builtin-light.vim ├── base24-builtin-pastel-dark.vim ├── base24-builtin-solarized-dark.vim ├── base24-builtin-solarized-light.vim ├── base24-builtin-tango-dark.vim ├── base24-builtin-tango-light.vim ├── base24-catppuccin-frappe.vim ├── base24-catppuccin-latte.vim ├── base24-catppuccin-macchiato.vim ├── base24-catppuccin-mocha.vim ├── base24-chalk.vim ├── base24-chalkboard.vim ├── base24-challenger-deep.vim ├── base24-ciapre.vim ├── base24-clrs.vim ├── base24-cobalt-neon.vim ├── base24-cobalt2.vim ├── base24-crayon-pony-fish.vim ├── base24-cyberdyne.vim ├── base24-dark-plus.vim ├── base24-dark.vim ├── base24-deep-oceanic-next.vim ├── base24-deep.vim ├── base24-desert.vim ├── base24-dimmed-monokai.vim ├── base24-dracula.vim ├── base24-earthsong.vim ├── base24-elemental.vim ├── base24-elementary.vim ├── base24-embarcadero.vim ├── base24-encom.vim ├── base24-espresso-libre.vim ├── base24-espresso.vim ├── base24-fideloper.vim ├── base24-firefox-dev.vim ├── base24-fish-tank.vim ├── base24-flat.vim ├── base24-flatland.vim ├── base24-floraverse.vim ├── base24-forest-blue.vim ├── base24-framer.vim ├── base24-front-end-delight.vim ├── base24-fun-forrest.vim ├── base24-galaxy.vim ├── base24-github-dark.vim ├── base24-github-light.vim ├── base24-github.vim ├── base24-grape.vim ├── base24-gruvbox-dark.vim ├── base24-gruvbox-light.vim ├── base24-hacktober.vim ├── base24-hardcore.vim ├── base24-highway.vim ├── base24-hipster-green.vim ├── base24-hivacruz.vim ├── base24-homebrew.vim ├── base24-hopscotch.vim ├── base24-hurtado.vim ├── base24-hybrid.vim ├── base24-ic-green-ppl.vim ├── base24-ic-orange-ppl.vim ├── base24-idea.vim ├── base24-idle-toes.vim ├── base24-jackie-brown.vim ├── base24-japanesque.vim ├── base24-jellybeans.vim ├── base24-jet-brains-darcula.vim ├── base24-kibble.vim ├── base24-lab-fox.vim ├── base24-laser.vim ├── base24-later-this-evening.vim ├── base24-lavandula.vim ├── base24-lovelace.vim ├── base24-man-page.vim ├── base24-material-dark.vim ├── base24-material.vim ├── base24-mathias.vim ├── base24-medailion.vim ├── base24-medallion.vim ├── base24-mission-brogue.vim ├── base24-misterioso.vim ├── base24-molokai.vim ├── base24-mona-lisa.vim ├── base24-monokai-vivid.vim ├── base24-night-lion-v1.vim ├── base24-night-lion-v2.vim ├── base24-night-owlish-light.vim ├── base24-nocturnal-winter.vim ├── base24-obsidian.vim ├── base24-ocean.vim ├── base24-oceanic-material.vim ├── base24-ollie.vim ├── base24-one-black.vim ├── base24-one-dark.vim ├── base24-one-half-light.vim ├── base24-one-light.vim ├── base24-operator-mono-dark.vim ├── base24-pandora.vim ├── base24-paul-millr.vim ├── base24-pencil-dark.vim ├── base24-pencil-light.vim ├── base24-piatto-light.vim ├── base24-pnevma.vim ├── base24-pro-light.vim ├── base24-pro.vim ├── base24-purple-rain.vim ├── base24-purplepeter.vim ├── base24-rebecca.vim ├── base24-red-alert.vim ├── base24-red-planet.vim ├── base24-red-sands.vim ├── base24-rippedcasts.vim ├── base24-royal.vim ├── base24-scarlet-protocol.vim ├── base24-sea-shells.vim ├── base24-seafoam-pastel.vim ├── base24-shades-of-purple.vim ├── base24-shaman.vim ├── base24-slate.vim ├── base24-sleepy-hollow.vim ├── base24-smyck.vim ├── base24-soft-server.vim ├── base24-solarized-dark-higher-contrast.vim ├── base24-solarized-dark-patched.vim ├── base24-space-gray-eighties-dull.vim ├── base24-space-gray-eighties.vim ├── base24-space-grey-eighties-dull.vim ├── base24-space-grey-eighties.vim ├── base24-spacedust.vim ├── base24-sparky.vim ├── base24-spiderman.vim ├── base24-square.vim ├── base24-sundried.vim ├── base24-tango-adapted.vim ├── base24-tango-half-adapted.vim ├── base24-terminal-basic.vim ├── base24-thayer-bright.vim ├── base24-thayler-bright.vim ├── base24-the-hulk.vim ├── base24-toy-chest.vim ├── base24-treehouse.vim ├── base24-twilight.vim ├── base24-ubuntu.vim ├── base24-ultra-violet.vim ├── base24-under-the-sea.vim ├── base24-unikitty.vim ├── base24-vibrant-ink.vim ├── base24-violet-dark.vim ├── base24-violet-light.vim ├── base24-warm-neon.vim ├── base24-wez.vim ├── base24-wild-cherry.vim ├── base24-wombat.vim ├── base24-wryan.vim └── base24-zenburn.vim ├── doc └── tinted-vim.txt ├── lua └── tinted-vim │ └── init.lua ├── plugin └── tinted-vim.vim ├── screenshots ├── tinted-vim-screenshot-classic-dark.png ├── tinted-vim-screenshot-horizon-dark.png ├── tinted-vim-screenshot-onedark.png ├── with-base16colorspace-256-without-base16-shell.png └── without-base16colorspace-256-with-256-terminal-theme.png └── templates ├── config.yaml └── tinted-vim.mustache /.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | * @tinted-theming/vim 2 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | title: "[Bug report] " 5 | labels: ["bug"] 6 | assignees: 7 | - tinted-theming/vim 8 | --- 9 | 10 | ## Describe the bug 11 | 12 | 13 | 14 | ## Expected behavior 15 | 16 | 17 | 18 | ## Screenshots 19 | 20 | 21 | 22 | ## **System** 23 | 24 | **Vim or Neovim:** 25 | 26 | **Vim or Neovim version:** 27 | 28 | **Any other plugins you may consider relevant:** 29 | 30 | ## Minimal configuration file 31 | 32 | 34 | 35 | ## Additional context 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | title: "[Feature request] " 5 | labels: ["feature"] 6 | assignees: 7 | - tinted-theming/vim 8 | --- 9 | 10 | ## Is your feature request related to a problem? Please describe. 11 | 12 | 13 | 14 | ## Describe the solution you'd like 15 | 16 | 17 | 18 | ## Describe alternatives you've considered 19 | 20 | 22 | 23 | ## Additional context 24 | 25 | 27 | -------------------------------------------------------------------------------- /.github/pull_request_template.md: -------------------------------------------------------------------------------- 1 | ## Description 2 | 3 | 4 | 5 | Fixes #ISSUE_NUMBER 6 | 7 | ## Checklist 8 | 9 | - [ ] I have **NOT** included the built files `./colors/*.vim` in this 10 | PR since the bot will build the files on merge to `main` 11 | - [ ] I have confirmed that my changes produce no regressions after building 12 | -------------------------------------------------------------------------------- /.github/workflows/auto-assign-issues.yml: -------------------------------------------------------------------------------- 1 | name: "Auto assignment for issues" 2 | 3 | on: 4 | issues: 5 | types: ["opened"] 6 | 7 | jobs: 8 | auto-assign: 9 | uses: "tinted-theming/home/.github/workflows/shared-auto-assign-issues.yml@main" 10 | secrets: 11 | token: ${{ secrets.BOT_ACCESS_TOKEN }} 12 | -------------------------------------------------------------------------------- /.github/workflows/pr.yml: -------------------------------------------------------------------------------- 1 | name: "Pull Request" 2 | 3 | on: 4 | pull_request: 5 | paths: 6 | - "colors/*.vim" 7 | 8 | jobs: 9 | check-generated-theme-directories: 10 | runs-on: ubuntu-latest 11 | steps: 12 | - name: Checkout repository 13 | uses: actions/checkout@v4 14 | 15 | - name: Check for changes in restricted directories 16 | run: | 17 | echo "Error: Changes detected in generated theme directory." 18 | echo "this directory should be generated by tinted-theming-bot after merge." 19 | exit 1 20 | -------------------------------------------------------------------------------- /.github/workflows/update.yml: -------------------------------------------------------------------------------- 1 | name: Update with the latest tinted-theming colorschemes 2 | on: 3 | push: 4 | branches: 5 | - main 6 | paths: 7 | - "templates/tinted-vim.mustache" 8 | workflow_dispatch: 9 | schedule: 10 | - cron: "0 0 * * *" # https://crontab.guru/every-day 11 | 12 | jobs: 13 | build-and-commit: 14 | uses: "tinted-theming/home/.github/workflows/shared-build-template-and-commit-themes.yml@main" 15 | secrets: 16 | token: ${{ secrets.BOT_ACCESS_TOKEN }} 17 | with: 18 | ref: ${{ github.head_ref }} 19 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | schemes 2 | doc/tags 3 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing 2 | 3 | This repository includes a [GitHub Action] that builds the 4 | colorschemes once a week. This keeps the colorschemes up-to-date 5 | automatically. 6 | 7 | ## Building 8 | 9 | ### Dependencies 10 | 11 | - `>=0.9.3` [tinted-builder-rust] 12 | 13 | ### Usage for template editing 14 | 15 | 1. Install [tinted-builder-rust] 16 | 1. `tinted-builder-rust build path/to/tinted-vim` 17 | 18 | ### Usage for adding or editing a colorscheme 19 | 20 | 1. Clone tinted-vim 21 | 1. Install [tinted-builder-rust] 22 | 1. Execute `tinted-builder-rust build path/to/tinted-vim` 23 | 24 | ```shell 25 | tinted-builder-rust build /path/to/tinted-vim \ 26 | --schemes-dir /path/to/tinted-schemes 27 | ``` 28 | 29 | If you have more questions about [tinted-builder-rust], have a look at 30 | the information on the GitHub page. 31 | 32 | [tinted-builder-rust]: https://github.com/tinted-theming/tinted-builder-rust 33 | [tinted-schemes]: https://github.com/tinted-theming/schemes 34 | [GitHub Action]: .github/workflows/update.yml 35 | 36 | ## Improving the highlights 37 | 38 | 1. Check out the help `:h tinted-vim` for an overview of all the highlights. 39 | 1. Use those mappings: 40 | 41 | ```vim 42 | command! -complete=highlight -nargs=1 HighlightHighlight execute 'highlight! link ' . . ' Search' 43 | " See where a highlight is used. 44 | nn e :HighlightHighlight 45 | " Why does this element have this specific color? 46 | nn i :Inspect 47 | " Reload colorscheme after changes to tinted-vim. 48 | nn c :colorscheme base24-summerfruit-dark 49 | ``` 50 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | # LICENSE 2 | 3 | Base16 Vim is released under the MIT License: 4 | 5 | > Copyright (C) 2012 [Chris Kempson](http://chriskempson.com) 6 | > Copyright (C) 2021 [Fausto Núñez Alberro](https://fnune.com/) 7 | > Copyright (C) 2022 [Tinted Theming](https://github.com/tinted-theming) 8 | > 9 | > Permission is hereby granted, free of charge, to any person obtaining 10 | > a copy of this software and associated documentation files (the 11 | > "Software"), to deal in the Software without restriction, including 12 | > without limitation the rights to use, copy, modify, merge, publish, 13 | > distribute, sublicense, and/or sell copies of the Software, and to 14 | > permit persons to whom the Software is furnished to do so, subject to 15 | > the following conditions: 16 | > 17 | > The above copyright notice and this permission notice shall be 18 | > included in all copies or substantial portions of the Software. 19 | > 20 | > THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 21 | > EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 22 | > MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 23 | > NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 24 | > LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 25 | > OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 26 | > WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 27 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Tinted Vim 2 | 3 | Formerly base16-vim, but now supports multiple scheme systems, currently 4 | [base16] and [base24], so we updated the name to reflect that. 5 | 6 | [![Matrix Chat](https://img.shields.io/matrix/tinted-theming:matrix.org)](https://matrix.to/#/#tinted-theming:matrix.org) 7 | 8 | Supports console [Vim], graphical Vim and [Neovim]. 9 | 10 | Over [250 themes] plus light/dark variations are available. Here are 11 | some of our favorites: 12 | 13 | The `classic-dark` theme: 14 | 15 | ![tinted-vim classic-dark] 16 | 17 | The `horizon-dark` theme: 18 | 19 | ![tinted-vim horizon-dark] 20 | 21 | The `onedark` theme: 22 | 23 | ![tinted-vim onedark] 24 | 25 | ## Usage 26 | 27 | 1. [Install](#installation) the plugin. 28 | 1. Configuration depends on your environment: 29 | 30 | - **24-bit Terminal or GUI Vim** 31 | 32 | Vimscript: 33 | 34 | ```vim 35 | set termguicolors " Only needed for terminal vim 36 | colorscheme base16-ayu-dark 37 | ``` 38 | 39 | Lua: 40 | 41 | ```lua 42 | vim.cmd.colorscheme('base16-ayu-dark') 43 | ``` 44 | 45 | - **256 Color Terminal** 46 | 47 | Configure [tinted-shell] 48 | 49 | Vimscript: 50 | 51 | ```vim 52 | let tinted_colorspace=256 53 | colorscheme base16-ayu-dark " Set to same theme as your terminal theme 54 | ``` 55 | 56 | Lua: 57 | 58 | ```lua 59 | vim.g.tinted_colorspace = 256 60 | vim.cmd.colorscheme('base16-ayu-dark') 61 | ``` 62 | 63 | - **16 Color Terminal** 64 | 65 | With a 16 color terminal there will be less "gray" colors. 66 | Configure terminal with theme from [tinted-shell], [official] or [unofficial]. 67 | 68 | Vimscript: 69 | 70 | ```vim 71 | colorscheme base16-ayu-dark " Set to same theme as your terminal theme 72 | ``` 73 | 74 | Lua: 75 | 76 | ```lua 77 | vim.cmd.colorscheme('base16-ayu-dark') 78 | ``` 79 | 80 | 1. Check the highlights with (Neovim only): 81 | 82 | ```vim 83 | :help tinted-vim 84 | ``` 85 | 86 | ## Installation 87 | 88 | ### Lazy.nvim 89 | 90 | ```lua 91 | { 92 | "tinted-theming/tinted-vim", 93 | } 94 | ``` 95 | 96 | ### Packer 97 | 98 | ```lua 99 | use { 100 | "tinted-theming/tinted-vim", 101 | config = function() 102 | vim.cmd.colorscheme 'base16-ayu-dark' 103 | end, 104 | } 105 | ``` 106 | 107 | ### Pathogen 108 | 109 | ```sh 110 | cd ~/.vim/bundle 111 | git clone https://github.com/tinted-theming/tinted-vim.git 112 | ``` 113 | 114 | ```vim 115 | Plugin 'tinted-theming/tinted-vim' 116 | ``` 117 | 118 | ### vim-plug 119 | 120 | Add the following to your `~/.vimrc` file and run `PlugInstall` in Vim. 121 | 122 | ```vim 123 | Plug 'tinted-theming/tinted-vim' 124 | ``` 125 | 126 | ### Vundle 127 | 128 | Add the following to your `~/.vimrc` file and run `PluginInstall` in Vim. 129 | 130 | ```sh 131 | git clone https://github.com/tinted-theming/tinted-vim.git ~/.vim/bundle/tinted-vim 132 | ``` 133 | 134 | ```vim 135 | Plugin 'tinted-theming/tinted-vim' 136 | ``` 137 | 138 | #### Symlink 139 | 140 | You can use a symlink to easily keep things updated. Update your vim 141 | colors every time you do a `git pull` on the `tinted-vim` repo. 142 | 143 | 1. Clone `tinted-vim` somewhere: 144 | 145 | ```sh 146 | git clone git://github.com/tinted-theming/tinted-vim.git ~/projects/tinted-vim 147 | ``` 148 | 149 | 1. Remove your old vim/nvim `colors/` directory if it exists: 150 | 151 | ```sh 152 | rm -r ~/.vim/colors # Or ~/.config/nvim/colors for Neovim 153 | ``` 154 | 155 | 1. Symlink the colors directory: 156 | 157 | ```sh 158 | ln -s ~/projects/tinted-vim/colors/* ~/.vim/colors 159 | # Or for Neovim 160 | # ln -s ~/projects/tinted-vim/colors ~/.config/nvim/colors 161 | ``` 162 | 163 | ### Manual 164 | 165 | #### Vim 166 | 167 | ```sh 168 | cd ~/.vim/colors 169 | git clone git://github.com/tinted-theming/tinted-vim.git tinted-vim 170 | cp tinted-vim/colors/*.vim . 171 | ``` 172 | 173 | #### Neovim 174 | 175 | ```sh 176 | cd ~/.config/nvim/colors 177 | git clone git://github.com/tinted-theming/tinted-vim.git tinted-vim 178 | cp tinted-vim/colors/*.vim . 179 | ``` 180 | 181 | ## Background transparency 182 | 183 | If you're using a terminal with an opacity of `< 1`, you'll notice that 184 | tinted-vim doesn't respect this transparency by default. You can enable 185 | transparent backgrounds with tinted-vim by adding the following settings 186 | to your Vim/Neovim setup. 187 | 188 | Vimscript: 189 | 190 | ```vim 191 | let tinted_background_transparent=1 192 | ``` 193 | 194 | Lua: 195 | 196 | ```lua 197 | vim.g.tinted_background_transparent = 1 198 | ``` 199 | 200 | ## Troubleshooting 201 | 202 | There is a script to help troubleshoot colour issues called `colortest` 203 | available in the [tinted-shell] repository. 204 | 205 | If you are using a ISO-8613-3 compatible terminal ([vim docs], 206 | [neovim docs]), and you see a green or blue line, try to enable 207 | `termguicolors`: 208 | 209 | ```vim 210 | set termguicolors 211 | ``` 212 | 213 | ### Green line numbers 214 | 215 | ![green line numbers screenshot] 216 | 217 | If your Vim looks like the above image you are using a 256 terminal 218 | theme without setting `let tinted_colorspace=256` in your `~/.vimrc`. 219 | Either set `let tinted_colorspace=256` in your `~/.vimrc` or use a non 220 | 256 terminal theme. 221 | 222 | ### Blue line numbers 223 | 224 | ![blue line numbers screenshot] 225 | 226 | If your Vim looks like the above image you are setting `let 227 | tinted_colorspace=256` in your `~/.vimrc` but either not running 228 | [tinted-shell] or [tinted-shell] is not working for your terminal. Either 229 | ensure [tinted-shell] is working by running the `colortest` available 230 | in the [tinted-shell] repository or not setting `let 231 | tinted_colorspace=256` in your `~/.vimrc`. 232 | 233 | ## Customization 234 | 235 | If you want to do some local customization, you can add something like 236 | this to your `~/.vimrc`: 237 | 238 | ```vim 239 | function! s:tinted_customize() abort 240 | call Tinted_Hi("MatchParen", g:tinted_gui05, g:tinted_gui03, g:tinted_cterm05, g:tinted_cterm03, "bold,italic", "") 241 | endfunction 242 | 243 | augroup on_change_colorschema 244 | autocmd! 245 | autocmd ColorScheme * call s:tinted_customize() 246 | augroup END 247 | ``` 248 | 249 | ## Contributing 250 | 251 | See [CONTRIBUTING.md], which contains building and contributing 252 | instructions. 253 | 254 | [base16]: https://github.com/tinted-theming/home/blob/main/styling.md 255 | [base24]: https://github.com/tinted-theming/base24/blob/main/styling.md 256 | [Vim]: https://github.com/vim/vim 257 | [Neovim]: https://github.com/neovim/neovim 258 | [250 themes]: https://github.com/tinted-theming/schemes 259 | [official]: https://github.com/tinted-theming/home#official-templates 260 | [unofficial]: https://github.com/tinted-theming/home#unofficial-templates 261 | [tinted-shell]: https://github.com/tinted-theming/tinted-shell 262 | [vim docs]: https://github.com/vim/vim/blob/23c1b2b018c8121ca5fcc247e37966428bf8ca66/runtime/doc/options.txt#L7876 263 | [neovim docs]: https://neovim.io/doc/user/options.html#'termguicolors' 264 | [CONTRIBUTING.md]: CONTRIBUTING.md 265 | [tinted-vim classic-dark]: screenshots/tinted-vim-screenshot-classic-dark.png 266 | [tinted-vim horizon-dark]: screenshots/tinted-vim-screenshot-horizon-dark.png 267 | [tinted-vim onedark]: screenshots/tinted-vim-screenshot-onedark.png 268 | [green line numbers screenshot]: screenshots/without-tintedcolorspace-256-with-256-terminal-theme.png 269 | [blue line numbers screenshot]: screenshots/with-tintedcolorspace-256-without-tinted-shell.png 270 | -------------------------------------------------------------------------------- /colors/base16-emil.vim: -------------------------------------------------------------------------------- 1 | " vi:syntax=vim 2 | 3 | " tinted-vim (https://github.com/tinted-theming/tinted-vim) 4 | " Scheme name: emil 5 | " Scheme author: limelier 6 | " Template author: Tinted Theming (https://github.com/tinted-theming) 7 | 8 | " This enables the coresponding base16-shell script to run so that 9 | " :colorscheme works in terminals supported by tinted-shell scripts 10 | " User must set this variable in .vimrc 11 | " let g:tinted_shell_path=path/to/shell/scripts 12 | if !has('gui_running') 13 | if exists('g:tinted_shell_path') 14 | execute 'silent !/bin/sh '.g:tinted_shell_path.'/base16/emil.sh' 15 | endif 16 | endif 17 | 18 | " GUI colors 19 | let s:gui00 = 'efefef' 20 | let s:gui01 = 'bebed2' 21 | let s:gui02 = '9e9eaf' 22 | let s:gui03 = '7c7c98' 23 | let s:gui04 = '505063' 24 | let s:gui05 = '313145' 25 | let s:gui06 = '22223a' 26 | let s:gui07 = '1a1a2f' 27 | let s:gui08 = 'f43979' 28 | let s:gui09 = 'd22a8b' 29 | let s:gui0A = 'ff669b' 30 | let s:gui0B = '0073a8' 31 | let s:gui0C = '2155d6' 32 | let s:gui0D = '471397' 33 | let s:gui0E = '6916b6' 34 | let s:gui0F = '8d17a5' 35 | let s:gui10 = 'efefef' 36 | let s:gui11 = 'efefef' 37 | let s:gui12 = 'f43979' 38 | let s:gui13 = 'ff669b' 39 | let s:gui14 = '0073a8' 40 | let s:gui15 = '2155d6' 41 | let s:gui16 = '471397' 42 | let s:gui17 = '6916b6' 43 | 44 | " Terminal colors 45 | let s:cterm00 = '00' 46 | let s:cterm01 = '18' 47 | let s:cterm02 = '19' 48 | let s:cterm03 = '08' 49 | let s:cterm04 = '20' 50 | let s:cterm05 = '21' 51 | let s:cterm06 = '07' 52 | let s:cterm07 = '15' 53 | let s:cterm08 = '01' 54 | let s:cterm09 = '16' 55 | let s:cterm0A = '03' 56 | let s:cterm0B = '02' 57 | let s:cterm0C = '06' 58 | let s:cterm0D = '04' 59 | let s:cterm0E = '05' 60 | let s:cterm0F = '17' 61 | let s:cterm10 = s:cterm00 62 | let s:cterm11 = s:cterm00 63 | let s:cterm12 = '01' 64 | let s:cterm13 = '03' 65 | let s:cterm14 = '02' 66 | let s:cterm15 = '06' 67 | let s:cterm16 = '04' 68 | let s:cterm17 = '05' 69 | 70 | " base16_colorspace` and `base16colorspace` are legacy properties and 71 | " exist to keep existing setups from breaking 72 | if (exists('base16colorspace') && base16_colorspace !=? '256') || (exists('tinted_colorspace') && tinted_colorspace !=? '256') 73 | " We have only 16 colors so define fallbacks for codes > 15 74 | let s:cterm01 = s:cterm00 75 | let s:cterm02 = s:cterm03 76 | let s:cterm04 = s:cterm03 77 | let s:cterm05 = s:cterm06 78 | let s:cterm07 = s:cterm06 79 | let s:cterm09 = s:cterm08 80 | let s:cterm0F = s:cterm08 81 | endif 82 | 83 | " Todo! why do we need the globals? 84 | function! s:create_color_globals() abort 85 | for i in range(0, 23) 86 | let l:num = printf('%02X', i) 87 | execute 'let g:tinted_gui' . l:num . ' = s:gui' . l:num 88 | execute 'let g:tinted_cterm' . l:num . ' = s:cterm' . l:num 89 | " Legacy vars for lualine 90 | execute 'let g:base16_gui' . l:num . ' = s:gui' . l:num 91 | endfor 92 | endfunction 93 | 94 | call s:create_color_globals() 95 | 96 | " Integrated Terminal colors 97 | let s:colors = [ 98 | \ '#efefef', 99 | \ '#f43979', 100 | \ '#0073a8', 101 | \ '#ff669b', 102 | \ '#471397', 103 | \ '#6916b6', 104 | \ '#2155d6', 105 | \ '#313145', 106 | \ '#7c7c98', 107 | \ '#f43979', 108 | \ '#0073a8', 109 | \ '#ff669b', 110 | \ '#471397', 111 | \ '#6916b6', 112 | \ '#2155d6', 113 | \ '#1a1a2f' 114 | \] 115 | 116 | if has('nvim') 117 | for i in range(16) 118 | let g:terminal_color_{i} = s:colors[i] 119 | endfor 120 | let g:terminal_color_background = &background ==? 'light' ? s:colors[7] : s:colors[0] 121 | let g:terminal_color_foreground = &background ==? 'light' ? s:colors[2] : s:colors[5] 122 | elseif has('terminal') 123 | let g:terminal_ansi_colors = s:colors 124 | endif 125 | 126 | if exists('g:tinted_background_transparent') && g:tinted_background_transparent ==? '1' 127 | let s:guibg = 'NONE' 128 | let s:ctermbg = 'NONE' 129 | else 130 | let s:guibg = s:gui00 131 | let s:ctermbg = s:cterm00 132 | endif 133 | 134 | " Theme setup 135 | let g:colors_name = 'base16-emil' 136 | 137 | " Highlighting function 138 | " Optional variables are attributes and guisp 139 | function! g:Tinted_Hi(group, guifg, guibg, ctermfg, ctermbg, ...) 140 | 141 | " Clear the highlight to be more robust against default Highlighting changes 142 | exec 'hi! clear ' . a:group 143 | 144 | let l:attr = get(a:, 1, '') 145 | let l:guisp = get(a:, 2, '') 146 | 147 | " See :help highlight-guifg 148 | let l:gui_special_names = ['NONE', 'bg', 'background', 'fg', 'foreground'] 149 | 150 | if a:guifg !=? '' 151 | if index(l:gui_special_names, a:guifg) >= 0 152 | exec 'hi! ' . a:group . ' guifg=' . a:guifg 153 | else 154 | exec 'hi! ' . a:group . ' guifg=#' . a:guifg 155 | endif 156 | endif 157 | if a:guibg !=? '' 158 | if index(l:gui_special_names, a:guibg) >= 0 159 | exec 'hi! ' . a:group . ' guibg=' . a:guibg 160 | else 161 | exec 'hi! ' . a:group . ' guibg=#' . a:guibg 162 | endif 163 | endif 164 | if a:ctermfg !=? '' 165 | exec 'hi! ' . a:group . ' ctermfg=' . a:ctermfg 166 | endif 167 | if a:ctermbg !=? '' 168 | exec 'hi! ' . a:group . ' ctermbg=' . a:ctermbg 169 | endif 170 | if l:attr !=? '' 171 | exec 'hi! ' . a:group . ' gui=' . l:attr . ' cterm=' . l:attr 172 | endif 173 | if l:guisp !=? '' 174 | if index(l:gui_special_names, l:guisp) >= 0 175 | exec 'hi! ' . a:group . ' guisp=' . l:guisp 176 | else 177 | exec 'hi! ' . a:group . ' guisp=#' . l:guisp 178 | endif 179 | endif 180 | endfunction 181 | 182 | 183 | fun hi(group, guifg, guibg, ctermfg, ctermbg, attr, guisp) 184 | call g:Tinted_Hi(a:group, a:guifg, a:guibg, a:ctermfg, a:ctermbg, a:attr, a:guisp) 185 | endfun 186 | 187 | 188 | " Tinted color highlights 189 | 190 | call hi('tinted_gui00', s:gui00, '', s:cterm00, '', '', '') 191 | call hi('tinted_gui01', s:gui01, '', s:cterm01, '', '', '') 192 | call hi('tinted_gui02', s:gui02, '', s:cterm02, '', '', '') 193 | call hi('tinted_gui03', s:gui03, '', s:cterm03, '', '', '') 194 | call hi('tinted_gui04', s:gui04, '', s:cterm04, '', '', '') 195 | call hi('tinted_gui05', s:gui05, '', s:cterm05, '', '', '') 196 | call hi('tinted_gui06', s:gui06, '', s:cterm06, '', '', '') 197 | call hi('tinted_gui07', s:gui07, '', s:cterm07, '', '', '') 198 | call hi('tinted_gui08', s:gui08, '', s:cterm08, '', '', '') 199 | call hi('tinted_gui09', s:gui09, '', s:cterm09, '', '', '') 200 | call hi('tinted_gui0A', s:gui0A, '', s:cterm0A, '', '', '') 201 | call hi('tinted_gui0B', s:gui0B, '', s:cterm0B, '', '', '') 202 | call hi('tinted_gui0C', s:gui0C, '', s:cterm0C, '', '', '') 203 | call hi('tinted_gui0D', s:gui0D, '', s:cterm0D, '', '', '') 204 | call hi('tinted_gui0E', s:gui0E, '', s:cterm0E, '', '', '') 205 | call hi('tinted_gui0F', s:gui0F, '', s:cterm0F, '', '', '') 206 | call hi('tinted_gui10', s:gui10, '', s:cterm10, '', '', '') 207 | call hi('tinted_gui11', s:gui11, '', s:cterm11, '', '', '') 208 | call hi('tinted_gui12', s:gui12, '', s:cterm12, '', '', '') 209 | call hi('tinted_gui13', s:gui13, '', s:cterm13, '', '', '') 210 | call hi('tinted_gui14', s:gui14, '', s:cterm14, '', '', '') 211 | call hi('tinted_gui15', s:gui15, '', s:cterm15, '', '', '') 212 | call hi('tinted_gui16', s:gui16, '', s:cterm16, '', '', '') 213 | call hi('tinted_gui17', s:gui17, '', s:cterm17, '', '', '') 214 | 215 | " Vim editor colors 216 | 217 | call hi('ColorColumn', '', s:gui01, '', s:cterm01, '', '') 218 | call hi('Conceal', s:gui0D, '', s:cterm0D, '', '', '') 219 | call hi('CurSearch', s:gui00, s:gui14, s:cterm00, s:cterm14, '', '') 220 | call hi('Cursor', 'bg', 'fg', '', '', '', '') 221 | hi! link lCursor Cursor 222 | hi! link CursorIM Cursor 223 | call hi('CursorColumn', '', s:gui01, '', s:cterm01, 'none', '') 224 | call hi('CursorLine', '', s:gui01, '', s:cterm01, 'none', '') 225 | call hi('Directory', s:gui0D, '', s:cterm0D, '', '', '') 226 | 227 | " Diff 228 | call hi('DiffAdd', '', s:gui01, '', s:cterm01, '', '') 229 | call hi('DiffChange', '', s:gui01, '', s:cterm01, '', '') 230 | call hi('DiffDelete', s:gui03, s:guibg, s:cterm03, s:ctermbg, '', '') 231 | call hi('DiffText', '', s:gui02, '', s:cterm02, '', '') 232 | 233 | call hi('EndOfBuffer', s:guibg, s:guibg, s:ctermbg, s:ctermbg, '', '') 234 | call hi('ErrorMsg', s:gui08, '', s:cterm08, '', '', '') 235 | if has('nvim') 236 | call hi('WinSeparator', s:gui01, s:guibg, s:cterm01, s:ctermbg, '', '') 237 | else 238 | call hi('VertSplit', s:gui01, s:guibg, s:cterm01, s:ctermbg, '', '') 239 | endif 240 | call hi('Folded', s:gui13, s:guibg, s:cterm13, s:ctermbg, '', '') 241 | call hi('FoldColumn', s:gui03, s:guibg, s:cterm03, s:ctermbg, '', '') 242 | call hi('SignColumn', s:gui03, s:guibg, s:cterm03, s:ctermbg, '', '') 243 | hi! link IncSearch CurSearch 244 | hi! link Substitute Search 245 | call hi('LineNr', s:gui03, s:guibg, s:cterm03, s:ctermbg, '', '') 246 | hi! link LineNrAbove LineNr 247 | hi! link LineNrBelow LineNr 248 | call hi('CursorLineNr', s:gui04, s:guibg, s:cterm04, s:ctermbg, 'bold', '') 249 | call hi('CursorLineFold', s:gui13, s:guibg, s:cterm13, s:ctermbg, '', '') 250 | hi! link CursorLineSign SignColumn 251 | call hi('MatchParen', s:gui06, '', s:cterm06, '', 'bold', '') 252 | call hi('ModeMsg', s:gui05, '', s:cterm05, '', '', '') 253 | hi! link MsgArea None 254 | hi! link MsgSeparator WinSeparator 255 | call hi('MoreMsg', s:gui0B, '', s:cterm0B, '', '', '') 256 | call hi('NonText', s:gui03, '', s:cterm03, '', '', '') 257 | call hi('Normal', s:gui05, s:guibg, s:cterm05, s:ctermbg, '', '') 258 | call hi('NormalFloat', s:gui06, s:gui01, s:cterm06, s:cterm01, 'none', '') 259 | call hi('FloatBorder', s:gui06, s:gui01, s:cterm06, s:cterm01, 'none', '') 260 | hi! link FloatTitle Title 261 | hi! link FloatFooter FloatTitle 262 | hi! link NormalNC None 263 | call hi('PMenu', s:gui05, s:gui01, s:cterm05, s:cterm01, 'none', '') 264 | call hi('PMenuSel', s:gui06, s:gui02, s:cterm06, s:cterm02, 'none', '') 265 | hi! link PMenuKind PMenu 266 | hi! link PMenuKindSel PMenuSel 267 | hi! link PMenuExtra PMenu 268 | hi! link PMenuExtraSel PMenuSel 269 | call hi('PMenuSbar', '', s:gui03, '', s:cterm03, '', '') 270 | call hi('PMenuThumb', '', s:gui04, '', s:cterm04, '', '') 271 | call hi('PMenuMatch', s:gui0C, '', s:cterm0C, '', '', '') 272 | call hi('PMenuMatchSel', s:gui15, s:gui02, s:cterm15, s:cterm02, 'none', '') 273 | call hi('Question', s:gui0D, '', s:cterm0D, '', '', '') 274 | call hi('QuickFixLine', '', s:gui01, '', s:cterm01, 'none', '') 275 | call hi('Search', s:gui01, s:gui13, s:cterm01, s:cterm13, '', '') 276 | hi! link SnippetTabstop Visual 277 | call hi('SpecialKey', s:gui03, '', s:cterm03, '', '', '') 278 | 279 | " Spell 280 | call hi('SpellBad', '', '', s:ctermbg, s:cterm12, 'undercurl', s:gui08) 281 | call hi('SpellLocal', '', '', s:ctermbg, s:cterm15, 'undercurl', s:gui15) 282 | call hi('SpellCap', '', '', s:ctermbg, s:cterm16, 'undercurl', s:gui16) 283 | call hi('SpellRare', '', '', s:ctermbg, s:cterm0E, 'undercurl', s:gui0E) 284 | 285 | call hi('StatusLine', s:gui04, s:gui01, s:cterm04, s:cterm01, 'none', '') 286 | call hi('StatusLineNC', s:gui03, s:gui01, s:cterm03, s:cterm01, 'none', '') 287 | hi! link StatusLineTerm StatusLine 288 | hi! link StatusLineTermNC StatusLineNC 289 | hi! link TabLine StatusLine 290 | call hi('TabLineSel', s:gui01, s:gui04, s:cterm01, s:cterm04, 'none', '') 291 | hi! link TabLineFill StatusLine 292 | 293 | call hi('Title', s:gui0D, '', s:cterm0D, '', '', '') 294 | call hi('Visual', '', s:gui02, '', s:cterm02, '', '') 295 | hi! link VisualNOS Visual 296 | call hi('WarningMsg', s:gui09, '', s:cterm09, '', '', '') 297 | call hi('Whitespace', s:gui03, '', s:cterm03, '', '', '') 298 | call hi('WildMenu', s:guibg, s:gui05, s:ctermbg, s:cterm05, '', '') 299 | hi! link WinBar StatusLine 300 | hi! link WinBarNC StatusLineNC 301 | 302 | " call hi('Menu', s:guibg, s:gui05, s:ctermbg, s:cterm05, '', '") 303 | " call hi('Scrollbar', s:guibg, s:gui05, s:ctermbg, s:cterm05, '', '") 304 | " call hi('Tooltip', s:guibg, s:gui05, s:ctermbg, s:cterm05, '', '") 305 | 306 | 307 | " Standard syntax 308 | 309 | call hi('Comment', s:gui03, '', s:cterm03, '', 'italic', '') 310 | 311 | call hi('Constant', s:gui09, '', s:cterm09, '', 'none', '') 312 | call hi('String', s:gui0B, '', s:cterm0B, '', 'italic', '') 313 | call hi('Character', s:gui0C, '', s:cterm0C, '', 'none', '') 314 | call hi('Number', s:gui09, '', s:cterm09, '', 'none', '') 315 | call hi('Boolean', s:gui09, '', s:cterm09, '', 'none', '') 316 | call hi('Float', s:gui09, '', s:cterm09, '', 'none', '') 317 | 318 | " The [spec](https://github.com/tinted-theming/base24/blob/main/styling.md) wants 319 | " `Identifier` mapped to base08 aka RED. I do not like it, too much RED. 320 | call hi('Identifier', s:gui05, '', s:cterm05, '', 'none', '') 321 | call hi('Function', s:gui0D, '', s:cterm0D, '', 'none', '') 322 | 323 | call hi('Statement', s:gui0E, '', s:cterm0E, '', 'bold', '') 324 | call hi('Conditional', s:gui0E, '', s:cterm0E, '', 'none', '') 325 | call hi('Repeat', s:gui0E, '', s:cterm0E, '', 'none', '') 326 | call hi('Label', s:gui0E, '', s:cterm0E, '', 'none', '') 327 | call hi('Operator', s:gui0C, '', s:cterm0C, '', 'none', '') 328 | hi! link Keyword Statement 329 | call hi('Exception', s:gui0E, '', s:cterm0E, '', 'none', '') 330 | 331 | call hi('PreProc', s:gui0C, '', s:cterm0C, '', 'none', '') 332 | call hi('Include', s:gui0C, '', s:cterm0C, '', 'none', '') 333 | call hi('Define', s:gui0C, '', s:cterm0C, '', 'none', '') 334 | call hi('Macro', s:gui0C, '', s:cterm0C, '', 'none', '') 335 | call hi('PreCondit', s:gui0C, '', s:cterm0C, '', 'none', '') 336 | 337 | call hi('Type', s:gui0A, '', s:cterm0A, '', 'none', '') 338 | call hi('StorageClass', s:gui0A, '', s:cterm0A, '', 'none', '') 339 | call hi('Structure', s:gui0A, '', s:cterm0A, '', 'none', '') 340 | call hi('Typedef', s:gui0A, '', s:cterm0A, '', 'none', '') 341 | 342 | call hi('Special', s:gui0C, '', s:cterm0C, '', 'none', '') 343 | call hi('SpecialChar', s:gui0A, '', s:cterm0A, '', 'none', '') 344 | call hi('Tag', s:gui09, '', s:cterm09, '', 'none', '') 345 | call hi('Delimiter', s:gui05, '', s:cterm05, '', 'none', '') 346 | call hi('SpecialComment', s:gui0A, '', s:cterm0A, '', 'italic', '') 347 | 348 | call hi('Debug', s:gui08, '', s:cterm08, '', 'none', '') 349 | 350 | call hi('Underlined', '', '', '', '', 'underline', '') 351 | 352 | hi! link Ignore Normal 353 | 354 | call hi('Error', s:gui08, s:guibg, s:cterm08, s:ctermbg, 'bold', '') 355 | 356 | call hi('Todo', s:gui0C, '', s:cterm0C, '', 'none', '') 357 | 358 | call hi('Added', s:gui14, '', s:cterm14, '', 'italic', '') 359 | call hi('Changed', s:gui16, '', s:cterm16, '', 'italic', '') 360 | call hi('Removed', s:gui12, '', s:cterm12, '', 'italic', '') 361 | 362 | 363 | " Treesitter Syntax 364 | 365 | if has('nvim-0.8.0') 366 | hi! link @variable Identifier 367 | call hi('@variable.builtin', s:gui05, '', s:cterm05, '', 'italic', '') 368 | hi! link @variable.parameter Identifier 369 | hi! link @variable.parameter.builtin @variable.builtin 370 | call hi('@variable.member', s:gui04, '', s:cterm04, '', 'none', '') 371 | 372 | hi! link @constant Constant 373 | call hi('@constant.builtin', s:gui09, '', s:cterm09, '', 'italic', '') 374 | hi! link @constant.macro Constant 375 | 376 | hi! link @module Identifier 377 | call hi('@module.builtin', s:gui05, '', s:cterm05, '', 'italic', '') 378 | hi! link @label Tag 379 | 380 | hi! link @string String 381 | hi! link @string.documentation String 382 | hi! link @string.regexp SpecialComment 383 | hi! link @string.escape SpecialComment 384 | hi! link @string.special SpecialComment 385 | hi! link @string.special.symbol SpecialComment 386 | call hi('@string.special.path', s:gui0D, '', s:cterm0D, '', 'italic', '') 387 | call hi('@string.special.url', s:gui08, '', s:cterm08, '', 'italic', '') 388 | 389 | hi! link @character Character 390 | hi! link @character.special SpecialChar 391 | 392 | hi! link @boolean Boolean 393 | hi! link @number Number 394 | hi! link @number.float Float 395 | 396 | hi! link @type Type 397 | call hi('@type.builtin', s:gui0A, '', s:cterm0A, '', 'italic', '') 398 | hi! link @type.definition Typedef 399 | 400 | hi! link @attribute Special 401 | call hi('@attribute.builtin', s:gui0C, '', s:cterm0C, '', 'italic', '') 402 | hi! link @property @variable.member 403 | 404 | call hi('@function', s:gui16, '', s:cterm16, '', '', '') 405 | call hi('@function.builtin', s:gui16, '', s:cterm16, '', 'italic', '') 406 | hi! link @function.call @function 407 | hi! link @function.macro Macro 408 | 409 | hi! link @function.method Function 410 | hi! link @function.method.call @function.method 411 | 412 | call hi('@constructor', s:gui0D, '', s:cterm0D, '', 'bold', '') 413 | 414 | hi! link @operator Operator 415 | 416 | hi! link @keyword Keyword 417 | hi! link @keyword.coroutine Repeat 418 | hi! link @keyword.function Keyword 419 | hi! link @keyword.operator Operator 420 | call hi('@keyword.import', s:gui0E, '', s:cterm0E, '', 'italic', '') 421 | hi! link @keyword.type Keyword 422 | hi! link @keyword.modifier Repeat 423 | hi! link @keyword.repeat Repeat 424 | hi! link @keyword.return Keyword 425 | hi! link @keyword.debug Debug 426 | hi! link @keyword.exception Exception 427 | 428 | hi! link @keyword.conditional Conditional 429 | hi! link @keyword.ternary Conditional 430 | 431 | hi! link @keyword.directive PreProc 432 | hi! link @keyword.directive.define Define 433 | 434 | hi! link @punctuation.delimiter Delimiter 435 | hi! link @punctuation.bracket Delimiter 436 | hi! link @punctuation.special Special 437 | 438 | hi! link @comment Comment 439 | hi! link @comment.documentation Comment 440 | 441 | call hi('@comment.error', s:gui08, '', s:cterm08, '', 'italic', '') 442 | call hi('@comment.warning', s:gui09, '', s:cterm09, '', 'italic', '') 443 | call hi('@comment.note', s:gui0D, '', s:cterm0D, '', 'italic', '') 444 | call hi('@comment.todo', s:gui0C, '', s:cterm0C, '', 'italic', '') 445 | 446 | hi! @markup.strong gui=bold cterm=bold 447 | hi! @markup.italic gui=italic cterm=italic 448 | hi! @markup.strikethrough gui=strikethrough cterm=strikethrough 449 | hi! @markup.underline gui=underline cterm=underline 450 | 451 | hi! link @markup.heading Title 452 | hi! link @markup.quote String 453 | hi! link @markup.math Special 454 | 455 | call hi('@markup.link', s:gui08, '', s:cterm08, '', '', '') 456 | hi! link @markup.link.label @markup.link 457 | hi! link @markup.link.url Identifier 458 | 459 | call hi('@markup.raw', s:gui04, '', s:cterm04, '', '', '') 460 | hi! link @markup.raw.block Identifier 461 | 462 | hi! link @markup.list SpecialChar 463 | hi! link @markup.list.checked DiagnosticOk 464 | hi! link @markup.list.unchecked DiagnosticError 465 | 466 | hi! link @diff.plus Added 467 | hi! link @diff.minus Removed 468 | hi! link @diff.delta Changed 469 | 470 | hi! link @tag Tag 471 | call hi('@tag.builtin', s:gui09, '', s:cterm09, '', 'italic', '') 472 | hi! link @tag.attribute Special 473 | hi! link @tag.delimiter Delimiter 474 | 475 | 476 | " LSP Semantic Token 477 | " https://microsoft.github.io/language-server-protocol/specifications/lsp/3.18/specification/#textDocument_semanticTokens 478 | hi! link @lsp.type.class @type 479 | hi! link @lsp.type.comment @comment 480 | hi! link @lsp.type.decorator @attribute 481 | hi! link @lsp.type.enum @type 482 | hi! link @lsp.type.enumMember @constant 483 | hi! link @lsp.type.event @type 484 | hi! link @lsp.type.function @function 485 | hi! link @lsp.type.interface @type 486 | hi! link @lsp.type.keyword @keyword 487 | hi! link @lsp.type.macro @function.macro 488 | hi! link @lsp.type.method @function.method 489 | hi! link @lsp.type.modifier @type.modifier 490 | hi! link @lsp.type.namespace @module 491 | hi! link @lsp.type.number @number 492 | hi! link @lsp.type.operator @operator 493 | hi! link @lsp.type.parameter @variable.parameter 494 | hi! link @lsp.type.property @property 495 | hi! link @lsp.type.regexp @string.regexp 496 | hi! link @lsp.type.string @string 497 | hi! link @lsp.type.struct @type 498 | hi! link @lsp.type.type @type 499 | hi! link @lsp.type.typeParameter @variable.parameter 500 | hi! link @lsp.type.variable @variable 501 | 502 | " @lsp.mod.abstract Types and member functions that are abstract 503 | " @lsp.mod.async Functions that are marked async 504 | " @lsp.mod.declaration Declarations of symbols 505 | call hi('@lsp.mod.defaultLibrary', '', '', '', '', 'italic', '') 506 | " @lsp.mod.definition Definitions of symbols, for example, in header files 507 | hi! link @lsp.mod.deprecated DiagnosticDeprecated 508 | " @lsp.mod.modification Variable references where the variable is assigned to 509 | " @lsp.mod.readonly Readonly variables and member fields (constants) 510 | " @lsp.mod.static 511 | 512 | " Rust 513 | hi! link @lsp.type.builtinType.rust @type.builtin 514 | hi! link @lsp.type.escapeSequence.rust @string.escape 515 | hi! link @lsp.type.formatSpecifier.rust @operator 516 | hi! link @lsp.type.lifetime.rust @attribute 517 | hi! link @lsp.type.punctuation.rust @punctuation.delimiter 518 | hi! link @lsp.type.selfKeyword.rust @variable.builtin 519 | hi! link @lsp.type.selfTypeKeyword.rust @type.builtin 520 | 521 | call hi('@lsp.mod.attribute', '', '', '', '', 'italic', '') 522 | hi! link @lsp.mod.controlFlow @keyword.repeat 523 | hi! link @lsp.mod.intraDocLink.rust @markup.link 524 | 525 | hi! link @lsp.typemod.generic.injected.rust @variable 526 | hi! link @lsp.typemod.operator.controlFlow.rust @operator 527 | hi! link @lsp.typemod.function.associated.rust @function.method 528 | 529 | " LUA 530 | hi! link @lsp.typemod.keyword.documentation.lua @tag 531 | 532 | " Markdown 533 | hi! link @lsp.type.class.markdown @lsp 534 | 535 | 536 | " LSP not syntax 537 | 538 | hi! link LspReferenceText Search 539 | call hi('LspReferenceRead', s:gui01, s:gui14, s:cterm01, s:cterm14, '', '') 540 | call hi('LspReferenceWrite', s:gui01, s:gui12, s:cterm01, s:cterm12, '', '') 541 | hi! link LspCodeLens NonText 542 | hi! link LspCodeLensSeparator LspCodeLens 543 | hi! link LspInlayHint NonText 544 | hi! link LspSignatureActiveParameter Visual 545 | endif 546 | 547 | 548 | " Diagnostics 549 | 550 | call hi('DiagnosticError', s:gui08, '', s:cterm08, '', '', '') 551 | call hi('DiagnosticWarn', s:gui09, '', s:cterm09, '', '', '') 552 | call hi('DiagnosticInfo', s:gui0C, '', s:cterm0C, '', '', '') 553 | call hi('DiagnosticHint', s:gui0D, '', s:cterm0D, '', '', '') 554 | call hi('DiagnosticOk', s:gui0B, '', s:cterm0B, '', '', '') 555 | 556 | call hi('DiagnosticUnderlineError', '', '', s:ctermbg, s:cterm08, 'underline', s:gui08) 557 | call hi('DiagnosticUnderlineWarn', '', '', s:ctermbg, s:cterm09, 'underline', s:gui09) 558 | call hi('DiagnosticUnderlineInfo', '', '', s:ctermbg, s:cterm0C, 'underline', s:gui0C) 559 | call hi('DiagnosticUnderlineHint', '', '', s:ctermbg, s:cterm0D, 'underline', s:gui0D) 560 | call hi('DiagnosticUnderlineOk', '', '', s:ctermbg, s:cterm0B, 'underline', s:gui0B) 561 | 562 | call hi('DiagnosticFloatingError', s:gui08, s:gui01, s:cterm08, s:cterm01, '', '') 563 | call hi('DiagnosticFloatingWarn', s:gui09, s:gui01, s:cterm09, s:cterm01, '', '') 564 | call hi('DiagnosticFloatingInfo', s:gui0C, s:gui01, s:cterm0C, s:cterm01, '', '') 565 | call hi('DiagnosticFloatingHint', s:gui0D, s:gui01, s:cterm0D, s:cterm01, '', '') 566 | call hi('DiagnosticFloatingOk', s:gui0B, s:gui01, s:cterm0B, s:cterm01, '', '') 567 | 568 | call hi('DiagnosticDeprecated', '', '', s:cterm0F, s:cterm0F, 'strikethrough', '') 569 | hi! link DiagnosticUnnecessary Comment 570 | 571 | 572 | " Syntax Files 573 | 574 | " C 575 | call hi('cOperator', s:gui0C, '', s:cterm0C, '', '', '') 576 | call hi('cPreCondit', s:gui0E, '', s:cterm0E, '', '', '') 577 | 578 | " CSS 579 | call hi('cssBraces', s:gui05, '', s:cterm05, '', '', '') 580 | call hi('cssClassName', s:gui0E, '', s:cterm0E, '', '', '') 581 | call hi('cssColor', s:gui0C, '', s:cterm0C, '', '', '') 582 | 583 | " C# 584 | call hi('csClass', s:gui0A, '', s:cterm0A, '', '', '') 585 | call hi('csAttribute', s:gui0A, '', s:cterm0A, '', '', '') 586 | call hi('csModifier', s:gui0E, '', s:cterm0E, '', '', '') 587 | call hi('csType', s:gui08, '', s:cterm08, '', '', '') 588 | call hi('csUnspecifiedStatement', s:gui0D, '', s:cterm0D, '', '', '') 589 | call hi('csContextualStatement', s:gui0E, '', s:cterm0E, '', '', '') 590 | call hi('csNewDecleration', s:gui08, '', s:cterm08, '', '', '') 591 | 592 | " Git 593 | call hi('GitAddSign', s:gui14, '', s:cterm14, '', '', '') 594 | call hi('GitChangeSign', s:gui04, '', s:cterm04, '', '', '') 595 | call hi('GitDeleteSign', s:gui12, '', s:cterm12, '', '', '') 596 | call hi('GitChangeDeleteSign', s:gui12, '', s:cterm12, '', '', '') 597 | 598 | " Gitcommit 599 | call hi('gitcommitOverflow', s:gui08, '', s:cterm08, '', '', '') 600 | call hi('gitcommitSummary', s:gui0B, '', s:cterm0B, '', '', '') 601 | call hi('gitcommitComment', s:gui03, '', s:cterm03, '', '', '') 602 | call hi('gitcommitUntracked', s:gui03, '', s:cterm03, '', '', '') 603 | call hi('gitcommitDiscarded', s:gui03, '', s:cterm03, '', '', '') 604 | call hi('gitcommitSelected', s:gui03, '', s:cterm03, '', '', '') 605 | call hi('gitcommitHeader', s:gui17, '', s:cterm17, '', '', '') 606 | call hi('gitcommitSelectedType', s:gui16, '', s:cterm16, '', '', '') 607 | call hi('gitcommitUnmergedType', s:gui16, '', s:cterm16, '', '', '') 608 | call hi('gitcommitDiscardedType', s:gui16, '', s:cterm16, '', '', '') 609 | call hi('gitcommitBranch', s:gui13, '', s:cterm13, '', 'bold', '') 610 | call hi('gitcommitUntrackedFile', s:gui0A, '', s:cterm0A, '', '', '') 611 | call hi('gitcommitUnmergedFile', s:gui08, '', s:cterm08, '', 'bold', '') 612 | call hi('gitcommitDiscardedFile', s:gui08, '', s:cterm08, '', 'bold', '') 613 | call hi('gitcommitSelectedFile', s:gui0B, '', s:cterm0B, '', 'bold', '') 614 | 615 | " Gitsigns 616 | call hi('GitSignsAddInline', s:gui14, s:gui02, s:cterm14, s:cterm02, '', '') 617 | call hi('GitSignsChangeInline', s:gui16, s:gui02, s:cterm16, s:cterm02, '', '') 618 | call hi('GitSignsDeleteLnInline', s:gui12, s:gui02, s:cterm12, s:cterm02, '', '') 619 | call hi('GitSignsDeleteVirtLnInline', s:gui16, s:gui02, s:cterm16, s:cterm02, '', '') 620 | call hi('GitSignsDeleteVirtLn', s:gui05, s:gui02, s:cterm05, s:cterm02, '', '') 621 | 622 | " HTML 623 | call hi('htmlBold', s:gui05, '', s:cterm0A, '', 'bold', '') 624 | call hi('htmlItalic', s:gui05, '', s:cterm17, '', 'italic', '') 625 | call hi('htmlEndTag', s:gui05, '', s:cterm05, '', '', '') 626 | call hi('htmlTag', s:gui05, '', s:cterm05, '', '', '') 627 | 628 | " JavaScript 629 | call hi('javaScript', s:gui05, '', s:cterm05, '', '', '') 630 | call hi('javaScriptBraces', s:gui05, '', s:cterm05, '', '', '') 631 | call hi('javaScriptNumber', s:gui09, '', s:cterm09, '', '', '') 632 | 633 | " Mail 634 | call hi('mailQuoted1', s:gui0A, '', s:cterm0A, '', '', '') 635 | call hi('mailQuoted2', s:gui0B, '', s:cterm0B, '', '', '') 636 | call hi('mailQuoted3', s:gui0E, '', s:cterm0E, '', '', '') 637 | call hi('mailQuoted4', s:gui0C, '', s:cterm0C, '', '', '') 638 | call hi('mailQuoted5', s:gui0D, '', s:cterm0D, '', '', '') 639 | call hi('mailQuoted6', s:gui0A, '', s:cterm0A, '', '', '') 640 | call hi('mailURL', s:gui0D, '', s:cterm0D, '', '', '') 641 | call hi('mailEmail', s:gui0D, '', s:cterm0D, '', '', '') 642 | 643 | " Markdown 644 | call hi('markdownCode', s:gui0B, '', s:cterm0B, '', '', '') 645 | call hi('markdownError', s:gui05, s:guibg, s:cterm05, s:ctermbg, '', '') 646 | call hi('markdownCodeBlock', s:gui0B, '', s:cterm0B, '', '', '') 647 | call hi('markdownHeadingDelimiter', s:gui0D, '', s:cterm0D, '', '', '') 648 | 649 | " Neogit 650 | 651 | hi! link NeogitHunkHeader Special 652 | hi! link NeogitDiffHeader Directory 653 | call hi('NeogitDiffContext', s:gui03, '', s:cterm03, '', 'italic', '') 654 | hi! link NeogitDiffAdd Added 655 | hi! link NeogitDiffDelete Removed 656 | 657 | hi! link NeogitHunkHeaderHighlight Special 658 | hi! link NeogitDiffHeaderHighlight Directory 659 | call hi('NeogitDiffContextHighlight', s:gui03, s:guibg, s:cterm03, s:ctermbg, 'italic', '') 660 | call hi('NeogitDiffContextCursor', '', s:guibg, "", s:ctermbg, 'italic', '') 661 | hi! link NeogitDiffAddHighlight Added 662 | hi! link NeogitDiffDeleteHighlight Removed 663 | 664 | hi! link NeogitHunkHeaderCursor Special 665 | hi! link NeogitDiffHeaderCursor Directory 666 | hi! link NeogitDiffAddCursor Added 667 | hi! link NeogitDiffDeleteCursor Removed 668 | 669 | " PHP 670 | call hi('phpMemberSelector', s:gui05, '', s:cterm05, '', '', '') 671 | call hi('phpComparison', s:gui05, '', s:cterm05, '', '', '') 672 | call hi('phpParent', s:gui05, '', s:cterm05, '', '', '') 673 | call hi('phpMethodsVar', s:gui0C, '', s:cterm0C, '', '', '') 674 | 675 | " Python 676 | call hi('pythonOperator', s:gui0E, '', s:cterm0E, '', '', '') 677 | call hi('pythonRepeat', s:gui0E, '', s:cterm0E, '', '', '') 678 | call hi('pythonInclude', s:gui0E, '', s:cterm0E, '', '', '') 679 | call hi('pythonStatement', s:gui0E, '', s:cterm0E, '', '', '') 680 | 681 | " Ruby 682 | call hi('rubyAttribute', s:gui0D, '', s:cterm0D, '', '', '') 683 | call hi('rubyConstant', s:gui0A, '', s:cterm0A, '', '', '') 684 | call hi('rubyInterpolationDelimiter', s:gui0F, '', s:cterm0F, '', '', '') 685 | call hi('rubyRegexp', s:gui0C, '', s:cterm0C, '', '', '') 686 | call hi('rubySymbol', s:gui0B, '', s:cterm0B, '', '', '') 687 | call hi('rubyStringDelimiter', s:gui0B, '', s:cterm0B, '', '', '') 688 | 689 | " SASS 690 | call hi('sassidChar', s:gui08, '', s:cterm08, '', '', '') 691 | call hi('sassClassChar', s:gui09, '', s:cterm09, '', '', '') 692 | call hi('sassInclude', s:gui0E, '', s:cterm0E, '', '', '') 693 | call hi('sassMixing', s:gui0E, '', s:cterm0E, '', '', '') 694 | call hi('sassMixinName', s:gui0D, '', s:cterm0D, '', '', '') 695 | 696 | " Java 697 | call hi('javaOperator', s:gui0D, '', s:cterm0D, '', '', '') 698 | 699 | " Plugins 700 | 701 | " Clap 702 | hi! link ClapInput ColorColumn 703 | hi! link ClapSpinner ColorColumn 704 | hi! link ClapDisplay Default 705 | hi! link ClapPreview ColorColumn 706 | hi! link ClapCurrentSelection CursorLine 707 | hi! link ClapNoMatchesFound ErrorFloat 708 | 709 | " Coc 710 | hi! link CocErrorSign DiagnosticError 711 | hi! link CocWarningSign DiagnosticWarn 712 | hi! link CocInfoSign DiagnosticInfo 713 | hi! link CocHintSign DiagnosticHint 714 | 715 | hi! link CocErrorFloat DiagnosticFloatingError 716 | hi! link CocWarningFloat DiagnosticFloatingWarn 717 | hi! link CocInfoFloat DiagnosticFloatingInfo 718 | hi! link CocHintFloat DiagnosticFloatingHint 719 | 720 | hi! link CocErrorHighlight DiagnosticError 721 | hi! link CocWarningHighlight DiagnosticWarn 722 | hi! link CocInfoHighlight DiagnosticInfo 723 | hi! link CocHintHighlight DiagnosticHint 724 | 725 | hi! link CocSem_angle Keyword 726 | hi! link CocSem_annotation Keyword 727 | hi! link CocSem_attribute Type 728 | hi! link CocSem_bitwise Keyword 729 | hi! link CocSem_boolean Boolean 730 | hi! link CocSem_brace Normal 731 | hi! link CocSem_bracket Normal 732 | hi! link CocSem_builtinAttribute Type 733 | hi! link CocSem_builtinType Type 734 | hi! link CocSem_character String 735 | hi! link CocSem_class Structure 736 | hi! link CocSem_colon Normal 737 | hi! link CocSem_comma Normal 738 | hi! link CocSem_comment Comment 739 | hi! link CocSem_comparison Keyword 740 | hi! link CocSem_concept Keyword 741 | hi! link CocSem_constParameter Identifier 742 | hi! link CocSem_dependent Keyword 743 | hi! link CocSem_dot Keyword 744 | hi! link CocSem_enum Structure 745 | hi! link CocSem_enumMember Constant 746 | hi! link CocSem_escapeSequence Type 747 | hi! link CocSem_event Identifier 748 | hi! link CocSem_formatSpecifier Type 749 | hi! link CocSem_function Function 750 | hi! link CocSem_interface Type 751 | hi! link CocSem_keyword Keyword 752 | hi! link CocSem_label Keyword 753 | hi! link CocSem_logical Keyword 754 | hi! link CocSem_macro Macro 755 | hi! link CocSem_method Function 756 | hi! link CocSem_modifier Keyword 757 | hi! link CocSem_namespace Identifier 758 | hi! link CocSem_number Number 759 | hi! link CocSem_operator Operator 760 | hi! link CocSem_parameter Identifier 761 | hi! link CocSem_parenthesis Normal 762 | hi! link CocSem_property Identifier 763 | hi! link CocSem_punctuation Keyword 764 | hi! link CocSem_regexp Type 765 | hi! link CocSem_selfKeyword Constant 766 | hi! link CocSem_semicolon Normal 767 | hi! link CocSem_string String 768 | hi! link CocSem_struct Structure 769 | hi! link CocSem_type Type 770 | hi! link CocSem_typeAlias Type 771 | hi! link CocSem_typeParameter Type 772 | hi! link CocSem_unknown Normal 773 | hi! link CocSem_variable Identifier 774 | 775 | call hi('CocHighlightRead', s:gui0B, s:gui01, s:cterm0B, s:cterm01, '', '') 776 | call hi('CocHighlightText', s:gui0A, s:gui01, s:cterm0A, s:cterm01, '', '') 777 | call hi('CocHighlightWrite', s:gui08, s:gui01, s:cterm08, s:cterm01, '', '') 778 | call hi('CocListMode', s:gui01, s:gui0B, s:cterm01, s:cterm0B, 'bold', '') 779 | call hi('CocListPath', s:gui01, s:gui0B, s:cterm01, s:cterm0B, '', '') 780 | call hi('CocSessionsName', s:gui05, '', s:cterm05, '', '', '') 781 | 782 | " fugtive 783 | hi link diffAdded GitAddSign 784 | hi link diffChanged GitChangeSign 785 | hi link diffRemoved GitDeleteSign 786 | 787 | " CMP 788 | " https://microsoft.github.io/language-server-protocol/specifications/lsp/3.18/specification/#completionItemKind 789 | if has('nvim-0.8.0') 790 | hi! link CmpItemAbbrDeprecated Deprecated 791 | hi! link CmpItemAbbrMatch PMenuMatch 792 | hi! link CmpItemAbbrMatchFuzzy PMenuMatch 793 | hi! link CmpItemKindClass @lsp.type.class 794 | hi! link CmpItemKindColor @lsp.type.keyword 795 | hi! link CmpItemKindConstant @constant 796 | hi! link CmpItemKindConstructor @constructor 797 | hi! link CmpItemKindEnum @lsp.type.enum 798 | hi! link CmpItemKindEnumMember @lsp.type.enumMember 799 | hi! link CmpItemKindEvent @lsp.type.event 800 | hi! link CmpItemKindField @lsp.type.property 801 | hi! link CmpItemKindFile @string.special.path 802 | hi! link CmpItemKindFolder @string.special.path 803 | hi! link CmpItemKindFunction @lsp.type.function 804 | hi! link CmpItemKindInterface @lsp.type.interface 805 | hi! link CmpItemKindKeyword @lsp.type.keyword 806 | hi! link CmpItemKindMethod @lsp.type.method 807 | hi! link CmpItemKindModule @lsp.type.namespace 808 | hi! link CmpItemKindOperator @lsp.type.operator 809 | hi! link CmpItemKindProperty @lsp.type.property 810 | hi! link CmpItemKindReference @lsp.type.variable 811 | hi! link CmpItemKindSnippet @lsp.type.string 812 | hi! link CmpItemKindStruct @lsp.type.struct 813 | hi! link CmpItemKindText @lsp.type.string 814 | hi! link CmpItemKindTypeParameter @lsp.type.typeParameter 815 | hi! link CmpItemKindUnit @lsp.type.namespace 816 | hi! link CmpItemKindValue @constant 817 | hi! link CmpItemKindVariable @lsp.type.variable 818 | endif 819 | 820 | " GitGutter 821 | hi! link GitGutterAdd GitAddSign 822 | hi! link GitGutterChange GitChangeSign 823 | hi! link GitGutterDelete GitDeleteSign 824 | hi! link GitGutterChangeDelete GitChangeDeleteSign 825 | 826 | " indent-blankline 827 | if has('nvim') 828 | call hi('@ibl.indent.char', s:gui01, '', s:cterm01, '', '', '') 829 | endif 830 | 831 | " pangloss/vim-javascript 832 | call hi('jsOperator', s:gui0D, '', s:cterm0D, '', '', '') 833 | call hi('jsStatement', s:gui0E, '', s:cterm0E, '', '', '') 834 | call hi('jsReturn', s:gui0E, '', s:cterm0E, '', '', '') 835 | call hi('jsThis', s:gui08, '', s:cterm08, '', '', '') 836 | call hi('jsClassDefinition', s:gui0A, '', s:cterm0A, '', '', '') 837 | call hi('jsFunction', s:gui0E, '', s:cterm0E, '', '', '') 838 | call hi('jsFuncName', s:gui0D, '', s:cterm0D, '', '', '') 839 | call hi('jsFuncCall', s:gui0D, '', s:cterm0D, '', '', '') 840 | call hi('jsClassFuncName', s:gui0D, '', s:cterm0D, '', '', '') 841 | call hi('jsClassMethodType', s:gui0E, '', s:cterm0E, '', '', '') 842 | call hi('jsRegexpString', s:gui0C, '', s:cterm0C, '', '', '') 843 | call hi('jsGlobalObjects', s:gui0A, '', s:cterm0A, '', '', '') 844 | call hi('jsGlobalNodeObjects', s:gui0A, '', s:cterm0A, '', '', '') 845 | call hi('jsExceptions', s:gui0A, '', s:cterm0A, '', '', '') 846 | call hi('jsBuiltins', s:gui0A, '', s:cterm0A, '', '', '') 847 | 848 | " Matchup 849 | call hi('MatchWord', s:gui0B, s:gui01, s:cterm0B, s:cterm01, 'underline', '') 850 | 851 | " NERDTree 852 | call hi('NERDTreeDirSlash', s:gui0D, '', s:cterm0D, '', '', '') 853 | call hi('NERDTreeExecFile', s:gui05, '', s:cterm05, '', '', '') 854 | 855 | " Signify 856 | hi! link SignifySignAdd GitAddSign 857 | hi! link SignifySignChange GitChangeSign 858 | hi! link SignifySignDelete GitDeleteSign 859 | 860 | " Startify 861 | call hi('StartifyBracket', s:gui03, '', s:cterm03, '', '', '') 862 | call hi('StartifyFile', s:gui07, '', s:cterm07, '', '', '') 863 | call hi('StartifyFooter', s:gui03, '', s:cterm03, '', '', '') 864 | call hi('StartifyHeader', s:gui0B, '', s:cterm0B, '', '', '') 865 | call hi('StartifyNumber', s:gui09, '', s:cterm09, '', '', '') 866 | call hi('StartifyPath', s:gui03, '', s:cterm03, '', '', '') 867 | call hi('StartifySection', s:gui0E, '', s:cterm0E, '', '', '') 868 | call hi('StartifySelect', s:gui0C, '', s:cterm0C, '', '', '') 869 | call hi('StartifySlash', s:gui03, '', s:cterm03, '', '', '') 870 | call hi('StartifySpecial', s:gui03, '', s:cterm03, '', '', '') 871 | 872 | " Remove functions 873 | delf hi 874 | 875 | " Remove color variables 876 | unlet s:gui00 s:gui01 s:gui02 s:gui03 s:gui04 s:gui05 s:gui06 s:gui07 s:gui08 s:gui09 s:gui0A s:gui0B s:gui0C s:gui0D s:gui0E s:gui0F s:guibg s:gui10 s:gui11 s:gui12 s:gui13 s:gui14 s:gui15 s:gui16 s:gui17 877 | unlet s:cterm00 s:cterm01 s:cterm02 s:cterm03 s:cterm04 s:cterm05 s:cterm06 s:cterm07 s:cterm08 s:cterm09 s:cterm0A s:cterm0B s:cterm0C s:cterm0D s:cterm0E s:cterm0F s:ctermbg s:cterm10 s:cterm11 s:cterm12 s:cterm13 s:cterm14 s:cterm15 s:cterm16 s:cterm17 878 | -------------------------------------------------------------------------------- /colors/base16-lime.vim: -------------------------------------------------------------------------------- 1 | " vi:syntax=vim 2 | 3 | " tinted-vim (https://github.com/tinted-theming/tinted-vim) 4 | " Scheme name: lime 5 | " Scheme author: limelier 6 | " Template author: Tinted Theming (https://github.com/tinted-theming) 7 | 8 | " This enables the coresponding base16-shell script to run so that 9 | " :colorscheme works in terminals supported by tinted-shell scripts 10 | " User must set this variable in .vimrc 11 | " let g:tinted_shell_path=path/to/shell/scripts 12 | if !has('gui_running') 13 | if exists('g:tinted_shell_path') 14 | execute 'silent !/bin/sh '.g:tinted_shell_path.'/base16/lime.sh' 15 | endif 16 | endif 17 | 18 | " GUI colors 19 | let s:gui00 = '1a1a2f' 20 | let s:gui01 = '202030' 21 | let s:gui02 = '2a2a3f' 22 | let s:gui03 = '313140' 23 | let s:gui04 = '515155' 24 | let s:gui05 = '818175' 25 | let s:gui06 = 'fff2d1' 26 | let s:gui07 = 'fff8e1' 27 | let s:gui08 = 'ff662a' 28 | let s:gui09 = 'ff773a' 29 | let s:gui0A = 'ffd15e' 30 | let s:gui0B = '8cd97c' 31 | let s:gui0C = '4cad83' 32 | let s:gui0D = '2b926f' 33 | let s:gui0E = '1b825f' 34 | let s:gui0F = 'b4d97c' 35 | let s:gui10 = '1a1a2f' 36 | let s:gui11 = '1a1a2f' 37 | let s:gui12 = 'ff662a' 38 | let s:gui13 = 'ffd15e' 39 | let s:gui14 = '8cd97c' 40 | let s:gui15 = '4cad83' 41 | let s:gui16 = '2b926f' 42 | let s:gui17 = '1b825f' 43 | 44 | " Terminal colors 45 | let s:cterm00 = '00' 46 | let s:cterm01 = '18' 47 | let s:cterm02 = '19' 48 | let s:cterm03 = '08' 49 | let s:cterm04 = '20' 50 | let s:cterm05 = '21' 51 | let s:cterm06 = '07' 52 | let s:cterm07 = '15' 53 | let s:cterm08 = '01' 54 | let s:cterm09 = '16' 55 | let s:cterm0A = '03' 56 | let s:cterm0B = '02' 57 | let s:cterm0C = '06' 58 | let s:cterm0D = '04' 59 | let s:cterm0E = '05' 60 | let s:cterm0F = '17' 61 | let s:cterm10 = s:cterm00 62 | let s:cterm11 = s:cterm00 63 | let s:cterm12 = '01' 64 | let s:cterm13 = '03' 65 | let s:cterm14 = '02' 66 | let s:cterm15 = '06' 67 | let s:cterm16 = '04' 68 | let s:cterm17 = '05' 69 | 70 | " base16_colorspace` and `base16colorspace` are legacy properties and 71 | " exist to keep existing setups from breaking 72 | if (exists('base16colorspace') && base16_colorspace !=? '256') || (exists('tinted_colorspace') && tinted_colorspace !=? '256') 73 | " We have only 16 colors so define fallbacks for codes > 15 74 | let s:cterm01 = s:cterm00 75 | let s:cterm02 = s:cterm03 76 | let s:cterm04 = s:cterm03 77 | let s:cterm05 = s:cterm06 78 | let s:cterm07 = s:cterm06 79 | let s:cterm09 = s:cterm08 80 | let s:cterm0F = s:cterm08 81 | endif 82 | 83 | " Todo! why do we need the globals? 84 | function! s:create_color_globals() abort 85 | for i in range(0, 23) 86 | let l:num = printf('%02X', i) 87 | execute 'let g:tinted_gui' . l:num . ' = s:gui' . l:num 88 | execute 'let g:tinted_cterm' . l:num . ' = s:cterm' . l:num 89 | " Legacy vars for lualine 90 | execute 'let g:base16_gui' . l:num . ' = s:gui' . l:num 91 | endfor 92 | endfunction 93 | 94 | call s:create_color_globals() 95 | 96 | " Integrated Terminal colors 97 | let s:colors = [ 98 | \ '#1a1a2f', 99 | \ '#ff662a', 100 | \ '#8cd97c', 101 | \ '#ffd15e', 102 | \ '#2b926f', 103 | \ '#1b825f', 104 | \ '#4cad83', 105 | \ '#818175', 106 | \ '#313140', 107 | \ '#ff662a', 108 | \ '#8cd97c', 109 | \ '#ffd15e', 110 | \ '#2b926f', 111 | \ '#1b825f', 112 | \ '#4cad83', 113 | \ '#fff8e1' 114 | \] 115 | 116 | if has('nvim') 117 | for i in range(16) 118 | let g:terminal_color_{i} = s:colors[i] 119 | endfor 120 | let g:terminal_color_background = &background ==? 'light' ? s:colors[7] : s:colors[0] 121 | let g:terminal_color_foreground = &background ==? 'light' ? s:colors[2] : s:colors[5] 122 | elseif has('terminal') 123 | let g:terminal_ansi_colors = s:colors 124 | endif 125 | 126 | if exists('g:tinted_background_transparent') && g:tinted_background_transparent ==? '1' 127 | let s:guibg = 'NONE' 128 | let s:ctermbg = 'NONE' 129 | else 130 | let s:guibg = s:gui00 131 | let s:ctermbg = s:cterm00 132 | endif 133 | 134 | " Theme setup 135 | let g:colors_name = 'base16-lime' 136 | 137 | " Highlighting function 138 | " Optional variables are attributes and guisp 139 | function! g:Tinted_Hi(group, guifg, guibg, ctermfg, ctermbg, ...) 140 | 141 | " Clear the highlight to be more robust against default Highlighting changes 142 | exec 'hi! clear ' . a:group 143 | 144 | let l:attr = get(a:, 1, '') 145 | let l:guisp = get(a:, 2, '') 146 | 147 | " See :help highlight-guifg 148 | let l:gui_special_names = ['NONE', 'bg', 'background', 'fg', 'foreground'] 149 | 150 | if a:guifg !=? '' 151 | if index(l:gui_special_names, a:guifg) >= 0 152 | exec 'hi! ' . a:group . ' guifg=' . a:guifg 153 | else 154 | exec 'hi! ' . a:group . ' guifg=#' . a:guifg 155 | endif 156 | endif 157 | if a:guibg !=? '' 158 | if index(l:gui_special_names, a:guibg) >= 0 159 | exec 'hi! ' . a:group . ' guibg=' . a:guibg 160 | else 161 | exec 'hi! ' . a:group . ' guibg=#' . a:guibg 162 | endif 163 | endif 164 | if a:ctermfg !=? '' 165 | exec 'hi! ' . a:group . ' ctermfg=' . a:ctermfg 166 | endif 167 | if a:ctermbg !=? '' 168 | exec 'hi! ' . a:group . ' ctermbg=' . a:ctermbg 169 | endif 170 | if l:attr !=? '' 171 | exec 'hi! ' . a:group . ' gui=' . l:attr . ' cterm=' . l:attr 172 | endif 173 | if l:guisp !=? '' 174 | if index(l:gui_special_names, l:guisp) >= 0 175 | exec 'hi! ' . a:group . ' guisp=' . l:guisp 176 | else 177 | exec 'hi! ' . a:group . ' guisp=#' . l:guisp 178 | endif 179 | endif 180 | endfunction 181 | 182 | 183 | fun hi(group, guifg, guibg, ctermfg, ctermbg, attr, guisp) 184 | call g:Tinted_Hi(a:group, a:guifg, a:guibg, a:ctermfg, a:ctermbg, a:attr, a:guisp) 185 | endfun 186 | 187 | 188 | " Tinted color highlights 189 | 190 | call hi('tinted_gui00', s:gui00, '', s:cterm00, '', '', '') 191 | call hi('tinted_gui01', s:gui01, '', s:cterm01, '', '', '') 192 | call hi('tinted_gui02', s:gui02, '', s:cterm02, '', '', '') 193 | call hi('tinted_gui03', s:gui03, '', s:cterm03, '', '', '') 194 | call hi('tinted_gui04', s:gui04, '', s:cterm04, '', '', '') 195 | call hi('tinted_gui05', s:gui05, '', s:cterm05, '', '', '') 196 | call hi('tinted_gui06', s:gui06, '', s:cterm06, '', '', '') 197 | call hi('tinted_gui07', s:gui07, '', s:cterm07, '', '', '') 198 | call hi('tinted_gui08', s:gui08, '', s:cterm08, '', '', '') 199 | call hi('tinted_gui09', s:gui09, '', s:cterm09, '', '', '') 200 | call hi('tinted_gui0A', s:gui0A, '', s:cterm0A, '', '', '') 201 | call hi('tinted_gui0B', s:gui0B, '', s:cterm0B, '', '', '') 202 | call hi('tinted_gui0C', s:gui0C, '', s:cterm0C, '', '', '') 203 | call hi('tinted_gui0D', s:gui0D, '', s:cterm0D, '', '', '') 204 | call hi('tinted_gui0E', s:gui0E, '', s:cterm0E, '', '', '') 205 | call hi('tinted_gui0F', s:gui0F, '', s:cterm0F, '', '', '') 206 | call hi('tinted_gui10', s:gui10, '', s:cterm10, '', '', '') 207 | call hi('tinted_gui11', s:gui11, '', s:cterm11, '', '', '') 208 | call hi('tinted_gui12', s:gui12, '', s:cterm12, '', '', '') 209 | call hi('tinted_gui13', s:gui13, '', s:cterm13, '', '', '') 210 | call hi('tinted_gui14', s:gui14, '', s:cterm14, '', '', '') 211 | call hi('tinted_gui15', s:gui15, '', s:cterm15, '', '', '') 212 | call hi('tinted_gui16', s:gui16, '', s:cterm16, '', '', '') 213 | call hi('tinted_gui17', s:gui17, '', s:cterm17, '', '', '') 214 | 215 | " Vim editor colors 216 | 217 | call hi('ColorColumn', '', s:gui01, '', s:cterm01, '', '') 218 | call hi('Conceal', s:gui0D, '', s:cterm0D, '', '', '') 219 | call hi('CurSearch', s:gui00, s:gui14, s:cterm00, s:cterm14, '', '') 220 | call hi('Cursor', 'bg', 'fg', '', '', '', '') 221 | hi! link lCursor Cursor 222 | hi! link CursorIM Cursor 223 | call hi('CursorColumn', '', s:gui01, '', s:cterm01, 'none', '') 224 | call hi('CursorLine', '', s:gui01, '', s:cterm01, 'none', '') 225 | call hi('Directory', s:gui0D, '', s:cterm0D, '', '', '') 226 | 227 | " Diff 228 | call hi('DiffAdd', '', s:gui01, '', s:cterm01, '', '') 229 | call hi('DiffChange', '', s:gui01, '', s:cterm01, '', '') 230 | call hi('DiffDelete', s:gui03, s:guibg, s:cterm03, s:ctermbg, '', '') 231 | call hi('DiffText', '', s:gui02, '', s:cterm02, '', '') 232 | 233 | call hi('EndOfBuffer', s:guibg, s:guibg, s:ctermbg, s:ctermbg, '', '') 234 | call hi('ErrorMsg', s:gui08, '', s:cterm08, '', '', '') 235 | if has('nvim') 236 | call hi('WinSeparator', s:gui01, s:guibg, s:cterm01, s:ctermbg, '', '') 237 | else 238 | call hi('VertSplit', s:gui01, s:guibg, s:cterm01, s:ctermbg, '', '') 239 | endif 240 | call hi('Folded', s:gui13, s:guibg, s:cterm13, s:ctermbg, '', '') 241 | call hi('FoldColumn', s:gui03, s:guibg, s:cterm03, s:ctermbg, '', '') 242 | call hi('SignColumn', s:gui03, s:guibg, s:cterm03, s:ctermbg, '', '') 243 | hi! link IncSearch CurSearch 244 | hi! link Substitute Search 245 | call hi('LineNr', s:gui03, s:guibg, s:cterm03, s:ctermbg, '', '') 246 | hi! link LineNrAbove LineNr 247 | hi! link LineNrBelow LineNr 248 | call hi('CursorLineNr', s:gui04, s:guibg, s:cterm04, s:ctermbg, 'bold', '') 249 | call hi('CursorLineFold', s:gui13, s:guibg, s:cterm13, s:ctermbg, '', '') 250 | hi! link CursorLineSign SignColumn 251 | call hi('MatchParen', s:gui06, '', s:cterm06, '', 'bold', '') 252 | call hi('ModeMsg', s:gui05, '', s:cterm05, '', '', '') 253 | hi! link MsgArea None 254 | hi! link MsgSeparator WinSeparator 255 | call hi('MoreMsg', s:gui0B, '', s:cterm0B, '', '', '') 256 | call hi('NonText', s:gui03, '', s:cterm03, '', '', '') 257 | call hi('Normal', s:gui05, s:guibg, s:cterm05, s:ctermbg, '', '') 258 | call hi('NormalFloat', s:gui06, s:gui01, s:cterm06, s:cterm01, 'none', '') 259 | call hi('FloatBorder', s:gui06, s:gui01, s:cterm06, s:cterm01, 'none', '') 260 | hi! link FloatTitle Title 261 | hi! link FloatFooter FloatTitle 262 | hi! link NormalNC None 263 | call hi('PMenu', s:gui05, s:gui01, s:cterm05, s:cterm01, 'none', '') 264 | call hi('PMenuSel', s:gui06, s:gui02, s:cterm06, s:cterm02, 'none', '') 265 | hi! link PMenuKind PMenu 266 | hi! link PMenuKindSel PMenuSel 267 | hi! link PMenuExtra PMenu 268 | hi! link PMenuExtraSel PMenuSel 269 | call hi('PMenuSbar', '', s:gui03, '', s:cterm03, '', '') 270 | call hi('PMenuThumb', '', s:gui04, '', s:cterm04, '', '') 271 | call hi('PMenuMatch', s:gui0C, '', s:cterm0C, '', '', '') 272 | call hi('PMenuMatchSel', s:gui15, s:gui02, s:cterm15, s:cterm02, 'none', '') 273 | call hi('Question', s:gui0D, '', s:cterm0D, '', '', '') 274 | call hi('QuickFixLine', '', s:gui01, '', s:cterm01, 'none', '') 275 | call hi('Search', s:gui01, s:gui13, s:cterm01, s:cterm13, '', '') 276 | hi! link SnippetTabstop Visual 277 | call hi('SpecialKey', s:gui03, '', s:cterm03, '', '', '') 278 | 279 | " Spell 280 | call hi('SpellBad', '', '', s:ctermbg, s:cterm12, 'undercurl', s:gui08) 281 | call hi('SpellLocal', '', '', s:ctermbg, s:cterm15, 'undercurl', s:gui15) 282 | call hi('SpellCap', '', '', s:ctermbg, s:cterm16, 'undercurl', s:gui16) 283 | call hi('SpellRare', '', '', s:ctermbg, s:cterm0E, 'undercurl', s:gui0E) 284 | 285 | call hi('StatusLine', s:gui04, s:gui01, s:cterm04, s:cterm01, 'none', '') 286 | call hi('StatusLineNC', s:gui03, s:gui01, s:cterm03, s:cterm01, 'none', '') 287 | hi! link StatusLineTerm StatusLine 288 | hi! link StatusLineTermNC StatusLineNC 289 | hi! link TabLine StatusLine 290 | call hi('TabLineSel', s:gui01, s:gui04, s:cterm01, s:cterm04, 'none', '') 291 | hi! link TabLineFill StatusLine 292 | 293 | call hi('Title', s:gui0D, '', s:cterm0D, '', '', '') 294 | call hi('Visual', '', s:gui02, '', s:cterm02, '', '') 295 | hi! link VisualNOS Visual 296 | call hi('WarningMsg', s:gui09, '', s:cterm09, '', '', '') 297 | call hi('Whitespace', s:gui03, '', s:cterm03, '', '', '') 298 | call hi('WildMenu', s:guibg, s:gui05, s:ctermbg, s:cterm05, '', '') 299 | hi! link WinBar StatusLine 300 | hi! link WinBarNC StatusLineNC 301 | 302 | " call hi('Menu', s:guibg, s:gui05, s:ctermbg, s:cterm05, '', '") 303 | " call hi('Scrollbar', s:guibg, s:gui05, s:ctermbg, s:cterm05, '', '") 304 | " call hi('Tooltip', s:guibg, s:gui05, s:ctermbg, s:cterm05, '', '") 305 | 306 | 307 | " Standard syntax 308 | 309 | call hi('Comment', s:gui03, '', s:cterm03, '', 'italic', '') 310 | 311 | call hi('Constant', s:gui09, '', s:cterm09, '', 'none', '') 312 | call hi('String', s:gui0B, '', s:cterm0B, '', 'italic', '') 313 | call hi('Character', s:gui0C, '', s:cterm0C, '', 'none', '') 314 | call hi('Number', s:gui09, '', s:cterm09, '', 'none', '') 315 | call hi('Boolean', s:gui09, '', s:cterm09, '', 'none', '') 316 | call hi('Float', s:gui09, '', s:cterm09, '', 'none', '') 317 | 318 | " The [spec](https://github.com/tinted-theming/base24/blob/main/styling.md) wants 319 | " `Identifier` mapped to base08 aka RED. I do not like it, too much RED. 320 | call hi('Identifier', s:gui05, '', s:cterm05, '', 'none', '') 321 | call hi('Function', s:gui0D, '', s:cterm0D, '', 'none', '') 322 | 323 | call hi('Statement', s:gui0E, '', s:cterm0E, '', 'bold', '') 324 | call hi('Conditional', s:gui0E, '', s:cterm0E, '', 'none', '') 325 | call hi('Repeat', s:gui0E, '', s:cterm0E, '', 'none', '') 326 | call hi('Label', s:gui0E, '', s:cterm0E, '', 'none', '') 327 | call hi('Operator', s:gui0C, '', s:cterm0C, '', 'none', '') 328 | hi! link Keyword Statement 329 | call hi('Exception', s:gui0E, '', s:cterm0E, '', 'none', '') 330 | 331 | call hi('PreProc', s:gui0C, '', s:cterm0C, '', 'none', '') 332 | call hi('Include', s:gui0C, '', s:cterm0C, '', 'none', '') 333 | call hi('Define', s:gui0C, '', s:cterm0C, '', 'none', '') 334 | call hi('Macro', s:gui0C, '', s:cterm0C, '', 'none', '') 335 | call hi('PreCondit', s:gui0C, '', s:cterm0C, '', 'none', '') 336 | 337 | call hi('Type', s:gui0A, '', s:cterm0A, '', 'none', '') 338 | call hi('StorageClass', s:gui0A, '', s:cterm0A, '', 'none', '') 339 | call hi('Structure', s:gui0A, '', s:cterm0A, '', 'none', '') 340 | call hi('Typedef', s:gui0A, '', s:cterm0A, '', 'none', '') 341 | 342 | call hi('Special', s:gui0C, '', s:cterm0C, '', 'none', '') 343 | call hi('SpecialChar', s:gui0A, '', s:cterm0A, '', 'none', '') 344 | call hi('Tag', s:gui09, '', s:cterm09, '', 'none', '') 345 | call hi('Delimiter', s:gui05, '', s:cterm05, '', 'none', '') 346 | call hi('SpecialComment', s:gui0A, '', s:cterm0A, '', 'italic', '') 347 | 348 | call hi('Debug', s:gui08, '', s:cterm08, '', 'none', '') 349 | 350 | call hi('Underlined', '', '', '', '', 'underline', '') 351 | 352 | hi! link Ignore Normal 353 | 354 | call hi('Error', s:gui08, s:guibg, s:cterm08, s:ctermbg, 'bold', '') 355 | 356 | call hi('Todo', s:gui0C, '', s:cterm0C, '', 'none', '') 357 | 358 | call hi('Added', s:gui14, '', s:cterm14, '', 'italic', '') 359 | call hi('Changed', s:gui16, '', s:cterm16, '', 'italic', '') 360 | call hi('Removed', s:gui12, '', s:cterm12, '', 'italic', '') 361 | 362 | 363 | " Treesitter Syntax 364 | 365 | if has('nvim-0.8.0') 366 | hi! link @variable Identifier 367 | call hi('@variable.builtin', s:gui05, '', s:cterm05, '', 'italic', '') 368 | hi! link @variable.parameter Identifier 369 | hi! link @variable.parameter.builtin @variable.builtin 370 | call hi('@variable.member', s:gui04, '', s:cterm04, '', 'none', '') 371 | 372 | hi! link @constant Constant 373 | call hi('@constant.builtin', s:gui09, '', s:cterm09, '', 'italic', '') 374 | hi! link @constant.macro Constant 375 | 376 | hi! link @module Identifier 377 | call hi('@module.builtin', s:gui05, '', s:cterm05, '', 'italic', '') 378 | hi! link @label Tag 379 | 380 | hi! link @string String 381 | hi! link @string.documentation String 382 | hi! link @string.regexp SpecialComment 383 | hi! link @string.escape SpecialComment 384 | hi! link @string.special SpecialComment 385 | hi! link @string.special.symbol SpecialComment 386 | call hi('@string.special.path', s:gui0D, '', s:cterm0D, '', 'italic', '') 387 | call hi('@string.special.url', s:gui08, '', s:cterm08, '', 'italic', '') 388 | 389 | hi! link @character Character 390 | hi! link @character.special SpecialChar 391 | 392 | hi! link @boolean Boolean 393 | hi! link @number Number 394 | hi! link @number.float Float 395 | 396 | hi! link @type Type 397 | call hi('@type.builtin', s:gui0A, '', s:cterm0A, '', 'italic', '') 398 | hi! link @type.definition Typedef 399 | 400 | hi! link @attribute Special 401 | call hi('@attribute.builtin', s:gui0C, '', s:cterm0C, '', 'italic', '') 402 | hi! link @property @variable.member 403 | 404 | call hi('@function', s:gui16, '', s:cterm16, '', '', '') 405 | call hi('@function.builtin', s:gui16, '', s:cterm16, '', 'italic', '') 406 | hi! link @function.call @function 407 | hi! link @function.macro Macro 408 | 409 | hi! link @function.method Function 410 | hi! link @function.method.call @function.method 411 | 412 | call hi('@constructor', s:gui0D, '', s:cterm0D, '', 'bold', '') 413 | 414 | hi! link @operator Operator 415 | 416 | hi! link @keyword Keyword 417 | hi! link @keyword.coroutine Repeat 418 | hi! link @keyword.function Keyword 419 | hi! link @keyword.operator Operator 420 | call hi('@keyword.import', s:gui0E, '', s:cterm0E, '', 'italic', '') 421 | hi! link @keyword.type Keyword 422 | hi! link @keyword.modifier Repeat 423 | hi! link @keyword.repeat Repeat 424 | hi! link @keyword.return Keyword 425 | hi! link @keyword.debug Debug 426 | hi! link @keyword.exception Exception 427 | 428 | hi! link @keyword.conditional Conditional 429 | hi! link @keyword.ternary Conditional 430 | 431 | hi! link @keyword.directive PreProc 432 | hi! link @keyword.directive.define Define 433 | 434 | hi! link @punctuation.delimiter Delimiter 435 | hi! link @punctuation.bracket Delimiter 436 | hi! link @punctuation.special Special 437 | 438 | hi! link @comment Comment 439 | hi! link @comment.documentation Comment 440 | 441 | call hi('@comment.error', s:gui08, '', s:cterm08, '', 'italic', '') 442 | call hi('@comment.warning', s:gui09, '', s:cterm09, '', 'italic', '') 443 | call hi('@comment.note', s:gui0D, '', s:cterm0D, '', 'italic', '') 444 | call hi('@comment.todo', s:gui0C, '', s:cterm0C, '', 'italic', '') 445 | 446 | hi! @markup.strong gui=bold cterm=bold 447 | hi! @markup.italic gui=italic cterm=italic 448 | hi! @markup.strikethrough gui=strikethrough cterm=strikethrough 449 | hi! @markup.underline gui=underline cterm=underline 450 | 451 | hi! link @markup.heading Title 452 | hi! link @markup.quote String 453 | hi! link @markup.math Special 454 | 455 | call hi('@markup.link', s:gui08, '', s:cterm08, '', '', '') 456 | hi! link @markup.link.label @markup.link 457 | hi! link @markup.link.url Identifier 458 | 459 | call hi('@markup.raw', s:gui04, '', s:cterm04, '', '', '') 460 | hi! link @markup.raw.block Identifier 461 | 462 | hi! link @markup.list SpecialChar 463 | hi! link @markup.list.checked DiagnosticOk 464 | hi! link @markup.list.unchecked DiagnosticError 465 | 466 | hi! link @diff.plus Added 467 | hi! link @diff.minus Removed 468 | hi! link @diff.delta Changed 469 | 470 | hi! link @tag Tag 471 | call hi('@tag.builtin', s:gui09, '', s:cterm09, '', 'italic', '') 472 | hi! link @tag.attribute Special 473 | hi! link @tag.delimiter Delimiter 474 | 475 | 476 | " LSP Semantic Token 477 | " https://microsoft.github.io/language-server-protocol/specifications/lsp/3.18/specification/#textDocument_semanticTokens 478 | hi! link @lsp.type.class @type 479 | hi! link @lsp.type.comment @comment 480 | hi! link @lsp.type.decorator @attribute 481 | hi! link @lsp.type.enum @type 482 | hi! link @lsp.type.enumMember @constant 483 | hi! link @lsp.type.event @type 484 | hi! link @lsp.type.function @function 485 | hi! link @lsp.type.interface @type 486 | hi! link @lsp.type.keyword @keyword 487 | hi! link @lsp.type.macro @function.macro 488 | hi! link @lsp.type.method @function.method 489 | hi! link @lsp.type.modifier @type.modifier 490 | hi! link @lsp.type.namespace @module 491 | hi! link @lsp.type.number @number 492 | hi! link @lsp.type.operator @operator 493 | hi! link @lsp.type.parameter @variable.parameter 494 | hi! link @lsp.type.property @property 495 | hi! link @lsp.type.regexp @string.regexp 496 | hi! link @lsp.type.string @string 497 | hi! link @lsp.type.struct @type 498 | hi! link @lsp.type.type @type 499 | hi! link @lsp.type.typeParameter @variable.parameter 500 | hi! link @lsp.type.variable @variable 501 | 502 | " @lsp.mod.abstract Types and member functions that are abstract 503 | " @lsp.mod.async Functions that are marked async 504 | " @lsp.mod.declaration Declarations of symbols 505 | call hi('@lsp.mod.defaultLibrary', '', '', '', '', 'italic', '') 506 | " @lsp.mod.definition Definitions of symbols, for example, in header files 507 | hi! link @lsp.mod.deprecated DiagnosticDeprecated 508 | " @lsp.mod.modification Variable references where the variable is assigned to 509 | " @lsp.mod.readonly Readonly variables and member fields (constants) 510 | " @lsp.mod.static 511 | 512 | " Rust 513 | hi! link @lsp.type.builtinType.rust @type.builtin 514 | hi! link @lsp.type.escapeSequence.rust @string.escape 515 | hi! link @lsp.type.formatSpecifier.rust @operator 516 | hi! link @lsp.type.lifetime.rust @attribute 517 | hi! link @lsp.type.punctuation.rust @punctuation.delimiter 518 | hi! link @lsp.type.selfKeyword.rust @variable.builtin 519 | hi! link @lsp.type.selfTypeKeyword.rust @type.builtin 520 | 521 | call hi('@lsp.mod.attribute', '', '', '', '', 'italic', '') 522 | hi! link @lsp.mod.controlFlow @keyword.repeat 523 | hi! link @lsp.mod.intraDocLink.rust @markup.link 524 | 525 | hi! link @lsp.typemod.generic.injected.rust @variable 526 | hi! link @lsp.typemod.operator.controlFlow.rust @operator 527 | hi! link @lsp.typemod.function.associated.rust @function.method 528 | 529 | " LUA 530 | hi! link @lsp.typemod.keyword.documentation.lua @tag 531 | 532 | " Markdown 533 | hi! link @lsp.type.class.markdown @lsp 534 | 535 | 536 | " LSP not syntax 537 | 538 | hi! link LspReferenceText Search 539 | call hi('LspReferenceRead', s:gui01, s:gui14, s:cterm01, s:cterm14, '', '') 540 | call hi('LspReferenceWrite', s:gui01, s:gui12, s:cterm01, s:cterm12, '', '') 541 | hi! link LspCodeLens NonText 542 | hi! link LspCodeLensSeparator LspCodeLens 543 | hi! link LspInlayHint NonText 544 | hi! link LspSignatureActiveParameter Visual 545 | endif 546 | 547 | 548 | " Diagnostics 549 | 550 | call hi('DiagnosticError', s:gui08, '', s:cterm08, '', '', '') 551 | call hi('DiagnosticWarn', s:gui09, '', s:cterm09, '', '', '') 552 | call hi('DiagnosticInfo', s:gui0C, '', s:cterm0C, '', '', '') 553 | call hi('DiagnosticHint', s:gui0D, '', s:cterm0D, '', '', '') 554 | call hi('DiagnosticOk', s:gui0B, '', s:cterm0B, '', '', '') 555 | 556 | call hi('DiagnosticUnderlineError', '', '', s:ctermbg, s:cterm08, 'underline', s:gui08) 557 | call hi('DiagnosticUnderlineWarn', '', '', s:ctermbg, s:cterm09, 'underline', s:gui09) 558 | call hi('DiagnosticUnderlineInfo', '', '', s:ctermbg, s:cterm0C, 'underline', s:gui0C) 559 | call hi('DiagnosticUnderlineHint', '', '', s:ctermbg, s:cterm0D, 'underline', s:gui0D) 560 | call hi('DiagnosticUnderlineOk', '', '', s:ctermbg, s:cterm0B, 'underline', s:gui0B) 561 | 562 | call hi('DiagnosticFloatingError', s:gui08, s:gui01, s:cterm08, s:cterm01, '', '') 563 | call hi('DiagnosticFloatingWarn', s:gui09, s:gui01, s:cterm09, s:cterm01, '', '') 564 | call hi('DiagnosticFloatingInfo', s:gui0C, s:gui01, s:cterm0C, s:cterm01, '', '') 565 | call hi('DiagnosticFloatingHint', s:gui0D, s:gui01, s:cterm0D, s:cterm01, '', '') 566 | call hi('DiagnosticFloatingOk', s:gui0B, s:gui01, s:cterm0B, s:cterm01, '', '') 567 | 568 | call hi('DiagnosticDeprecated', '', '', s:cterm0F, s:cterm0F, 'strikethrough', '') 569 | hi! link DiagnosticUnnecessary Comment 570 | 571 | 572 | " Syntax Files 573 | 574 | " C 575 | call hi('cOperator', s:gui0C, '', s:cterm0C, '', '', '') 576 | call hi('cPreCondit', s:gui0E, '', s:cterm0E, '', '', '') 577 | 578 | " CSS 579 | call hi('cssBraces', s:gui05, '', s:cterm05, '', '', '') 580 | call hi('cssClassName', s:gui0E, '', s:cterm0E, '', '', '') 581 | call hi('cssColor', s:gui0C, '', s:cterm0C, '', '', '') 582 | 583 | " C# 584 | call hi('csClass', s:gui0A, '', s:cterm0A, '', '', '') 585 | call hi('csAttribute', s:gui0A, '', s:cterm0A, '', '', '') 586 | call hi('csModifier', s:gui0E, '', s:cterm0E, '', '', '') 587 | call hi('csType', s:gui08, '', s:cterm08, '', '', '') 588 | call hi('csUnspecifiedStatement', s:gui0D, '', s:cterm0D, '', '', '') 589 | call hi('csContextualStatement', s:gui0E, '', s:cterm0E, '', '', '') 590 | call hi('csNewDecleration', s:gui08, '', s:cterm08, '', '', '') 591 | 592 | " Git 593 | call hi('GitAddSign', s:gui14, '', s:cterm14, '', '', '') 594 | call hi('GitChangeSign', s:gui04, '', s:cterm04, '', '', '') 595 | call hi('GitDeleteSign', s:gui12, '', s:cterm12, '', '', '') 596 | call hi('GitChangeDeleteSign', s:gui12, '', s:cterm12, '', '', '') 597 | 598 | " Gitcommit 599 | call hi('gitcommitOverflow', s:gui08, '', s:cterm08, '', '', '') 600 | call hi('gitcommitSummary', s:gui0B, '', s:cterm0B, '', '', '') 601 | call hi('gitcommitComment', s:gui03, '', s:cterm03, '', '', '') 602 | call hi('gitcommitUntracked', s:gui03, '', s:cterm03, '', '', '') 603 | call hi('gitcommitDiscarded', s:gui03, '', s:cterm03, '', '', '') 604 | call hi('gitcommitSelected', s:gui03, '', s:cterm03, '', '', '') 605 | call hi('gitcommitHeader', s:gui17, '', s:cterm17, '', '', '') 606 | call hi('gitcommitSelectedType', s:gui16, '', s:cterm16, '', '', '') 607 | call hi('gitcommitUnmergedType', s:gui16, '', s:cterm16, '', '', '') 608 | call hi('gitcommitDiscardedType', s:gui16, '', s:cterm16, '', '', '') 609 | call hi('gitcommitBranch', s:gui13, '', s:cterm13, '', 'bold', '') 610 | call hi('gitcommitUntrackedFile', s:gui0A, '', s:cterm0A, '', '', '') 611 | call hi('gitcommitUnmergedFile', s:gui08, '', s:cterm08, '', 'bold', '') 612 | call hi('gitcommitDiscardedFile', s:gui08, '', s:cterm08, '', 'bold', '') 613 | call hi('gitcommitSelectedFile', s:gui0B, '', s:cterm0B, '', 'bold', '') 614 | 615 | " Gitsigns 616 | call hi('GitSignsAddInline', s:gui14, s:gui02, s:cterm14, s:cterm02, '', '') 617 | call hi('GitSignsChangeInline', s:gui16, s:gui02, s:cterm16, s:cterm02, '', '') 618 | call hi('GitSignsDeleteLnInline', s:gui12, s:gui02, s:cterm12, s:cterm02, '', '') 619 | call hi('GitSignsDeleteVirtLnInline', s:gui16, s:gui02, s:cterm16, s:cterm02, '', '') 620 | call hi('GitSignsDeleteVirtLn', s:gui05, s:gui02, s:cterm05, s:cterm02, '', '') 621 | 622 | " HTML 623 | call hi('htmlBold', s:gui05, '', s:cterm0A, '', 'bold', '') 624 | call hi('htmlItalic', s:gui05, '', s:cterm17, '', 'italic', '') 625 | call hi('htmlEndTag', s:gui05, '', s:cterm05, '', '', '') 626 | call hi('htmlTag', s:gui05, '', s:cterm05, '', '', '') 627 | 628 | " JavaScript 629 | call hi('javaScript', s:gui05, '', s:cterm05, '', '', '') 630 | call hi('javaScriptBraces', s:gui05, '', s:cterm05, '', '', '') 631 | call hi('javaScriptNumber', s:gui09, '', s:cterm09, '', '', '') 632 | 633 | " Mail 634 | call hi('mailQuoted1', s:gui0A, '', s:cterm0A, '', '', '') 635 | call hi('mailQuoted2', s:gui0B, '', s:cterm0B, '', '', '') 636 | call hi('mailQuoted3', s:gui0E, '', s:cterm0E, '', '', '') 637 | call hi('mailQuoted4', s:gui0C, '', s:cterm0C, '', '', '') 638 | call hi('mailQuoted5', s:gui0D, '', s:cterm0D, '', '', '') 639 | call hi('mailQuoted6', s:gui0A, '', s:cterm0A, '', '', '') 640 | call hi('mailURL', s:gui0D, '', s:cterm0D, '', '', '') 641 | call hi('mailEmail', s:gui0D, '', s:cterm0D, '', '', '') 642 | 643 | " Markdown 644 | call hi('markdownCode', s:gui0B, '', s:cterm0B, '', '', '') 645 | call hi('markdownError', s:gui05, s:guibg, s:cterm05, s:ctermbg, '', '') 646 | call hi('markdownCodeBlock', s:gui0B, '', s:cterm0B, '', '', '') 647 | call hi('markdownHeadingDelimiter', s:gui0D, '', s:cterm0D, '', '', '') 648 | 649 | " Neogit 650 | 651 | hi! link NeogitHunkHeader Special 652 | hi! link NeogitDiffHeader Directory 653 | call hi('NeogitDiffContext', s:gui03, '', s:cterm03, '', 'italic', '') 654 | hi! link NeogitDiffAdd Added 655 | hi! link NeogitDiffDelete Removed 656 | 657 | hi! link NeogitHunkHeaderHighlight Special 658 | hi! link NeogitDiffHeaderHighlight Directory 659 | call hi('NeogitDiffContextHighlight', s:gui03, s:guibg, s:cterm03, s:ctermbg, 'italic', '') 660 | call hi('NeogitDiffContextCursor', '', s:guibg, "", s:ctermbg, 'italic', '') 661 | hi! link NeogitDiffAddHighlight Added 662 | hi! link NeogitDiffDeleteHighlight Removed 663 | 664 | hi! link NeogitHunkHeaderCursor Special 665 | hi! link NeogitDiffHeaderCursor Directory 666 | hi! link NeogitDiffAddCursor Added 667 | hi! link NeogitDiffDeleteCursor Removed 668 | 669 | " PHP 670 | call hi('phpMemberSelector', s:gui05, '', s:cterm05, '', '', '') 671 | call hi('phpComparison', s:gui05, '', s:cterm05, '', '', '') 672 | call hi('phpParent', s:gui05, '', s:cterm05, '', '', '') 673 | call hi('phpMethodsVar', s:gui0C, '', s:cterm0C, '', '', '') 674 | 675 | " Python 676 | call hi('pythonOperator', s:gui0E, '', s:cterm0E, '', '', '') 677 | call hi('pythonRepeat', s:gui0E, '', s:cterm0E, '', '', '') 678 | call hi('pythonInclude', s:gui0E, '', s:cterm0E, '', '', '') 679 | call hi('pythonStatement', s:gui0E, '', s:cterm0E, '', '', '') 680 | 681 | " Ruby 682 | call hi('rubyAttribute', s:gui0D, '', s:cterm0D, '', '', '') 683 | call hi('rubyConstant', s:gui0A, '', s:cterm0A, '', '', '') 684 | call hi('rubyInterpolationDelimiter', s:gui0F, '', s:cterm0F, '', '', '') 685 | call hi('rubyRegexp', s:gui0C, '', s:cterm0C, '', '', '') 686 | call hi('rubySymbol', s:gui0B, '', s:cterm0B, '', '', '') 687 | call hi('rubyStringDelimiter', s:gui0B, '', s:cterm0B, '', '', '') 688 | 689 | " SASS 690 | call hi('sassidChar', s:gui08, '', s:cterm08, '', '', '') 691 | call hi('sassClassChar', s:gui09, '', s:cterm09, '', '', '') 692 | call hi('sassInclude', s:gui0E, '', s:cterm0E, '', '', '') 693 | call hi('sassMixing', s:gui0E, '', s:cterm0E, '', '', '') 694 | call hi('sassMixinName', s:gui0D, '', s:cterm0D, '', '', '') 695 | 696 | " Java 697 | call hi('javaOperator', s:gui0D, '', s:cterm0D, '', '', '') 698 | 699 | " Plugins 700 | 701 | " Clap 702 | hi! link ClapInput ColorColumn 703 | hi! link ClapSpinner ColorColumn 704 | hi! link ClapDisplay Default 705 | hi! link ClapPreview ColorColumn 706 | hi! link ClapCurrentSelection CursorLine 707 | hi! link ClapNoMatchesFound ErrorFloat 708 | 709 | " Coc 710 | hi! link CocErrorSign DiagnosticError 711 | hi! link CocWarningSign DiagnosticWarn 712 | hi! link CocInfoSign DiagnosticInfo 713 | hi! link CocHintSign DiagnosticHint 714 | 715 | hi! link CocErrorFloat DiagnosticFloatingError 716 | hi! link CocWarningFloat DiagnosticFloatingWarn 717 | hi! link CocInfoFloat DiagnosticFloatingInfo 718 | hi! link CocHintFloat DiagnosticFloatingHint 719 | 720 | hi! link CocErrorHighlight DiagnosticError 721 | hi! link CocWarningHighlight DiagnosticWarn 722 | hi! link CocInfoHighlight DiagnosticInfo 723 | hi! link CocHintHighlight DiagnosticHint 724 | 725 | hi! link CocSem_angle Keyword 726 | hi! link CocSem_annotation Keyword 727 | hi! link CocSem_attribute Type 728 | hi! link CocSem_bitwise Keyword 729 | hi! link CocSem_boolean Boolean 730 | hi! link CocSem_brace Normal 731 | hi! link CocSem_bracket Normal 732 | hi! link CocSem_builtinAttribute Type 733 | hi! link CocSem_builtinType Type 734 | hi! link CocSem_character String 735 | hi! link CocSem_class Structure 736 | hi! link CocSem_colon Normal 737 | hi! link CocSem_comma Normal 738 | hi! link CocSem_comment Comment 739 | hi! link CocSem_comparison Keyword 740 | hi! link CocSem_concept Keyword 741 | hi! link CocSem_constParameter Identifier 742 | hi! link CocSem_dependent Keyword 743 | hi! link CocSem_dot Keyword 744 | hi! link CocSem_enum Structure 745 | hi! link CocSem_enumMember Constant 746 | hi! link CocSem_escapeSequence Type 747 | hi! link CocSem_event Identifier 748 | hi! link CocSem_formatSpecifier Type 749 | hi! link CocSem_function Function 750 | hi! link CocSem_interface Type 751 | hi! link CocSem_keyword Keyword 752 | hi! link CocSem_label Keyword 753 | hi! link CocSem_logical Keyword 754 | hi! link CocSem_macro Macro 755 | hi! link CocSem_method Function 756 | hi! link CocSem_modifier Keyword 757 | hi! link CocSem_namespace Identifier 758 | hi! link CocSem_number Number 759 | hi! link CocSem_operator Operator 760 | hi! link CocSem_parameter Identifier 761 | hi! link CocSem_parenthesis Normal 762 | hi! link CocSem_property Identifier 763 | hi! link CocSem_punctuation Keyword 764 | hi! link CocSem_regexp Type 765 | hi! link CocSem_selfKeyword Constant 766 | hi! link CocSem_semicolon Normal 767 | hi! link CocSem_string String 768 | hi! link CocSem_struct Structure 769 | hi! link CocSem_type Type 770 | hi! link CocSem_typeAlias Type 771 | hi! link CocSem_typeParameter Type 772 | hi! link CocSem_unknown Normal 773 | hi! link CocSem_variable Identifier 774 | 775 | call hi('CocHighlightRead', s:gui0B, s:gui01, s:cterm0B, s:cterm01, '', '') 776 | call hi('CocHighlightText', s:gui0A, s:gui01, s:cterm0A, s:cterm01, '', '') 777 | call hi('CocHighlightWrite', s:gui08, s:gui01, s:cterm08, s:cterm01, '', '') 778 | call hi('CocListMode', s:gui01, s:gui0B, s:cterm01, s:cterm0B, 'bold', '') 779 | call hi('CocListPath', s:gui01, s:gui0B, s:cterm01, s:cterm0B, '', '') 780 | call hi('CocSessionsName', s:gui05, '', s:cterm05, '', '', '') 781 | 782 | " fugtive 783 | hi link diffAdded GitAddSign 784 | hi link diffChanged GitChangeSign 785 | hi link diffRemoved GitDeleteSign 786 | 787 | " CMP 788 | " https://microsoft.github.io/language-server-protocol/specifications/lsp/3.18/specification/#completionItemKind 789 | if has('nvim-0.8.0') 790 | hi! link CmpItemAbbrDeprecated Deprecated 791 | hi! link CmpItemAbbrMatch PMenuMatch 792 | hi! link CmpItemAbbrMatchFuzzy PMenuMatch 793 | hi! link CmpItemKindClass @lsp.type.class 794 | hi! link CmpItemKindColor @lsp.type.keyword 795 | hi! link CmpItemKindConstant @constant 796 | hi! link CmpItemKindConstructor @constructor 797 | hi! link CmpItemKindEnum @lsp.type.enum 798 | hi! link CmpItemKindEnumMember @lsp.type.enumMember 799 | hi! link CmpItemKindEvent @lsp.type.event 800 | hi! link CmpItemKindField @lsp.type.property 801 | hi! link CmpItemKindFile @string.special.path 802 | hi! link CmpItemKindFolder @string.special.path 803 | hi! link CmpItemKindFunction @lsp.type.function 804 | hi! link CmpItemKindInterface @lsp.type.interface 805 | hi! link CmpItemKindKeyword @lsp.type.keyword 806 | hi! link CmpItemKindMethod @lsp.type.method 807 | hi! link CmpItemKindModule @lsp.type.namespace 808 | hi! link CmpItemKindOperator @lsp.type.operator 809 | hi! link CmpItemKindProperty @lsp.type.property 810 | hi! link CmpItemKindReference @lsp.type.variable 811 | hi! link CmpItemKindSnippet @lsp.type.string 812 | hi! link CmpItemKindStruct @lsp.type.struct 813 | hi! link CmpItemKindText @lsp.type.string 814 | hi! link CmpItemKindTypeParameter @lsp.type.typeParameter 815 | hi! link CmpItemKindUnit @lsp.type.namespace 816 | hi! link CmpItemKindValue @constant 817 | hi! link CmpItemKindVariable @lsp.type.variable 818 | endif 819 | 820 | " GitGutter 821 | hi! link GitGutterAdd GitAddSign 822 | hi! link GitGutterChange GitChangeSign 823 | hi! link GitGutterDelete GitDeleteSign 824 | hi! link GitGutterChangeDelete GitChangeDeleteSign 825 | 826 | " indent-blankline 827 | if has('nvim') 828 | call hi('@ibl.indent.char', s:gui01, '', s:cterm01, '', '', '') 829 | endif 830 | 831 | " pangloss/vim-javascript 832 | call hi('jsOperator', s:gui0D, '', s:cterm0D, '', '', '') 833 | call hi('jsStatement', s:gui0E, '', s:cterm0E, '', '', '') 834 | call hi('jsReturn', s:gui0E, '', s:cterm0E, '', '', '') 835 | call hi('jsThis', s:gui08, '', s:cterm08, '', '', '') 836 | call hi('jsClassDefinition', s:gui0A, '', s:cterm0A, '', '', '') 837 | call hi('jsFunction', s:gui0E, '', s:cterm0E, '', '', '') 838 | call hi('jsFuncName', s:gui0D, '', s:cterm0D, '', '', '') 839 | call hi('jsFuncCall', s:gui0D, '', s:cterm0D, '', '', '') 840 | call hi('jsClassFuncName', s:gui0D, '', s:cterm0D, '', '', '') 841 | call hi('jsClassMethodType', s:gui0E, '', s:cterm0E, '', '', '') 842 | call hi('jsRegexpString', s:gui0C, '', s:cterm0C, '', '', '') 843 | call hi('jsGlobalObjects', s:gui0A, '', s:cterm0A, '', '', '') 844 | call hi('jsGlobalNodeObjects', s:gui0A, '', s:cterm0A, '', '', '') 845 | call hi('jsExceptions', s:gui0A, '', s:cterm0A, '', '', '') 846 | call hi('jsBuiltins', s:gui0A, '', s:cterm0A, '', '', '') 847 | 848 | " Matchup 849 | call hi('MatchWord', s:gui0B, s:gui01, s:cterm0B, s:cterm01, 'underline', '') 850 | 851 | " NERDTree 852 | call hi('NERDTreeDirSlash', s:gui0D, '', s:cterm0D, '', '', '') 853 | call hi('NERDTreeExecFile', s:gui05, '', s:cterm05, '', '', '') 854 | 855 | " Signify 856 | hi! link SignifySignAdd GitAddSign 857 | hi! link SignifySignChange GitChangeSign 858 | hi! link SignifySignDelete GitDeleteSign 859 | 860 | " Startify 861 | call hi('StartifyBracket', s:gui03, '', s:cterm03, '', '', '') 862 | call hi('StartifyFile', s:gui07, '', s:cterm07, '', '', '') 863 | call hi('StartifyFooter', s:gui03, '', s:cterm03, '', '', '') 864 | call hi('StartifyHeader', s:gui0B, '', s:cterm0B, '', '', '') 865 | call hi('StartifyNumber', s:gui09, '', s:cterm09, '', '', '') 866 | call hi('StartifyPath', s:gui03, '', s:cterm03, '', '', '') 867 | call hi('StartifySection', s:gui0E, '', s:cterm0E, '', '', '') 868 | call hi('StartifySelect', s:gui0C, '', s:cterm0C, '', '', '') 869 | call hi('StartifySlash', s:gui03, '', s:cterm03, '', '', '') 870 | call hi('StartifySpecial', s:gui03, '', s:cterm03, '', '', '') 871 | 872 | " Remove functions 873 | delf hi 874 | 875 | " Remove color variables 876 | unlet s:gui00 s:gui01 s:gui02 s:gui03 s:gui04 s:gui05 s:gui06 s:gui07 s:gui08 s:gui09 s:gui0A s:gui0B s:gui0C s:gui0D s:gui0E s:gui0F s:guibg s:gui10 s:gui11 s:gui12 s:gui13 s:gui14 s:gui15 s:gui16 s:gui17 877 | unlet s:cterm00 s:cterm01 s:cterm02 s:cterm03 s:cterm04 s:cterm05 s:cterm06 s:cterm07 s:cterm08 s:cterm09 s:cterm0A s:cterm0B s:cterm0C s:cterm0D s:cterm0E s:cterm0F s:ctermbg s:cterm10 s:cterm11 s:cterm12 s:cterm13 s:cterm14 s:cterm15 s:cterm16 s:cterm17 878 | -------------------------------------------------------------------------------- /colors/base16-nord.vim: -------------------------------------------------------------------------------- 1 | " vi:syntax=vim 2 | 3 | " tinted-vim (https://github.com/tinted-theming/tinted-vim) 4 | " Scheme name: Nord 5 | " Scheme author: arcticicestudio 6 | " Template author: Tinted Theming (https://github.com/tinted-theming) 7 | 8 | " This enables the coresponding base16-shell script to run so that 9 | " :colorscheme works in terminals supported by tinted-shell scripts 10 | " User must set this variable in .vimrc 11 | " let g:tinted_shell_path=path/to/shell/scripts 12 | if !has('gui_running') 13 | if exists('g:tinted_shell_path') 14 | execute 'silent !/bin/sh '.g:tinted_shell_path.'/base16/nord.sh' 15 | endif 16 | endif 17 | 18 | " GUI colors 19 | let s:gui00 = '2e3440' 20 | let s:gui01 = '3b4252' 21 | let s:gui02 = '434c5e' 22 | let s:gui03 = '4c566a' 23 | let s:gui04 = 'd8dee9' 24 | let s:gui05 = 'e5e9f0' 25 | let s:gui06 = 'eceff4' 26 | let s:gui07 = '8fbcbb' 27 | let s:gui08 = 'bf616a' 28 | let s:gui09 = 'd08770' 29 | let s:gui0A = 'ebcb8b' 30 | let s:gui0B = 'a3be8c' 31 | let s:gui0C = '88c0d0' 32 | let s:gui0D = '81a1c1' 33 | let s:gui0E = 'b48ead' 34 | let s:gui0F = '5e81ac' 35 | let s:gui10 = '2e3440' 36 | let s:gui11 = '2e3440' 37 | let s:gui12 = 'bf616a' 38 | let s:gui13 = 'ebcb8b' 39 | let s:gui14 = 'a3be8c' 40 | let s:gui15 = '88c0d0' 41 | let s:gui16 = '81a1c1' 42 | let s:gui17 = 'b48ead' 43 | 44 | " Terminal colors 45 | let s:cterm00 = '00' 46 | let s:cterm01 = '18' 47 | let s:cterm02 = '19' 48 | let s:cterm03 = '08' 49 | let s:cterm04 = '20' 50 | let s:cterm05 = '21' 51 | let s:cterm06 = '07' 52 | let s:cterm07 = '15' 53 | let s:cterm08 = '01' 54 | let s:cterm09 = '16' 55 | let s:cterm0A = '03' 56 | let s:cterm0B = '02' 57 | let s:cterm0C = '06' 58 | let s:cterm0D = '04' 59 | let s:cterm0E = '05' 60 | let s:cterm0F = '17' 61 | let s:cterm10 = s:cterm00 62 | let s:cterm11 = s:cterm00 63 | let s:cterm12 = '01' 64 | let s:cterm13 = '03' 65 | let s:cterm14 = '02' 66 | let s:cterm15 = '06' 67 | let s:cterm16 = '04' 68 | let s:cterm17 = '05' 69 | 70 | " base16_colorspace` and `base16colorspace` are legacy properties and 71 | " exist to keep existing setups from breaking 72 | if (exists('base16colorspace') && base16_colorspace !=? '256') || (exists('tinted_colorspace') && tinted_colorspace !=? '256') 73 | " We have only 16 colors so define fallbacks for codes > 15 74 | let s:cterm01 = s:cterm00 75 | let s:cterm02 = s:cterm03 76 | let s:cterm04 = s:cterm03 77 | let s:cterm05 = s:cterm06 78 | let s:cterm07 = s:cterm06 79 | let s:cterm09 = s:cterm08 80 | let s:cterm0F = s:cterm08 81 | endif 82 | 83 | " Todo! why do we need the globals? 84 | function! s:create_color_globals() abort 85 | for i in range(0, 23) 86 | let l:num = printf('%02X', i) 87 | execute 'let g:tinted_gui' . l:num . ' = s:gui' . l:num 88 | execute 'let g:tinted_cterm' . l:num . ' = s:cterm' . l:num 89 | " Legacy vars for lualine 90 | execute 'let g:base16_gui' . l:num . ' = s:gui' . l:num 91 | endfor 92 | endfunction 93 | 94 | call s:create_color_globals() 95 | 96 | " Integrated Terminal colors 97 | let s:colors = [ 98 | \ '#2e3440', 99 | \ '#bf616a', 100 | \ '#a3be8c', 101 | \ '#ebcb8b', 102 | \ '#81a1c1', 103 | \ '#b48ead', 104 | \ '#88c0d0', 105 | \ '#e5e9f0', 106 | \ '#4c566a', 107 | \ '#bf616a', 108 | \ '#a3be8c', 109 | \ '#ebcb8b', 110 | \ '#81a1c1', 111 | \ '#b48ead', 112 | \ '#88c0d0', 113 | \ '#8fbcbb' 114 | \] 115 | 116 | if has('nvim') 117 | for i in range(16) 118 | let g:terminal_color_{i} = s:colors[i] 119 | endfor 120 | let g:terminal_color_background = &background ==? 'light' ? s:colors[7] : s:colors[0] 121 | let g:terminal_color_foreground = &background ==? 'light' ? s:colors[2] : s:colors[5] 122 | elseif has('terminal') 123 | let g:terminal_ansi_colors = s:colors 124 | endif 125 | 126 | if exists('g:tinted_background_transparent') && g:tinted_background_transparent ==? '1' 127 | let s:guibg = 'NONE' 128 | let s:ctermbg = 'NONE' 129 | else 130 | let s:guibg = s:gui00 131 | let s:ctermbg = s:cterm00 132 | endif 133 | 134 | " Theme setup 135 | let g:colors_name = 'base16-nord' 136 | 137 | " Highlighting function 138 | " Optional variables are attributes and guisp 139 | function! g:Tinted_Hi(group, guifg, guibg, ctermfg, ctermbg, ...) 140 | 141 | " Clear the highlight to be more robust against default Highlighting changes 142 | exec 'hi! clear ' . a:group 143 | 144 | let l:attr = get(a:, 1, '') 145 | let l:guisp = get(a:, 2, '') 146 | 147 | " See :help highlight-guifg 148 | let l:gui_special_names = ['NONE', 'bg', 'background', 'fg', 'foreground'] 149 | 150 | if a:guifg !=? '' 151 | if index(l:gui_special_names, a:guifg) >= 0 152 | exec 'hi! ' . a:group . ' guifg=' . a:guifg 153 | else 154 | exec 'hi! ' . a:group . ' guifg=#' . a:guifg 155 | endif 156 | endif 157 | if a:guibg !=? '' 158 | if index(l:gui_special_names, a:guibg) >= 0 159 | exec 'hi! ' . a:group . ' guibg=' . a:guibg 160 | else 161 | exec 'hi! ' . a:group . ' guibg=#' . a:guibg 162 | endif 163 | endif 164 | if a:ctermfg !=? '' 165 | exec 'hi! ' . a:group . ' ctermfg=' . a:ctermfg 166 | endif 167 | if a:ctermbg !=? '' 168 | exec 'hi! ' . a:group . ' ctermbg=' . a:ctermbg 169 | endif 170 | if l:attr !=? '' 171 | exec 'hi! ' . a:group . ' gui=' . l:attr . ' cterm=' . l:attr 172 | endif 173 | if l:guisp !=? '' 174 | if index(l:gui_special_names, l:guisp) >= 0 175 | exec 'hi! ' . a:group . ' guisp=' . l:guisp 176 | else 177 | exec 'hi! ' . a:group . ' guisp=#' . l:guisp 178 | endif 179 | endif 180 | endfunction 181 | 182 | 183 | fun hi(group, guifg, guibg, ctermfg, ctermbg, attr, guisp) 184 | call g:Tinted_Hi(a:group, a:guifg, a:guibg, a:ctermfg, a:ctermbg, a:attr, a:guisp) 185 | endfun 186 | 187 | 188 | " Tinted color highlights 189 | 190 | call hi('tinted_gui00', s:gui00, '', s:cterm00, '', '', '') 191 | call hi('tinted_gui01', s:gui01, '', s:cterm01, '', '', '') 192 | call hi('tinted_gui02', s:gui02, '', s:cterm02, '', '', '') 193 | call hi('tinted_gui03', s:gui03, '', s:cterm03, '', '', '') 194 | call hi('tinted_gui04', s:gui04, '', s:cterm04, '', '', '') 195 | call hi('tinted_gui05', s:gui05, '', s:cterm05, '', '', '') 196 | call hi('tinted_gui06', s:gui06, '', s:cterm06, '', '', '') 197 | call hi('tinted_gui07', s:gui07, '', s:cterm07, '', '', '') 198 | call hi('tinted_gui08', s:gui08, '', s:cterm08, '', '', '') 199 | call hi('tinted_gui09', s:gui09, '', s:cterm09, '', '', '') 200 | call hi('tinted_gui0A', s:gui0A, '', s:cterm0A, '', '', '') 201 | call hi('tinted_gui0B', s:gui0B, '', s:cterm0B, '', '', '') 202 | call hi('tinted_gui0C', s:gui0C, '', s:cterm0C, '', '', '') 203 | call hi('tinted_gui0D', s:gui0D, '', s:cterm0D, '', '', '') 204 | call hi('tinted_gui0E', s:gui0E, '', s:cterm0E, '', '', '') 205 | call hi('tinted_gui0F', s:gui0F, '', s:cterm0F, '', '', '') 206 | call hi('tinted_gui10', s:gui10, '', s:cterm10, '', '', '') 207 | call hi('tinted_gui11', s:gui11, '', s:cterm11, '', '', '') 208 | call hi('tinted_gui12', s:gui12, '', s:cterm12, '', '', '') 209 | call hi('tinted_gui13', s:gui13, '', s:cterm13, '', '', '') 210 | call hi('tinted_gui14', s:gui14, '', s:cterm14, '', '', '') 211 | call hi('tinted_gui15', s:gui15, '', s:cterm15, '', '', '') 212 | call hi('tinted_gui16', s:gui16, '', s:cterm16, '', '', '') 213 | call hi('tinted_gui17', s:gui17, '', s:cterm17, '', '', '') 214 | 215 | " Vim editor colors 216 | 217 | call hi('ColorColumn', '', s:gui01, '', s:cterm01, '', '') 218 | call hi('Conceal', s:gui0D, '', s:cterm0D, '', '', '') 219 | call hi('CurSearch', s:gui00, s:gui14, s:cterm00, s:cterm14, '', '') 220 | call hi('Cursor', 'bg', 'fg', '', '', '', '') 221 | hi! link lCursor Cursor 222 | hi! link CursorIM Cursor 223 | call hi('CursorColumn', '', s:gui01, '', s:cterm01, 'none', '') 224 | call hi('CursorLine', '', s:gui01, '', s:cterm01, 'none', '') 225 | call hi('Directory', s:gui0D, '', s:cterm0D, '', '', '') 226 | 227 | " Diff 228 | call hi('DiffAdd', '', s:gui01, '', s:cterm01, '', '') 229 | call hi('DiffChange', '', s:gui01, '', s:cterm01, '', '') 230 | call hi('DiffDelete', s:gui03, s:guibg, s:cterm03, s:ctermbg, '', '') 231 | call hi('DiffText', '', s:gui02, '', s:cterm02, '', '') 232 | 233 | call hi('EndOfBuffer', s:guibg, s:guibg, s:ctermbg, s:ctermbg, '', '') 234 | call hi('ErrorMsg', s:gui08, '', s:cterm08, '', '', '') 235 | if has('nvim') 236 | call hi('WinSeparator', s:gui01, s:guibg, s:cterm01, s:ctermbg, '', '') 237 | else 238 | call hi('VertSplit', s:gui01, s:guibg, s:cterm01, s:ctermbg, '', '') 239 | endif 240 | call hi('Folded', s:gui13, s:guibg, s:cterm13, s:ctermbg, '', '') 241 | call hi('FoldColumn', s:gui03, s:guibg, s:cterm03, s:ctermbg, '', '') 242 | call hi('SignColumn', s:gui03, s:guibg, s:cterm03, s:ctermbg, '', '') 243 | hi! link IncSearch CurSearch 244 | hi! link Substitute Search 245 | call hi('LineNr', s:gui03, s:guibg, s:cterm03, s:ctermbg, '', '') 246 | hi! link LineNrAbove LineNr 247 | hi! link LineNrBelow LineNr 248 | call hi('CursorLineNr', s:gui04, s:guibg, s:cterm04, s:ctermbg, 'bold', '') 249 | call hi('CursorLineFold', s:gui13, s:guibg, s:cterm13, s:ctermbg, '', '') 250 | hi! link CursorLineSign SignColumn 251 | call hi('MatchParen', s:gui06, '', s:cterm06, '', 'bold', '') 252 | call hi('ModeMsg', s:gui05, '', s:cterm05, '', '', '') 253 | hi! link MsgArea None 254 | hi! link MsgSeparator WinSeparator 255 | call hi('MoreMsg', s:gui0B, '', s:cterm0B, '', '', '') 256 | call hi('NonText', s:gui03, '', s:cterm03, '', '', '') 257 | call hi('Normal', s:gui05, s:guibg, s:cterm05, s:ctermbg, '', '') 258 | call hi('NormalFloat', s:gui06, s:gui01, s:cterm06, s:cterm01, 'none', '') 259 | call hi('FloatBorder', s:gui06, s:gui01, s:cterm06, s:cterm01, 'none', '') 260 | hi! link FloatTitle Title 261 | hi! link FloatFooter FloatTitle 262 | hi! link NormalNC None 263 | call hi('PMenu', s:gui05, s:gui01, s:cterm05, s:cterm01, 'none', '') 264 | call hi('PMenuSel', s:gui06, s:gui02, s:cterm06, s:cterm02, 'none', '') 265 | hi! link PMenuKind PMenu 266 | hi! link PMenuKindSel PMenuSel 267 | hi! link PMenuExtra PMenu 268 | hi! link PMenuExtraSel PMenuSel 269 | call hi('PMenuSbar', '', s:gui03, '', s:cterm03, '', '') 270 | call hi('PMenuThumb', '', s:gui04, '', s:cterm04, '', '') 271 | call hi('PMenuMatch', s:gui0C, '', s:cterm0C, '', '', '') 272 | call hi('PMenuMatchSel', s:gui15, s:gui02, s:cterm15, s:cterm02, 'none', '') 273 | call hi('Question', s:gui0D, '', s:cterm0D, '', '', '') 274 | call hi('QuickFixLine', '', s:gui01, '', s:cterm01, 'none', '') 275 | call hi('Search', s:gui01, s:gui13, s:cterm01, s:cterm13, '', '') 276 | hi! link SnippetTabstop Visual 277 | call hi('SpecialKey', s:gui03, '', s:cterm03, '', '', '') 278 | 279 | " Spell 280 | call hi('SpellBad', '', '', s:ctermbg, s:cterm12, 'undercurl', s:gui08) 281 | call hi('SpellLocal', '', '', s:ctermbg, s:cterm15, 'undercurl', s:gui15) 282 | call hi('SpellCap', '', '', s:ctermbg, s:cterm16, 'undercurl', s:gui16) 283 | call hi('SpellRare', '', '', s:ctermbg, s:cterm0E, 'undercurl', s:gui0E) 284 | 285 | call hi('StatusLine', s:gui04, s:gui01, s:cterm04, s:cterm01, 'none', '') 286 | call hi('StatusLineNC', s:gui03, s:gui01, s:cterm03, s:cterm01, 'none', '') 287 | hi! link StatusLineTerm StatusLine 288 | hi! link StatusLineTermNC StatusLineNC 289 | hi! link TabLine StatusLine 290 | call hi('TabLineSel', s:gui01, s:gui04, s:cterm01, s:cterm04, 'none', '') 291 | hi! link TabLineFill StatusLine 292 | 293 | call hi('Title', s:gui0D, '', s:cterm0D, '', '', '') 294 | call hi('Visual', '', s:gui02, '', s:cterm02, '', '') 295 | hi! link VisualNOS Visual 296 | call hi('WarningMsg', s:gui09, '', s:cterm09, '', '', '') 297 | call hi('Whitespace', s:gui03, '', s:cterm03, '', '', '') 298 | call hi('WildMenu', s:guibg, s:gui05, s:ctermbg, s:cterm05, '', '') 299 | hi! link WinBar StatusLine 300 | hi! link WinBarNC StatusLineNC 301 | 302 | " call hi('Menu', s:guibg, s:gui05, s:ctermbg, s:cterm05, '', '") 303 | " call hi('Scrollbar', s:guibg, s:gui05, s:ctermbg, s:cterm05, '', '") 304 | " call hi('Tooltip', s:guibg, s:gui05, s:ctermbg, s:cterm05, '', '") 305 | 306 | 307 | " Standard syntax 308 | 309 | call hi('Comment', s:gui03, '', s:cterm03, '', 'italic', '') 310 | 311 | call hi('Constant', s:gui09, '', s:cterm09, '', 'none', '') 312 | call hi('String', s:gui0B, '', s:cterm0B, '', 'italic', '') 313 | call hi('Character', s:gui0C, '', s:cterm0C, '', 'none', '') 314 | call hi('Number', s:gui09, '', s:cterm09, '', 'none', '') 315 | call hi('Boolean', s:gui09, '', s:cterm09, '', 'none', '') 316 | call hi('Float', s:gui09, '', s:cterm09, '', 'none', '') 317 | 318 | " The [spec](https://github.com/tinted-theming/base24/blob/main/styling.md) wants 319 | " `Identifier` mapped to base08 aka RED. I do not like it, too much RED. 320 | call hi('Identifier', s:gui05, '', s:cterm05, '', 'none', '') 321 | call hi('Function', s:gui0D, '', s:cterm0D, '', 'none', '') 322 | 323 | call hi('Statement', s:gui0E, '', s:cterm0E, '', 'bold', '') 324 | call hi('Conditional', s:gui0E, '', s:cterm0E, '', 'none', '') 325 | call hi('Repeat', s:gui0E, '', s:cterm0E, '', 'none', '') 326 | call hi('Label', s:gui0E, '', s:cterm0E, '', 'none', '') 327 | call hi('Operator', s:gui0C, '', s:cterm0C, '', 'none', '') 328 | hi! link Keyword Statement 329 | call hi('Exception', s:gui0E, '', s:cterm0E, '', 'none', '') 330 | 331 | call hi('PreProc', s:gui0C, '', s:cterm0C, '', 'none', '') 332 | call hi('Include', s:gui0C, '', s:cterm0C, '', 'none', '') 333 | call hi('Define', s:gui0C, '', s:cterm0C, '', 'none', '') 334 | call hi('Macro', s:gui0C, '', s:cterm0C, '', 'none', '') 335 | call hi('PreCondit', s:gui0C, '', s:cterm0C, '', 'none', '') 336 | 337 | call hi('Type', s:gui0A, '', s:cterm0A, '', 'none', '') 338 | call hi('StorageClass', s:gui0A, '', s:cterm0A, '', 'none', '') 339 | call hi('Structure', s:gui0A, '', s:cterm0A, '', 'none', '') 340 | call hi('Typedef', s:gui0A, '', s:cterm0A, '', 'none', '') 341 | 342 | call hi('Special', s:gui0C, '', s:cterm0C, '', 'none', '') 343 | call hi('SpecialChar', s:gui0A, '', s:cterm0A, '', 'none', '') 344 | call hi('Tag', s:gui09, '', s:cterm09, '', 'none', '') 345 | call hi('Delimiter', s:gui05, '', s:cterm05, '', 'none', '') 346 | call hi('SpecialComment', s:gui0A, '', s:cterm0A, '', 'italic', '') 347 | 348 | call hi('Debug', s:gui08, '', s:cterm08, '', 'none', '') 349 | 350 | call hi('Underlined', '', '', '', '', 'underline', '') 351 | 352 | hi! link Ignore Normal 353 | 354 | call hi('Error', s:gui08, s:guibg, s:cterm08, s:ctermbg, 'bold', '') 355 | 356 | call hi('Todo', s:gui0C, '', s:cterm0C, '', 'none', '') 357 | 358 | call hi('Added', s:gui14, '', s:cterm14, '', 'italic', '') 359 | call hi('Changed', s:gui16, '', s:cterm16, '', 'italic', '') 360 | call hi('Removed', s:gui12, '', s:cterm12, '', 'italic', '') 361 | 362 | 363 | " Treesitter Syntax 364 | 365 | if has('nvim-0.8.0') 366 | hi! link @variable Identifier 367 | call hi('@variable.builtin', s:gui05, '', s:cterm05, '', 'italic', '') 368 | hi! link @variable.parameter Identifier 369 | hi! link @variable.parameter.builtin @variable.builtin 370 | call hi('@variable.member', s:gui04, '', s:cterm04, '', 'none', '') 371 | 372 | hi! link @constant Constant 373 | call hi('@constant.builtin', s:gui09, '', s:cterm09, '', 'italic', '') 374 | hi! link @constant.macro Constant 375 | 376 | hi! link @module Identifier 377 | call hi('@module.builtin', s:gui05, '', s:cterm05, '', 'italic', '') 378 | hi! link @label Tag 379 | 380 | hi! link @string String 381 | hi! link @string.documentation String 382 | hi! link @string.regexp SpecialComment 383 | hi! link @string.escape SpecialComment 384 | hi! link @string.special SpecialComment 385 | hi! link @string.special.symbol SpecialComment 386 | call hi('@string.special.path', s:gui0D, '', s:cterm0D, '', 'italic', '') 387 | call hi('@string.special.url', s:gui08, '', s:cterm08, '', 'italic', '') 388 | 389 | hi! link @character Character 390 | hi! link @character.special SpecialChar 391 | 392 | hi! link @boolean Boolean 393 | hi! link @number Number 394 | hi! link @number.float Float 395 | 396 | hi! link @type Type 397 | call hi('@type.builtin', s:gui0A, '', s:cterm0A, '', 'italic', '') 398 | hi! link @type.definition Typedef 399 | 400 | hi! link @attribute Special 401 | call hi('@attribute.builtin', s:gui0C, '', s:cterm0C, '', 'italic', '') 402 | hi! link @property @variable.member 403 | 404 | call hi('@function', s:gui16, '', s:cterm16, '', '', '') 405 | call hi('@function.builtin', s:gui16, '', s:cterm16, '', 'italic', '') 406 | hi! link @function.call @function 407 | hi! link @function.macro Macro 408 | 409 | hi! link @function.method Function 410 | hi! link @function.method.call @function.method 411 | 412 | call hi('@constructor', s:gui0D, '', s:cterm0D, '', 'bold', '') 413 | 414 | hi! link @operator Operator 415 | 416 | hi! link @keyword Keyword 417 | hi! link @keyword.coroutine Repeat 418 | hi! link @keyword.function Keyword 419 | hi! link @keyword.operator Operator 420 | call hi('@keyword.import', s:gui0E, '', s:cterm0E, '', 'italic', '') 421 | hi! link @keyword.type Keyword 422 | hi! link @keyword.modifier Repeat 423 | hi! link @keyword.repeat Repeat 424 | hi! link @keyword.return Keyword 425 | hi! link @keyword.debug Debug 426 | hi! link @keyword.exception Exception 427 | 428 | hi! link @keyword.conditional Conditional 429 | hi! link @keyword.ternary Conditional 430 | 431 | hi! link @keyword.directive PreProc 432 | hi! link @keyword.directive.define Define 433 | 434 | hi! link @punctuation.delimiter Delimiter 435 | hi! link @punctuation.bracket Delimiter 436 | hi! link @punctuation.special Special 437 | 438 | hi! link @comment Comment 439 | hi! link @comment.documentation Comment 440 | 441 | call hi('@comment.error', s:gui08, '', s:cterm08, '', 'italic', '') 442 | call hi('@comment.warning', s:gui09, '', s:cterm09, '', 'italic', '') 443 | call hi('@comment.note', s:gui0D, '', s:cterm0D, '', 'italic', '') 444 | call hi('@comment.todo', s:gui0C, '', s:cterm0C, '', 'italic', '') 445 | 446 | hi! @markup.strong gui=bold cterm=bold 447 | hi! @markup.italic gui=italic cterm=italic 448 | hi! @markup.strikethrough gui=strikethrough cterm=strikethrough 449 | hi! @markup.underline gui=underline cterm=underline 450 | 451 | hi! link @markup.heading Title 452 | hi! link @markup.quote String 453 | hi! link @markup.math Special 454 | 455 | call hi('@markup.link', s:gui08, '', s:cterm08, '', '', '') 456 | hi! link @markup.link.label @markup.link 457 | hi! link @markup.link.url Identifier 458 | 459 | call hi('@markup.raw', s:gui04, '', s:cterm04, '', '', '') 460 | hi! link @markup.raw.block Identifier 461 | 462 | hi! link @markup.list SpecialChar 463 | hi! link @markup.list.checked DiagnosticOk 464 | hi! link @markup.list.unchecked DiagnosticError 465 | 466 | hi! link @diff.plus Added 467 | hi! link @diff.minus Removed 468 | hi! link @diff.delta Changed 469 | 470 | hi! link @tag Tag 471 | call hi('@tag.builtin', s:gui09, '', s:cterm09, '', 'italic', '') 472 | hi! link @tag.attribute Special 473 | hi! link @tag.delimiter Delimiter 474 | 475 | 476 | " LSP Semantic Token 477 | " https://microsoft.github.io/language-server-protocol/specifications/lsp/3.18/specification/#textDocument_semanticTokens 478 | hi! link @lsp.type.class @type 479 | hi! link @lsp.type.comment @comment 480 | hi! link @lsp.type.decorator @attribute 481 | hi! link @lsp.type.enum @type 482 | hi! link @lsp.type.enumMember @constant 483 | hi! link @lsp.type.event @type 484 | hi! link @lsp.type.function @function 485 | hi! link @lsp.type.interface @type 486 | hi! link @lsp.type.keyword @keyword 487 | hi! link @lsp.type.macro @function.macro 488 | hi! link @lsp.type.method @function.method 489 | hi! link @lsp.type.modifier @type.modifier 490 | hi! link @lsp.type.namespace @module 491 | hi! link @lsp.type.number @number 492 | hi! link @lsp.type.operator @operator 493 | hi! link @lsp.type.parameter @variable.parameter 494 | hi! link @lsp.type.property @property 495 | hi! link @lsp.type.regexp @string.regexp 496 | hi! link @lsp.type.string @string 497 | hi! link @lsp.type.struct @type 498 | hi! link @lsp.type.type @type 499 | hi! link @lsp.type.typeParameter @variable.parameter 500 | hi! link @lsp.type.variable @variable 501 | 502 | " @lsp.mod.abstract Types and member functions that are abstract 503 | " @lsp.mod.async Functions that are marked async 504 | " @lsp.mod.declaration Declarations of symbols 505 | call hi('@lsp.mod.defaultLibrary', '', '', '', '', 'italic', '') 506 | " @lsp.mod.definition Definitions of symbols, for example, in header files 507 | hi! link @lsp.mod.deprecated DiagnosticDeprecated 508 | " @lsp.mod.modification Variable references where the variable is assigned to 509 | " @lsp.mod.readonly Readonly variables and member fields (constants) 510 | " @lsp.mod.static 511 | 512 | " Rust 513 | hi! link @lsp.type.builtinType.rust @type.builtin 514 | hi! link @lsp.type.escapeSequence.rust @string.escape 515 | hi! link @lsp.type.formatSpecifier.rust @operator 516 | hi! link @lsp.type.lifetime.rust @attribute 517 | hi! link @lsp.type.punctuation.rust @punctuation.delimiter 518 | hi! link @lsp.type.selfKeyword.rust @variable.builtin 519 | hi! link @lsp.type.selfTypeKeyword.rust @type.builtin 520 | 521 | call hi('@lsp.mod.attribute', '', '', '', '', 'italic', '') 522 | hi! link @lsp.mod.controlFlow @keyword.repeat 523 | hi! link @lsp.mod.intraDocLink.rust @markup.link 524 | 525 | hi! link @lsp.typemod.generic.injected.rust @variable 526 | hi! link @lsp.typemod.operator.controlFlow.rust @operator 527 | hi! link @lsp.typemod.function.associated.rust @function.method 528 | 529 | " LUA 530 | hi! link @lsp.typemod.keyword.documentation.lua @tag 531 | 532 | " Markdown 533 | hi! link @lsp.type.class.markdown @lsp 534 | 535 | 536 | " LSP not syntax 537 | 538 | hi! link LspReferenceText Search 539 | call hi('LspReferenceRead', s:gui01, s:gui14, s:cterm01, s:cterm14, '', '') 540 | call hi('LspReferenceWrite', s:gui01, s:gui12, s:cterm01, s:cterm12, '', '') 541 | hi! link LspCodeLens NonText 542 | hi! link LspCodeLensSeparator LspCodeLens 543 | hi! link LspInlayHint NonText 544 | hi! link LspSignatureActiveParameter Visual 545 | endif 546 | 547 | 548 | " Diagnostics 549 | 550 | call hi('DiagnosticError', s:gui08, '', s:cterm08, '', '', '') 551 | call hi('DiagnosticWarn', s:gui09, '', s:cterm09, '', '', '') 552 | call hi('DiagnosticInfo', s:gui0C, '', s:cterm0C, '', '', '') 553 | call hi('DiagnosticHint', s:gui0D, '', s:cterm0D, '', '', '') 554 | call hi('DiagnosticOk', s:gui0B, '', s:cterm0B, '', '', '') 555 | 556 | call hi('DiagnosticUnderlineError', '', '', s:ctermbg, s:cterm08, 'underline', s:gui08) 557 | call hi('DiagnosticUnderlineWarn', '', '', s:ctermbg, s:cterm09, 'underline', s:gui09) 558 | call hi('DiagnosticUnderlineInfo', '', '', s:ctermbg, s:cterm0C, 'underline', s:gui0C) 559 | call hi('DiagnosticUnderlineHint', '', '', s:ctermbg, s:cterm0D, 'underline', s:gui0D) 560 | call hi('DiagnosticUnderlineOk', '', '', s:ctermbg, s:cterm0B, 'underline', s:gui0B) 561 | 562 | call hi('DiagnosticFloatingError', s:gui08, s:gui01, s:cterm08, s:cterm01, '', '') 563 | call hi('DiagnosticFloatingWarn', s:gui09, s:gui01, s:cterm09, s:cterm01, '', '') 564 | call hi('DiagnosticFloatingInfo', s:gui0C, s:gui01, s:cterm0C, s:cterm01, '', '') 565 | call hi('DiagnosticFloatingHint', s:gui0D, s:gui01, s:cterm0D, s:cterm01, '', '') 566 | call hi('DiagnosticFloatingOk', s:gui0B, s:gui01, s:cterm0B, s:cterm01, '', '') 567 | 568 | call hi('DiagnosticDeprecated', '', '', s:cterm0F, s:cterm0F, 'strikethrough', '') 569 | hi! link DiagnosticUnnecessary Comment 570 | 571 | 572 | " Syntax Files 573 | 574 | " C 575 | call hi('cOperator', s:gui0C, '', s:cterm0C, '', '', '') 576 | call hi('cPreCondit', s:gui0E, '', s:cterm0E, '', '', '') 577 | 578 | " CSS 579 | call hi('cssBraces', s:gui05, '', s:cterm05, '', '', '') 580 | call hi('cssClassName', s:gui0E, '', s:cterm0E, '', '', '') 581 | call hi('cssColor', s:gui0C, '', s:cterm0C, '', '', '') 582 | 583 | " C# 584 | call hi('csClass', s:gui0A, '', s:cterm0A, '', '', '') 585 | call hi('csAttribute', s:gui0A, '', s:cterm0A, '', '', '') 586 | call hi('csModifier', s:gui0E, '', s:cterm0E, '', '', '') 587 | call hi('csType', s:gui08, '', s:cterm08, '', '', '') 588 | call hi('csUnspecifiedStatement', s:gui0D, '', s:cterm0D, '', '', '') 589 | call hi('csContextualStatement', s:gui0E, '', s:cterm0E, '', '', '') 590 | call hi('csNewDecleration', s:gui08, '', s:cterm08, '', '', '') 591 | 592 | " Git 593 | call hi('GitAddSign', s:gui14, '', s:cterm14, '', '', '') 594 | call hi('GitChangeSign', s:gui04, '', s:cterm04, '', '', '') 595 | call hi('GitDeleteSign', s:gui12, '', s:cterm12, '', '', '') 596 | call hi('GitChangeDeleteSign', s:gui12, '', s:cterm12, '', '', '') 597 | 598 | " Gitcommit 599 | call hi('gitcommitOverflow', s:gui08, '', s:cterm08, '', '', '') 600 | call hi('gitcommitSummary', s:gui0B, '', s:cterm0B, '', '', '') 601 | call hi('gitcommitComment', s:gui03, '', s:cterm03, '', '', '') 602 | call hi('gitcommitUntracked', s:gui03, '', s:cterm03, '', '', '') 603 | call hi('gitcommitDiscarded', s:gui03, '', s:cterm03, '', '', '') 604 | call hi('gitcommitSelected', s:gui03, '', s:cterm03, '', '', '') 605 | call hi('gitcommitHeader', s:gui17, '', s:cterm17, '', '', '') 606 | call hi('gitcommitSelectedType', s:gui16, '', s:cterm16, '', '', '') 607 | call hi('gitcommitUnmergedType', s:gui16, '', s:cterm16, '', '', '') 608 | call hi('gitcommitDiscardedType', s:gui16, '', s:cterm16, '', '', '') 609 | call hi('gitcommitBranch', s:gui13, '', s:cterm13, '', 'bold', '') 610 | call hi('gitcommitUntrackedFile', s:gui0A, '', s:cterm0A, '', '', '') 611 | call hi('gitcommitUnmergedFile', s:gui08, '', s:cterm08, '', 'bold', '') 612 | call hi('gitcommitDiscardedFile', s:gui08, '', s:cterm08, '', 'bold', '') 613 | call hi('gitcommitSelectedFile', s:gui0B, '', s:cterm0B, '', 'bold', '') 614 | 615 | " Gitsigns 616 | call hi('GitSignsAddInline', s:gui14, s:gui02, s:cterm14, s:cterm02, '', '') 617 | call hi('GitSignsChangeInline', s:gui16, s:gui02, s:cterm16, s:cterm02, '', '') 618 | call hi('GitSignsDeleteLnInline', s:gui12, s:gui02, s:cterm12, s:cterm02, '', '') 619 | call hi('GitSignsDeleteVirtLnInline', s:gui16, s:gui02, s:cterm16, s:cterm02, '', '') 620 | call hi('GitSignsDeleteVirtLn', s:gui05, s:gui02, s:cterm05, s:cterm02, '', '') 621 | 622 | " HTML 623 | call hi('htmlBold', s:gui05, '', s:cterm0A, '', 'bold', '') 624 | call hi('htmlItalic', s:gui05, '', s:cterm17, '', 'italic', '') 625 | call hi('htmlEndTag', s:gui05, '', s:cterm05, '', '', '') 626 | call hi('htmlTag', s:gui05, '', s:cterm05, '', '', '') 627 | 628 | " JavaScript 629 | call hi('javaScript', s:gui05, '', s:cterm05, '', '', '') 630 | call hi('javaScriptBraces', s:gui05, '', s:cterm05, '', '', '') 631 | call hi('javaScriptNumber', s:gui09, '', s:cterm09, '', '', '') 632 | 633 | " Mail 634 | call hi('mailQuoted1', s:gui0A, '', s:cterm0A, '', '', '') 635 | call hi('mailQuoted2', s:gui0B, '', s:cterm0B, '', '', '') 636 | call hi('mailQuoted3', s:gui0E, '', s:cterm0E, '', '', '') 637 | call hi('mailQuoted4', s:gui0C, '', s:cterm0C, '', '', '') 638 | call hi('mailQuoted5', s:gui0D, '', s:cterm0D, '', '', '') 639 | call hi('mailQuoted6', s:gui0A, '', s:cterm0A, '', '', '') 640 | call hi('mailURL', s:gui0D, '', s:cterm0D, '', '', '') 641 | call hi('mailEmail', s:gui0D, '', s:cterm0D, '', '', '') 642 | 643 | " Markdown 644 | call hi('markdownCode', s:gui0B, '', s:cterm0B, '', '', '') 645 | call hi('markdownError', s:gui05, s:guibg, s:cterm05, s:ctermbg, '', '') 646 | call hi('markdownCodeBlock', s:gui0B, '', s:cterm0B, '', '', '') 647 | call hi('markdownHeadingDelimiter', s:gui0D, '', s:cterm0D, '', '', '') 648 | 649 | " Neogit 650 | 651 | hi! link NeogitHunkHeader Special 652 | hi! link NeogitDiffHeader Directory 653 | call hi('NeogitDiffContext', s:gui03, '', s:cterm03, '', 'italic', '') 654 | hi! link NeogitDiffAdd Added 655 | hi! link NeogitDiffDelete Removed 656 | 657 | hi! link NeogitHunkHeaderHighlight Special 658 | hi! link NeogitDiffHeaderHighlight Directory 659 | call hi('NeogitDiffContextHighlight', s:gui03, s:guibg, s:cterm03, s:ctermbg, 'italic', '') 660 | call hi('NeogitDiffContextCursor', '', s:guibg, "", s:ctermbg, 'italic', '') 661 | hi! link NeogitDiffAddHighlight Added 662 | hi! link NeogitDiffDeleteHighlight Removed 663 | 664 | hi! link NeogitHunkHeaderCursor Special 665 | hi! link NeogitDiffHeaderCursor Directory 666 | hi! link NeogitDiffAddCursor Added 667 | hi! link NeogitDiffDeleteCursor Removed 668 | 669 | " PHP 670 | call hi('phpMemberSelector', s:gui05, '', s:cterm05, '', '', '') 671 | call hi('phpComparison', s:gui05, '', s:cterm05, '', '', '') 672 | call hi('phpParent', s:gui05, '', s:cterm05, '', '', '') 673 | call hi('phpMethodsVar', s:gui0C, '', s:cterm0C, '', '', '') 674 | 675 | " Python 676 | call hi('pythonOperator', s:gui0E, '', s:cterm0E, '', '', '') 677 | call hi('pythonRepeat', s:gui0E, '', s:cterm0E, '', '', '') 678 | call hi('pythonInclude', s:gui0E, '', s:cterm0E, '', '', '') 679 | call hi('pythonStatement', s:gui0E, '', s:cterm0E, '', '', '') 680 | 681 | " Ruby 682 | call hi('rubyAttribute', s:gui0D, '', s:cterm0D, '', '', '') 683 | call hi('rubyConstant', s:gui0A, '', s:cterm0A, '', '', '') 684 | call hi('rubyInterpolationDelimiter', s:gui0F, '', s:cterm0F, '', '', '') 685 | call hi('rubyRegexp', s:gui0C, '', s:cterm0C, '', '', '') 686 | call hi('rubySymbol', s:gui0B, '', s:cterm0B, '', '', '') 687 | call hi('rubyStringDelimiter', s:gui0B, '', s:cterm0B, '', '', '') 688 | 689 | " SASS 690 | call hi('sassidChar', s:gui08, '', s:cterm08, '', '', '') 691 | call hi('sassClassChar', s:gui09, '', s:cterm09, '', '', '') 692 | call hi('sassInclude', s:gui0E, '', s:cterm0E, '', '', '') 693 | call hi('sassMixing', s:gui0E, '', s:cterm0E, '', '', '') 694 | call hi('sassMixinName', s:gui0D, '', s:cterm0D, '', '', '') 695 | 696 | " Java 697 | call hi('javaOperator', s:gui0D, '', s:cterm0D, '', '', '') 698 | 699 | " Plugins 700 | 701 | " Clap 702 | hi! link ClapInput ColorColumn 703 | hi! link ClapSpinner ColorColumn 704 | hi! link ClapDisplay Default 705 | hi! link ClapPreview ColorColumn 706 | hi! link ClapCurrentSelection CursorLine 707 | hi! link ClapNoMatchesFound ErrorFloat 708 | 709 | " Coc 710 | hi! link CocErrorSign DiagnosticError 711 | hi! link CocWarningSign DiagnosticWarn 712 | hi! link CocInfoSign DiagnosticInfo 713 | hi! link CocHintSign DiagnosticHint 714 | 715 | hi! link CocErrorFloat DiagnosticFloatingError 716 | hi! link CocWarningFloat DiagnosticFloatingWarn 717 | hi! link CocInfoFloat DiagnosticFloatingInfo 718 | hi! link CocHintFloat DiagnosticFloatingHint 719 | 720 | hi! link CocErrorHighlight DiagnosticError 721 | hi! link CocWarningHighlight DiagnosticWarn 722 | hi! link CocInfoHighlight DiagnosticInfo 723 | hi! link CocHintHighlight DiagnosticHint 724 | 725 | hi! link CocSem_angle Keyword 726 | hi! link CocSem_annotation Keyword 727 | hi! link CocSem_attribute Type 728 | hi! link CocSem_bitwise Keyword 729 | hi! link CocSem_boolean Boolean 730 | hi! link CocSem_brace Normal 731 | hi! link CocSem_bracket Normal 732 | hi! link CocSem_builtinAttribute Type 733 | hi! link CocSem_builtinType Type 734 | hi! link CocSem_character String 735 | hi! link CocSem_class Structure 736 | hi! link CocSem_colon Normal 737 | hi! link CocSem_comma Normal 738 | hi! link CocSem_comment Comment 739 | hi! link CocSem_comparison Keyword 740 | hi! link CocSem_concept Keyword 741 | hi! link CocSem_constParameter Identifier 742 | hi! link CocSem_dependent Keyword 743 | hi! link CocSem_dot Keyword 744 | hi! link CocSem_enum Structure 745 | hi! link CocSem_enumMember Constant 746 | hi! link CocSem_escapeSequence Type 747 | hi! link CocSem_event Identifier 748 | hi! link CocSem_formatSpecifier Type 749 | hi! link CocSem_function Function 750 | hi! link CocSem_interface Type 751 | hi! link CocSem_keyword Keyword 752 | hi! link CocSem_label Keyword 753 | hi! link CocSem_logical Keyword 754 | hi! link CocSem_macro Macro 755 | hi! link CocSem_method Function 756 | hi! link CocSem_modifier Keyword 757 | hi! link CocSem_namespace Identifier 758 | hi! link CocSem_number Number 759 | hi! link CocSem_operator Operator 760 | hi! link CocSem_parameter Identifier 761 | hi! link CocSem_parenthesis Normal 762 | hi! link CocSem_property Identifier 763 | hi! link CocSem_punctuation Keyword 764 | hi! link CocSem_regexp Type 765 | hi! link CocSem_selfKeyword Constant 766 | hi! link CocSem_semicolon Normal 767 | hi! link CocSem_string String 768 | hi! link CocSem_struct Structure 769 | hi! link CocSem_type Type 770 | hi! link CocSem_typeAlias Type 771 | hi! link CocSem_typeParameter Type 772 | hi! link CocSem_unknown Normal 773 | hi! link CocSem_variable Identifier 774 | 775 | call hi('CocHighlightRead', s:gui0B, s:gui01, s:cterm0B, s:cterm01, '', '') 776 | call hi('CocHighlightText', s:gui0A, s:gui01, s:cterm0A, s:cterm01, '', '') 777 | call hi('CocHighlightWrite', s:gui08, s:gui01, s:cterm08, s:cterm01, '', '') 778 | call hi('CocListMode', s:gui01, s:gui0B, s:cterm01, s:cterm0B, 'bold', '') 779 | call hi('CocListPath', s:gui01, s:gui0B, s:cterm01, s:cterm0B, '', '') 780 | call hi('CocSessionsName', s:gui05, '', s:cterm05, '', '', '') 781 | 782 | " fugtive 783 | hi link diffAdded GitAddSign 784 | hi link diffChanged GitChangeSign 785 | hi link diffRemoved GitDeleteSign 786 | 787 | " CMP 788 | " https://microsoft.github.io/language-server-protocol/specifications/lsp/3.18/specification/#completionItemKind 789 | if has('nvim-0.8.0') 790 | hi! link CmpItemAbbrDeprecated Deprecated 791 | hi! link CmpItemAbbrMatch PMenuMatch 792 | hi! link CmpItemAbbrMatchFuzzy PMenuMatch 793 | hi! link CmpItemKindClass @lsp.type.class 794 | hi! link CmpItemKindColor @lsp.type.keyword 795 | hi! link CmpItemKindConstant @constant 796 | hi! link CmpItemKindConstructor @constructor 797 | hi! link CmpItemKindEnum @lsp.type.enum 798 | hi! link CmpItemKindEnumMember @lsp.type.enumMember 799 | hi! link CmpItemKindEvent @lsp.type.event 800 | hi! link CmpItemKindField @lsp.type.property 801 | hi! link CmpItemKindFile @string.special.path 802 | hi! link CmpItemKindFolder @string.special.path 803 | hi! link CmpItemKindFunction @lsp.type.function 804 | hi! link CmpItemKindInterface @lsp.type.interface 805 | hi! link CmpItemKindKeyword @lsp.type.keyword 806 | hi! link CmpItemKindMethod @lsp.type.method 807 | hi! link CmpItemKindModule @lsp.type.namespace 808 | hi! link CmpItemKindOperator @lsp.type.operator 809 | hi! link CmpItemKindProperty @lsp.type.property 810 | hi! link CmpItemKindReference @lsp.type.variable 811 | hi! link CmpItemKindSnippet @lsp.type.string 812 | hi! link CmpItemKindStruct @lsp.type.struct 813 | hi! link CmpItemKindText @lsp.type.string 814 | hi! link CmpItemKindTypeParameter @lsp.type.typeParameter 815 | hi! link CmpItemKindUnit @lsp.type.namespace 816 | hi! link CmpItemKindValue @constant 817 | hi! link CmpItemKindVariable @lsp.type.variable 818 | endif 819 | 820 | " GitGutter 821 | hi! link GitGutterAdd GitAddSign 822 | hi! link GitGutterChange GitChangeSign 823 | hi! link GitGutterDelete GitDeleteSign 824 | hi! link GitGutterChangeDelete GitChangeDeleteSign 825 | 826 | " indent-blankline 827 | if has('nvim') 828 | call hi('@ibl.indent.char', s:gui01, '', s:cterm01, '', '', '') 829 | endif 830 | 831 | " pangloss/vim-javascript 832 | call hi('jsOperator', s:gui0D, '', s:cterm0D, '', '', '') 833 | call hi('jsStatement', s:gui0E, '', s:cterm0E, '', '', '') 834 | call hi('jsReturn', s:gui0E, '', s:cterm0E, '', '', '') 835 | call hi('jsThis', s:gui08, '', s:cterm08, '', '', '') 836 | call hi('jsClassDefinition', s:gui0A, '', s:cterm0A, '', '', '') 837 | call hi('jsFunction', s:gui0E, '', s:cterm0E, '', '', '') 838 | call hi('jsFuncName', s:gui0D, '', s:cterm0D, '', '', '') 839 | call hi('jsFuncCall', s:gui0D, '', s:cterm0D, '', '', '') 840 | call hi('jsClassFuncName', s:gui0D, '', s:cterm0D, '', '', '') 841 | call hi('jsClassMethodType', s:gui0E, '', s:cterm0E, '', '', '') 842 | call hi('jsRegexpString', s:gui0C, '', s:cterm0C, '', '', '') 843 | call hi('jsGlobalObjects', s:gui0A, '', s:cterm0A, '', '', '') 844 | call hi('jsGlobalNodeObjects', s:gui0A, '', s:cterm0A, '', '', '') 845 | call hi('jsExceptions', s:gui0A, '', s:cterm0A, '', '', '') 846 | call hi('jsBuiltins', s:gui0A, '', s:cterm0A, '', '', '') 847 | 848 | " Matchup 849 | call hi('MatchWord', s:gui0B, s:gui01, s:cterm0B, s:cterm01, 'underline', '') 850 | 851 | " NERDTree 852 | call hi('NERDTreeDirSlash', s:gui0D, '', s:cterm0D, '', '', '') 853 | call hi('NERDTreeExecFile', s:gui05, '', s:cterm05, '', '', '') 854 | 855 | " Signify 856 | hi! link SignifySignAdd GitAddSign 857 | hi! link SignifySignChange GitChangeSign 858 | hi! link SignifySignDelete GitDeleteSign 859 | 860 | " Startify 861 | call hi('StartifyBracket', s:gui03, '', s:cterm03, '', '', '') 862 | call hi('StartifyFile', s:gui07, '', s:cterm07, '', '', '') 863 | call hi('StartifyFooter', s:gui03, '', s:cterm03, '', '', '') 864 | call hi('StartifyHeader', s:gui0B, '', s:cterm0B, '', '', '') 865 | call hi('StartifyNumber', s:gui09, '', s:cterm09, '', '', '') 866 | call hi('StartifyPath', s:gui03, '', s:cterm03, '', '', '') 867 | call hi('StartifySection', s:gui0E, '', s:cterm0E, '', '', '') 868 | call hi('StartifySelect', s:gui0C, '', s:cterm0C, '', '', '') 869 | call hi('StartifySlash', s:gui03, '', s:cterm03, '', '', '') 870 | call hi('StartifySpecial', s:gui03, '', s:cterm03, '', '', '') 871 | 872 | " Remove functions 873 | delf hi 874 | 875 | " Remove color variables 876 | unlet s:gui00 s:gui01 s:gui02 s:gui03 s:gui04 s:gui05 s:gui06 s:gui07 s:gui08 s:gui09 s:gui0A s:gui0B s:gui0C s:gui0D s:gui0E s:gui0F s:guibg s:gui10 s:gui11 s:gui12 s:gui13 s:gui14 s:gui15 s:gui16 s:gui17 877 | unlet s:cterm00 s:cterm01 s:cterm02 s:cterm03 s:cterm04 s:cterm05 s:cterm06 s:cterm07 s:cterm08 s:cterm09 s:cterm0A s:cterm0B s:cterm0C s:cterm0D s:cterm0E s:cterm0F s:ctermbg s:cterm10 s:cterm11 s:cterm12 s:cterm13 s:cterm14 s:cterm15 s:cterm16 s:cterm17 878 | -------------------------------------------------------------------------------- /colors/base16-seti.vim: -------------------------------------------------------------------------------- 1 | " vi:syntax=vim 2 | 3 | " tinted-vim (https://github.com/tinted-theming/tinted-vim) 4 | " Scheme name: Seti UI 5 | " Scheme author: 6 | " Template author: Tinted Theming (https://github.com/tinted-theming) 7 | 8 | " This enables the coresponding base16-shell script to run so that 9 | " :colorscheme works in terminals supported by tinted-shell scripts 10 | " User must set this variable in .vimrc 11 | " let g:tinted_shell_path=path/to/shell/scripts 12 | if !has('gui_running') 13 | if exists('g:tinted_shell_path') 14 | execute 'silent !/bin/sh '.g:tinted_shell_path.'/base16/seti.sh' 15 | endif 16 | endif 17 | 18 | " GUI colors 19 | let s:gui00 = '151718' 20 | let s:gui01 = '282a2b' 21 | let s:gui02 = '3b758c' 22 | let s:gui03 = '41535b' 23 | let s:gui04 = '43a5d5' 24 | let s:gui05 = 'd6d6d6' 25 | let s:gui06 = 'eeeeee' 26 | let s:gui07 = 'ffffff' 27 | let s:gui08 = 'cd3f45' 28 | let s:gui09 = 'db7b55' 29 | let s:gui0A = 'e6cd69' 30 | let s:gui0B = '9fca56' 31 | let s:gui0C = '55dbbe' 32 | let s:gui0D = '55b5db' 33 | let s:gui0E = 'a074c4' 34 | let s:gui0F = '8a553f' 35 | let s:gui10 = '151718' 36 | let s:gui11 = '151718' 37 | let s:gui12 = 'cd3f45' 38 | let s:gui13 = 'e6cd69' 39 | let s:gui14 = '9fca56' 40 | let s:gui15 = '55dbbe' 41 | let s:gui16 = '55b5db' 42 | let s:gui17 = 'a074c4' 43 | 44 | " Terminal colors 45 | let s:cterm00 = '00' 46 | let s:cterm01 = '18' 47 | let s:cterm02 = '19' 48 | let s:cterm03 = '08' 49 | let s:cterm04 = '20' 50 | let s:cterm05 = '21' 51 | let s:cterm06 = '07' 52 | let s:cterm07 = '15' 53 | let s:cterm08 = '01' 54 | let s:cterm09 = '16' 55 | let s:cterm0A = '03' 56 | let s:cterm0B = '02' 57 | let s:cterm0C = '06' 58 | let s:cterm0D = '04' 59 | let s:cterm0E = '05' 60 | let s:cterm0F = '17' 61 | let s:cterm10 = s:cterm00 62 | let s:cterm11 = s:cterm00 63 | let s:cterm12 = '01' 64 | let s:cterm13 = '03' 65 | let s:cterm14 = '02' 66 | let s:cterm15 = '06' 67 | let s:cterm16 = '04' 68 | let s:cterm17 = '05' 69 | 70 | " base16_colorspace` and `base16colorspace` are legacy properties and 71 | " exist to keep existing setups from breaking 72 | if (exists('base16colorspace') && base16_colorspace !=? '256') || (exists('tinted_colorspace') && tinted_colorspace !=? '256') 73 | " We have only 16 colors so define fallbacks for codes > 15 74 | let s:cterm01 = s:cterm00 75 | let s:cterm02 = s:cterm03 76 | let s:cterm04 = s:cterm03 77 | let s:cterm05 = s:cterm06 78 | let s:cterm07 = s:cterm06 79 | let s:cterm09 = s:cterm08 80 | let s:cterm0F = s:cterm08 81 | endif 82 | 83 | " Todo! why do we need the globals? 84 | function! s:create_color_globals() abort 85 | for i in range(0, 23) 86 | let l:num = printf('%02X', i) 87 | execute 'let g:tinted_gui' . l:num . ' = s:gui' . l:num 88 | execute 'let g:tinted_cterm' . l:num . ' = s:cterm' . l:num 89 | " Legacy vars for lualine 90 | execute 'let g:base16_gui' . l:num . ' = s:gui' . l:num 91 | endfor 92 | endfunction 93 | 94 | call s:create_color_globals() 95 | 96 | " Integrated Terminal colors 97 | let s:colors = [ 98 | \ '#151718', 99 | \ '#cd3f45', 100 | \ '#9fca56', 101 | \ '#e6cd69', 102 | \ '#55b5db', 103 | \ '#a074c4', 104 | \ '#55dbbe', 105 | \ '#d6d6d6', 106 | \ '#41535b', 107 | \ '#cd3f45', 108 | \ '#9fca56', 109 | \ '#e6cd69', 110 | \ '#55b5db', 111 | \ '#a074c4', 112 | \ '#55dbbe', 113 | \ '#ffffff' 114 | \] 115 | 116 | if has('nvim') 117 | for i in range(16) 118 | let g:terminal_color_{i} = s:colors[i] 119 | endfor 120 | let g:terminal_color_background = &background ==? 'light' ? s:colors[7] : s:colors[0] 121 | let g:terminal_color_foreground = &background ==? 'light' ? s:colors[2] : s:colors[5] 122 | elseif has('terminal') 123 | let g:terminal_ansi_colors = s:colors 124 | endif 125 | 126 | if exists('g:tinted_background_transparent') && g:tinted_background_transparent ==? '1' 127 | let s:guibg = 'NONE' 128 | let s:ctermbg = 'NONE' 129 | else 130 | let s:guibg = s:gui00 131 | let s:ctermbg = s:cterm00 132 | endif 133 | 134 | " Theme setup 135 | let g:colors_name = 'base16-seti' 136 | 137 | " Highlighting function 138 | " Optional variables are attributes and guisp 139 | function! g:Tinted_Hi(group, guifg, guibg, ctermfg, ctermbg, ...) 140 | 141 | " Clear the highlight to be more robust against default Highlighting changes 142 | exec 'hi! clear ' . a:group 143 | 144 | let l:attr = get(a:, 1, '') 145 | let l:guisp = get(a:, 2, '') 146 | 147 | " See :help highlight-guifg 148 | let l:gui_special_names = ['NONE', 'bg', 'background', 'fg', 'foreground'] 149 | 150 | if a:guifg !=? '' 151 | if index(l:gui_special_names, a:guifg) >= 0 152 | exec 'hi! ' . a:group . ' guifg=' . a:guifg 153 | else 154 | exec 'hi! ' . a:group . ' guifg=#' . a:guifg 155 | endif 156 | endif 157 | if a:guibg !=? '' 158 | if index(l:gui_special_names, a:guibg) >= 0 159 | exec 'hi! ' . a:group . ' guibg=' . a:guibg 160 | else 161 | exec 'hi! ' . a:group . ' guibg=#' . a:guibg 162 | endif 163 | endif 164 | if a:ctermfg !=? '' 165 | exec 'hi! ' . a:group . ' ctermfg=' . a:ctermfg 166 | endif 167 | if a:ctermbg !=? '' 168 | exec 'hi! ' . a:group . ' ctermbg=' . a:ctermbg 169 | endif 170 | if l:attr !=? '' 171 | exec 'hi! ' . a:group . ' gui=' . l:attr . ' cterm=' . l:attr 172 | endif 173 | if l:guisp !=? '' 174 | if index(l:gui_special_names, l:guisp) >= 0 175 | exec 'hi! ' . a:group . ' guisp=' . l:guisp 176 | else 177 | exec 'hi! ' . a:group . ' guisp=#' . l:guisp 178 | endif 179 | endif 180 | endfunction 181 | 182 | 183 | fun hi(group, guifg, guibg, ctermfg, ctermbg, attr, guisp) 184 | call g:Tinted_Hi(a:group, a:guifg, a:guibg, a:ctermfg, a:ctermbg, a:attr, a:guisp) 185 | endfun 186 | 187 | 188 | " Tinted color highlights 189 | 190 | call hi('tinted_gui00', s:gui00, '', s:cterm00, '', '', '') 191 | call hi('tinted_gui01', s:gui01, '', s:cterm01, '', '', '') 192 | call hi('tinted_gui02', s:gui02, '', s:cterm02, '', '', '') 193 | call hi('tinted_gui03', s:gui03, '', s:cterm03, '', '', '') 194 | call hi('tinted_gui04', s:gui04, '', s:cterm04, '', '', '') 195 | call hi('tinted_gui05', s:gui05, '', s:cterm05, '', '', '') 196 | call hi('tinted_gui06', s:gui06, '', s:cterm06, '', '', '') 197 | call hi('tinted_gui07', s:gui07, '', s:cterm07, '', '', '') 198 | call hi('tinted_gui08', s:gui08, '', s:cterm08, '', '', '') 199 | call hi('tinted_gui09', s:gui09, '', s:cterm09, '', '', '') 200 | call hi('tinted_gui0A', s:gui0A, '', s:cterm0A, '', '', '') 201 | call hi('tinted_gui0B', s:gui0B, '', s:cterm0B, '', '', '') 202 | call hi('tinted_gui0C', s:gui0C, '', s:cterm0C, '', '', '') 203 | call hi('tinted_gui0D', s:gui0D, '', s:cterm0D, '', '', '') 204 | call hi('tinted_gui0E', s:gui0E, '', s:cterm0E, '', '', '') 205 | call hi('tinted_gui0F', s:gui0F, '', s:cterm0F, '', '', '') 206 | call hi('tinted_gui10', s:gui10, '', s:cterm10, '', '', '') 207 | call hi('tinted_gui11', s:gui11, '', s:cterm11, '', '', '') 208 | call hi('tinted_gui12', s:gui12, '', s:cterm12, '', '', '') 209 | call hi('tinted_gui13', s:gui13, '', s:cterm13, '', '', '') 210 | call hi('tinted_gui14', s:gui14, '', s:cterm14, '', '', '') 211 | call hi('tinted_gui15', s:gui15, '', s:cterm15, '', '', '') 212 | call hi('tinted_gui16', s:gui16, '', s:cterm16, '', '', '') 213 | call hi('tinted_gui17', s:gui17, '', s:cterm17, '', '', '') 214 | 215 | " Vim editor colors 216 | 217 | call hi('ColorColumn', '', s:gui01, '', s:cterm01, '', '') 218 | call hi('Conceal', s:gui0D, '', s:cterm0D, '', '', '') 219 | call hi('CurSearch', s:gui00, s:gui14, s:cterm00, s:cterm14, '', '') 220 | call hi('Cursor', 'bg', 'fg', '', '', '', '') 221 | hi! link lCursor Cursor 222 | hi! link CursorIM Cursor 223 | call hi('CursorColumn', '', s:gui01, '', s:cterm01, 'none', '') 224 | call hi('CursorLine', '', s:gui01, '', s:cterm01, 'none', '') 225 | call hi('Directory', s:gui0D, '', s:cterm0D, '', '', '') 226 | 227 | " Diff 228 | call hi('DiffAdd', '', s:gui01, '', s:cterm01, '', '') 229 | call hi('DiffChange', '', s:gui01, '', s:cterm01, '', '') 230 | call hi('DiffDelete', s:gui03, s:guibg, s:cterm03, s:ctermbg, '', '') 231 | call hi('DiffText', '', s:gui02, '', s:cterm02, '', '') 232 | 233 | call hi('EndOfBuffer', s:guibg, s:guibg, s:ctermbg, s:ctermbg, '', '') 234 | call hi('ErrorMsg', s:gui08, '', s:cterm08, '', '', '') 235 | if has('nvim') 236 | call hi('WinSeparator', s:gui01, s:guibg, s:cterm01, s:ctermbg, '', '') 237 | else 238 | call hi('VertSplit', s:gui01, s:guibg, s:cterm01, s:ctermbg, '', '') 239 | endif 240 | call hi('Folded', s:gui13, s:guibg, s:cterm13, s:ctermbg, '', '') 241 | call hi('FoldColumn', s:gui03, s:guibg, s:cterm03, s:ctermbg, '', '') 242 | call hi('SignColumn', s:gui03, s:guibg, s:cterm03, s:ctermbg, '', '') 243 | hi! link IncSearch CurSearch 244 | hi! link Substitute Search 245 | call hi('LineNr', s:gui03, s:guibg, s:cterm03, s:ctermbg, '', '') 246 | hi! link LineNrAbove LineNr 247 | hi! link LineNrBelow LineNr 248 | call hi('CursorLineNr', s:gui04, s:guibg, s:cterm04, s:ctermbg, 'bold', '') 249 | call hi('CursorLineFold', s:gui13, s:guibg, s:cterm13, s:ctermbg, '', '') 250 | hi! link CursorLineSign SignColumn 251 | call hi('MatchParen', s:gui06, '', s:cterm06, '', 'bold', '') 252 | call hi('ModeMsg', s:gui05, '', s:cterm05, '', '', '') 253 | hi! link MsgArea None 254 | hi! link MsgSeparator WinSeparator 255 | call hi('MoreMsg', s:gui0B, '', s:cterm0B, '', '', '') 256 | call hi('NonText', s:gui03, '', s:cterm03, '', '', '') 257 | call hi('Normal', s:gui05, s:guibg, s:cterm05, s:ctermbg, '', '') 258 | call hi('NormalFloat', s:gui06, s:gui01, s:cterm06, s:cterm01, 'none', '') 259 | call hi('FloatBorder', s:gui06, s:gui01, s:cterm06, s:cterm01, 'none', '') 260 | hi! link FloatTitle Title 261 | hi! link FloatFooter FloatTitle 262 | hi! link NormalNC None 263 | call hi('PMenu', s:gui05, s:gui01, s:cterm05, s:cterm01, 'none', '') 264 | call hi('PMenuSel', s:gui06, s:gui02, s:cterm06, s:cterm02, 'none', '') 265 | hi! link PMenuKind PMenu 266 | hi! link PMenuKindSel PMenuSel 267 | hi! link PMenuExtra PMenu 268 | hi! link PMenuExtraSel PMenuSel 269 | call hi('PMenuSbar', '', s:gui03, '', s:cterm03, '', '') 270 | call hi('PMenuThumb', '', s:gui04, '', s:cterm04, '', '') 271 | call hi('PMenuMatch', s:gui0C, '', s:cterm0C, '', '', '') 272 | call hi('PMenuMatchSel', s:gui15, s:gui02, s:cterm15, s:cterm02, 'none', '') 273 | call hi('Question', s:gui0D, '', s:cterm0D, '', '', '') 274 | call hi('QuickFixLine', '', s:gui01, '', s:cterm01, 'none', '') 275 | call hi('Search', s:gui01, s:gui13, s:cterm01, s:cterm13, '', '') 276 | hi! link SnippetTabstop Visual 277 | call hi('SpecialKey', s:gui03, '', s:cterm03, '', '', '') 278 | 279 | " Spell 280 | call hi('SpellBad', '', '', s:ctermbg, s:cterm12, 'undercurl', s:gui08) 281 | call hi('SpellLocal', '', '', s:ctermbg, s:cterm15, 'undercurl', s:gui15) 282 | call hi('SpellCap', '', '', s:ctermbg, s:cterm16, 'undercurl', s:gui16) 283 | call hi('SpellRare', '', '', s:ctermbg, s:cterm0E, 'undercurl', s:gui0E) 284 | 285 | call hi('StatusLine', s:gui04, s:gui01, s:cterm04, s:cterm01, 'none', '') 286 | call hi('StatusLineNC', s:gui03, s:gui01, s:cterm03, s:cterm01, 'none', '') 287 | hi! link StatusLineTerm StatusLine 288 | hi! link StatusLineTermNC StatusLineNC 289 | hi! link TabLine StatusLine 290 | call hi('TabLineSel', s:gui01, s:gui04, s:cterm01, s:cterm04, 'none', '') 291 | hi! link TabLineFill StatusLine 292 | 293 | call hi('Title', s:gui0D, '', s:cterm0D, '', '', '') 294 | call hi('Visual', '', s:gui02, '', s:cterm02, '', '') 295 | hi! link VisualNOS Visual 296 | call hi('WarningMsg', s:gui09, '', s:cterm09, '', '', '') 297 | call hi('Whitespace', s:gui03, '', s:cterm03, '', '', '') 298 | call hi('WildMenu', s:guibg, s:gui05, s:ctermbg, s:cterm05, '', '') 299 | hi! link WinBar StatusLine 300 | hi! link WinBarNC StatusLineNC 301 | 302 | " call hi('Menu', s:guibg, s:gui05, s:ctermbg, s:cterm05, '', '") 303 | " call hi('Scrollbar', s:guibg, s:gui05, s:ctermbg, s:cterm05, '', '") 304 | " call hi('Tooltip', s:guibg, s:gui05, s:ctermbg, s:cterm05, '', '") 305 | 306 | 307 | " Standard syntax 308 | 309 | call hi('Comment', s:gui03, '', s:cterm03, '', 'italic', '') 310 | 311 | call hi('Constant', s:gui09, '', s:cterm09, '', 'none', '') 312 | call hi('String', s:gui0B, '', s:cterm0B, '', 'italic', '') 313 | call hi('Character', s:gui0C, '', s:cterm0C, '', 'none', '') 314 | call hi('Number', s:gui09, '', s:cterm09, '', 'none', '') 315 | call hi('Boolean', s:gui09, '', s:cterm09, '', 'none', '') 316 | call hi('Float', s:gui09, '', s:cterm09, '', 'none', '') 317 | 318 | " The [spec](https://github.com/tinted-theming/base24/blob/main/styling.md) wants 319 | " `Identifier` mapped to base08 aka RED. I do not like it, too much RED. 320 | call hi('Identifier', s:gui05, '', s:cterm05, '', 'none', '') 321 | call hi('Function', s:gui0D, '', s:cterm0D, '', 'none', '') 322 | 323 | call hi('Statement', s:gui0E, '', s:cterm0E, '', 'bold', '') 324 | call hi('Conditional', s:gui0E, '', s:cterm0E, '', 'none', '') 325 | call hi('Repeat', s:gui0E, '', s:cterm0E, '', 'none', '') 326 | call hi('Label', s:gui0E, '', s:cterm0E, '', 'none', '') 327 | call hi('Operator', s:gui0C, '', s:cterm0C, '', 'none', '') 328 | hi! link Keyword Statement 329 | call hi('Exception', s:gui0E, '', s:cterm0E, '', 'none', '') 330 | 331 | call hi('PreProc', s:gui0C, '', s:cterm0C, '', 'none', '') 332 | call hi('Include', s:gui0C, '', s:cterm0C, '', 'none', '') 333 | call hi('Define', s:gui0C, '', s:cterm0C, '', 'none', '') 334 | call hi('Macro', s:gui0C, '', s:cterm0C, '', 'none', '') 335 | call hi('PreCondit', s:gui0C, '', s:cterm0C, '', 'none', '') 336 | 337 | call hi('Type', s:gui0A, '', s:cterm0A, '', 'none', '') 338 | call hi('StorageClass', s:gui0A, '', s:cterm0A, '', 'none', '') 339 | call hi('Structure', s:gui0A, '', s:cterm0A, '', 'none', '') 340 | call hi('Typedef', s:gui0A, '', s:cterm0A, '', 'none', '') 341 | 342 | call hi('Special', s:gui0C, '', s:cterm0C, '', 'none', '') 343 | call hi('SpecialChar', s:gui0A, '', s:cterm0A, '', 'none', '') 344 | call hi('Tag', s:gui09, '', s:cterm09, '', 'none', '') 345 | call hi('Delimiter', s:gui05, '', s:cterm05, '', 'none', '') 346 | call hi('SpecialComment', s:gui0A, '', s:cterm0A, '', 'italic', '') 347 | 348 | call hi('Debug', s:gui08, '', s:cterm08, '', 'none', '') 349 | 350 | call hi('Underlined', '', '', '', '', 'underline', '') 351 | 352 | hi! link Ignore Normal 353 | 354 | call hi('Error', s:gui08, s:guibg, s:cterm08, s:ctermbg, 'bold', '') 355 | 356 | call hi('Todo', s:gui0C, '', s:cterm0C, '', 'none', '') 357 | 358 | call hi('Added', s:gui14, '', s:cterm14, '', 'italic', '') 359 | call hi('Changed', s:gui16, '', s:cterm16, '', 'italic', '') 360 | call hi('Removed', s:gui12, '', s:cterm12, '', 'italic', '') 361 | 362 | 363 | " Treesitter Syntax 364 | 365 | if has('nvim-0.8.0') 366 | hi! link @variable Identifier 367 | call hi('@variable.builtin', s:gui05, '', s:cterm05, '', 'italic', '') 368 | hi! link @variable.parameter Identifier 369 | hi! link @variable.parameter.builtin @variable.builtin 370 | call hi('@variable.member', s:gui04, '', s:cterm04, '', 'none', '') 371 | 372 | hi! link @constant Constant 373 | call hi('@constant.builtin', s:gui09, '', s:cterm09, '', 'italic', '') 374 | hi! link @constant.macro Constant 375 | 376 | hi! link @module Identifier 377 | call hi('@module.builtin', s:gui05, '', s:cterm05, '', 'italic', '') 378 | hi! link @label Tag 379 | 380 | hi! link @string String 381 | hi! link @string.documentation String 382 | hi! link @string.regexp SpecialComment 383 | hi! link @string.escape SpecialComment 384 | hi! link @string.special SpecialComment 385 | hi! link @string.special.symbol SpecialComment 386 | call hi('@string.special.path', s:gui0D, '', s:cterm0D, '', 'italic', '') 387 | call hi('@string.special.url', s:gui08, '', s:cterm08, '', 'italic', '') 388 | 389 | hi! link @character Character 390 | hi! link @character.special SpecialChar 391 | 392 | hi! link @boolean Boolean 393 | hi! link @number Number 394 | hi! link @number.float Float 395 | 396 | hi! link @type Type 397 | call hi('@type.builtin', s:gui0A, '', s:cterm0A, '', 'italic', '') 398 | hi! link @type.definition Typedef 399 | 400 | hi! link @attribute Special 401 | call hi('@attribute.builtin', s:gui0C, '', s:cterm0C, '', 'italic', '') 402 | hi! link @property @variable.member 403 | 404 | call hi('@function', s:gui16, '', s:cterm16, '', '', '') 405 | call hi('@function.builtin', s:gui16, '', s:cterm16, '', 'italic', '') 406 | hi! link @function.call @function 407 | hi! link @function.macro Macro 408 | 409 | hi! link @function.method Function 410 | hi! link @function.method.call @function.method 411 | 412 | call hi('@constructor', s:gui0D, '', s:cterm0D, '', 'bold', '') 413 | 414 | hi! link @operator Operator 415 | 416 | hi! link @keyword Keyword 417 | hi! link @keyword.coroutine Repeat 418 | hi! link @keyword.function Keyword 419 | hi! link @keyword.operator Operator 420 | call hi('@keyword.import', s:gui0E, '', s:cterm0E, '', 'italic', '') 421 | hi! link @keyword.type Keyword 422 | hi! link @keyword.modifier Repeat 423 | hi! link @keyword.repeat Repeat 424 | hi! link @keyword.return Keyword 425 | hi! link @keyword.debug Debug 426 | hi! link @keyword.exception Exception 427 | 428 | hi! link @keyword.conditional Conditional 429 | hi! link @keyword.ternary Conditional 430 | 431 | hi! link @keyword.directive PreProc 432 | hi! link @keyword.directive.define Define 433 | 434 | hi! link @punctuation.delimiter Delimiter 435 | hi! link @punctuation.bracket Delimiter 436 | hi! link @punctuation.special Special 437 | 438 | hi! link @comment Comment 439 | hi! link @comment.documentation Comment 440 | 441 | call hi('@comment.error', s:gui08, '', s:cterm08, '', 'italic', '') 442 | call hi('@comment.warning', s:gui09, '', s:cterm09, '', 'italic', '') 443 | call hi('@comment.note', s:gui0D, '', s:cterm0D, '', 'italic', '') 444 | call hi('@comment.todo', s:gui0C, '', s:cterm0C, '', 'italic', '') 445 | 446 | hi! @markup.strong gui=bold cterm=bold 447 | hi! @markup.italic gui=italic cterm=italic 448 | hi! @markup.strikethrough gui=strikethrough cterm=strikethrough 449 | hi! @markup.underline gui=underline cterm=underline 450 | 451 | hi! link @markup.heading Title 452 | hi! link @markup.quote String 453 | hi! link @markup.math Special 454 | 455 | call hi('@markup.link', s:gui08, '', s:cterm08, '', '', '') 456 | hi! link @markup.link.label @markup.link 457 | hi! link @markup.link.url Identifier 458 | 459 | call hi('@markup.raw', s:gui04, '', s:cterm04, '', '', '') 460 | hi! link @markup.raw.block Identifier 461 | 462 | hi! link @markup.list SpecialChar 463 | hi! link @markup.list.checked DiagnosticOk 464 | hi! link @markup.list.unchecked DiagnosticError 465 | 466 | hi! link @diff.plus Added 467 | hi! link @diff.minus Removed 468 | hi! link @diff.delta Changed 469 | 470 | hi! link @tag Tag 471 | call hi('@tag.builtin', s:gui09, '', s:cterm09, '', 'italic', '') 472 | hi! link @tag.attribute Special 473 | hi! link @tag.delimiter Delimiter 474 | 475 | 476 | " LSP Semantic Token 477 | " https://microsoft.github.io/language-server-protocol/specifications/lsp/3.18/specification/#textDocument_semanticTokens 478 | hi! link @lsp.type.class @type 479 | hi! link @lsp.type.comment @comment 480 | hi! link @lsp.type.decorator @attribute 481 | hi! link @lsp.type.enum @type 482 | hi! link @lsp.type.enumMember @constant 483 | hi! link @lsp.type.event @type 484 | hi! link @lsp.type.function @function 485 | hi! link @lsp.type.interface @type 486 | hi! link @lsp.type.keyword @keyword 487 | hi! link @lsp.type.macro @function.macro 488 | hi! link @lsp.type.method @function.method 489 | hi! link @lsp.type.modifier @type.modifier 490 | hi! link @lsp.type.namespace @module 491 | hi! link @lsp.type.number @number 492 | hi! link @lsp.type.operator @operator 493 | hi! link @lsp.type.parameter @variable.parameter 494 | hi! link @lsp.type.property @property 495 | hi! link @lsp.type.regexp @string.regexp 496 | hi! link @lsp.type.string @string 497 | hi! link @lsp.type.struct @type 498 | hi! link @lsp.type.type @type 499 | hi! link @lsp.type.typeParameter @variable.parameter 500 | hi! link @lsp.type.variable @variable 501 | 502 | " @lsp.mod.abstract Types and member functions that are abstract 503 | " @lsp.mod.async Functions that are marked async 504 | " @lsp.mod.declaration Declarations of symbols 505 | call hi('@lsp.mod.defaultLibrary', '', '', '', '', 'italic', '') 506 | " @lsp.mod.definition Definitions of symbols, for example, in header files 507 | hi! link @lsp.mod.deprecated DiagnosticDeprecated 508 | " @lsp.mod.modification Variable references where the variable is assigned to 509 | " @lsp.mod.readonly Readonly variables and member fields (constants) 510 | " @lsp.mod.static 511 | 512 | " Rust 513 | hi! link @lsp.type.builtinType.rust @type.builtin 514 | hi! link @lsp.type.escapeSequence.rust @string.escape 515 | hi! link @lsp.type.formatSpecifier.rust @operator 516 | hi! link @lsp.type.lifetime.rust @attribute 517 | hi! link @lsp.type.punctuation.rust @punctuation.delimiter 518 | hi! link @lsp.type.selfKeyword.rust @variable.builtin 519 | hi! link @lsp.type.selfTypeKeyword.rust @type.builtin 520 | 521 | call hi('@lsp.mod.attribute', '', '', '', '', 'italic', '') 522 | hi! link @lsp.mod.controlFlow @keyword.repeat 523 | hi! link @lsp.mod.intraDocLink.rust @markup.link 524 | 525 | hi! link @lsp.typemod.generic.injected.rust @variable 526 | hi! link @lsp.typemod.operator.controlFlow.rust @operator 527 | hi! link @lsp.typemod.function.associated.rust @function.method 528 | 529 | " LUA 530 | hi! link @lsp.typemod.keyword.documentation.lua @tag 531 | 532 | " Markdown 533 | hi! link @lsp.type.class.markdown @lsp 534 | 535 | 536 | " LSP not syntax 537 | 538 | hi! link LspReferenceText Search 539 | call hi('LspReferenceRead', s:gui01, s:gui14, s:cterm01, s:cterm14, '', '') 540 | call hi('LspReferenceWrite', s:gui01, s:gui12, s:cterm01, s:cterm12, '', '') 541 | hi! link LspCodeLens NonText 542 | hi! link LspCodeLensSeparator LspCodeLens 543 | hi! link LspInlayHint NonText 544 | hi! link LspSignatureActiveParameter Visual 545 | endif 546 | 547 | 548 | " Diagnostics 549 | 550 | call hi('DiagnosticError', s:gui08, '', s:cterm08, '', '', '') 551 | call hi('DiagnosticWarn', s:gui09, '', s:cterm09, '', '', '') 552 | call hi('DiagnosticInfo', s:gui0C, '', s:cterm0C, '', '', '') 553 | call hi('DiagnosticHint', s:gui0D, '', s:cterm0D, '', '', '') 554 | call hi('DiagnosticOk', s:gui0B, '', s:cterm0B, '', '', '') 555 | 556 | call hi('DiagnosticUnderlineError', '', '', s:ctermbg, s:cterm08, 'underline', s:gui08) 557 | call hi('DiagnosticUnderlineWarn', '', '', s:ctermbg, s:cterm09, 'underline', s:gui09) 558 | call hi('DiagnosticUnderlineInfo', '', '', s:ctermbg, s:cterm0C, 'underline', s:gui0C) 559 | call hi('DiagnosticUnderlineHint', '', '', s:ctermbg, s:cterm0D, 'underline', s:gui0D) 560 | call hi('DiagnosticUnderlineOk', '', '', s:ctermbg, s:cterm0B, 'underline', s:gui0B) 561 | 562 | call hi('DiagnosticFloatingError', s:gui08, s:gui01, s:cterm08, s:cterm01, '', '') 563 | call hi('DiagnosticFloatingWarn', s:gui09, s:gui01, s:cterm09, s:cterm01, '', '') 564 | call hi('DiagnosticFloatingInfo', s:gui0C, s:gui01, s:cterm0C, s:cterm01, '', '') 565 | call hi('DiagnosticFloatingHint', s:gui0D, s:gui01, s:cterm0D, s:cterm01, '', '') 566 | call hi('DiagnosticFloatingOk', s:gui0B, s:gui01, s:cterm0B, s:cterm01, '', '') 567 | 568 | call hi('DiagnosticDeprecated', '', '', s:cterm0F, s:cterm0F, 'strikethrough', '') 569 | hi! link DiagnosticUnnecessary Comment 570 | 571 | 572 | " Syntax Files 573 | 574 | " C 575 | call hi('cOperator', s:gui0C, '', s:cterm0C, '', '', '') 576 | call hi('cPreCondit', s:gui0E, '', s:cterm0E, '', '', '') 577 | 578 | " CSS 579 | call hi('cssBraces', s:gui05, '', s:cterm05, '', '', '') 580 | call hi('cssClassName', s:gui0E, '', s:cterm0E, '', '', '') 581 | call hi('cssColor', s:gui0C, '', s:cterm0C, '', '', '') 582 | 583 | " C# 584 | call hi('csClass', s:gui0A, '', s:cterm0A, '', '', '') 585 | call hi('csAttribute', s:gui0A, '', s:cterm0A, '', '', '') 586 | call hi('csModifier', s:gui0E, '', s:cterm0E, '', '', '') 587 | call hi('csType', s:gui08, '', s:cterm08, '', '', '') 588 | call hi('csUnspecifiedStatement', s:gui0D, '', s:cterm0D, '', '', '') 589 | call hi('csContextualStatement', s:gui0E, '', s:cterm0E, '', '', '') 590 | call hi('csNewDecleration', s:gui08, '', s:cterm08, '', '', '') 591 | 592 | " Git 593 | call hi('GitAddSign', s:gui14, '', s:cterm14, '', '', '') 594 | call hi('GitChangeSign', s:gui04, '', s:cterm04, '', '', '') 595 | call hi('GitDeleteSign', s:gui12, '', s:cterm12, '', '', '') 596 | call hi('GitChangeDeleteSign', s:gui12, '', s:cterm12, '', '', '') 597 | 598 | " Gitcommit 599 | call hi('gitcommitOverflow', s:gui08, '', s:cterm08, '', '', '') 600 | call hi('gitcommitSummary', s:gui0B, '', s:cterm0B, '', '', '') 601 | call hi('gitcommitComment', s:gui03, '', s:cterm03, '', '', '') 602 | call hi('gitcommitUntracked', s:gui03, '', s:cterm03, '', '', '') 603 | call hi('gitcommitDiscarded', s:gui03, '', s:cterm03, '', '', '') 604 | call hi('gitcommitSelected', s:gui03, '', s:cterm03, '', '', '') 605 | call hi('gitcommitHeader', s:gui17, '', s:cterm17, '', '', '') 606 | call hi('gitcommitSelectedType', s:gui16, '', s:cterm16, '', '', '') 607 | call hi('gitcommitUnmergedType', s:gui16, '', s:cterm16, '', '', '') 608 | call hi('gitcommitDiscardedType', s:gui16, '', s:cterm16, '', '', '') 609 | call hi('gitcommitBranch', s:gui13, '', s:cterm13, '', 'bold', '') 610 | call hi('gitcommitUntrackedFile', s:gui0A, '', s:cterm0A, '', '', '') 611 | call hi('gitcommitUnmergedFile', s:gui08, '', s:cterm08, '', 'bold', '') 612 | call hi('gitcommitDiscardedFile', s:gui08, '', s:cterm08, '', 'bold', '') 613 | call hi('gitcommitSelectedFile', s:gui0B, '', s:cterm0B, '', 'bold', '') 614 | 615 | " Gitsigns 616 | call hi('GitSignsAddInline', s:gui14, s:gui02, s:cterm14, s:cterm02, '', '') 617 | call hi('GitSignsChangeInline', s:gui16, s:gui02, s:cterm16, s:cterm02, '', '') 618 | call hi('GitSignsDeleteLnInline', s:gui12, s:gui02, s:cterm12, s:cterm02, '', '') 619 | call hi('GitSignsDeleteVirtLnInline', s:gui16, s:gui02, s:cterm16, s:cterm02, '', '') 620 | call hi('GitSignsDeleteVirtLn', s:gui05, s:gui02, s:cterm05, s:cterm02, '', '') 621 | 622 | " HTML 623 | call hi('htmlBold', s:gui05, '', s:cterm0A, '', 'bold', '') 624 | call hi('htmlItalic', s:gui05, '', s:cterm17, '', 'italic', '') 625 | call hi('htmlEndTag', s:gui05, '', s:cterm05, '', '', '') 626 | call hi('htmlTag', s:gui05, '', s:cterm05, '', '', '') 627 | 628 | " JavaScript 629 | call hi('javaScript', s:gui05, '', s:cterm05, '', '', '') 630 | call hi('javaScriptBraces', s:gui05, '', s:cterm05, '', '', '') 631 | call hi('javaScriptNumber', s:gui09, '', s:cterm09, '', '', '') 632 | 633 | " Mail 634 | call hi('mailQuoted1', s:gui0A, '', s:cterm0A, '', '', '') 635 | call hi('mailQuoted2', s:gui0B, '', s:cterm0B, '', '', '') 636 | call hi('mailQuoted3', s:gui0E, '', s:cterm0E, '', '', '') 637 | call hi('mailQuoted4', s:gui0C, '', s:cterm0C, '', '', '') 638 | call hi('mailQuoted5', s:gui0D, '', s:cterm0D, '', '', '') 639 | call hi('mailQuoted6', s:gui0A, '', s:cterm0A, '', '', '') 640 | call hi('mailURL', s:gui0D, '', s:cterm0D, '', '', '') 641 | call hi('mailEmail', s:gui0D, '', s:cterm0D, '', '', '') 642 | 643 | " Markdown 644 | call hi('markdownCode', s:gui0B, '', s:cterm0B, '', '', '') 645 | call hi('markdownError', s:gui05, s:guibg, s:cterm05, s:ctermbg, '', '') 646 | call hi('markdownCodeBlock', s:gui0B, '', s:cterm0B, '', '', '') 647 | call hi('markdownHeadingDelimiter', s:gui0D, '', s:cterm0D, '', '', '') 648 | 649 | " Neogit 650 | 651 | hi! link NeogitHunkHeader Special 652 | hi! link NeogitDiffHeader Directory 653 | call hi('NeogitDiffContext', s:gui03, '', s:cterm03, '', 'italic', '') 654 | hi! link NeogitDiffAdd Added 655 | hi! link NeogitDiffDelete Removed 656 | 657 | hi! link NeogitHunkHeaderHighlight Special 658 | hi! link NeogitDiffHeaderHighlight Directory 659 | call hi('NeogitDiffContextHighlight', s:gui03, s:guibg, s:cterm03, s:ctermbg, 'italic', '') 660 | call hi('NeogitDiffContextCursor', '', s:guibg, "", s:ctermbg, 'italic', '') 661 | hi! link NeogitDiffAddHighlight Added 662 | hi! link NeogitDiffDeleteHighlight Removed 663 | 664 | hi! link NeogitHunkHeaderCursor Special 665 | hi! link NeogitDiffHeaderCursor Directory 666 | hi! link NeogitDiffAddCursor Added 667 | hi! link NeogitDiffDeleteCursor Removed 668 | 669 | " PHP 670 | call hi('phpMemberSelector', s:gui05, '', s:cterm05, '', '', '') 671 | call hi('phpComparison', s:gui05, '', s:cterm05, '', '', '') 672 | call hi('phpParent', s:gui05, '', s:cterm05, '', '', '') 673 | call hi('phpMethodsVar', s:gui0C, '', s:cterm0C, '', '', '') 674 | 675 | " Python 676 | call hi('pythonOperator', s:gui0E, '', s:cterm0E, '', '', '') 677 | call hi('pythonRepeat', s:gui0E, '', s:cterm0E, '', '', '') 678 | call hi('pythonInclude', s:gui0E, '', s:cterm0E, '', '', '') 679 | call hi('pythonStatement', s:gui0E, '', s:cterm0E, '', '', '') 680 | 681 | " Ruby 682 | call hi('rubyAttribute', s:gui0D, '', s:cterm0D, '', '', '') 683 | call hi('rubyConstant', s:gui0A, '', s:cterm0A, '', '', '') 684 | call hi('rubyInterpolationDelimiter', s:gui0F, '', s:cterm0F, '', '', '') 685 | call hi('rubyRegexp', s:gui0C, '', s:cterm0C, '', '', '') 686 | call hi('rubySymbol', s:gui0B, '', s:cterm0B, '', '', '') 687 | call hi('rubyStringDelimiter', s:gui0B, '', s:cterm0B, '', '', '') 688 | 689 | " SASS 690 | call hi('sassidChar', s:gui08, '', s:cterm08, '', '', '') 691 | call hi('sassClassChar', s:gui09, '', s:cterm09, '', '', '') 692 | call hi('sassInclude', s:gui0E, '', s:cterm0E, '', '', '') 693 | call hi('sassMixing', s:gui0E, '', s:cterm0E, '', '', '') 694 | call hi('sassMixinName', s:gui0D, '', s:cterm0D, '', '', '') 695 | 696 | " Java 697 | call hi('javaOperator', s:gui0D, '', s:cterm0D, '', '', '') 698 | 699 | " Plugins 700 | 701 | " Clap 702 | hi! link ClapInput ColorColumn 703 | hi! link ClapSpinner ColorColumn 704 | hi! link ClapDisplay Default 705 | hi! link ClapPreview ColorColumn 706 | hi! link ClapCurrentSelection CursorLine 707 | hi! link ClapNoMatchesFound ErrorFloat 708 | 709 | " Coc 710 | hi! link CocErrorSign DiagnosticError 711 | hi! link CocWarningSign DiagnosticWarn 712 | hi! link CocInfoSign DiagnosticInfo 713 | hi! link CocHintSign DiagnosticHint 714 | 715 | hi! link CocErrorFloat DiagnosticFloatingError 716 | hi! link CocWarningFloat DiagnosticFloatingWarn 717 | hi! link CocInfoFloat DiagnosticFloatingInfo 718 | hi! link CocHintFloat DiagnosticFloatingHint 719 | 720 | hi! link CocErrorHighlight DiagnosticError 721 | hi! link CocWarningHighlight DiagnosticWarn 722 | hi! link CocInfoHighlight DiagnosticInfo 723 | hi! link CocHintHighlight DiagnosticHint 724 | 725 | hi! link CocSem_angle Keyword 726 | hi! link CocSem_annotation Keyword 727 | hi! link CocSem_attribute Type 728 | hi! link CocSem_bitwise Keyword 729 | hi! link CocSem_boolean Boolean 730 | hi! link CocSem_brace Normal 731 | hi! link CocSem_bracket Normal 732 | hi! link CocSem_builtinAttribute Type 733 | hi! link CocSem_builtinType Type 734 | hi! link CocSem_character String 735 | hi! link CocSem_class Structure 736 | hi! link CocSem_colon Normal 737 | hi! link CocSem_comma Normal 738 | hi! link CocSem_comment Comment 739 | hi! link CocSem_comparison Keyword 740 | hi! link CocSem_concept Keyword 741 | hi! link CocSem_constParameter Identifier 742 | hi! link CocSem_dependent Keyword 743 | hi! link CocSem_dot Keyword 744 | hi! link CocSem_enum Structure 745 | hi! link CocSem_enumMember Constant 746 | hi! link CocSem_escapeSequence Type 747 | hi! link CocSem_event Identifier 748 | hi! link CocSem_formatSpecifier Type 749 | hi! link CocSem_function Function 750 | hi! link CocSem_interface Type 751 | hi! link CocSem_keyword Keyword 752 | hi! link CocSem_label Keyword 753 | hi! link CocSem_logical Keyword 754 | hi! link CocSem_macro Macro 755 | hi! link CocSem_method Function 756 | hi! link CocSem_modifier Keyword 757 | hi! link CocSem_namespace Identifier 758 | hi! link CocSem_number Number 759 | hi! link CocSem_operator Operator 760 | hi! link CocSem_parameter Identifier 761 | hi! link CocSem_parenthesis Normal 762 | hi! link CocSem_property Identifier 763 | hi! link CocSem_punctuation Keyword 764 | hi! link CocSem_regexp Type 765 | hi! link CocSem_selfKeyword Constant 766 | hi! link CocSem_semicolon Normal 767 | hi! link CocSem_string String 768 | hi! link CocSem_struct Structure 769 | hi! link CocSem_type Type 770 | hi! link CocSem_typeAlias Type 771 | hi! link CocSem_typeParameter Type 772 | hi! link CocSem_unknown Normal 773 | hi! link CocSem_variable Identifier 774 | 775 | call hi('CocHighlightRead', s:gui0B, s:gui01, s:cterm0B, s:cterm01, '', '') 776 | call hi('CocHighlightText', s:gui0A, s:gui01, s:cterm0A, s:cterm01, '', '') 777 | call hi('CocHighlightWrite', s:gui08, s:gui01, s:cterm08, s:cterm01, '', '') 778 | call hi('CocListMode', s:gui01, s:gui0B, s:cterm01, s:cterm0B, 'bold', '') 779 | call hi('CocListPath', s:gui01, s:gui0B, s:cterm01, s:cterm0B, '', '') 780 | call hi('CocSessionsName', s:gui05, '', s:cterm05, '', '', '') 781 | 782 | " fugtive 783 | hi link diffAdded GitAddSign 784 | hi link diffChanged GitChangeSign 785 | hi link diffRemoved GitDeleteSign 786 | 787 | " CMP 788 | " https://microsoft.github.io/language-server-protocol/specifications/lsp/3.18/specification/#completionItemKind 789 | if has('nvim-0.8.0') 790 | hi! link CmpItemAbbrDeprecated Deprecated 791 | hi! link CmpItemAbbrMatch PMenuMatch 792 | hi! link CmpItemAbbrMatchFuzzy PMenuMatch 793 | hi! link CmpItemKindClass @lsp.type.class 794 | hi! link CmpItemKindColor @lsp.type.keyword 795 | hi! link CmpItemKindConstant @constant 796 | hi! link CmpItemKindConstructor @constructor 797 | hi! link CmpItemKindEnum @lsp.type.enum 798 | hi! link CmpItemKindEnumMember @lsp.type.enumMember 799 | hi! link CmpItemKindEvent @lsp.type.event 800 | hi! link CmpItemKindField @lsp.type.property 801 | hi! link CmpItemKindFile @string.special.path 802 | hi! link CmpItemKindFolder @string.special.path 803 | hi! link CmpItemKindFunction @lsp.type.function 804 | hi! link CmpItemKindInterface @lsp.type.interface 805 | hi! link CmpItemKindKeyword @lsp.type.keyword 806 | hi! link CmpItemKindMethod @lsp.type.method 807 | hi! link CmpItemKindModule @lsp.type.namespace 808 | hi! link CmpItemKindOperator @lsp.type.operator 809 | hi! link CmpItemKindProperty @lsp.type.property 810 | hi! link CmpItemKindReference @lsp.type.variable 811 | hi! link CmpItemKindSnippet @lsp.type.string 812 | hi! link CmpItemKindStruct @lsp.type.struct 813 | hi! link CmpItemKindText @lsp.type.string 814 | hi! link CmpItemKindTypeParameter @lsp.type.typeParameter 815 | hi! link CmpItemKindUnit @lsp.type.namespace 816 | hi! link CmpItemKindValue @constant 817 | hi! link CmpItemKindVariable @lsp.type.variable 818 | endif 819 | 820 | " GitGutter 821 | hi! link GitGutterAdd GitAddSign 822 | hi! link GitGutterChange GitChangeSign 823 | hi! link GitGutterDelete GitDeleteSign 824 | hi! link GitGutterChangeDelete GitChangeDeleteSign 825 | 826 | " indent-blankline 827 | if has('nvim') 828 | call hi('@ibl.indent.char', s:gui01, '', s:cterm01, '', '', '') 829 | endif 830 | 831 | " pangloss/vim-javascript 832 | call hi('jsOperator', s:gui0D, '', s:cterm0D, '', '', '') 833 | call hi('jsStatement', s:gui0E, '', s:cterm0E, '', '', '') 834 | call hi('jsReturn', s:gui0E, '', s:cterm0E, '', '', '') 835 | call hi('jsThis', s:gui08, '', s:cterm08, '', '', '') 836 | call hi('jsClassDefinition', s:gui0A, '', s:cterm0A, '', '', '') 837 | call hi('jsFunction', s:gui0E, '', s:cterm0E, '', '', '') 838 | call hi('jsFuncName', s:gui0D, '', s:cterm0D, '', '', '') 839 | call hi('jsFuncCall', s:gui0D, '', s:cterm0D, '', '', '') 840 | call hi('jsClassFuncName', s:gui0D, '', s:cterm0D, '', '', '') 841 | call hi('jsClassMethodType', s:gui0E, '', s:cterm0E, '', '', '') 842 | call hi('jsRegexpString', s:gui0C, '', s:cterm0C, '', '', '') 843 | call hi('jsGlobalObjects', s:gui0A, '', s:cterm0A, '', '', '') 844 | call hi('jsGlobalNodeObjects', s:gui0A, '', s:cterm0A, '', '', '') 845 | call hi('jsExceptions', s:gui0A, '', s:cterm0A, '', '', '') 846 | call hi('jsBuiltins', s:gui0A, '', s:cterm0A, '', '', '') 847 | 848 | " Matchup 849 | call hi('MatchWord', s:gui0B, s:gui01, s:cterm0B, s:cterm01, 'underline', '') 850 | 851 | " NERDTree 852 | call hi('NERDTreeDirSlash', s:gui0D, '', s:cterm0D, '', '', '') 853 | call hi('NERDTreeExecFile', s:gui05, '', s:cterm05, '', '', '') 854 | 855 | " Signify 856 | hi! link SignifySignAdd GitAddSign 857 | hi! link SignifySignChange GitChangeSign 858 | hi! link SignifySignDelete GitDeleteSign 859 | 860 | " Startify 861 | call hi('StartifyBracket', s:gui03, '', s:cterm03, '', '', '') 862 | call hi('StartifyFile', s:gui07, '', s:cterm07, '', '', '') 863 | call hi('StartifyFooter', s:gui03, '', s:cterm03, '', '', '') 864 | call hi('StartifyHeader', s:gui0B, '', s:cterm0B, '', '', '') 865 | call hi('StartifyNumber', s:gui09, '', s:cterm09, '', '', '') 866 | call hi('StartifyPath', s:gui03, '', s:cterm03, '', '', '') 867 | call hi('StartifySection', s:gui0E, '', s:cterm0E, '', '', '') 868 | call hi('StartifySelect', s:gui0C, '', s:cterm0C, '', '', '') 869 | call hi('StartifySlash', s:gui03, '', s:cterm03, '', '', '') 870 | call hi('StartifySpecial', s:gui03, '', s:cterm03, '', '', '') 871 | 872 | " Remove functions 873 | delf hi 874 | 875 | " Remove color variables 876 | unlet s:gui00 s:gui01 s:gui02 s:gui03 s:gui04 s:gui05 s:gui06 s:gui07 s:gui08 s:gui09 s:gui0A s:gui0B s:gui0C s:gui0D s:gui0E s:gui0F s:guibg s:gui10 s:gui11 s:gui12 s:gui13 s:gui14 s:gui15 s:gui16 s:gui17 877 | unlet s:cterm00 s:cterm01 s:cterm02 s:cterm03 s:cterm04 s:cterm05 s:cterm06 s:cterm07 s:cterm08 s:cterm09 s:cterm0A s:cterm0B s:cterm0C s:cterm0D s:cterm0E s:cterm0F s:ctermbg s:cterm10 s:cterm11 s:cterm12 s:cterm13 s:cterm14 s:cterm15 s:cterm16 s:cterm17 878 | -------------------------------------------------------------------------------- /doc/tinted-vim.txt: -------------------------------------------------------------------------------- 1 | *tinted-vim.txt* 2 | 3 | 4 | TINTED-VIM DOCUMENTATION 5 | 6 | 7 | *tinted-vim* 8 | *neovim-highlights* 9 | A comprehensive guide to Neovim highlight groups 10 | 11 | 1. Introduction ........................... |tinted-vim-introduction| 12 | 2. GUI Highlights ......................... |tinted-vim-gui| 13 | 3. Default Syntax Highlights .............. |tinted-vim-syntax| 14 | 4. Treesitter Syntax Highlights ........... |tinted-vim-treesitter| 15 | 5. LSP Semantic Syntax Highlights ......... |tinted-vim-lsp-semantic| 16 | 6. LSP Highlights ......................... |tinted-vim-lsp| 17 | 7. Diagnostic Highlights .................. |tinted-vim-diagnostic| 18 | 8. Language Specific Highlights ........... |tinted-vim-lang| 19 | Lua .................................... |tinted-vim-lang-lua| 20 | Rust ................................... |tinted-vim-lang-rust| 21 | Vimscript............................... |tinted-vim-lang-vimscript| 22 | 23 | ============================================================================== 24 | 1. INTRODUCTION *tinted-vim-introduction* *tinted-vim-colors* 25 | 26 | This document provides a comprehensive reference for all highlight groups in 27 | Neovim. It includes GUI highlights, syntax highlights, Treesitter highlights, 28 | LSP highlights, and diagnostic highlights. Each section contains detailed 29 | descriptions of the highlight groups and their intended usage. 30 | 31 | Colors Overview: 32 | 33 | |https://github.com/tinted-theming/base24/blob/main/styling.md| 34 | 35 | Vim Variable BaseNN Ansi Terminal/Color Text Editor 36 | g:tinted_gui00 base00 - Background Default Background 37 | g:tinted_gui01 base01 0 Black Lighter Background (Status bars) 38 | g:tinted_gui02 base02 8 Bright Black Selection Background 39 | g:tinted_gui03 base03 - (Grey) Comments, Invisibles, Line Highlighting 40 | g:tinted_gui04 base04 - (Light Grey) Dark Foreground (Status bars) 41 | g:tinted_gui05 base05 - Foreground Default, Caret, Delimiters, Operators 42 | g:tinted_gui06 base06 7 White Light Foreground (Not often used) 43 | g:tinted_gui07 base07 15 Bright White Lightest Foreground (Not often used) 44 | g:tinted_gui08 base08 9 Bright Red Variables, XML Tags, Markup Links, Lists 45 | g:tinted_gui09 base09 ~11 (Orange) Integers, Boolean, XML Attributes 46 | g:tinted_gui0A base0A 11 Bright Yellow Classes, Markup Bold, Search Background 47 | g:tinted_gui0B base0B 10 Bright Green Strings, Inherited Class, Markup Code 48 | g:tinted_gui0C base0C 14 Bright Cyan Support, RegEx, Escape Chars, Quotes 49 | g:tinted_gui0D base0D 12 Bright Blue Functions, Methods, IDs, Headings 50 | g:tinted_gui0E base0E 13 Bright Purple Keywords, Storage, Selector, Markup 51 | g:tinted_gui0F base0F - (Dark Red) Deprecated Methods and Functions 52 | g:tinted_gui10 base10 - (Darker Black) Darker Background 53 | g:tinted_gui11 base11 - (Darkest Black) The Darkest Background 54 | g:tinted_gui12 base12 1 Red NA 55 | g:tinted_gui13 base13 3 Yellow NA 56 | g:tinted_gui14 base14 2 Green NA 57 | g:tinted_gui15 base15 6 Cyan NA 58 | g:tinted_gui16 base16 4 Blue NA 59 | g:tinted_gui17 base17 5 Purple NA 60 | 61 | ============================================================================== 62 | 2. GUI HIGHLIGHTS *tinted-vim-gui* 63 | 64 | Source: |highlight-groups| 65 | 66 | ColorColumn Used for the columns set with 'colorcolumn'. 67 | Conceal Placeholder characters substituted for concealed 68 | text (see 'conceallevel'). 69 | CurSearch Current match for the last search pattern (see 'hlsearch'). 70 | Note: This is correct after a search, but may get outdated if 71 | changes are made or the screen is redrawn. 72 | Cursor Character under the cursor. 73 | lCursor Character under the cursor when |language-mapping| 74 | is used (see 'guicursor'). 75 | CursorIM Like Cursor, but used when in IME mode. 76 | CursorColumn Screen-column at the cursor, when 'cursorcolumn' is set. 77 | CursorLine Screen-line at the cursor, when 'cursorline' is set. 78 | Low-priority if foreground (ctermfg OR guifg) is not set. 79 | Directory Directory names (and other special names in listings). 80 | DiffAdd Diff mode: Added line. |diff.txt| 81 | DiffChange Diff mode: Changed line. |diff.txt| 82 | DiffDelete Diff mode: Deleted line. |diff.txt| 83 | DiffText Diff mode: Changed text within a changed line. |diff.txt| 84 | EndOfBuffer Filler lines (~) after the end of the buffer. 85 | By default, this is highlighted like |hl-NonText|. 86 | TermCursor Cursor in a focused terminal. 87 | TermCursorNC Cursor in an unfocused terminal. 88 | ErrorMsg Error messages on the command line. 89 | WinSeparator Separators between window splits. 90 | Folded Line used for closed folds. 91 | FoldColumn 'foldcolumn' 92 | SignColumn Column where |signs| are displayed. 93 | IncSearch 'incsearch' highlighting; also used for the text replaced with 94 | ":s///c". 95 | Substitute |:substitute| replacement text highlighting. 96 | LineNr Line number for ":number" and ":#" commands, and when 'number' 97 | or 'relativenumber' option is set. 98 | LineNrAbove Line number for when the 'relativenumber' 99 | option is set, above the cursor line. 100 | LineNrBelow Line number for when the 'relativenumber' 101 | option is set, below the cursor line. 102 | CursorLineNr Like LineNr when 'cursorline' is set and 'cursorlineopt' 103 | contains "number" or is "both", for the cursor line. 104 | CursorLineFold Like FoldColumn when 'cursorline' is set for the cursor line. 105 | CursorLineSign Like SignColumn when 'cursorline' is set for the cursor line. 106 | MatchParen Character under the cursor or just before it, if it 107 | is a paired bracket, and its match. |pi_paren.txt| 108 | ModeMsg 'showmode' message (e.g., "-- INSERT --"). 109 | MsgArea Area for messages and command-line, see also 'cmdheight'. 110 | MsgSeparator Separator for scrolled messages |msgsep|. 111 | MoreMsg |more-prompt| 112 | NonText '@' at the end of the window, characters from 'showbreak' 113 | and other characters that do not really exist in the text 114 | (e.g., ">" displayed when a double-wide character doesn't 115 | fit at the end of the line). See also |hl-EndOfBuffer|. 116 | Normal Normal text. 117 | NormalFloat Normal text in floating windows. 118 | FloatBorder Border of floating windows. 119 | FloatTitle Title of floating windows. 120 | FloatFooter Footer of floating windows. 121 | NormalNC Normal text in non-current windows. 122 | Pmenu Popup menu: Normal item. 123 | PmenuSel Popup menu: Selected item. Combined with |hl-Pmenu|. 124 | PmenuKind Popup menu: Normal item "kind". 125 | PmenuKindSel Popup menu: Selected item "kind". 126 | PmenuExtra Popup menu: Normal item "extra text". 127 | PmenuExtraSel Popup menu: Selected item "extra text". 128 | PmenuSbar Popup menu: Scrollbar. 129 | PmenuThumb Popup menu: Thumb of the scrollbar. 130 | PmenuMatch Popup menu: Matched text in normal item. Combined with 131 | |hl-Pmenu|. 132 | PmenuMatchSel Popup menu: Matched text in selected item. Combined with 133 | |hl-PmenuMatch| and |hl-PmenuSel|. 134 | Question |hit-enter| prompt and yes/no questions. 135 | QuickFixLine Current |quickfix| item in the quickfix window. Combined with 136 | |hl-CursorLine| when the cursor is there. 137 | Search Last search pattern highlighting (see 'hlsearch'). 138 | Also used for similar items that need to stand out. 139 | SnippetTabstop Tabstops in snippets. |vim.snippet| 140 | SpecialKey Unprintable characters: Text displayed differently from what 141 | it really is. But not 'listchars' whitespace. |hl-Whitespace| 142 | SpellBad Word that is not recognized by the spellchecker. |spell| 143 | Combined with the highlighting used otherwise. 144 | SpellCap Word that should start with a capital. |spell| 145 | Combined with the highlighting used otherwise. 146 | SpellLocal Word that is recognized by the spellchecker as one that is 147 | used in another region. |spell| 148 | Combined with the highlighting used otherwise. 149 | SpellRare Word that is recognized by the spellchecker as one that is 150 | hardly ever used. |spell| 151 | Combined with the highlighting used otherwise. 152 | StatusLine Status line of current window. 153 | StatusLineNC Status lines of not-current windows. 154 | StatusLineTerm Status line of |terminal| window. 155 | StatusLineTermNC Status line of non-current |terminal| windows. 156 | TabLine Tab pages line, not active tab page label. 157 | TabLineFill Tab pages line, where there are no labels. 158 | TabLineSel Tab pages line, active tab page label. 159 | Title Titles for output from ":set all", ":autocmd" etc. 160 | Visual Visual mode selection. 161 | VisualNOS Visual mode selection when vim is "Not Owning the Selection". 162 | WarningMsg Warning messages. 163 | Whitespace "nbsp", "space", "tab", "multispace", "lead" and "trail" 164 | in 'listchars'. 165 | WildMenu Current match in 'wildmenu' completion. 166 | WinBar Window bar of current window. 167 | WinBarNC Window bar of not-current windows. 168 | Menu Current font, background and foreground colors of the menus. 169 | Also used for the toolbar. 170 | Applicable highlight arguments: font, guibg, guifg. 171 | Scrollbar Current background and foreground of the main window's 172 | scrollbars. 173 | Applicable highlight arguments: guibg, guifg. 174 | Tooltip Current font, background and foreground of the tooltips. 175 | Applicable highlight arguments: font, guibg, guifg. 176 | 177 | ============================================================================== 178 | 3. DEFAULT SYNTAX HIGHLIGHTS *tinted-vim-syntax* 179 | 180 | Source: |group-name| 181 | 182 | Comment any comment 183 | 184 | Constant any constant 185 | String a string constant: "this is a string" 186 | Character a character constant: 'c', '\n' 187 | Number a number constant: 234, 0xff 188 | Boolean a boolean constant: TRUE, false 189 | Float a floating point constant: 2.3e10 190 | 191 | Identifier any variable name 192 | Function function name (also: methods for classes) 193 | 194 | Statement any statement 195 | Conditional if, then, else, endif, switch, etc. 196 | Repeat for, do, while, etc. 197 | Label case, default, etc. 198 | Operator "sizeof", "+", "*", etc. 199 | Keyword any other keyword 200 | Exception try, catch, throw 201 | 202 | PreProc generic Preprocessor 203 | Include preprocessor #include 204 | Define preprocessor #define 205 | Macro same as Define 206 | PreCondit preprocessor #if, #else, #endif, etc. 207 | 208 | Type int, long, char, etc. 209 | StorageClass static, register, volatile, etc. 210 | Structure struct, union, enum, etc. 211 | Typedef a typedef 212 | 213 | Special any special symbol 214 | SpecialChar special character in a constant 215 | Tag you can use CTRL-] on this 216 | Delimiter character that needs attention 217 | SpecialComment special things inside a comment 218 | Debug debugging statements 219 | 220 | Underlined text that stands out, HTML links 221 | 222 | Ignore left blank, hidden 223 | 224 | Error any erroneous construct 225 | 226 | Todo anything that needs extra attention; mostly the 227 | keywords TODO FIXME and XXX 228 | 229 | Added added line in a diff 230 | Changed changed line in a diff 231 | Removed removed line in a diff 232 | 233 | ============================================================================== 234 | 4. TREESITTER SYNTAX HIGHLIGHTS *tinted-vim-treesitter* 235 | 236 | Source: |treesitter-highlight-groups| 237 | 238 | @variable various variable names 239 | @variable.builtin built-in variable names (e.g. `this`, `self`) 240 | @variable.parameter parameters of a function 241 | @variable.parameter.builtin special parameters (e.g. `_`, `it`) 242 | @variable.member object and struct fields 243 | 244 | @constant constant identifiers 245 | @constant.builtin built-in constant values 246 | @constant.macro constants defined by the preprocessor 247 | 248 | @module modules or namespaces 249 | @module.builtin built-in modules or namespaces 250 | @label `GOTO` and other labels (e.g. `label:` in C), including heredoc labels 251 | 252 | @string string literals 253 | @string.documentation string documenting code (e.g. Python docstrings) 254 | @string.regexp regular expressions 255 | @string.escape escape sequences 256 | @string.special other special strings (e.g. dates) 257 | @string.special.symbol symbols or atoms 258 | @string.special.path filenames 259 | @string.special.url URIs (e.g. hyperlinks) 260 | 261 | @character character literals 262 | @character.special special characters (e.g. wildcards) 263 | 264 | @boolean boolean literals 265 | @number numeric literals 266 | @number.float floating-point number literals 267 | 268 | @type type or class definitions and annotations 269 | @type.builtin built-in types 270 | @type.definition identifiers in type definitions (e.g. `typedef ` in C) 271 | 272 | @attribute attribute annotations (e.g. Python decorators, Rust lifetimes) 273 | @attribute.builtin builtin annotations (e.g. `@property` in Python) 274 | @property the key in key/value pairs 275 | 276 | @function function definitions 277 | @function.builtin built-in functions 278 | @function.call function calls 279 | @function.macro preprocessor macros 280 | 281 | @function.method method definitions 282 | @function.method.call method calls 283 | 284 | @constructor constructor calls and definitions 285 | @operator symbolic operators (e.g. `+`, `*`) 286 | 287 | @keyword keywords not fitting into specific categories 288 | @keyword.coroutine keywords related to coroutines (e.g. `go` in Go, `async/await` in Python) 289 | @keyword.function keywords that define a function (e.g. `func` in Go, `def` in Python) 290 | @keyword.operator operators that are English words (e.g. `and`, `or`) 291 | @keyword.import keywords for including or exporting modules (e.g. `import`, `from` in Python) 292 | @keyword.type keywords describing namespaces and composite types (e.g. `struct`, `enum`) 293 | @keyword.modifier keywords modifying other constructs (e.g. `const`, `static`, `public`) 294 | @keyword.repeat keywords related to loops (e.g. `for`, `while`) 295 | @keyword.return keywords like `return` and `yield` 296 | @keyword.debug keywords related to debugging 297 | @keyword.exception keywords related to exceptions (e.g. `throw`, `catch`) 298 | 299 | @keyword.conditional keywords related to conditionals (e.g. `if`, `else`) 300 | @keyword.conditional.ternary ternary operator (e.g. `?`, `:`) 301 | 302 | @keyword.directive various preprocessor directives and shebangs 303 | @keyword.directive.define preprocessor definition directives 304 | 305 | @punctuation.delimiter delimiters (e.g. `;`, `.`, `,`) 306 | @punctuation.bracket brackets (e.g. `()`, `{}`, `[]`) 307 | @punctuation.special special symbols (e.g. `{}` in string interpolation) 308 | 309 | @comment line and block comments 310 | @comment.documentation comments documenting code 311 | 312 | @comment.error error-type comments (e.g. `ERROR`, `FIXME`, `DEPRECATED`) 313 | @comment.warning warning-type comments (e.g. `WARNING`, `FIX`, `HACK`) 314 | @comment.todo todo-type comments (e.g. `TODO`, `WIP`) 315 | @comment.note note-type comments (e.g. `NOTE`, `INFO`, `XXX`) 316 | 317 | @markup.strong bold text 318 | @markup.italic italic text 319 | @markup.strikethrough struck-through text 320 | @markup.underline underlined text (only for literal underline markup!) 321 | 322 | @markup.heading headings, titles (including markers) 323 | @markup.heading.1 top-level heading 324 | @markup.heading.2 section heading 325 | @markup.heading.3 subsection heading 326 | @markup.heading.4 and so on 327 | @markup.heading.5 and so forth 328 | @markup.heading.6 six levels ought to be enough for anybody 329 | 330 | @markup.quote block quotes 331 | @markup.math math environments (e.g. `$ ... $` in LaTeX) 332 | 333 | @markup.link text references, footnotes, citations, etc. 334 | @markup.link.label link, reference descriptions 335 | @markup.link.url URL-style links 336 | 337 | @markup.raw literal or verbatim text (e.g. inline code) 338 | @markup.raw.block literal or verbatim text as a stand-alone block 339 | 340 | @markup.list list markers 341 | @markup.list.checked checked todo-style list markers 342 | @markup.list.unchecked unchecked todo-style list markers 343 | 344 | @diff.plus added text (for diff files) 345 | @diff.minus deleted text (for diff files) 346 | @diff.delta changed text (for diff files) 347 | 348 | @tag XML-style tag names (e.g. in XML, HTML, etc.) 349 | @tag.builtin builtin tag names (e.g. HTML5 tags) 350 | @tag.attribute XML-style tag attributes 351 | @tag.delimiter XML-style tag delimiters 352 | 353 | ============================================================================== 354 | 5. LSP SEMANTIC SYNTAX HIGHLIGHTS *tinted-vim-lsp-semantic* 355 | 356 | Source: |lsp-semantic-highlight| 357 | 358 | @lsp.type.class Identifiers that declare or reference a class type 359 | @lsp.type.comment Tokens that represent a comment 360 | @lsp.type.decorator Identifiers that declare or reference decorators and annotations 361 | @lsp.type.enum Identifiers that declare or reference an enumeration type 362 | @lsp.type.enumMember Identifiers that declare or reference an enumeration property, constant, or member 363 | @lsp.type.event Identifiers that declare an event property 364 | @lsp.type.function Identifiers that declare a function 365 | @lsp.type.interface Identifiers that declare or reference an interface type 366 | @lsp.type.keyword Tokens that represent a language keyword 367 | @lsp.type.macro Identifiers that declare a macro 368 | @lsp.type.method Identifiers that declare a member function or method 369 | @lsp.type.modifier Tokens that represent a modifier 370 | @lsp.type.namespace Identifiers that declare or reference a namespace, module, or package 371 | @lsp.type.number Tokens that represent a number literal 372 | @lsp.type.operator Tokens that represent an operator 373 | @lsp.type.parameter Identifiers that declare or reference a function or method parameters 374 | @lsp.type.property Identifiers that declare or reference a member property, member field, or member variable 375 | @lsp.type.regexp Tokens that represent a regular expression literal 376 | @lsp.type.string Tokens that represent a string literal 377 | @lsp.type.struct Identifiers that declare or reference a struct type 378 | @lsp.type.type Identifiers that declare or reference a type that is not covered above 379 | @lsp.type.typeParameter Identifiers that declare or reference a type parameter 380 | @lsp.type.variable Identifiers that declare or reference a local or global variable 381 | 382 | @lsp.mod.abstract Types and member functions that are abstract 383 | @lsp.mod.async Functions that are marked async 384 | @lsp.mod.declaration Declarations of symbols 385 | @lsp.mod.defaultLibrary Symbols that are part of the standard library 386 | @lsp.mod.definition Definitions of symbols, for example, in header files 387 | @lsp.mod.deprecated Symbols that should no longer be used 388 | @lsp.mod.documentation Occurrences of symbols in documentation 389 | @lsp.mod.modification Variable references where the variable is assigned to 390 | @lsp.mod.readonly Readonly variables and member fields (constants) 391 | @lsp.mod.static Class members (static members) 392 | 393 | ================================================================================ 394 | 6. LSP HIGHLIGHTS *tinted-vim-lsp* 395 | 396 | Source: |lsp-highlight| 397 | 398 | LspReferenceText used for highlighting "text" references 399 | LspReferenceRead used for highlighting "read" references 400 | LspReferenceWrite used for highlighting "write" references 401 | LspInlayHint used for highlighting inlay hints 402 | 403 | LspCodeLens 404 | Used to color the virtual text of the codelens. 405 | 406 | LspCodeLensSeparator 407 | Used to color the separator between two or more code lenses. 408 | 409 | LspSignatureActiveParameter 410 | Used to highlight the active parameter in the signature help. See 411 | 412 | 413 | ============================================================================== 414 | 7. DIAGNOSTIC HIGHLIGHTS *tinted-vim-diagnostic* 415 | 416 | Source: |diagnostic-highlights| 417 | 418 | DiagnosticError 419 | Used as the base highlight group. 420 | Other Diagnostic highlights link to this by default (except Underline) 421 | DiagnosticWarn 422 | Used as the base highlight group. 423 | Other Diagnostic highlights link to this by default (except Underline) 424 | DiagnosticInfo 425 | Used as the base highlight group. 426 | Other Diagnostic highlights link to this by default (except Underline) 427 | DiagnosticHint 428 | Used as the base highlight group. 429 | Other Diagnostic highlights link to this by default (except Underline) 430 | DiagnosticOk 431 | Used as the base highlight group. 432 | Other Diagnostic highlights link to this by default (except Underline) 433 | 434 | DiagnosticVirtualTextError 435 | Used for "Error" diagnostic virtual text. 436 | DiagnosticVirtualTextWarn 437 | Used for "Warn" diagnostic virtual text. 438 | DiagnosticVirtualTextInfo 439 | Used for "Info" diagnostic virtual text. 440 | DiagnosticVirtualTextHint 441 | Used for "Hint" diagnostic virtual text. 442 | DiagnosticVirtualTextOk 443 | Used for "Ok" diagnostic virtual text. 444 | 445 | DiagnosticUnderlineError 446 | Used to underline "Error" diagnostics. 447 | DiagnosticUnderlineWarn 448 | Used to underline "Warn" diagnostics. 449 | DiagnosticUnderlineInfo 450 | Used to underline "Info" diagnostics. 451 | DiagnosticUnderlineHint 452 | Used to underline "Hint" diagnostics. 453 | DiagnosticUnderlineOk 454 | Used to underline "Ok" diagnostics. 455 | 456 | DiagnosticFloatingError 457 | Used to color "Error" diagnostic messages in diagnostics float. 458 | DiagnosticFloatingWarn 459 | Used to color "Warn" diagnostic messages in diagnostics float. 460 | DiagnosticFloatingInfo 461 | Used to color "Info" diagnostic messages in diagnostics float. 462 | DiagnosticFloatingHint 463 | Used to color "Hint" diagnostic messages in diagnostics float. 464 | DiagnosticFloatingOk 465 | Used to color "Ok" diagnostic messages in diagnostics float. 466 | 467 | DiagnosticSignError 468 | Used for "Error" signs in sign column. 469 | DiagnosticSignWarn 470 | Used for "Warn" signs in sign column. 471 | DiagnosticSignInfo 472 | Used for "Info" signs in sign column. 473 | DiagnosticSignHint 474 | Used for "Hint" signs in sign column. 475 | DiagnosticSignOk 476 | Used for "Ok" signs in sign column. 477 | 478 | DiagnosticDeprecated 479 | Used for deprecated or obsolete code. 480 | DiagnosticUnnecessary 481 | Used for unnecessary or unused code. 482 | 483 | ============================================================================== 484 | 8. LANGUAGE SPECIFIC HIGHLIGHTS *tinted-vim-lang* 485 | 486 | The ones you can actually see could differ, because the highlights defined 487 | in |lsp-semantic-highlight| are not applied here. 488 | 489 | ------------------------------------------------------------------------------ 490 | Lua *tinted-vim-lang-lua* 491 | >lua 492 | -- Variable declarations and assignments 493 | local x = 10 494 | local y, z = 20, 30 495 | 496 | -- Arithmetic expressions 497 | local result = (x + y) * z / 2 498 | 499 | -- Function declaration 500 | local function calculateArea(length, width) 501 | return length * width 502 | end 503 | 504 | -- Table constructor 505 | local person = { 506 | name = "John", 507 | age = 25, 508 | hobbies = {"reading", "gaming", "coding"} 509 | } 510 | 511 | -- Control structures 512 | if x > 5 then 513 | print("x is greater than 5") 514 | elseif x < 5 then 515 | print("x is less than 5") 516 | else 517 | print("x equals 5") 518 | end 519 | 520 | -- Loops 521 | for i = 1, 5 do 522 | print(i) 523 | end 524 | 525 | local count = 0 526 | while count < 3 do 527 | count = count + 1 528 | print("Count: " .. count) 529 | end 530 | 531 | repeat 532 | x = x - 1 533 | until x == 0 534 | 535 | -- Iterator-based for loop 536 | for key, value in pairs(person) do 537 | print(key, value) 538 | end 539 | 540 | -- Function calls 541 | local area = calculateArea(10, 20) 542 | print("Area:", area) 543 | 544 | -- Method calls 545 | local string_example = "Hello" 546 | print(string_example:upper()) 547 | 548 | -- Anonymous function 549 | local multiply = function(a, b) 550 | return a * b 551 | end 552 | 553 | -- Closures 554 | local function counter() 555 | local count = 0 556 | return function() 557 | count = count + 1 558 | return count 559 | end 560 | end 561 | 562 | -- Multiple return values 563 | local function getCoordinates() 564 | return 100, 200, 300 565 | end 566 | 567 | -- String concatenation 568 | local fullName = "John" .. " " .. "Doe" 569 | 570 | -- Boolean expressions 571 | local isValid = (x > 0) and (y < 100) or (z == 30) 572 | 573 | -- Table indexing 574 | local firstHobby = person.hobbies[1] 575 | person["age"] = 26 576 | 577 | -- Local block 578 | do 579 | local blockVar = 42 580 | print(blockVar) 581 | end 582 | 583 | -- Error handling 584 | local status, err = pcall(function() 585 | error("This is an error") 586 | end) 587 | 588 | -- Varargs 589 | local function printAll(...) 590 | local args = {...} 591 | for i, v in ipairs(args) do 592 | print(i, v) 593 | end 594 | end 595 | 596 | -- Metatables 597 | local mt = { 598 | __add = function(a, b) 599 | return a.value + b.value 600 | end 601 | } 602 | 603 | local obj1 = {value = 10} 604 | local obj2 = {value = 20} 605 | setmetatable(obj1, mt) 606 | setmetatable(obj2, mt) 607 | 608 | -- Comments (single-line and multi-line) 609 | --[[ 610 | This is a 611 | multi-line comment 612 | ]] 613 | 614 | -- Numeric literals 615 | local numbers = { 616 | integer = 42, 617 | float = 3.14, 618 | scientific = 1.5e3, 619 | hex = 0xFF 620 | } 621 | 622 | -- String literals 623 | local strings = { 624 | single = 'single quotes', 625 | double = "double quotes", 626 | multiline = [[ 627 | This is a 628 | multi-line string 629 | ]] 630 | } 631 | 632 | -- Binary operators 633 | local binaryOps = { 634 | addition = 1 + 2, 635 | subtraction = 3 - 1, 636 | multiplication = 4 * 2, 637 | division = 8 / 2, 638 | modulo = 7 % 3, 639 | power = 2 ^ 3, 640 | concatenation = "a" .. "b" 641 | } 642 | 643 | -- Unary operators 644 | local unaryOps = { 645 | negation = -x, 646 | length = #"hello", 647 | logicalNot = not true 648 | } 649 | 650 | -- Function calls with method syntax 651 | local t = { 652 | method = function(self, x) 653 | return x * 2 654 | end 655 | } 656 | t:method(5) 657 | < 658 | ------------------------------------------------------------------------------ 659 | Rust *tinted-vim-lang-rust* 660 | >rust 661 | // External crate declaration 662 | extern crate some_library; 663 | 664 | // Use declarations 665 | use std::collections::HashMap; 666 | use std::sync::{Arc, Mutex}; 667 | 668 | // Constants and static variables 669 | const MAX_SIZE: usize = 100; 670 | static GLOBAL_COUNTER: AtomicUsize = AtomicUsize::new(0); 671 | 672 | // Type aliases 673 | type Result = std::result::Result>; 674 | 675 | // Traits 676 | trait Animal { 677 | // Associated types 678 | type Sound; 679 | 680 | // Required methods 681 | fn make_sound(&self) -> Self::Sound; 682 | 683 | // Default methods 684 | fn describe(&self) -> String { 685 | String::from("Some animal") 686 | } 687 | } 688 | 689 | // Structs 690 | #[derive(Debug, Clone)] 691 | struct Dog { 692 | name: String, 693 | age: u8, 694 | tags: Vec, 695 | } 696 | 697 | // Enums 698 | #[derive(Debug)] 699 | enum PetType { 700 | Dog(Dog), 701 | Cat { name: String, lives: u8 }, 702 | Bird(String), 703 | } 704 | 705 | // Implementation blocks 706 | impl Dog { 707 | // Associated function (static method) 708 | pub fn new(name: String, age: u8) -> Self { 709 | Dog { 710 | name, 711 | age, 712 | tags: Vec::new(), 713 | } 714 | } 715 | 716 | // Instance method 717 | pub fn add_tag(&mut self, tag: String) { 718 | self.tags.push(tag); 719 | } 720 | } 721 | 722 | // Trait implementation 723 | impl Animal for Dog { 724 | type Sound = String; 725 | 726 | fn make_sound(&self) -> Self::Sound { 727 | format!("{} says: Woof!", self.name) 728 | } 729 | } 730 | 731 | // Generic function 732 | fn process_data(data: T) -> String { 733 | format!("Processed: {}", data) 734 | } 735 | 736 | // Async function 737 | async fn fetch_data(url: &str) -> Result { 738 | // Await expression 739 | let response = reqwest::get(url).await?; 740 | let text = response.text().await?; 741 | Ok(text) 742 | } 743 | 744 | // Main function with error handling 745 | fn main() -> Result<()> { 746 | // Variable declaration 747 | let mut map = HashMap::new(); 748 | 749 | // Insert into HashMap 750 | map.insert("key1", "value1"); 751 | 752 | // Pattern matching 753 | match map.get("key1") { 754 | Some(value) => println!("Found: {}", value), 755 | None => println!("Not found"), 756 | } 757 | 758 | // Loop constructs 759 | for (key, value) in &map { 760 | println!("{}: {}", key, value); 761 | } 762 | 763 | while let Some(value) = some_iterator.next() { 764 | println!("Value: {}", value); 765 | } 766 | 767 | // Closure 768 | let multiply = |x: i32, y: i32| x * y; 769 | 770 | // If-else expression 771 | let result = if true { 772 | "true branch" 773 | } else { 774 | "false branch" 775 | }; 776 | 777 | // Block expression 778 | let computed = { 779 | let x = 10; 780 | let y = 20; 781 | x + y 782 | }; 783 | 784 | // Array 785 | let array = [1, 2, 3, 4, 5]; 786 | 787 | // Slice 788 | let slice = &array[1..4]; 789 | 790 | // Tuple 791 | let tuple = (1, "hello", 3.14); 792 | 793 | // Reference and dereference 794 | let ref_value = &computed; 795 | let deref_value = *ref_value; 796 | 797 | // Unsafe block 798 | unsafe { 799 | let ptr = &computed as *const i32; 800 | println!("Raw pointer value: {}", *ptr); 801 | } 802 | 803 | // Macro invocation 804 | println!("Hello, {}", "world"); 805 | 806 | // Error handling with ? 807 | let dog = Dog::new("Rover".to_string(), 5); 808 | dog.add_tag("friendly".to_string())?; 809 | 810 | // Return statement 811 | Ok(()) 812 | } 813 | 814 | // Module declaration 815 | mod tests { 816 | use super::*; 817 | 818 | // Test function 819 | #[test] 820 | fn test_dog_sound() { 821 | let dog = Dog::new("Rex".to_string(), 3); 822 | assert_eq!(dog.make_sound(), "Rex says: Woof!"); 823 | } 824 | } 825 | < 826 | ------------------------------------------------------------------------------ 827 | Vimscript *tinted-vim-lang-vimscript* 828 | >vim 829 | " Function definition 830 | function! CompleteExample(arg1, ...) 831 | " Variable declarations 832 | let l:local_var = 'local' 833 | let g:global_var = 'global' 834 | let s:script_var = 'script' 835 | 836 | " Conditional statements 837 | if a:arg1 == 'test' 838 | echo 'Test condition' 839 | elseif a:arg1 == 'other' 840 | echo 'Other condition' 841 | else 842 | echo 'Default condition' 843 | endif 844 | 845 | " Loop constructs 846 | for item in ['a', 'b', 'c'] 847 | echo 'Item: ' . item 848 | endfor 849 | 850 | let counter = 0 851 | while counter < 5 852 | let counter += 1 853 | if counter == 3 854 | continue 855 | endif 856 | echo 'Counter: ' . counter 857 | endwhile 858 | 859 | " Try-catch block 860 | try 861 | throw 'Custom error' 862 | catch /Custom.*/ 863 | echo 'Caught error: ' . v:exception 864 | finally 865 | echo 'Cleanup' 866 | endtry 867 | 868 | " Dictionary 869 | let dict = { 870 | \ 'key1': 'value1', 871 | \ 'key2': 'value2', 872 | \ 'nested': {'subkey': 'subvalue'} 873 | \ } 874 | 875 | " List 876 | let list = ['item1', 'item2', ['nested', 'items']] 877 | 878 | " Function calls 879 | call SomeFunction() 880 | call SomeOtherFunction('arg1', 'arg2') 881 | 882 | " Expression statement 883 | let result = 10 + 20 * 2 884 | 885 | " String concatenation 886 | let str = 'Hello' . ' ' . 'World' 887 | 888 | " Regular expressions 889 | let pattern = '\v^[a-zA-Z]+$' 890 | if 'test' =~# pattern 891 | echo 'Matches pattern' 892 | endif 893 | 894 | " Lambda expression (Vim 8.0+) 895 | let Callback = {x -> x * 2} 896 | echo Callback(5) 897 | 898 | " Dictionary methods 899 | let dict.newkey = 'newvalue' 900 | unlet dict.key1 901 | 902 | " List operations 903 | call add(list, 'new_item') 904 | let sliced_list = list[0:1] 905 | 906 | " Command execution 907 | execute 'echo "Dynamic command"' 908 | normal! gg 909 | 910 | " Return statement 911 | return {'status': 'success', 'data': l:local_var} 912 | endfunction 913 | 914 | " Autoload function 915 | function! mypackage#module#Function() 916 | echo 'Autoload function' 917 | endfunction 918 | 919 | " Command definition 920 | command! -nargs=* MyCommand call CompleteExample() 921 | 922 | " Autocommand 923 | augroup MyAutoGroup 924 | autocmd! 925 | autocmd BufWritePre * call SomeFunction() 926 | augroup END 927 | 928 | " Mapping 929 | nnoremap x :call CompleteExample('test') 930 | 931 | " Script-local function 932 | function! s:HelperFunction() 933 | echo 'Helper function' 934 | endfunction 935 | 936 | " Class-like structure (dictionary as object) 937 | let s:MyClass = {} 938 | 939 | function! s:MyClass.new() 940 | let instance = copy(self) 941 | let instance.data = '' 942 | return instance 943 | endfunction 944 | 945 | function! s:MyClass.method() 946 | echo 'Method called' 947 | endfunction 948 | 949 | " Variable scope modifiers 950 | let &option = 'value' 951 | let @a = 'register content' 952 | let $ENV_VAR = 'environment variable' 953 | 954 | " Built-in functions usage 955 | echo strlen('test') 956 | echo type([]) 957 | echo exists('g:var') 958 | 959 | " Operator expressions 960 | let num += 5 961 | 962 | " Ternary expression 963 | let result = condition ? 'true' : 'false' 964 | 965 | " Line continuation 966 | let long_string = "This is a very long string " . 967 | \ "that continues on " . 968 | \ "multiple lines" 969 | 970 | " Range specification 971 | function! RangeFunction() range 972 | echo a:firstline . ' to ' . a:lastline 973 | endfunction 974 | < 975 | ============================================================================== 976 | vim:tw=78:ts=8:noet:ft=help:norl: 977 | -------------------------------------------------------------------------------- /lua/tinted-vim/init.lua: -------------------------------------------------------------------------------- 1 | -- Add custom highlights for list in `:h tinted-vim`. 2 | local function highlight_groups(patterns) 3 | local ns = vim.api.nvim_create_namespace('tinted-vim-help') 4 | 5 | local save_cursor = vim.fn.getcurpos() 6 | 7 | for _, pat in pairs(patterns) do 8 | local start_lnum = vim.fn.search(pat.start, 'c') 9 | local end_lnum = vim.fn.search(pat.stop) 10 | if start_lnum == 0 or end_lnum == 0 then 11 | break 12 | end 13 | 14 | for lnum = start_lnum, end_lnum do 15 | local word = vim.api.nvim_buf_get_lines(0, lnum - 1, lnum, true)[1]:match(pat.match) 16 | if vim.fn.hlexists(word) ~= 0 then 17 | vim.api.nvim_buf_set_extmark(0, ns, lnum - 1, 0, { end_col = #word, hl_group = word }) 18 | end 19 | end 20 | end 21 | 22 | vim.fn.setpos('.', save_cursor) 23 | end 24 | 25 | vim.api.nvim_create_autocmd("BufEnter", { 26 | pattern = "*/tinted-vim.txt", 27 | callback = function() 28 | vim.treesitter.start(0, 'vimdoc') 29 | highlight_groups({ 30 | { 31 | start = [[INTRODUCTION]], 32 | stop = '^======', 33 | match = '^g:(%w+_%w+)' 34 | }, 35 | { start = [[GUI HIGHLIGHTS]], stop = '^======', match = '^(%w+)\t' }, 36 | { start = [[DEFAULT SYNTAX HIGHLIGHTS]], stop = '^======', match = '^(%w+)\t' }, 37 | { start = [[TREESITTER SYNTAX HIGHLIGHTS]], stop = '^======', match = '^@[%w%p]+', }, 38 | { start = [[LSP SEMANTIC SYNTAX HIGHLIGHTS]], stop = '^======', match = '^@[%w%p]+' }, 39 | { start = [[LSP HIGHLIGHTS]], stop = '^======', match = '^(%w+)' }, 40 | { start = [[DIAGNOSTIC HIGHLIGHTS]], stop = '^======', match = '^(%w+)' }, 41 | }) 42 | end 43 | }) 44 | -------------------------------------------------------------------------------- /plugin/tinted-vim.vim: -------------------------------------------------------------------------------- 1 | if has('nvim') 2 | " Load the Lua code 3 | lua require('tinted-vim') 4 | endif 5 | -------------------------------------------------------------------------------- /screenshots/tinted-vim-screenshot-classic-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinted-theming/tinted-vim/f3972c6484036dd191a6e1b591786b0c2f98e0a5/screenshots/tinted-vim-screenshot-classic-dark.png -------------------------------------------------------------------------------- /screenshots/tinted-vim-screenshot-horizon-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinted-theming/tinted-vim/f3972c6484036dd191a6e1b591786b0c2f98e0a5/screenshots/tinted-vim-screenshot-horizon-dark.png -------------------------------------------------------------------------------- /screenshots/tinted-vim-screenshot-onedark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinted-theming/tinted-vim/f3972c6484036dd191a6e1b591786b0c2f98e0a5/screenshots/tinted-vim-screenshot-onedark.png -------------------------------------------------------------------------------- /screenshots/with-base16colorspace-256-without-base16-shell.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinted-theming/tinted-vim/f3972c6484036dd191a6e1b591786b0c2f98e0a5/screenshots/with-base16colorspace-256-without-base16-shell.png -------------------------------------------------------------------------------- /screenshots/without-base16colorspace-256-with-256-terminal-theme.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinted-theming/tinted-vim/f3972c6484036dd191a6e1b591786b0c2f98e0a5/screenshots/without-base16colorspace-256-with-256-terminal-theme.png -------------------------------------------------------------------------------- /templates/config.yaml: -------------------------------------------------------------------------------- 1 | tinted-vim: 2 | supported-systems: [base24, base16] 3 | filename: colors/{{ scheme-system }}-{{ scheme-slug }}.vim 4 | --------------------------------------------------------------------------------