-
Notifications
You must be signed in to change notification settings - Fork 14
Expand file tree
/
Copy pathtelescope.lua
More file actions
151 lines (143 loc) · 4.88 KB
/
telescope.lua
File metadata and controls
151 lines (143 loc) · 4.88 KB
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
-- local actions = require("telescope.actions")
-- local trouble = require("trouble.providers.telescope")
local telescope = require("telescope")
-- 支持预览 jar 包 class
local form_entry = require("telescope.from_entry")
local f_path = form_entry.path
form_entry.path = function(entry, validate, escape)
if entry.filename and vim.startswith(entry.filename, "jdt://") then
return entry.filename
end
return f_path(entry, validate, escape)
end
local set = require("telescope.actions.set")
set.edit = require("kide.plugins.config.telescope.actions.set").edit
local previewers = require("telescope.previewers")
previewers.buffer_previewer_maker = require("kide.plugins.config.telescope.buffer_previewer").file_maker
local conf = require("telescope.config").values
conf["qflist_previewer"] = function(...)
return require("kide.plugins.config.telescope.buffer_previewer").qflist.new(...)
end
telescope.setup({
defaults = {
vimgrep_arguments = {
"rg",
"-L",
"--color=never",
"--no-heading",
"--with-filename",
"--line-number",
"--column",
"--smart-case",
},
prompt_prefix = " ",
selection_caret = " ",
entry_prefix = " ",
initial_mode = "insert",
selection_strategy = "reset",
sorting_strategy = "ascending",
layout_strategy = "horizontal",
layout_config = {
horizontal = {
prompt_position = "top",
preview_width = 0.55,
results_width = 0.8,
},
vertical = {
mirror = false,
},
width = 0.87,
height = 0.80,
preview_cutoff = 120,
},
winblend = 0,
-- border = {},
borderchars = { "─", "│", "─", "│", "╭", "╮", "╯", "╰" },
color_devicons = true,
-- use_less = true,
set_env = { ["COLORTERM"] = "truecolor" }, -- default = nil,
-- file_sorter = require("telescope.sorters").get_fuzzy_file,
file_ignore_patterns = { "node_modules" },
-- generic_sorter = require("telescope.sorters").get_generic_fuzzy_sorter,
path_display = { "truncate" },
dynamic_preview_title = true,
results_title = false,
-- file_previewer = require("telescope.previewers").vim_buffer_cat.new,
-- grep_previewer = require("telescope.previewers").vim_buffer_vimgrep.new,
-- qflist_previewer = require("telescope.previewers").vim_buffer_qflist.new,
-- Developer configurations: Not meant for general override
-- buffer_previewer_maker = require("telescope.previewers").buffer_previewer_maker,
-- Default configuration for telescope goes here:
-- config_key = value,
preview = {
timeout = 1000,
filetype_hook = function(filepath, bufnr, opts)
if vim.startswith(filepath, "jdt://") then
require("kide.lsp.utils.jdtls").open_classfile(filepath, bufnr, opts.preview.timeout)
return false
end
return true
end,
},
mappings = {
i = {
-- map actions.which_key to <C-h> (default: <C-/>)
-- actions.which_key shows the mappings for your picker,
-- e.g. git_{create, delete, ...}_branch for the git_branches picker
["<C-h>"] = "which_key",
-- ["<esc>"] = actions.close,
-- ["<C-t>"] = trouble.open_with_trouble,
},
n = {
-- ["<C-t>"] = trouble.open_with_trouble,
["q"] = require("telescope.actions").close,
},
},
},
pickers = {
-- Default configuration for builtin pickers goes here:
-- picker_name = {
-- picker_config_key = value,
-- ...
-- }
-- Now the picker_config_key will be applied every time you call this
-- builtin picker
},
extensions = {
-- Your extension configuration goes here:
-- extension_name = {
-- extension_config_key = value,
-- }
-- please take a look at the readme of the extension you want to configure
["ui-select"] = {
require("telescope.themes").get_dropdown({
-- even more opts
}),
},
fzf = {
fuzzy = true, -- false will only do exact matching
override_generic_sorter = true, -- override the generic sorter
override_file_sorter = true, -- override the file sorter
case_mode = "smart_case", -- or "ignore_case" or "respect_case"
-- the default case_mode is "smart_case"
},
},
})
-- telescope.load_extension('fzf')
-- telescope.load_extension('gradle')
-- telescope.load_extension('maven_search')
-- 解决 telescope 打开的文件不折叠问题
-- https://github.com/nvim-telescope/telescope.nvim/issues/1277
vim.api.nvim_create_autocmd("BufRead", {
callback = function()
vim.api.nvim_create_autocmd("BufWinEnter", {
once = true,
command = "normal! zx",
})
end,
})
require("telescope").load_extension("project")
require("telescope").load_extension("ui-select")
require("telescope").load_extension("fzf")
require("telescope").load_extension("env")
require("kide.theme.gruvbox").load_telescope_highlights()