Compare commits

...

6 Commits

@ -119,9 +119,15 @@ default DelayTrain mappings are included below:
['nv'] = {'h', 'j', 'k', 'l'},
['nvi'] = {'<Left>', '<Down>', '<Up>', '<Right>'},
},
ignore_filetypes = {}, -- Example: set to {"help", "NvimTr*"} to
-- disable the plugin for help and NvimTree
}
```
You can define a list of filetypes that will be ignored by delaytrain using
`ignore_filetypes`. The option accepts a list of strings or patterns.
Tip: you can find the filetype for the current buffer using the command `:set ft?`
### Mappings
The keys option allows you to delay different keypresses in different modes.

@ -45,6 +45,8 @@ following configuration (default settings included):
['nv'] = {'h', 'j', 'k', 'l'},
['nvi'] = {'<Left>', '<Down>', '<Up>', '<Right>'},
},
ignore_filetypes = {}, -- Example: set to {"help", "NvimTr*"} to
-- disable the plugin for help and NvimTree
}
<
Keep in mind that the `delay_ms` timer starts on the FIRST keypress and not the
@ -61,6 +63,10 @@ the default settings, if you hit j and then hit k after 500ms, both keypresses
will work. If you wait another 200ms and hit j again, the keypress will not
work.
You can define a list of filetypes that will be ignored by delaytrain using
`ignore_filetypes`. The option accepts a list of strings or patterns. Tip:
you can find the filetype for the current buffer using the command `:set ft?`
------------------------------------------------------------------------------
MAPPINGS *delaytrain-mappings*

@ -6,6 +6,7 @@ vim.g.delaytrain_grace_period = 1
-- Map of keys to their individual current grace period
-- This keeps track of how many times a key has been pressed
local current_grace_period_intervals = {}
local ignore_filetypes = {}
local keymaps = {
['nv'] = {'h', 'j', 'k', 'l'},
@ -17,6 +18,14 @@ local is_enabled = false
function M.try_delay_keypress(key)
current_interval = current_grace_period_intervals[key]
-- ignore user defined patterns
for _,ign_ft in ipairs(ignore_filetypes) do
if vim.o.filetype:match(ign_ft) then
M.send_keypress(key)
return
end
end
-- Ingore on macro execution
if vim.fn.reg_executing() ~= "" then
M.send_keypress(key)
@ -55,6 +64,8 @@ function M.setup(opts)
vim.g.delaytrain_grace_period = opts.grace_period
end
ignore_filetypes = opts.ignore_filetypes or {}
if opts.keys then
keymaps = opts.keys
end

Loading…
Cancel
Save