feat: add maxcount & timeout options to searchcount (#958)
This commit is contained in:
parent
267dba7d37
commit
2ee2fd5b2b
14
README.md
14
README.md
|
@ -655,6 +655,20 @@ sections = {
|
|||
}
|
||||
```
|
||||
|
||||
#### searchcount component options
|
||||
|
||||
```lua
|
||||
sections = {
|
||||
lualine_a = {
|
||||
{
|
||||
'searchcount',
|
||||
maxcount = 999,
|
||||
timeout = 500,
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
#### tabs component options
|
||||
|
||||
```lua
|
||||
|
|
|
@ -1,11 +1,27 @@
|
|||
local function searchcount()
|
||||
local M = require('lualine.component'):extend()
|
||||
|
||||
local default_options = {
|
||||
maxcount = 999,
|
||||
timeout = 500,
|
||||
}
|
||||
|
||||
-- Initializer
|
||||
function M:init(options)
|
||||
-- Run super()
|
||||
M.super.init(self, options)
|
||||
-- Apply default options
|
||||
self.options = vim.tbl_extend('keep', self.options or {}, default_options)
|
||||
end
|
||||
|
||||
-- Function that runs every time statusline is updated
|
||||
function M:update_status()
|
||||
if vim.v.hlsearch == 0 then
|
||||
return ''
|
||||
end
|
||||
|
||||
local result = vim.fn.searchcount { maxcount = 999, timeout = 500 }
|
||||
local result = vim.fn.searchcount { maxcount = self.options.maxcount, timeout = self.options.timeout }
|
||||
local denominator = math.min(result.total, result.maxcount)
|
||||
return string.format('[%d/%d]', result.current, denominator)
|
||||
end
|
||||
|
||||
return searchcount
|
||||
return M
|
||||
|
|
Loading…
Reference in New Issue