mirror of
				https://github.com/sammy-ette/Hilbish
				synced 2025-08-10 02:52:03 +00:00 
			
		
		
		
	refactor: automatically load all nature commands
This commit is contained in:
		
							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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user