@@ -101,7 +101,7 @@ M.remove_rule = function(pair)
101101 vim.api.nvim_buf_del_keymap(0, 'i', r.key_map)
102102 end
103103 end
104− M.set_buf_rule(state_tbl)
104+ M.set_buf_rule(state_tbl, 0)
105105 end
106106 M.force_attach()
107107end
@@ -146,8 +146,7 @@ local function is_disable()
146146 return true
147147 end
148148
149− if
150− M.config.disable_in_macro
149+ if M.config.disable_in_macro
151150 and (vim.fn.reg_recording() ~= '' or vim.fn.reg_executing() ~= '')
152151 then
153152 return true
@@ -161,7 +160,7 @@ local function is_disable()
161160 -- should have a way to remove the mapping when vim.bo.filetype = ''
162161 -- now we only remove a rule
163162 -- the event FileType happen after BufEnter
164− M.set_buf_rule({})
163+ M.set_buf_rule({}, 0)
165164 return true
166165 end
167166 return false
@@ -190,8 +189,7 @@ M.on_attach = function(bufnr)
190189
191190 local rules = {}
192191 for _, rule in pairs(M.config.rules) do
193− if
194− utils.check_filetype(rule.filetypes, vim.bo.filetype)
192+ if utils.check_filetype(rule.filetypes, vim.bo.filetype)
195193 and utils.check_not_filetype(rule.not_filetypes, vim.bo.filetype)
196194 then
197195 table.insert(rules, rule)
@@ -327,7 +325,7 @@ M.on_attach = function(bufnr)
327325 "i",
328326 utils.key.c_h,
329327 string.format("v:lua.MPairs.autopairs_c_h(%d)", bufnr),
330− {expr = true, noremap = true}
328+ { expr = true, noremap = true }
331329 )
332330 end
333331
@@ -360,8 +358,7 @@ local autopairs_delete = function(bufnr, key)
360358 #rule.end_pair,
361359 rule.is_regex
362360 )
363− if
364− utils.compare(rule.start_pair, prev_char, rule.is_regex)
361+ if utils.compare(rule.start_pair, prev_char, rule.is_regex)
365362 and utils.compare(rule.end_pair, next_char, rule.is_regex)
366363 and rule:can_del({
367364 ts_node = M.state.ts_node,
@@ -438,8 +435,7 @@ M.autopairs_map = function(bufnr, char)
438435 -- log.debug("start_pair" .. rule.start_pair)
439436 -- log.debug('prev_char' .. prev_char)
440437 -- log.debug('next_char' .. next_char)
441− if
442− utils.compare(rule.end_pair, next_char, rule.is_regex)
438+ if utils.compare(rule.end_pair, next_char, rule.is_regex)
443439 and rule:can_move(cond_opt)
444440 then
445441 local end_pair = rule:get_end_pair(cond_opt)
@@ -447,8 +443,7 @@ M.autopairs_map = function(bufnr, char)
447443 return utils.esc(utils.repeat_key(utils.key.join_right, end_pair_length))
448444 end
449445
450− if
451− utils.compare(rule.start_pair, prev_char, rule.is_regex)
446+ if utils.compare(rule.start_pair, prev_char, rule.is_regex)
452447 and rule:can_pair(cond_opt)
453448 then
454449 local end_pair = rule:get_end_pair(cond_opt)
@@ -461,9 +456,9 @@ M.autopairs_map = function(bufnr, char)
461456 if end_pair:match('<.*>') then
462457 end_pair = utils.esc(end_pair)
463458 end
464− local result= char .. end_pair .. utils.esc(move_text)
459+ local result = char .. end_pair .. utils.esc(move_text)
465460 if rule.is_undo then
466− result = utils.esc(utils.key.undo_sequence) .. result..utils.esc(utils.key.undo_sequence)
461+ result = utils.esc(utils.key.undo_sequence) .. result .. utils.esc(utils.key.undo_sequence)
467462 end
468463 log.debug("key_map :" .. result)
469464 return result
@@ -512,8 +507,7 @@ M.autopairs_insert = function(bufnr, char)
512507 return false
513508 end
514509
515− if
516− utils.compare(rule.start_pair, prev_char, rule.is_regex)
510+ if utils.compare(rule.start_pair, prev_char, rule.is_regex)
517511 and rule:can_pair(cond_opt)
518512 then
519513 local end_pair = rule:get_end_pair(cond_opt)
@@ -564,28 +558,26 @@ M.autopairs_cr = function(bufnr)
564558 -- log.debug('prev_char' .. rule.start_pair)
565559 -- log.debug('prev_char' .. prev_char)
566560 -- log.debug('next_char' .. next_char)
567− if
568− rule.is_endwise
561+ if rule.is_endwise
569562 and utils.compare(rule.start_pair, prev_char, rule.is_regex)
570563 and rule:can_cr(cond_opt)
571564 then
572565 return utils.esc(
573566 end_pair
574− .. utils.repeat_key(utils.key.join_left, end_pair_length)
575− -- FIXME do i need to re indent twice #118
576− .. '<cr><esc>====O'
567+ .. utils.repeat_key(utils.key.join_left, end_pair_length)
568+ -- FIXME do i need to re indent twice #118
569+ .. '<cr><esc>====O'
577570 )
578571 end
579572
580573 cond_opt.check_endwise_ts = false
581574
582− if
583− utils.compare(rule.start_pair, prev_char, rule.is_regex)
575+ if utils.compare(rule.start_pair, prev_char, rule.is_regex)
584576 and utils.compare(rule.end_pair, next_char, rule.is_regex)
585577 and rule:can_cr(cond_opt)
586578 then
587579 log.debug('do_cr')
588− return utils.esc(rule:get_map_cr({rule = rule, line = line, color = col, bufnr = bufnr}))
580+ return utils.esc(rule:get_map_cr({ rule = rule, line = line, color = col, bufnr = bufnr }))
589581 end
590582 end
591583 end
@@ -598,8 +590,7 @@ M.autopairs_afterquote = function(line, key_char)
598590 line = line or utils.text_get_current_line(0)
599591 local _, col = utils.get_cursor()
600592 local prev_char, next_char = utils.text_cusor_line(line, col + 1, 1, 1, false)
601− if
602− utils.is_bracket(prev_char)
593+ if utils.is_bracket(prev_char)
603594 and utils.is_quote(next_char)
604595 and not utils.is_in_quotes(line, col, next_char)
605596 then
@@ -649,7 +640,7 @@ end
649640
650641M.map_cr = function()
651642 M.completion_confirm = function()
652− if vim.fn.pumvisible() ~= 0 then
643+ if vim.fn.pumvisible() ~= 0 then
653644 return M.esc("<cr>")
654645 else
655646 return M.autopairs_cr()