mirror of https://github.com/Hilbis/Hilbish
refactor: automatically load all nature commands
parent
59cec0ffa5
commit
959030f70d
|
@ -1,8 +1,19 @@
|
|||
-- Add command builtins
|
||||
require 'nature.commands.cd'
|
||||
require 'nature.commands.cdr'
|
||||
require 'nature.commands.doc'
|
||||
require 'nature.commands.exit'
|
||||
require 'nature.commands.disown'
|
||||
require 'nature.commands.fg'
|
||||
require 'nature.commands.bg'
|
||||
local fs = require 'fs'
|
||||
|
||||
-- explanation: this specific function gives to us info about
|
||||
-- the currently running source. this includes a path to the
|
||||
-- source file (info.source)
|
||||
-- we will use that to automatically load all commands by reading
|
||||
-- all the files in this dir and just requiring it.
|
||||
local info = debug.getinfo(1)
|
||||
local commandDir = fs.dir(info.source)
|
||||
if commandDir == '.' then return end
|
||||
|
||||
local commands = fs.readdir(commandDir)
|
||||
for _, command in ipairs(commands) do
|
||||
local name = command:gsub('%.lua', '') -- chop off extension
|
||||
if name ~= 'init' then
|
||||
-- skip this file (for obvious reasons)
|
||||
require('nature.commands.' .. name)
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue