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