File

tools/tb2err @ 13015:46c05c2e34f7

moduleapi: Add module:once() to execute a function after module load/startup It is a common pattern for modules to do something like check for prosody.start_time, and execute code immediately if it is present, or wait for the server-started event if it isn't yet. For example, this allows you to run code after all other modules/hosts have been loaded, that are going to be loaded. Such code can now be replaced with a simple call to this method.
author Matthew Wild <mwild1@gmail.com>
date Sat, 01 Apr 2023 11:59:50 +0100
parent 11191:13e2ac7b5798
child 13063:414952def2d3
line wrap: on
line source

#!/usr/bin/env lua-any
-- Lua-Versions: 5.3 5.2 5.1
-- traceback to errors.err for vim -q
local path_sep = package.config:sub(1,1);
for line in io.lines() do
	local src, err = line:match("%s*(%S+)(:%d+: .*)")
	if src then
		src = src:gsub("\\", path_sep);
		local cut = src:match("/()core/")
			or src:match("/()net/")
			or src:match("/()util/")
			or src:match("/()modules/")
			or src:match("/()plugins/")
			or src:match("/()prosody[ctl]*$") 
		if cut then
			src = src:sub(cut);
		end
		src = src:gsub("^modules/", "plugins/")
		io.write(src, err, "\n");
	end
end