diff options
| author | TJ DeVries <devries.timothyj@gmail.com> | 2020-09-04 09:49:10 -0400 |
|---|---|---|
| committer | TJ DeVries <devries.timothyj@gmail.com> | 2020-09-04 09:49:10 -0400 |
| commit | 14310ee6b1f40425ba854d6ddc6374960fdf81ca (patch) | |
| tree | c6ea9c7a2acb62f853e91b4d1544b899a8af9f3e /lua/telescope/builtin.lua | |
| parent | 996f69465ed51856aa18093d88795fae2b8565f4 (diff) | |
fix: Don't push past midnight. You'll make clason's stuff break :/
Diffstat (limited to 'lua/telescope/builtin.lua')
| -rw-r--r-- | lua/telescope/builtin.lua | 50 |
1 files changed, 33 insertions, 17 deletions
diff --git a/lua/telescope/builtin.lua b/lua/telescope/builtin.lua index 7f4c72d..f96fa97 100644 --- a/lua/telescope/builtin.lua +++ b/lua/telescope/builtin.lua @@ -33,13 +33,18 @@ local builtin = {} builtin.git_files = function(opts) opts = opts or {} + opts.entry_maker = opts.entry_maker or make_entry.gen_from_file(opts) + if opts.cwd then + opts.cwd = vim.fn.expand(opts.cwd) + end + pickers.new(opts, { prompt = 'Git File', finder = finders.new_oneshot_job( { "git", "ls-files", "-o", "--exclude-standard", "-c" }, - make_entry.gen_from_file(opts) + opts ), - previewer = previewers.cat, + previewer = previewers.cat.new(opts), sorter = sorters.get_fuzzy_file(), }):find() end @@ -63,13 +68,10 @@ builtin.live_grep = function(opts) pickers.new(opts, { prompt = 'Live Grep', finder = live_grepper, - previewer = previewers.vimgrep, + previewer = previewers.vimgrep.new(opts), }):find() end --- TODO: document_symbol --- TODO: workspace_symbol - builtin.lsp_references = function(opts) opts = opts or {} opts.shorten_path = utils.get_default(opts.shorten_path, true) @@ -93,12 +95,14 @@ builtin.lsp_references = function(opts) results = locations, entry_maker = make_entry.gen_from_quickfix(opts), }, - previewer = previewers.qflist, + previewer = previewers.qflist.new(opts), sorter = sorters.get_norcalli_sorter(), }):find() end builtin.lsp_document_symbols = function(opts) + opts = opts or {} + local params = vim.lsp.util.make_position_params() local results_lsp = vim.lsp.buf_request_sync(0, "textDocument/documentSymbol", params) @@ -122,12 +126,15 @@ builtin.lsp_document_symbols = function(opts) results = locations, entry_maker = make_entry.gen_from_quickfix(opts) }, - previewer = previewers.vim_buffer, + previewer = previewers.vim_buffer.new(opts), sorter = sorters.get_norcalli_sorter(), }):find() end builtin.lsp_workspace_symbols = function(opts) + opts = opts or {} + opts.shorten_path = utils.get_default(opts.shorten_path, true) + local params = {query = opts.query or ''} local results_lsp = vim.lsp.buf_request_sync(0, "workspace/symbol", params, 1000) @@ -151,7 +158,7 @@ builtin.lsp_workspace_symbols = function(opts) results = locations, entry_maker = make_entry.gen_from_quickfix(opts) }, - previewer = previewers.qflist, + previewer = previewers.qflist.new(opts), sorter = sorters.get_norcalli_sorter(), }):find() end @@ -169,7 +176,7 @@ builtin.quickfix = function(opts) results = locations, entry_maker = make_entry.gen_from_quickfix(opts), }, - previewer = previewers.qflist, + previewer = previewers.qflist.new(opts), sorter = sorters.get_norcalli_sorter(), }):find() end @@ -192,36 +199,42 @@ builtin.loclist = function(opts) results = locations, entry_maker = make_entry.gen_from_quickfix(opts), }, - previewer = previewers.qflist, + previewer = previewers.qflist.new(opts), sorter = sorters.get_norcalli_sorter(), }):find() end +-- Special keys: +-- opts.search -- the string to search. builtin.grep_string = function(opts) opts = opts or {} -- TODO: This should probably check your visual selection as well, if you've got one local search = opts.search or vim.fn.expand("<cword>") + opts.entry_maker = opts.entry_maker or make_entry.gen_from_vimgrep(opts) + pickers.new(opts, { prompt = 'Find Word', finder = finders.new_oneshot_job( flatten { vimgrep_arguments, search}, - make_entry.gen_from_vimgrep(opts) + opts ), - previewer = previewers.vimgrep, + previewer = previewers.vimgrep.new(opts), sorter = sorters.get_norcalli_sorter(), }):find() end builtin.oldfiles = function(opts) + opts = opts or {} + pickers.new(opts, { prompt = 'Oldfiles', finder = finders.new_table(vim.tbl_filter(function(val) return 0 ~= vim.fn.filereadable(val) end, vim.v.oldfiles)), sorter = sorters.get_fuzzy_file(), - previewer = previewers.cat, + previewer = previewers.cat.new(opts), }):find() end @@ -247,6 +260,7 @@ builtin.command_history = function(opts) -- TODO: Find a way to insert the text... it seems hard. -- map('i', '<C-i>', actions.insert_value, { expr = true }) + -- Please add the default mappings for me for the rest of the keys. return true end, @@ -285,7 +299,7 @@ builtin.builtin = function(opts) results = objs, entry_maker = make_entry.gen_from_quickfix(opts), }, - previewer = previewers.qflist, + previewer = previewers.qflist.new(opts), sorter = sorters.get_norcalli_sorter(), }):find() end @@ -313,13 +327,15 @@ builtin.fd = function(opts) cwd = vim.fn.expand(cwd) end + opts.entry_maker = opts.entry_maker or make_entry.gen_from_file(opts) + pickers.new(opts, { prompt = 'Find Files', finder = finders.new_oneshot_job( {fd_string}, - make_entry.gen_from_file(opts) + opts ), - previewer = previewers.cat, + previewer = previewers.cat.new(opts), sorter = sorters.get_fuzzy_file(), }):find() end |
