frandsoh / specs.nvim

πŸ‘“ A fast and lightweight Neovim lua plugin to keep an eye on where your cursor has jumped.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

specs.nvim πŸ‘“

Show where your cursor moves when jumping large distances (e.g between windows). Fast and lightweight, written completely in Lua. WIP.

demo

New: added option for custom highlighting for popup: demo2

Install

Using packer.nvim:

use {'edluffy/specs.nvim'}

Using vim-plug:

Plug 'edluffy/specs.nvim'

Usage

If you are using init.vim instead of init.lua, remember to wrap block below with lua << EOF and EOF

require('specs').setup{ 
    show_jumps  = true,
    min_jump = 30,
    popup = {
        delay_ms = 0, -- delay before popup displays
        inc_ms = 10, -- time increments used for fade/resize effects 
        blend = 10, -- starting blend, between 0-100 (fully transparent), see :h winblend
        width = 10,
        winhl = "PMenu",
        fader = require('specs').linear_fader,
        resizer = require('specs').shrink_resizer
    }
}

You can implement your own custom fader/resizer functions for some pretty cool effects:

require('specs').setup{ 
    popup = {
	-- Simple constant blend effect
        fader = function(blend, cnt)
            if cnt > 100 then
                return 80
            else return nil end
        end,
	-- Growing effect from left to right
        resizer = function(width, ccol, cnt)
            if width-cnt > 0 then
                return {width+cnt, ccol}
            else return nil end
        end,
    }
}

About

πŸ‘“ A fast and lightweight Neovim lua plugin to keep an eye on where your cursor has jumped.


Languages

Language:Lua 93.7%Language:Vim Script 6.3%