feat: add new Telescope extensions including frecency, undo tree, and recent files

This commit is contained in:
2024-09-15 01:07:03 -04:00
parent 70c3f4dc44
commit d140f928ca
7 changed files with 150 additions and 64 deletions
+2 -2
View File
@@ -169,8 +169,8 @@ end
--- Define user commands
---@return nil
function M.define_commands()
-- Define Q abbreviation
vim.cmd.cnoreabbrev("Q", "qall")
-- Define Q as a usercmd
vim.api.nvim_create_user_command("Q", "qall", { desc = "Quit all buffers" })
-- Define yank line command
vim.api.nvim_create_user_command("YankLine", function()
+2 -2
View File
@@ -32,7 +32,7 @@ M.alpha = {
-- stylua: ignore start
dashboard.section.buttons.val = {
---@diagnostic disable: param-type-mismatch
dashboard.button("f", "" .. " Find file", [[<cmd>lua require("data.func").frecency_picker() <cr>]]),
dashboard.button("f", "" .. " Find file", LazyVim.pick("find_files")),
dashboard.button("n", "" .. " New file", [[<cmd> ene <BAR> startinsert <cr>]]),
dashboard.button("r", "" .. " Recent files", LazyVim.pick("oldfiles")),
dashboard.button("g", "" .. " Grep text", LazyVim.pick("live_grep")),
@@ -64,7 +64,7 @@ M.alpha = {
M.dashboard_nvim = {
choices = {
{ -- Find File
action = 'lua require("data.func".frecency_picker()()',
action = 'lua LazyVim.pick("find_files")()',
desc = " Find File",
icon = "",
key = "f",
-13
View File
@@ -515,19 +515,6 @@ function M.dump_buffer_to_table(register)
vim.fn.setreg(register, output)
end
---@function Function to open the frecency picker
---@return nil
function M.frecency_picker()
-- Trigger the picker
require("telescope").extensions.frecency.frecency({ workspace = "CWD" })
-- Remove `A` character that is added by the picker
vim.api.nvim_feedkeys(
vim.api.nvim_replace_termcodes("<BS>", true, true, true),
"n",
false
)
end
---@function Function to reload the user's Neovim configuration
---@return nil
function M.reload_config()
+56 -27
View File
@@ -258,11 +258,6 @@ M.gist = {
}
M.groups = {
{ -- Icon picker menu
lhs = "<leader>I",
group = "IconPicker",
icon = { icon = "󰥸", color = "orange" },
},
{ -- Gists menu
lhs = "<leader>gn",
group = "Gists",
@@ -299,25 +294,6 @@ M.gx = {
},
}
M.iconpicker = {
{ -- Pick Icon
"<leader>Ii",
"<cmd>IconPickerNormal<cr>",
desc = "Pick Icon",
},
{ -- Yank Icon
"<leader>Iy",
"<cmd>IconPickerYank<cr>",
desc = "Yank Icon",
},
{ -- Insert Icon in insert mode
"<C-.>",
"<cmd>IconPickerInsert<cr>",
desc = "Insert Icon",
mode = "i",
},
}
M.indentor = {
{ -- Indentor
"<C-i>",
@@ -413,12 +389,12 @@ M.misc = {
rhs = "<cmd>Neotree reveal toggle<cr>",
desc = "Neotree toggle",
},
{ -- Telescope Frecency
{ -- Telescope Find Files
lhs = "<leader><leader>",
rhs = function()
require("data.func").frecency_picker()
LazyVim.pick("find_files")()
end,
desc = "Telescope frecency",
desc = "Find Files",
},
{ -- Exit Neovim
lhs = "<leader>Q",
@@ -713,6 +689,59 @@ M.overrides = {
},
}
M.telescope = {
cmdline = {
{
":",
function()
require("telescope").extensions.cmdline.cmdline()
end,
desc = "Cmdline",
},
},
lazy = {
{
"<leader>fz",
function()
require("telescope").extensions.lazy.lazy()
end,
desc = "Lazy Picker",
},
},
symbols = {
{ -- Telescope Symbols
"<leader>f.",
function()
require("telescope.builtin").symbols({
sources = { "emoji", "kaomoji", "gitmoji", "nerd", "math" },
})
end,
desc = "Pick Icons",
},
{ -- Pick Icon in insert mode
"<C-.>",
function()
require("telescope.builtin").symbols({
sources = { "emoji", "kaomoji", "gitmoji", "nerd", "math" },
})
end,
"i",
desc = "Pick Icon",
},
},
toggleterm = {
{ -- Pick ToggleTerms
"<leader>ft",
function()
require("toggleterm-manager").open({})
end,
desc = "Pick Terminals",
mode = "n",
},
},
}
M.toggleterm = {
{ -- Toggle Terminal
"<c-/>",
+34
View File
@@ -455,6 +455,40 @@ M.gitblame = {
},
}
--- Telescope configuration options
M.telescope = {
cmdline = {
extensions = {
cmdline = {
icons = {
history = "",
command = "",
number = "󰴍 ",
system = "",
unknown = "",
},
picker = {
layout_config = {
width = vim.fn.floor(vim.o.columns * 0.25),
height = vim.fn.floor(vim.o.lines * 0.25),
},
},
completions = {
"command",
},
mappings = {
complete = "<Tab>",
run_selection = "<C-CR>",
run_input = "<CR>",
},
overseer = {
enabled = true,
},
},
},
},
}
--- Neocodeium configuration options
M.neocodeium = {
opts = {
+7 -6
View File
@@ -134,12 +134,6 @@ return {
lazy = false,
config = data.types.barsNlines.config,
},
{ -- Frecency Telescope extension
"nvim-telescope/telescope-frecency.nvim",
config = function()
require("telescope").load_extension("frecency")
end,
},
{ -- UndoTree Telescope extension
"nvim-telescope/telescope.nvim",
dependencies = {
@@ -169,4 +163,11 @@ return {
{ -- NumberToggle
"sitiom/nvim-numbertoggle",
},
{
"folke/noice.nvim",
optional = true,
opts = {
presets = { inc_rename = true },
},
},
}
+49 -14
View File
@@ -50,12 +50,6 @@ return {
vim.g.unception_block_while_host_edits = true
end,
},
{ -- 🍎 Icon Picker
"ziontee113/icon-picker.nvim",
lazy = true,
opts = { disable_legacy_commands = true },
keys = data.keys.iconpicker,
},
{ -- Codesnap
"mistricky/codesnap.nvim",
enabled = data.func.check_global_var("codesnap", true, true),
@@ -123,14 +117,6 @@ return {
ft = "help",
dependencies = data.deps.needs_treesitter,
},
-- { -- Docker-compose logs
-- "adelowo/dockercomposelogs.nvim",
-- config = function()
-- require("dockercomposelogs").setup({})
-- end,
-- event = "VeryLazy",
-- dependencies = data.deps.needs_telescope,
-- },
{ -- Suda
"lambdalisue/vim-suda",
cmd = data.cmd.suda,
@@ -158,4 +144,53 @@ return {
enable_line_number = true,
},
},
{ -- Telescope Cmdline
"nvim-telescope/telescope.nvim",
dependencies = {
"nvim-lua/plenary.nvim",
"jonarrien/telescope-cmdline.nvim",
},
keys = data.keys.telescope.cmdline,
opts = data.types.telescope.cmdline,
config = function(_, opts)
require("telescope").setup(opts)
require("telescope").load_extension("cmdline")
end,
},
{
"prochri/telescope-all-recent.nvim",
dependencies = {
"nvim-telescope/telescope.nvim",
"kkharji/sqlite.lua",
-- optional, if using telescope for vim.ui.select
"stevearc/dressing.nvim",
},
opts = {
default = {
disable = true, -- disable any unkown pickers (recommended)
use_cwd = true, -- differentiate scoring for each picker based on cwd
sorting = "frecency", -- sorting: options: 'recent' and 'frecency'
},
},
},
{ -- Telescope symbols
"nvim-telescope/telescope-symbols.nvim",
config = function() end,
keys = data.keys.telescope.symbols,
},
{ -- Telescope Toggleterm
"ryanmsnyder/toggleterm-manager.nvim",
dependencies = {
"akinsho/nvim-toggleterm.lua",
"nvim-telescope/telescope.nvim",
"nvim-lua/plenary.nvim", -- only needed because it's a dependency of telescope
},
config = true,
keys = data.keys.telescope.toggleterm,
},
{
"nvim-telescope/telescope.nvim",
dependencies = "tsakirist/telescope-lazy.nvim",
keys = data.keys.telescope.lazy,
},
}