Skip to content

Commit 7c38fdb

Browse files
committed
nvim: auto pair fixes
1 parent d0ba72b commit 7c38fdb

File tree

1 file changed

+61
-12
lines changed

1 file changed

+61
-12
lines changed

home/nvim/lua/plugins.lua

Lines changed: 61 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -366,6 +366,16 @@ return inject_all({
366366
}),
367367
-- defaults include
368368
-- (, ), [, ], {, }, <, >, ", ', `, ?, t, <space>
369+
-- subword
370+
W = {
371+
{
372+
"%u[%l%d]+%f[^%l%d]",
373+
"%f[%S][%l%d]+%f[^%l%d]",
374+
"%f[%P][%l%d]+%f[^%l%d]",
375+
"^[%l%d]+%f[^%l%d]",
376+
},
377+
"^().*()$",
378+
},
369379
}
370380
require("mini.ai").setup(opts)
371381
end,
@@ -711,18 +721,57 @@ return inject_all({
711721
event = "InsertEnter",
712722
opts = {
713723
mappings = {
714-
-- do not auto create a pair when in front of word chars
715-
["("] = { action = "open", pair = "()", neigh_pattern = "[^\\][^%w]" },
716-
["["] = { action = "open", pair = "[]", neigh_pattern = "[^\\][^%w]" },
717-
["{"] = { action = "open", pair = "{}", neigh_pattern = "[^\\][^%w]" },
718-
-- do not swallow closing brackets when after a space chars
719-
[")"] = { action = "close", pair = "()", neigh_pattern = "[^\\%s]." },
720-
["]"] = { action = "close", pair = "[]", neigh_pattern = "[^\\%s]." },
721-
["}"] = { action = "close", pair = "{}", neigh_pattern = "[^\\%s]." },
722-
-- we use the default close actions
723-
['"'] = { action = "closeopen", pair = '""', neigh_pattern = "[^\\][%s%)%]}]", register = { cr = false } },
724-
["'"] = { action = "closeopen", pair = "''", neigh_pattern = "[^%a\\][%s%)%]}]", register = { cr = false } },
725-
["`"] = { action = "closeopen", pair = "``", neigh_pattern = "[^\\][%s%)%]}]", register = { cr = false } },
724+
["("] = {
725+
action = "open",
726+
pair = "()",
727+
neigh_pattern = ".[%s%)]",
728+
register = { cr = false },
729+
},
730+
["["] = {
731+
action = "open",
732+
pair = "[]",
733+
neigh_pattern = ".[%s%)}%]]",
734+
register = { cr = false },
735+
},
736+
["{"] = {
737+
action = "open",
738+
pair = "{}",
739+
neigh_pattern = ".[%s%)}%]]",
740+
register = { cr = false },
741+
},
742+
[")"] = {
743+
action = "close",
744+
pair = "()",
745+
neigh_pattern = "[^\\%s].",
746+
},
747+
["]"] = {
748+
action = "close",
749+
pair = "[]",
750+
neigh_pattern = "[^\\%s].",
751+
},
752+
["}"] = {
753+
action = "close",
754+
pair = "{}",
755+
neigh_pattern = "[^\\%s].",
756+
},
757+
['"'] = {
758+
action = "closeopen",
759+
pair = '""',
760+
neigh_pattern = "[^%w\\][^%w]",
761+
register = { cr = false },
762+
},
763+
["'"] = {
764+
action = "closeopen",
765+
pair = "''",
766+
neigh_pattern = "[^%w\\][^%w]",
767+
register = { cr = false },
768+
},
769+
["`"] = {
770+
action = "closeopen",
771+
pair = "``",
772+
neigh_pattern = "[^%w\\][^%w]",
773+
register = { cr = false },
774+
},
726775
},
727776
},
728777
},

0 commit comments

Comments
 (0)