8000 mini.nvim/lua/mini/notify.lua at main · reyalka/mini.nvim · GitHub
[go: up one dir, main page]

Skip to content

Latest commit

 

History

History
853 lines (741 loc) · 30.7 KB

notify.lua

File metadata and controls

853 lines (741 loc) · 30.7 KB
for _, y in ipairs(x) do
if not H.is_notification(y) then return false end
end
return true
end
H.notif_apply_format = function(notif_arr, format)
for _, notif in ipairs(notif_arr) do
local res = format(notif)
if type(res) ~= 'string' then H.error('Output of `content.format` should be string.') end
notif.msg = res
end
return notif_arr
end
H.notif_compare = function(a, b)
local a_priority, b_priority = H.level_priority[a.level], H.level_priority[b.level]
return a_priority > b_priority or (a_priority == b_priority and a.ts_update > b.ts_update)
end
-- Utilities ------------------------------------------------------------------
H.error = function(msg) error(string.format('(mini.notify) %s', msg), 0) end
H.is_valid_buf = function(buf_id) return type(buf_id) == 'number' and vim.api.nvim_buf_is_valid(buf_id) end
H.is_valid_win = function(win_id) return type(win_id) == 'number' and vim.api.nvim_win_is_valid(win_id) end
H.is_win_in_tabpage = function(win_id) return vim.api.nvim_win_get_tabpage(win_id) == vim.api.nvim_get_current_tabpage() end
H.get_timestamp = function()
-- This is more acceptable for `vim.fn.strftime()` than `vim.loop.hrtime()`
local seconds, microseconds = vim.loop.gettimeofday()
return seconds + 0.000001 * microseconds
end
-- TODO: Remove after compatibility with Neovim=0.9 is dropped
H.islist = vim.fn.has('nvim-0.10') == 1 and vim.islist or vim.tbl_islist
return MiniNotify
0