mirror of
https://github.com/ilyakooo0/nvim-autopairs.git
synced 2024-09-11 07:15:44 +03:00
Use replace_endpair when expanding with endwise
This commit is contained in:
parent
e9b47f0f68
commit
0ebfef16ec
@ -553,26 +553,32 @@ M.autopairs_cr = function(bufnr)
|
|||||||
#rule.end_pair,
|
#rule.end_pair,
|
||||||
rule.is_regex
|
rule.is_regex
|
||||||
)
|
)
|
||||||
|
|
||||||
|
local cond_opt = {
|
||||||
|
ts_node = M.state.ts_node,
|
||||||
|
check_endwise_ts = true,
|
||||||
|
rule = rule,
|
||||||
|
bufnr = bufnr,
|
||||||
|
col = col + 1,
|
||||||
|
line = line,
|
||||||
|
prev_char = prev_char,
|
||||||
|
next_char = next_char,
|
||||||
|
}
|
||||||
|
|
||||||
|
local end_pair = rule:get_end_pair(cond_opt)
|
||||||
|
local end_pair_length = rule:get_end_pair_length(end_pair)
|
||||||
|
|
||||||
-- log.debug('prev_char' .. rule.start_pair)
|
-- log.debug('prev_char' .. rule.start_pair)
|
||||||
-- log.debug('prev_char' .. prev_char)
|
-- log.debug('prev_char' .. prev_char)
|
||||||
-- log.debug('next_char' .. next_char)
|
-- log.debug('next_char' .. next_char)
|
||||||
if
|
if
|
||||||
rule.is_endwise
|
rule.is_endwise
|
||||||
and utils.compare(rule.start_pair, prev_char, rule.is_regex)
|
and utils.compare(rule.start_pair, prev_char, rule.is_regex)
|
||||||
and rule:can_cr({
|
and rule:can_cr(cond_opt)
|
||||||
ts_node = M.state.ts_node,
|
|
||||||
check_endwise_ts = true,
|
|
||||||
bufnr = bufnr,
|
|
||||||
rule = rule,
|
|
||||||
col = col,
|
|
||||||
prev_char = prev_char,
|
|
||||||
next_char = next_char,
|
|
||||||
line = line,
|
|
||||||
})
|
|
||||||
then
|
then
|
||||||
return utils.esc(
|
return utils.esc(
|
||||||
rule.end_pair
|
end_pair
|
||||||
.. utils.repeat_key(utils.key.join_left, #rule.end_pair)
|
.. utils.repeat_key(utils.key.join_left, end_pair_length)
|
||||||
-- FIXME do i need to re indent twice #118
|
-- FIXME do i need to re indent twice #118
|
||||||
.. '<cr><esc>====O'
|
.. '<cr><esc>====O'
|
||||||
)
|
)
|
||||||
|
@ -596,6 +596,42 @@ local data = {
|
|||||||
before = [[ | aaa]],
|
before = [[ | aaa]],
|
||||||
after = [[ "ab| aaa]]
|
after = [[ "ab| aaa]]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
setup_func = function()
|
||||||
|
npairs.clear_rules()
|
||||||
|
npairs.add_rule(Rule("{", "}"):end_wise())
|
||||||
|
end,
|
||||||
|
filetype = 'javascript',
|
||||||
|
name = 'custom endwise rule',
|
||||||
|
key = [[<cr>]],
|
||||||
|
before = [[function () {| ]],
|
||||||
|
after = {
|
||||||
|
[[function () {]],
|
||||||
|
[[|]],
|
||||||
|
[[}]],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
setup_func = function()
|
||||||
|
npairs.clear_rules()
|
||||||
|
npairs.add_rule(
|
||||||
|
Rule("{", "")
|
||||||
|
:replace_endpair(function ()
|
||||||
|
return "}"
|
||||||
|
end)
|
||||||
|
:end_wise()
|
||||||
|
)
|
||||||
|
end,
|
||||||
|
filetype = 'javascript',
|
||||||
|
name = 'custom endwise rule with custom end_pair',
|
||||||
|
key = [[<cr>]],
|
||||||
|
before = [[function () {| ]],
|
||||||
|
after = {
|
||||||
|
[[function () {]],
|
||||||
|
[[|]],
|
||||||
|
[[}]],
|
||||||
|
},
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
local run_data = _G.Test_filter(data)
|
local run_data = _G.Test_filter(data)
|
||||||
|
Loading…
Reference in New Issue
Block a user