local status, telescope = pcall(require, "telescope")
if not status then
	vim.notify("没有找到 telescope")
	return
end

local previewers = require("telescope.previewers")
local Job = require("plenary.job")
local new_maker = function(filepath, bufnr, opts)
	filepath = vim.fn.expand(filepath)
	Job:new({
		command = "file",
		args = { "--mime-type", "-b", filepath },
		on_exit = function(j)
			local mime_type = vim.split(j:result()[1], "/")[1]
			if mime_type == "text" then
				previewers.buffer_previewer_maker(filepath, bufnr, opts)
			else
				-- maybe we want to write something to the buffer here
				vim.schedule(function()
					vim.api.nvim_buf_set_lines(bufnr, 0, -1, false, { "BINARY" })
				end)
			end
		end,
	}):sync()
end

local actions = require("telescope.actions")
telescope.setup({
	defaults = {
		-- 打开弹窗后进入的初始模式，默认为 insert，也可以是 normal
		initial_mode = "insert",
        sorting_strategy = "ascending",
        layout_strategy = "horizontal",

		layout_config = { width = 0.98, prompt_position = "top", preview_cutoff = 1 },
		-- vertical , center , cursor
		--layout_strategy = "horizontal",
		-- 窗口内快捷键
		mappings = require("keybindings").telescopeList,
	},
	pickers = {

		find_files = {
			--theme = "dropdown", -- 可选参数： dropdown, cursor, ivy
			preview = true,
		},
		live_grep = {
			theme = "ivy",
			preview = true,
		},
        layout_config = {
            prompt_position = "top",
        }
	},
	extensions = {
		["ui-select"] = {
			require("telescope.themes").get_dropdown({
				-- even more opts
			}),
		},
	},
})

--pcall(telescope.load_extension, "env")
-- To get ui-select loaded and working with telescope, you need to call
-- load_extension, somewhere after setup function:
--pcall(telescope.load_extension, "ui-select")ile
telescope.load_extension("live_grep_args")
