blob: e16f2e4eb1a772a5ba1cd11ff90cdea9ef93ec8d (
plain)
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
|
#!/usr/bin/env texlua
-- texdoc.tlu: the main program of texdoc
--
-- The TeX Live Team, GPLv3, see texdoclib.tlu for details
-- Note: we keep this file small as much as possible so that make it easier
-- to install a new version of texdoc in TEXMFHOME.
local lfs = require 'lfs'
local kpse = require 'kpse'
-- setup kpse library
kpse.set_program_name(arg[-1], 'texdoc')
-- get realpath of this file
local function realpath(p)
if os.type == 'unix' then
local e = os.execute('which realpath >/dev/null 2>&1')
if e == 0 then
local h = io.popen(string.format("realpath '%s'", p))
local r = h:read('*a')
h:close()
return r:gsub('\n$', '')
end
end
return ''
end
local file = realpath(arg[0])
-- if the file is not in TEXMFMAIN, set temporal TEXMFAUXTREES and TEXMFDIST
local texmf = file:match('^(.*/texmf[^/]*)/scripts/texdoc/texdoc.tlu$')
if texmf ~= nil then
if texmf ~= kpse.var_value('TEXMFMAIN') then
io.stderr:write('Info: ' ..
'Running Texdoc not installed in the current TEXMFMAIN.\n')
os.setenv('TEXMFAUXTREES', texmf .. ',')
os.setenv('TEXMFDIST', ',')
end
end
-- load the library and execute
local texdoc = require 'texdoclib'
assert(texdoc.cli, 'Internal error: Texdoc is not installed properly.')
texdoc.cli.exec()
-- vim: ft=lua:
|