Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nyngwang/murmur.lua
super-fast cursor word highlighting with callbacks(I call them murmurs) included.
https://github.com/nyngwang/murmur.lua
neovim-plugin nvim-plugin
Last synced: about 1 month ago
JSON representation
super-fast cursor word highlighting with callbacks(I call them murmurs) included.
- Host: GitHub
- URL: https://github.com/nyngwang/murmur.lua
- Owner: nyngwang
- Created: 2022-02-12T19:17:20.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-02-03T14:06:41.000Z (4 months ago)
- Last Synced: 2024-02-04T14:45:47.665Z (4 months ago)
- Topics: neovim-plugin, nvim-plugin
- Language: Lua
- Homepage:
- Size: 23.4 KB
- Stars: 98
- Watchers: 1
- Forks: 3
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
Lists
- awesome-neovim - nyngwang/murmur.lua - Super-fast cursor word highlighting with callbacks(I call them murmurs) included. (Bars and Lines / Cursorline)
- awesome-stars - nyngwang/murmur.lua - super-fast cursor word highlighting with callbacks(I call them murmurs) included. (Lua)
- awesome-neovim - nyngwang/murmur.lua - Super-fast cursor word highlighting with callbacks(I call them murmurs) included. (Bars and Lines / Cursorline)
- awesome-neovim - nyngwang/murmur.lua - Super-fast cursor word highlighting with callbacks(I call them murmurs) included. (Bars and Lines / Cursorline)
README
murmur.lua
===## Intro.
Cursorword highlighting with callbacks support(I call this *murmuring*). Created with performance in mind.
## DEMO
Dynamic coloring of your cursorword:
https://user-images.githubusercontent.com/24765272/210187287-14fb5b67-e8bd-4a40-a139-8b4b6f6d641f.mov
IDE-like no blinking diagnostic message with `cursor` scope.
https://user-images.githubusercontent.com/24765272/210187603-14dda820-e3ad-40b4-a0cf-1274cd205b54.mov
## Example Setup.
Commented lines are the default.
```lua
local FOO = 'your_augroup_name'
vim.api.nvim_create_augroup(FOO, { clear = true })use {
'nyngwang/murmur.lua',
config = function ()
require('murmur').setup {
-- cursor_rgb = {
-- guibg = '#393939',
-- },
-- cursor_rgb_always_use_config = false, -- if set to `true`, then always use `cursor_rgb`.
-- yank_blink = {
-- enabled = true,
-- on_yank = nil, -- Can be customized. See `:h on_yank`.
-- },
max_len = 80,
min_len = 3, -- this is recommended since I prefer no cursorword highlighting on `if`.
exclude_filetypes = {},
callbacks = {
-- to trigger the close_events of vim.diagnostic.open_float.
function ()
-- Close floating diag. and make it triggerable again.
vim.api.nvim_exec_autocmds("User", { pattern = "MurmurDiagnostics" })
vim.w.diag_shown = false
end,
}
}-- To create IDE-like no blinking diagnostic message with `cursor` scope. (should be paired with the callback above)
vim.api.nvim_create_autocmd('CursorHold', {
group = FOO,
pattern = '*',
callback = function ()
-- skip when a float-win already exists.
if vim.w.diag_shown then return end-- open float-win when hovering on a cursor-word.
if vim.w.cursor_word ~= "" then
local buf = vim.diagnostic.open_float({
scope = "cursor",
-- Only close the window on InsertEnter and the explicit diagnostic close event
close_events = { "InsertEnter", "User MurmurDiagnostics" },
})
-- If the window closes for any reason *other* than it being closed by a callback,
-- make it triggerable again
vim.api.nvim_create_autocmd("WinClosed", {
group = FOO,
buffer = buf,
once = true,
callback = function() vim.w.diag_shown = false end,
})
vim.w.diag_shown = true
else
vim.w.diag_shown = false
end
end
})-- To create special cursorword coloring for the colortheme `typewriter-night`.
-- remember to change it to the name of yours.
vim.api.nvim_create_autocmd({ 'ColorScheme' }, {
group = FOO,
pattern = 'typewriter-night',
callback = function ()
vim.api.nvim_set_hl(0, "murmur_cursor_rgb", { fg = "#0a100d", bg = "#ffee32" })
end
})
end
}
```## Reference
Extended from the original project: [`xiyaowong / nvim-cursorword`](https://github.com/xiyaowong/nvim-cursorword)
## Comparison
https://user-images.githubusercontent.com/24765272/204876866-b0dce9b9-d2da-4582-acb6-d0fe0344ecfe.mov