arsham / arshamiser.nvim

Neovim status-bar based on feline, a colour scheme, and foldtext function

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

About

Neovim status-bar based on feline, a colour scheme, and foldtext function

License:MIT License


Languages

Language:Lua 100.0%