summaryrefslogtreecommitdiffstats
path: root/lua/conf/plugins/telescope.lua
diff options
context:
space:
mode:
authorSquibid <me@zacharyscheiman.com>2024-08-09 02:45:31 -0400
committerSquibid <me@zacharyscheiman.com>2024-08-09 02:45:31 -0400
commitc489d393695e90d424f9ae51e35c4d42358e6a71 (patch)
tree12ea97ec4684fd82cd6b73dd127d0137b115837b /lua/conf/plugins/telescope.lua
parentad76983d969c318e6e234bc82384b4b025d70447 (diff)
downloadnvim-c489d393695e90d424f9ae51e35c4d42358e6a71.tar.gz
nvim-c489d393695e90d424f9ae51e35c4d42358e6a71.tar.bz2
nvim-c489d393695e90d424f9ae51e35c4d42358e6a71.zip
yes there's a bit of java in my nvim config why do you ask?
Diffstat (limited to '')
-rw-r--r--lua/conf/plugins/telescope.lua78
1 files changed, 78 insertions, 0 deletions
diff --git a/lua/conf/plugins/telescope.lua b/lua/conf/plugins/telescope.lua
new file mode 100644
index 0000000..20f516d
--- /dev/null
+++ b/lua/conf/plugins/telescope.lua
@@ -0,0 +1,78 @@
+local misc = require('core.misc')
+local map = misc.map
+
+return { 'nvim-telescope/telescope.nvim',
+ disable = vim.version().minor < 9,
+ requires = {
+ 'nvim-lua/plenary.nvim',
+ { 'nvim-telescope/telescope-fzf-native.nvim',
+ config = function()
+ vim.cmd('make')
+ end
+ }
+ },
+ function()
+ local telescope = require("telescope")
+ local actions = require('telescope.actions')
+ local action_layout = require("telescope.actions.layout")
+
+ local function telescopew()
+ if vim.o.columns <= 80 then
+ return vim.o.columns
+ else
+ return 0.8
+ end
+ end
+
+ telescope.setup {
+ defaults = {
+ borderchars = {
+ prompt = { ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ' },
+ results = { ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ' },
+ preview = { ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ' },
+ },
+ winblend = 0,
+ layout_strategy = 'horizontal',
+ sorting_strategy = 'descending',
+ scroll_strategy = 'limit',
+ layout_config = {
+ horizontal = {
+ width = telescopew(),
+ height = 20,
+ prompt_position = 'bottom',
+ anchor = 'N',
+ }
+ },
+ mappings = {
+ i = {
+ ["<esc>"] = actions.close,
+ ['<C-j>'] = actions.move_selection_next,
+ ['<C-k>'] = actions.move_selection_previous,
+ ['<C-l>'] = actions.select_default,
+ ['<C-u>'] = actions.preview_scrolling_up,
+ ['<C-d>'] = actions.preview_scrolling_down,
+ ["<C-p>"] = action_layout.toggle_preview
+ },
+ n = {
+ ["gg"] = actions.move_to_top,
+ ["G"] = actions.move_to_bottom,
+ }
+ }
+ }
+ }
+
+ local telebuilt = require('telescope.builtin')
+ map('n', '<leader>f', function()
+ telebuilt.fd { follow = true }
+ end, { desc = 'Find files.' })
+ map('n', '<leader>s', telebuilt.live_grep, { desc = 'Find string in project.' })
+ map('n', '<leader>b', telebuilt.current_buffer_fuzzy_find, {
+ desc = 'Find string in current buffer.',
+ })
+
+ -- enable previewing in the default colorscheme switcher
+ telebuilt.colorscheme = function()
+ require("telescope.builtin.__internal").colorscheme { enable_preview = true }
+ end
+ end
+}