View the planets (#12)

* add planets viewer builtin

* Remove print statement

* Don't use fzf & echo

* Add all planets as files and refactor accordingly

* Remove planets.lua

* add the moon

* example ofe how to do this without ls everywhere

* fix rebase and update to new style

Co-authored-by: TJ DeVries <devries.timothyj@gmail.com>
This commit is contained in:
smolck
2020-09-06 22:07:51 -05:00
committed by GitHub
parent 675e240383
commit 2592586533
13 changed files with 414 additions and 0 deletions

View File

@@ -426,4 +426,45 @@ builtin.treesitter = function(opts)
}):find()
end
builtin.planets = function(opts)
opts = opts or {}
local show_pluto = opts.show_pluto or false
local sourced_file = require('plenary.debug_utils').sourced_filepath()
local base_directory = vim.fn.fnamemodify(sourced_file, ":h:h:h")
local globbed_files = vim.fn.globpath(base_directory .. '/data/memes/planets/', '*', true, true)
local acceptable_files = {}
for _, v in ipairs(globbed_files) do
if not show_pluto and v:find("pluto") then
else
table.insert(acceptable_files,vim.fn.fnamemodify(v, ':t'))
end
end
pickers.new {
prompt = 'Planets',
finder = finders.new_table {
results = acceptable_files,
entry_maker = function(line)
return {
ordinal = line,
display = line,
filename = base_directory .. '/data/memes/planets/' .. line,
}
end
},
previewer = previewers.cat.new(opts),
sorter = sorters.get_norcalli_sorter(),
attach_mappings = function(prompt_bufnr, map)
map('i', '<CR>', function()
local selection = actions.get_selected_entry(prompt_bufnr)
actions.close(prompt_bufnr)
print("Enjoy astronomy! You viewed:", selection.display)
end)
end,
}:find()
end
return builtin