-- Use this file for any UI based plugins -- Contains telescope, icons, lualine & whichkey return { { "nvim-telescope/telescope.nvim", dependencies = { "nvim-treesitter/nvim-treesitter" }, cmd = "Telescope", init = function() local builtin = require('telescope.builtin') local wk = require('which-key') wk.register({ ['ff'] = { builtin.find_files, "Find File" }, ['fb'] = { builtin.buffers, "Find Buffer" }, ['fg'] = { builtin.live_grep, "Find with Grep" }, ['fh'] = { builtin.help_tags, "Find Help" }, ['fn'] = { ":Telescope file_browser path=%:p:h select_buffer=true", "File Browser" }, }, { prefix = "" }) end, opts = function() return { defaults = { vimgrep_arguments = { "rg", "-L", "--color=never", "--no-heading", "--with-filename", "--line-number", "--column", "--smart-case", }, previewer = true, file_previewer = require 'telescope.previewers'.vim_buffer_cat.new, grep_previewer = require 'telescope.previewers'.vim_buffer_vimgrep.new, qflist_previewer = require 'telescope.previewers'.vim_buffer_qflist.new, }, extensions = { file_browser = { theme = "ivy", hijack_netrw = true, }, }, extensions_list = { "file_browser", }, } end, config = function(_, opts) local telescope = require "telescope" telescope.setup(opts) -- load extensions for _, ext in ipairs(opts.extensions_list) do telescope.load_extension(ext) end end, }, { "nvim-telescope/telescope-file-browser.nvim", dependencies = { "nvim-telescope/telescope.nvim", "nvim-lua/plenary.nvim" } }, { 'nvim-tree/nvim-web-devicons', }, { 'nvim-lualine/lualine.nvim', dependencies = { 'nvim-tree/nvim-web-devicons' }, event = "VeryLazy", opts = { options = { icons_enabled = true, theme = 'auto', component_separators = '|', section_separators = { left = '', right = '' }, }, }, }, -- Only load whichkey after all the gui { "folke/which-key.nvim", keys = { "", "", "", '"', "'", "`", "c", "v", "g" }, cmd = "WhichKey", config = function(_, opts) local wk = require('which-key') wk.setup(opts) wk.register({ ['f'] = { name = "Find" }, }, { prefix = "" }) end, }, }