return { -- improved wild menu { "gelguy/wilder.nvim", dependencies = { { "nvim-tree/nvim-web-devicons", lazy = true, }, "roxma/nvim-yarp", "roxma/vim-hug-neovim-rpc", "romgrk/fzy-lua-native", "nixprime/cpsm", }, config = function() local wilder = require("wilder") wilder.setup({ modes = { ":", "/", "?" }, accept_key = "", reject_key = "", }) wilder.set_option("pipeline", { wilder.branch( wilder.python_file_finder_pipeline({ file_command = function(ctx, arg) if string.find(arg, ".") ~= nil then return { "fd", "-tf", "-H" } else return { "fd", "-tf" } end end, dir_command = { "fd", "-td" }, filters = { "cpsm_filter" }, }), wilder.substitute_pipeline({ pipeline = wilder.python_search_pipeline({ skip_cmdtype_check = 1, pattern = wilder.python_fuzzy_pattern({ start_at_boundary = 0, }), }), }), wilder.cmdline_pipeline({ fuzzy = 2, fuzzy_filter = wilder.lua_fzy_filter(), }), { wilder.check(function(ctx, x) return x == "" end), wilder.history(), }, wilder.python_search_pipeline({ pattern = wilder.python_fuzzy_pattern({ start_at_boundary = 0, }), }) ), }) local highlighters = { wilder.pcre2_highlighter(), wilder.lua_fzy_highlighter(), } wilder.set_option( "renderer", wilder.popupmenu_renderer({ highlighter = highlighters, left = { " ", wilder.popupmenu_devicons() }, right = { " ", wilder.popupmenu_scrollbar() }, }) ) end, }, }