forked from latex3/l3build
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathl3build-help.lua
More file actions
93 lines (79 loc) · 2.41 KB
/
l3build-help.lua
File metadata and controls
93 lines (79 loc) · 2.41 KB
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-2026 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-2026 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