#!/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: