mirror of
https://github.com/NotAShelf/specs.nvim.git
synced 2024-11-01 19:11:16 +00:00
3.2 KiB
3.2 KiB
specs.nvim 👓
Show where your cursor moves when jumping large distances (e.g between windows). Fast and lightweight, written completely in Lua.
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
},
ignore_filetypes = {},
ignore_buftypes = {
nofile = true,
},
}
:lua require('specs').toggle()
- Toggle Specs on/off
Faders:
-
linear_fader
▁▂▂▃▃▄▄▅▅▆▆▇▇██
-
exp_fader
▁▁▁▁▂▂▂▃▃▃▄▄▅▆▇
-
pulse_fader
▁▂▃▄▅▆▇█▇▆▅▄▃▂▁
-
empty_fader
▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
Resizers:
-
shrink_resizer
░░▒▒▓█████▓▒▒░░
-
slide_resizer
████▓▓▓▒▒▒▒░░░░
-
empty_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,
}
}
Planned Features
- More builtin faders + resizers
- Colorizers
- Optional highlight on text yank