summaryrefslogtreecommitdiff
path: root/after/plugin/autoclose.lua
blob: a53de91f94432d8260a26b988c8e3a20fdf07c80 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
local function in_comment()
	if
		require("cmp.config.context").in_treesitter_capture("comment") == true
		or require("cmp.config.context").in_syntax_group("Comment")
	then
		return true
	else
		return false
	end
end

local filetypes = require("autoclose").setup({
	keys = {
		["("] = { escape = false, close = true, pair = "()" },
		[")"] = { escape = true, close = false, pair = "()" },
		["["] = { escape = false, close = true, pair = "[]" },
		["]"] = { escape = true, close = false, pair = "[]" },
		["{"] = { escape = false, close = true, pair = "{}" },
		["}"] = { escape = true, close = false, pair = "{}" },
		[">"] = { escape = true, close = false, pair = "<>" },
		['"'] = { escape = true, close = true, pair = '""' },
		["'"] = {
			escape = true,
			close = true,
			pair = "''",
			disabled_filetypes = { "text", "telekasten", "groff", "diff", "gitcommit", "fugitive", "markdown" },
			disabled_when = in_comment,
		},
		["`"] = {
			escape = true,
			close = true,
			pair = "``",
			enabled_fileptypes = { "markdown", "go", "javascript" },
		},
		["_"] = {
			escape = false,
			close = true,
			pair = "__",
			enabled_fileptypes = { "markdown" },
			disabled_when = in_comment,
		},
		["*"] = {
			escape = false,
			close = true,
			pair = "**",
			enabled_fileptypes = { "markdown" },
			disabled_when = in_comment,
		},
	},
	options = {
		disable_when_touch = true,
	},
})