summaryrefslogtreecommitdiff
path: root/lua/lvim/core/builtins/telescope.lua
diff options
context:
space:
mode:
authorLostNeophyte <[email protected]>2023-02-18 08:55:05 +0100
committerLostNeophyte <[email protected]>2023-02-18 08:55:05 +0100
commit8f70ecd882cf44567ddbffb469373501492938f9 (patch)
tree1498fd1de08c1aec46fa628701e1b5e9a47c4e3b /lua/lvim/core/builtins/telescope.lua
parent3144585515000a1c3064c6129ded74f662598de1 (diff)
refactor(builtins): move builtins to lvim/builtinrefactor/builtins
Diffstat (limited to 'lua/lvim/core/builtins/telescope.lua')
-rw-r--r--lua/lvim/core/builtins/telescope.lua147
1 files changed, 0 insertions, 147 deletions
diff --git a/lua/lvim/core/builtins/telescope.lua b/lua/lvim/core/builtins/telescope.lua
deleted file mode 100644
index 576c70e9..00000000
--- a/lua/lvim/core/builtins/telescope.lua
+++ /dev/null
@@ -1,147 +0,0 @@
-local M = {}
-
----@alias telescope_themes
----| "cursor" # see `telescope.themes.get_cursor()`
----| "dropdown" # see `telescope.themes.get_dropdown()`
----| "ivy" # see `telescope.themes.get_ivy()`
----| "center" # retain the default telescope theme
-
-function M.config()
- local actions = require("lvim.utils.modules").require_on_exported_call "telescope.actions"
- lvim.builtin.telescope = {
- ---@usage disable telescope completely [not recommended]
- active = true,
- theme = "dropdown", ---@type telescope_themes
- defaults = {
- prompt_prefix = lvim.icons.ui.Telescope .. " ",
- selection_caret = lvim.icons.ui.Forward .. " ",
- entry_prefix = " ",
- initial_mode = "insert",
- selection_strategy = "reset",
- sorting_strategy = nil,
- layout_strategy = nil,
- layout_config = {},
- vimgrep_arguments = {
- "rg",
- "--color=never",
- "--no-heading",
- "--with-filename",
- "--line-number",
- "--column",
- "--smart-case",
- "--hidden",
- "--glob=!.git/",
- },
- ---@usage Mappings are fully customizable. Many familiar mapping patterns are setup as defaults.
- mappings = {
- i = {
- ["<C-n>"] = actions.move_selection_next,
- ["<C-p>"] = actions.move_selection_previous,
- ["<C-c>"] = actions.close,
- ["<C-j>"] = actions.cycle_history_next,
- ["<C-k>"] = actions.cycle_history_prev,
- ["<C-q>"] = function(...)
- actions.smart_send_to_qflist(...)
- actions.open_qflist(...)
- end,
- ["<CR>"] = actions.select_default,
- },
- n = {
- ["<C-n>"] = actions.move_selection_next,
- ["<C-p>"] = actions.move_selection_previous,
- ["<C-q>"] = function(...)
- actions.smart_send_to_qflist(...)
- actions.open_qflist(...)
- end,
- },
- },
- file_ignore_patterns = {},
- path_display = { "smart" },
- winblend = 0,
- border = {},
- borderchars = nil,
- color_devicons = true,
- set_env = { ["COLORTERM"] = "truecolor" }, -- default = nil,
- },
- pickers = {
- find_files = {
- hidden = true,
- },
- live_grep = {
- --@usage don't include the filename in the search results
- only_sort_text = true,
- },
- grep_string = {
- only_sort_text = true,
- },
- buffers = {
- initial_mode = "normal",
- mappings = {
- i = {
- ["<C-d>"] = actions.delete_buffer,
- },
- n = {
- ["dd"] = actions.delete_buffer,
- },
- },
- },
- planets = {
- show_pluto = true,
- show_moon = true,
- },
- git_files = {
- hidden = true,
- show_untracked = true,
- },
- colorscheme = {
- enable_preview = true,
- },
- },
- extensions = {
- 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"
- },
- },
- }
-end
-
-function M.setup()
- local previewers = require "telescope.previewers"
- local sorters = require "telescope.sorters"
-
- lvim.builtin.telescope = vim.tbl_extend("keep", {
- file_previewer = previewers.vim_buffer_cat.new,
- grep_previewer = previewers.vim_buffer_vimgrep.new,
- qflist_previewer = previewers.vim_buffer_qflist.new,
- file_sorter = sorters.get_fuzzy_file,
- generic_sorter = sorters.get_generic_fuzzy_sorter,
- }, lvim.builtin.telescope)
-
- local telescope = require "telescope"
-
- local theme = require("telescope.themes")["get_" .. (lvim.builtin.telescope.theme or "")]
- if theme then
- lvim.builtin.telescope.defaults = theme(lvim.builtin.telescope.defaults)
- end
-
- telescope.setup(lvim.builtin.telescope)
-
- if lvim.builtin.project.active then
- pcall(function()
- require("telescope").load_extension "projects"
- end)
- end
-
- if lvim.builtin.telescope.extensions and lvim.builtin.telescope.extensions.fzf then
- pcall(function()
- require("telescope").load_extension "fzf"
- end)
- end
-
- return telescope
-end
-
-return M