nvim-configs/lua/plugin/telescope.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