75 lines
1.7 KiB
Lua
75 lines
1.7 KiB
Lua
local M = {
|
|
'nvim-telescope/telescope.nvim',
|
|
dependencies = { 'nvim-lua/plenary.nvim' },
|
|
lazy = true,
|
|
cmd = 'Telescope',
|
|
}
|
|
|
|
function M.config()
|
|
local actions = require 'telescope.actions'
|
|
require 'telescope'.setup {
|
|
defaults = {
|
|
path_display = { 'filename_first' },
|
|
layout_strategy = 'horizontal',
|
|
layout_config = {
|
|
prompt_position = 'top',
|
|
width = function(_, max_columns, _)
|
|
return math.min(max_columns, 180)
|
|
end,
|
|
horizontal = {
|
|
preview_width = 0.5,
|
|
},
|
|
},
|
|
sorting_strategy = 'ascending',
|
|
scroll_strategy = 'limit',
|
|
mappings = {
|
|
i = {},
|
|
n = {
|
|
['<esc>'] = actions.close,
|
|
['q'] = actions.close,
|
|
},
|
|
},
|
|
},
|
|
pickers = {
|
|
find_files = {
|
|
hidden = true,
|
|
},
|
|
live_grep = {
|
|
disable_coordinates = true,
|
|
},
|
|
grep_string = {
|
|
disable_coordinates = true,
|
|
},
|
|
},
|
|
extensions = {
|
|
file_browser = {
|
|
git_icons = {
|
|
added = "A",
|
|
changed = "M",
|
|
copied = "C",
|
|
deleted = "D",
|
|
renamed = "R",
|
|
unmerged = "U",
|
|
untracked = "?",
|
|
},
|
|
},
|
|
},
|
|
}
|
|
end
|
|
|
|
M.keymap = function()
|
|
local builtin = require 'telescope.builtin'
|
|
vim.keymap.set('n', '<leader>f', builtin.find_files)
|
|
vim.keymap.set('n', '<leader>r', builtin.resume)
|
|
vim.keymap.set('n', '<s-f>', function() builtin.grep_string { word_match = '-w' } end)
|
|
vim.keymap.set('v', '<s-f>', builtin.grep_string)
|
|
vim.keymap.set('n', '<leader>st', builtin.live_grep)
|
|
vim.keymap.set('n', '<leader>o', builtin.lsp_document_symbols)
|
|
vim.keymap.set('n', '<leader>p', builtin.lsp_workspace_symbols)
|
|
vim.keymap.set('n', '<leader>gb', builtin.git_branches)
|
|
vim.keymap.set('n', '<leader>gc', builtin.git_commits)
|
|
vim.keymap.set('n', '<m-q>', builtin.git_status)
|
|
end
|
|
|
|
return M
|