-
Notifications
You must be signed in to change notification settings - Fork 17
/
l3build-help.lua
93 lines (79 loc) · 2.41 KB
/
l3build-help.lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
--[[
File l3build-help.lua Copyright (C) 2018-2024 The LaTeX Project
It may be distributed and/or modified under the conditions of the
LaTeX Project Public License (LPPL), either version 1.3c of this
license or (at your option) any later version. The latest version
of this license is in the file
https://www.latex-project.org/lppl.txt
This file is part of the "l3build bundle" (The Work in LPPL)
and all files in that bundle must be distributed together.
-----------------------------------------------------------------------
The development version of the bundle can be found at
https://github.com/latex3/l3build
for those people who are interested.
--]]
local insert = table.insert
local match = string.match
local rep = string.rep
local sort = table.sort
local copyright = "Copyright (C) 2014-2024 The LaTeX Project\n"
function version()
print(
"\n" ..
"l3build: A testing and building system for LaTeX\n\n" ..
"Release " .. release_date .. "\n" ..
copyright
)
end
function help()
local function setup_list(list)
local longest = 0
for k,_ in pairs(list) do
if k:len() > longest then
longest = k:len()
end
end
-- Sort the options
local t = { }
for k,_ in pairs(list) do
insert(t, k)
end
sort(t)
return longest,t
end
local scriptname = "l3build"
if not (match(arg[0], "l3build%.lua$") or match(arg[0],"l3build$")) then
scriptname = arg[0]
end
print("\nUsage: " .. scriptname .. " <target> [<options>] [<names>]")
print("")
print("Valid targets are:")
local longest,t = setup_list(target_list)
for _,k in ipairs(t) do
local target = target_list[k]
local filler = rep(" ", longest - k:len() + 1)
if target["desc"] then
print(" " .. k .. filler .. target["desc"])
end
end
print("")
print("Valid options are:")
longest,t = setup_list(option_list)
for _,k in ipairs(t) do
local opt = option_list[k]
local filler = rep(" ", longest - k:len() + 1)
if opt["desc"] then
if opt["short"] then
print(" --" .. k .. "|-" .. opt["short"] .. filler .. opt["desc"])
else
print(" --" .. k .. " " .. filler .. opt["desc"])
end
end
end
print("")
print("Full manual available via 'texdoc l3build'.")
print("")
print("Repository : https://github.com/latex3/l3build")
print("Bug tracker : https://github.com/latex3/l3build/issues")
print(copyright)
end