mirror of
https://github.com/zoriya/telescope.nvim.git
synced 2026-06-07 20:51:07 +00:00
feat: add some new items and make mappings easier
This commit is contained in:
@@ -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()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user