You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
92 lines
1.8 KiB
92 lines
1.8 KiB
local getopt = require("getopt") |
|
|
|
local eou = require("utils.eolian_extras") |
|
|
|
local exit = false |
|
local legacy = false |
|
local pargs |
|
|
|
getopt.parse { |
|
usage = "Usage: %prog [OPTIONS] [path_to_eo_files]", |
|
args = arg, |
|
header = [[ |
|
Print all non-legacy C names generated in header files for the given |
|
path. If no path is specified, system-wide eo files are used instead.]], |
|
descs = { |
|
{ "h", "help", false, help = "Show this message.", |
|
callback = getopt.help_cb(io.stdout) |
|
}, |
|
{ "l", "legacy", false, help = "Print only legacy names intead." } |
|
}, |
|
error_cb = function(parser, msg) |
|
io.stderr:write(msg, "\n") |
|
getopt.help(parser, io.stderr) |
|
exit = true |
|
end, |
|
done_cb = function(parser, opts, args) |
|
if opts["h"] then |
|
exit = true |
|
end |
|
if opts["l"] then |
|
legacy = true |
|
end |
|
pargs = args |
|
end |
|
} |
|
|
|
if exit then |
|
return true |
|
end |
|
|
|
local eos = eou.new() |
|
|
|
if #pargs >= 1 then |
|
eos:directory_add(pargs[1]) |
|
else |
|
eos:system_directory_add() |
|
end |
|
|
|
eos:all_eot_files_parse() |
|
eos:all_eo_files_parse() |
|
|
|
print("API functions:\n") |
|
for i, n in ipairs(eou.get_c_functions(eos, legacy)) do |
|
print(n) |
|
end |
|
|
|
print("\nEvents:\n") |
|
for i, n in ipairs(eou.get_c_events(eos, legacy)) do |
|
print(n) |
|
end |
|
|
|
print("\nFunction pointers:\n") |
|
for i, n in ipairs(eou.get_c_function_pointers(eos, legacy)) do |
|
print(n) |
|
end |
|
|
|
print("\nAliases:\n") |
|
for i, n in ipairs(eou.get_c_aliases(eos)) do |
|
print(n) |
|
end |
|
|
|
print("\nStructs:\n") |
|
for i, n in ipairs(eou.get_c_structs(eos)) do |
|
print(n) |
|
end |
|
|
|
print("\nEnums:\n") |
|
for i, n in ipairs(eou.get_c_enums(eos)) do |
|
print(n) |
|
end |
|
|
|
print("\nGlobals:\n") |
|
for i, n in ipairs(eou.get_c_globals(eos)) do |
|
print(n) |
|
end |
|
|
|
print("\nConstants:\n") |
|
for i, n in ipairs(eou.get_c_constants(eos)) do |
|
print(n) |
|
end |
|
|
|
return true
|
|
|