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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
|
-- Global "constants" for texdoc.
--[[
Copyright 2008, 2009 Manuel Pégourié-Gonnard
Distributed under the terms of the GNU GPL version 3 or later.
See texdoc.tlu for details.
--]]
local L = {}
load_env(L, {
'setmetatable', 'next', 'assert', 'error',
'arg',
'C',
})
-- progname and version
fullname = arg[0]
progname = 'texdoc'
version = '0.66'
-- make sure to update setup_config_from_cl() accordingly
-- and set a default value in setup_config_from_defaults() if relevant
usage_msg = [[
Usage: texdoc [OPTION]... [NAME]...
Try to find appropriate TeX documentation for the specified NAME(s).
The default (view mode) is to display the documentation.
With no NAME, print information about texdoc (--help, --version, --files).
-h, --help Print this help message.
-V, --version Print the version number.
-f, --files Print the list of configuration files used.
-w, --view Use view mode: start a viewer. (default)
-m, --mixed Use mixed mode (view or list).
-l, --list Use list mode: show a list of results.
-s, --showall Use showall mode: show also "bad" results.
-M, --machine Machine-readable output (list or showall modes).
-a, --alias Use the alias table. (default)
-A, --noalias Don't use the alias table.
-i, --interact Use interactive menus. (default)
-I, --nointeract Use plain lists, no interaction required.
-q, --quiet Suppress warnings and most error messages.
-v, --verbose Print additional information (eg, viewer command).
-d, --debug[=list] Print debug info for selected items (default: all).
Environment: PAGER, BROWSER, PDFVIEWER, PSVIEWER, DVIVIEWER.
Files: <texmf>/texdoc/texdoc.cnf, see output of the --files option.
Homepage: http://tug.org/texdoc/
Manual: displayed by `texdoc texdoc'.]]
error_msg = [[
Try `texdoc --help' for a short help, `texdoc texdoc' for the user manual.]]
notfound_msg = [[
Sorry, no documentation found for PKGNAME.
If you are unsure about the name, try searching CTAN's TeX catalogue at
http://ctan.org/search.html#byDescription.]]
notfound_msg_ph = 'PKGNAME'
known_options = {
'viewer_.*',
'mode',
'interact_switch',
'machine_switch',
'alias_switch',
'ext_list',
'badext_list',
'verbosity_level',
'debug_list',
'lastfile_switch',
'rm_dir',
'rm_file',
'unzip_.*',
'zipext_list',
}
err_priority = {
error = 1,
warning = 2,
info = 3,
}
min_verbosity='0'
max_verbosity='3'
def_verbosity='2'
exit_ok = 0
--exit_error = 1 -- apparently hard-coded in Lua
exit_usage = 2
known_debugs = {
version = {},
files = {},
config = {'files'},
view = {},
texdocs = {},
score = {},
}
place_holder = '%%s' -- used for viewer commands
-- make C a proxy to the local environment
assert(next(C) == nil,
'Internal error: table of constants should be empty at this point')
setmetatable(C, {
__index = L,
__newindew = function ()
error('Internal error: attempt to modify a constant.')
end
})
|