Skip to content

arsham/arshamiser.nvim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

69 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Arshamiser

GitHub tag (latest by date) License

Neovim status bar, colour scheme, foldtext and tabline functions. It has support for cmdheight=0 for macro recording message and visually selected count.

  1. Demo
  2. Requirements
  3. Installation
  4. License

Demo

folds

go

Palettes

arshamiser_light

arshamiser_dark

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",
	},
	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",
  },
  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",
  },
  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.