sloth-flake.nvim/lua/sloth-flake/command/list.lua

30 lines
765 B
Lua

local Dep = require 'sloth-flake.dep'
local utils = require 'sloth-flake.utils'
return function(args)
local filter = args[1] or "all"
local deps = vim.iter(Dep.all()):map(function(_, dep)
return dep:name()
end)
if filter == "all" then
-- Nothing to do
elseif filter == "loaded" then
deps = deps:filter(function(dep)
return Dep.get(dep):is_loaded()
end)
elseif filter == "notloaded" then
deps = deps:filter(function(dep)
return not Dep.get(dep):is_loaded()
end)
else
utils.error([[No Sloth list filter "%s".]], cmd)
utils.error("Filters are: all, loaded, notloaded")
return
end
deps = deps:totable()
table.sort(deps)
for _, dep in ipairs(deps) do
print(string.format("- %s", dep))
end
end