mirror of
				https://github.com/tiyn/dotfiles.git
				synced 2025-11-03 22:11:16 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			75 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			75 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
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 = "<CR>",
 | 
						|
        reject_key = "<C-e>",
 | 
						|
      })
 | 
						|
      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,
 | 
						|
  },
 | 
						|
}
 |