feat: add some new items and make mappings easier
This commit is contained in:
47
media/demo_script.lua
Normal file
47
media/demo_script.lua
Normal file
@@ -0,0 +1,47 @@
|
||||
local finders = require('telescope.finders')
|
||||
local previewers = require('telescope.previewers')
|
||||
local pickers = require('telescope.pickers')
|
||||
local sorters = require('telescope.sorters')
|
||||
|
||||
-- Get all the items from v:oldfiles that are valid files
|
||||
local valid_oldfiles = vim.tbl_filter(function(val)
|
||||
return 0 ~= vim.fn.filereadable(val)
|
||||
end, vim.v.oldfiles)
|
||||
|
||||
-- print(vim.inspect(valid_oldfiles))
|
||||
-- => {
|
||||
-- "/home/tj/blah.txt",
|
||||
-- "/home/tj/another_dir/file.py",
|
||||
-- ...
|
||||
-- }
|
||||
|
||||
-- Create a finder from a Lua list.
|
||||
local oldfiles_finder = finders.new_table(valid_oldfiles)
|
||||
|
||||
-- Get a pre-defined sorter.
|
||||
-- Sorters return a "score" for each "Entry" found by a finder.
|
||||
--
|
||||
-- This sorter is optimized to best find files in a fuzzy manner.
|
||||
local oldfiles_sorter = sorters.get_fuzzy_file()
|
||||
|
||||
-- Get a pre-defined previewer.
|
||||
-- Previewers take the currently selected entry,
|
||||
-- and put a preview of it in a floating window
|
||||
local oldfiles_previewer = previewers.cat
|
||||
|
||||
-- Create and run a Picker.
|
||||
-- Pickers are the main entry point to telescope.
|
||||
-- They manage the interactions between:
|
||||
-- Finder,
|
||||
-- Sorter,
|
||||
-- Previewer
|
||||
--
|
||||
-- And provide the UI for the user.
|
||||
pickers.new {
|
||||
prompt = 'Oldfiles',
|
||||
finder = oldfiles_finder,
|
||||
sorter = oldfiles_sorter,
|
||||
previewer = oldfiles_previewer,
|
||||
}:find()
|
||||
|
||||
|
||||
30
media/demo_script_2.lua
Normal file
30
media/demo_script_2.lua
Normal file
@@ -0,0 +1,30 @@
|
||||
local finders = require('telescope.finders')
|
||||
local previewers = require('telescope.previewers')
|
||||
local pickers = require('telescope.pickers')
|
||||
|
||||
-- Create a new finder.
|
||||
-- This finder, rather than taking a Lua list,
|
||||
-- generates a shell command that should be run.
|
||||
--
|
||||
-- Each line of the shell command is converted to an entry,
|
||||
-- and is possible to preview with builtin previews.
|
||||
--
|
||||
-- In this example, we use ripgrep to search over your entire directory
|
||||
-- live as you type.
|
||||
local live_grepper = finders.new_job(function(prompt)
|
||||
if not prompt or prompt == "" then
|
||||
return nil
|
||||
end
|
||||
|
||||
return { 'rg', "--vimgrep", prompt}
|
||||
end)
|
||||
|
||||
-- Create and run the Picker.
|
||||
--
|
||||
-- NOTE: No sorter is needed to be passed.
|
||||
-- Results will be returned in the order they are received.
|
||||
pickers.new({
|
||||
prompt = 'Live Grep',
|
||||
finder = live_grepper,
|
||||
previewer = previewers.vimgrep,
|
||||
}):find()
|
||||
Reference in New Issue
Block a user