Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/barrientosvctor/abyss.nvim
🎨 Abyss.nvim is a (Neo)Vim colorscheme inspired by Abyss theme in Visual Studio Code.
https://github.com/barrientosvctor/abyss.nvim
dark-color-scheme dark-colorscheme dark-theme lua neovim neovim-colorscheme neovim-colorschemes neovim-lua neovim-theme nvim nvim-colorscheme nvim-colorschemes nvim-lua nvim-theme vim vim-colorscheme vim9script
Last synced: 2 days ago
JSON representation
🎨 Abyss.nvim is a (Neo)Vim colorscheme inspired by Abyss theme in Visual Studio Code.
- Host: GitHub
- URL: https://github.com/barrientosvctor/abyss.nvim
- Owner: barrientosvctor
- License: mit
- Created: 2022-10-10T01:38:19.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-11-13T21:26:08.000Z (5 days ago)
- Last Synced: 2024-11-13T22:18:38.320Z (5 days ago)
- Topics: dark-color-scheme, dark-colorscheme, dark-theme, lua, neovim, neovim-colorscheme, neovim-colorschemes, neovim-lua, neovim-theme, nvim, nvim-colorscheme, nvim-colorschemes, nvim-lua, nvim-theme, vim, vim-colorscheme, vim9script
- Language: Lua
- Homepage:
- Size: 2.72 MB
- Stars: 17
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# abyss.nvim
Unofficial port for (Neo)Vim inspired by the Abyss theme from Visual Studio Code.**This is the latest version of the old [abyss.vim](https://github.com/barrientosvctor/abyss.vim), now supporting Vim.**
https://github.com/barrientosvctor/abyss.nvim/assets/113469901/7d20f6f0-c438-4ac1-9838-7c1d49f412b9
## ⚡️ Requeriments
* [Neovim](https://github.com/neovim/neovim) >= **0.8.0** or [Vim 9](https://www.vim.org/) with lua >= **5.1**.## 📦 Installation
You can use any package manager you like.
**I highly recommend updating abyss.nvim when a release/tag comes out, since it is possible that there are development commits before that that can cause unexpected errors when using the colorscheme. To do this, make sure to specify a tag in your preferred package manager (if it supports it) before downloading the colorscheme.**
Package manager Installation
```lua
use {
'barrientosvctor/abyss.nvim',
run = function()
local status, abyss = pcall(require, 'abyss')
if not status then return endabyss.setup()
end
}
``````lua
{
'barrientosvctor/abyss.nvim',
lazy = false,
priority = 1000,
opts = {}
}
``````vim
Plug 'barrientosvctor/abyss.nvim'
``````vim
Plugin 'barrientosvctor/abyss.nvim'
```Vim's built-in package manager
```shell
mkdir -p ~/.vim/pack/colors/start
cd ~/.vim/pack/colors/start
git clone https://github.com/barrientosvctor/abyss.nvim.git
```## 💻 Setup
Abyss.nvim has options to customize your colorscheme instance according to your preferences.
These are the available options for the colorscheme:
```lua
require('abyss').setup({
italic_comments = true, -- Toggle italic comments
italic = false, -- Toggle italic for function names, keywords, strings and booleans
bold = false, -- Toggle bold for function names, keywords and booleans
transparent_background = false, -- Toggle transparency on neovim background
treesitter = true -- Enable treesitter highlighting. No need to configuration. Default value: (Neovim = true), (Vim = false)
overrides = {} -- Override the default colorscheme highlight to a any else. Default value: nil
})
```### Vim Script with Lua
```vim
lua << EOF
require("abyss").setup {
" your setup options
}
EOF
```### Overwriting highlights
You can be able to use all of [nvim_set_hl()](https://neovim.io/doc/user/api.html#nvim_set_hl())
function properties to override the colorscheme colors.```lua
local c = require('abyss.colors')require('abyss').setup({
overrides = {
String = { fg = c.heavyyellow, bold = true },
-- or:
['String'] = { fg = "#ffeebb", bold = true },
-- ...rest of highlight overrides
}
})
```## 🔌 Plugins supported
* [TreeSitter](https://github.com/nvim-treesitter/nvim-treesitter)
* [Bufferline.nvim](https://github.com/akinsho/bufferline.nvim)
* [LSP Diagnostics](https://neovim.io/doc/user/lsp.html)
* [Telescope.nvim](https://github.com/nvim-telescope/telescope.nvim)
* [nvim-cmp](https://github.com/hrsh7th/nvim-cmp)
* [LspSaga](https://github.com/glepnir/lspsaga.nvim)
* [Git Signs](https://github.com/lewis6991/gitsigns.nvim)
* [Git Gutter](https://github.com/airblade/vim-gitgutter)
* [nvim-tree.lua](https://github.com/nvim-tree/nvim-tree.lua)
* [NERDTree](https://github.com/preservim/nerdtree)
* [Neotree.nvim](https://github.com/nvim-neo-tree/neo-tree.nvim)
* [Indent-Blankline.nvim](https://github.com/lukas-reineke/indent-blankline.nvim)
* [nvim-notify](https://github.com/rcarriga/nvim-notify)
* [Dashboard](https://github.com/glepnir/dashboard-nvim)
* [Which-key](https://github.com/folke/which-key.nvim)## 🚀 Usage
> Vim Script
```vim
colorscheme abyss
```> Lua
```lua
vim.cmd.colorscheme 'abyss'
```Abyss.nvim also includes a [lualine.nvim](https://github.com/nvim-lualine/lualine.nvim) theme, you can use it setting up into lualine setup options:
```lua
require('lualine').setup {
options = {
theme = 'abyss'
}
}
```## 📝 Notes
- If you have Bufferline.nvim installed in your dotfiles, bufferline should be loaded after setting up abyss.nvim or it will highlight incorrectly. I'll provide you examples about this using [Packer.nvim](https://github.com/wbthomason/packer.nvim) and [Lazy.nvim](https://github.com/folke/lazy.nvim)
Click to see Lazy.nvim example
- Abyss.nvim config
```lua
{
'barrientosvctor/abyss.nvim',
lazy = false,
priority = 1000,
opts = {}
}
```- Bufferline config
```lua
{
'akinsho/bufferline.nvim',
lazy = true,
event = "UIEnter",
-- ...rest of your config
}
```Click to see Packer.nvim example
- Bufferline config
```lua
use {
'akinsho/bufferline.nvim',
after = 'abyss.nvim',
-- ...rest of your config
}
```## 👥 Contributing
Any issue or pull request is welcome. In this section, I will guide you to make
your first contribution.- Before these instructions, it's recommended to before create an issue about
your change to talk about it.- All branches must be based from `develop` branch. So, you need to
create a new branch based on this one.```shell
$ git switch develop
$ git checkout -b branch-name
```- Make sure to pull the latest commits from `develop` branch to your branch
before make a commit.- All pull requests must go from your branch to `develop` branch.
### Merging the pull request
Your pull request should pass all code reviews (if there is) to
merge it to `develop` . These code reviews are GitHub workflows.Also make sure you don't include any `CHANGELOG.md` in your pull request so you
don't have conflicts with the original file in the `main` branch.### How should you write your commits?
Refer to [release-please-action](https://github.com/googleapis/release-please-action?tab=readme-ov-file#how-should-i-write-my-commits) section.
### Syntax highlight groups
If you want to contribute about wrong syntax highlighting on colorscheme. This
section will help you to determine what highlight group is being applied to a
specific piece of syntax. It'll output the highlight group for the value under
the cursor.#### Treesitter highlighting
Neovim has included a command with these characteristics. Just type: `:Inspect`.
#### Vim highlighting
Add this function to your vimrc:
```vim
function! SynStack()
for i1 in synstack(line("."), col("."))
let i2 = synIDtrans(i1)
let n1 = synIDattr(i1, "name")
let n2 = synIDattr(i2, "name")
echo n1 "->" n2
endfor
endfunctionmap call SynStack()
```## 🤗 Acknowledgements
- [nightfox](https://github.com/EdenEast/nightfox.nvim) -> codebase for vim support