arshamiser.nvim
arshamiser.nvim copied to clipboard
Neovim status-bar based on feline, a colour scheme, and foldtext function
Arshamiser
Neovim status bar, colour scheme, foldtext and tabline functions. It has
support for cmdheight=0 for macro recording message and visually selected
count.
- Demo
- Requirements
- Installation
- Lazy
- Packer
- Config
- Lazy Loading
- License
Demo


Palettes


Requirements
This library supports Neovim v0.8.0 and newer.
This plugin depends are the following libraries. Please make sure to add them as dependencies in your package manager:
Installation
Use your favourite package manager to install this library.
Lazy
{
"arsham/arshamiser.nvim",
dependencies = {
"arsham/arshlib.nvim",
"famiu/feline.nvim",
"rebelot/heirline.nvim",
"kyazdani42/nvim-web-devicons",
"lewis6991/gitsigns.nvim",
},
config = function()
-- ignore any parts you don't want to use
vim.cmd.colorscheme("arshamiser_light")
require("arshamiser.feliniser")
-- or:
-- require("arshamiser.heirliniser")
_G.custom_foldtext = require("arshamiser.folding").foldtext
vim.opt.foldtext = "v:lua.custom_foldtext()"
-- if you want to draw a tabline:
vim.api.nvim_set_option("tabline", [[%{%v:lua.require("arshamiser.tabline").draw()%}]])
end,
}
Packer
use({
"arsham/arshamiser.nvim",
requires = {
"arsham/arshlib.nvim",
"famiu/feline.nvim",
"rebelot/heirline.nvim",
"kyazdani42/nvim-web-devicons",
"lewis6991/gitsigns.nvim",
},
config = function()
-- ignore any parts you don't want to use
vim.cmd.colorscheme("arshamiser_light")
require("arshamiser.feliniser")
-- or:
-- require("arshamiser.heirliniser")
_G.custom_foldtext = require("arshamiser.folding").foldtext
vim.opt.foldtext = "v:lua.custom_foldtext()"
-- if you want to draw a tabline:
vim.api.nvim_set_option("tabline", [[%{%v:lua.require("arshamiser.tabline").draw()%}]])
end,
})
Config
By default this pluging uses a palette for the colour scheme. You can use your own palette if you want:
local colouriser = require("arshamiser.colouriser")
local palette = {} -- see the palette.lua for the values
colouriser.setup(palette, "my_awesome_scheme")
Lazy Loading
You can defer setting the colorscheme until the UI loads. Packer example:
use({
"arsham/arshamiser.nvim",
requires = {
"arsham/arshlib.nvim",
"famiu/feline.nvim",
"rebelot/heirline.nvim",
"kyazdani42/nvim-web-devicons",
"nanotee/sqls.nvim",
"lewis6991/gitsigns.nvim",
},
config = function()
vim.api.nvim_create_autocmd("UIEnter", {
events = "UIEnter",
pattern = "*",
callback = function()
vim.cmd.colorscheme("arshamiser_light")
require("arshamiser.feliniser")
-- or:
-- require("arshamiser.heirliniser")
_G.custom_foldtext = require("arshamiser.folding").foldtext
vim.opt.foldtext = "v:lua.custom_foldtext()"
-- if you want to draw a tabline:
vim.api.nvim_set_option("tabline", [[%{%v:lua.require("arshamiser.tabline").draw()%}]])
end,
})
end,
event = { "UIEnter" },
})
License
Licensed under the MIT License. Check the LICENSE file for details.