local ok, indentline = pcall(require, "indent_blankline")
if not ok then
	return
end

indentline.setup({
	context_highlight_list = nil,
	char_highlight_list = nil,
	space_char_highlight_list = nil,
	char = "│",
	context_char_list = { "┃" },
	space_char_blankline = " ",
	filetype_exclude = {
		"TelescopeResults",
		"query",
		"tsplayground",
		"lazy",
		"lsp-installer",
		"markdown",
		"mason",
		"txt",
		"text",
		"dashboard",
		"alpha",
		"NvimTree",
		"undotree",
		"diff",
		"fugitive",
		"fugitiveblame",
		"Outline",
		"SidebarNvim",
		"packer",
		"lsp-installer",
		"TelescopePrompt",
		"help",
		"telescope",
		"lspinfo",
		"Trouble",
		"null-ls-info",
		"quickfix",
		"chadtree",
		"fzf",
		"NeogitStatus",
		"terminal",
		"console",
		"term://*",
		"Term://*",
		"toggleterm",
		"qf",
		"prompt",
		"noice",
		"",
	},
	buftype_exclude = {
		"terminal",
		"nofile",
	},
	show_end_of_line = true,
	show_current_context = true,
	show_current_context_start = true,
	show_trailing_blankline_indent = false,
	show_first_indent_level = false,
	use_treesitter = true,
	context_patterns = {
		"class",
		"return",
		"function",
		"method",
		"^if",
		"^while",
		"jsx_element",
		"^for",
		"^object",
		"^table",
		"block",
		"arguments",
		"if_statement",
		"else_clause",
		"jsx_element",
		"jsx_self_closing_element",
		"try_statement",
		"catch_clause",
		"import_statement",
		"operation_type",
	},
})
