30 lines
759 B
Lua
30 lines
759 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
|