Files
test/doc/neovim/3 - Telescope.md
2025-01-01 16:32:06 +01:00

137 lines
4.0 KiB
Markdown

`lua/roka/core/plugins.lua`
```lua
return require('packer').startup(function()
-- other plugins...
use "nvim-telescope/telescope.nvim"
-- other plugins...
end)
```
`lua/roka/plug/telescope.lua`
```lua
local status_ok, telescope = pcall(require, "telescope")
if not status_ok then
return
end
telescope.load_extension('media_files')
local actions = require "telescope.actions"
telescope.setup {
defaults = {
prompt_prefix = "",
selection_caret = "",
path_display = { "smart" },
-- The minimal init not showing preview by default is likely due to the default
-- preview_cutoff value of 120 columns. It looks like your terminal is smaller than 120 columns.
-- Set cutoff to zero to show the preview anyway
layout_config = {
horizontal = {
preview_cutoff = 0,
},
},
mappings = {
i = {
["<C-n>" ] = actions.cycle_history_next,
["<C-p>" ] = actions.cycle_history_prev,
["<C-j>" ] = actions.move_selection_next,
["<C-k>" ] = actions.move_selection_previous,
["<C-c>" ] = actions.close,
["<Down>"] = actions.move_selection_next,
["<Up>" ] = actions.move_selection_previous,
["<CR>" ] = actions.select_default,
["<C-x>" ] = actions.select_horizontal,
["<C-v>" ] = actions.select_vertical,
["<C-t>" ] = actions.select_tab,
["<C-u>" ] = actions.preview_scrolling_up,
["<C-d>" ] = actions.preview_scrolling_down,
["<PageUp>"] = actions.results_scrolling_up,
["<PageDown>"] = actions.results_scrolling_down,
["<Tab>"] = actions.toggle_selection + actions.move_selection_worse,
["<S-Tab>"] = actions.toggle_selection + actions.move_selection_better,
["<C-q>"] = actions.send_to_qflist + actions.open_qflist,
["<M-q>"] = actions.send_selected_to_qflist + actions.open_qflist,
["<C-l>"] = actions.complete_tag,
["<C-_>"] = actions.which_key, -- keys from pressing <C-/>
},
n = {
["<esc>" ] = actions.close,
["<CR>" ] = actions.select_default,
["<C-x>" ] = actions.select_horizontal,
["<C-v>" ] = actions.select_vertical,
["<C-t>" ] = actions.select_tab,
["<Tab>" ] = actions.toggle_selection + actions.move_selection_worse,
["<S-Tab>"] = actions.toggle_selection + actions.move_selection_better,
["<C-q>" ] = actions.send_to_qflist + actions.open_qflist,
["<M-q>" ] = actions.send_selected_to_qflist + actions.open_qflist,
["j"] = actions.move_selection_next,
["k"] = actions.move_selection_previous,
["H"] = actions.move_to_top,
["M"] = actions.move_to_middle,
["L"] = actions.move_to_bottom,
["<Down>"] = actions.move_selection_next,
["<Up>"] = actions.move_selection_previous,
["gg"] = actions.move_to_top,
["G"] = actions.move_to_bottom,
["<C-u>"] = actions.preview_scrolling_up,
["<C-d>"] = actions.preview_scrolling_down,
["<PageUp>"] = actions.results_scrolling_up,
["<PageDown>"] = actions.results_scrolling_down,
["?"] = actions.which_key,
},
},
},
-- 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 = {
media_files = {
-- filetypes whitelist
-- defaults to {"png", "jpg", "mp4", "webm", "pdf"}
filetypes = {"png", "webp", "jpg", "jpeg"},
find_cmd = "rg" -- find command (defaults to `fd`)
}
-- 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
},
}
```
`init.lua`
```lua
-- other requires
require( "roka.plug.telescope")
-- other requires
```