|  |  | @ -0,0 +1,59 @@ | 
			
		
	
		
			
				
					|  |  |  | local pickers = require("telescope.pickers") | 
			
		
	
		
			
				
					|  |  |  | local finders = require("telescope.finders") | 
			
		
	
		
			
				
					|  |  |  | local make_entry = require("telescope.make_entry") | 
			
		
	
		
			
				
					|  |  |  | local conf = require("telescope.config").values | 
			
		
	
		
			
				
					|  |  |  |  | 
			
		
	
		
			
				
					|  |  |  | local M = {} | 
			
		
	
		
			
				
					|  |  |  |  | 
			
		
	
		
			
				
					|  |  |  | M.live_multgrep = function (opts) | 
			
		
	
		
			
				
					|  |  |  | opts = opts or {} | 
			
		
	
		
			
				
					|  |  |  | opts.cwd = opts.cwd or vim.uv.cwd() | 
			
		
	
		
			
				
					|  |  |  |  | 
			
		
	
		
			
				
					|  |  |  | local finder = finders.new_async_job({ | 
			
		
	
		
			
				
					|  |  |  | command_generator = function (prompt) | 
			
		
	
		
			
				
					|  |  |  | print(prompt) | 
			
		
	
		
			
				
					|  |  |  | if not prompt or prompt == "" then | 
			
		
	
		
			
				
					|  |  |  | return nil | 
			
		
	
		
			
				
					|  |  |  | end | 
			
		
	
		
			
				
					|  |  |  |  | 
			
		
	
		
			
				
					|  |  |  | local pieces = vim.split(prompt, "  ") | 
			
		
	
		
			
				
					|  |  |  |  | 
			
		
	
		
			
				
					|  |  |  | local args = { "rg" } | 
			
		
	
		
			
				
					|  |  |  | if pieces[1] then | 
			
		
	
		
			
				
					|  |  |  | table.insert(args, "-e") | 
			
		
	
		
			
				
					|  |  |  | table.insert(args, pieces[1]) | 
			
		
	
		
			
				
					|  |  |  | end | 
			
		
	
		
			
				
					|  |  |  |  | 
			
		
	
		
			
				
					|  |  |  | if pieces[2] then | 
			
		
	
		
			
				
					|  |  |  | table.insert(args, "-g") | 
			
		
	
		
			
				
					|  |  |  | table.insert(args, pieces[2]) | 
			
		
	
		
			
				
					|  |  |  | end | 
			
		
	
		
			
				
					|  |  |  |  | 
			
		
	
		
			
				
					|  |  |  | ---@diagnostic disable-next-line: deprecated | 
			
		
	
		
			
				
					|  |  |  | return vim.tbl_flatten({ | 
			
		
	
		
			
				
					|  |  |  | args, | 
			
		
	
		
			
				
					|  |  |  | { | 
			
		
	
		
			
				
					|  |  |  | "--color=never", | 
			
		
	
		
			
				
					|  |  |  | "--no-heading", | 
			
		
	
		
			
				
					|  |  |  | "--with-filename", | 
			
		
	
		
			
				
					|  |  |  | "--line-number", | 
			
		
	
		
			
				
					|  |  |  | "--column", | 
			
		
	
		
			
				
					|  |  |  | "--smart-case", | 
			
		
	
		
			
				
					|  |  |  | "--hidden", | 
			
		
	
		
			
				
					|  |  |  | } | 
			
		
	
		
			
				
					|  |  |  | }) | 
			
		
	
		
			
				
					|  |  |  | end, | 
			
		
	
		
			
				
					|  |  |  | entry_maker = make_entry.gen_from_vimgrep(opts), | 
			
		
	
		
			
				
					|  |  |  | cwd = opts.cwd | 
			
		
	
		
			
				
					|  |  |  | }) | 
			
		
	
		
			
				
					|  |  |  |  | 
			
		
	
		
			
				
					|  |  |  | pickers.new(opts, { | 
			
		
	
		
			
				
					|  |  |  | debounce = 100, | 
			
		
	
		
			
				
					|  |  |  | prompt_title = "Multi Grep", | 
			
		
	
		
			
				
					|  |  |  | finder = finder, | 
			
		
	
		
			
				
					|  |  |  | previewer = conf.grep_previewer(opts), | 
			
		
	
		
			
				
					|  |  |  | sorter = require("telescope.sorters").empty(), | 
			
		
	
		
			
				
					|  |  |  | }):find() | 
			
		
	
		
			
				
					|  |  |  | end | 
			
		
	
		
			
				
					|  |  |  |  | 
			
		
	
		
			
				
					|  |  |  | return M |