-- texdoclib-const.tlu: global constants for texdoc -- -- The TeX Live team, GPLv3, see texdoclib.tlu for details -- use an empty environment that will become texdoc_env.C (see EOF) local constants = {} local kpse = kpse or require 'kpse' local os = os or require 'os' local setfenv = setfenv local texdoc_env if setfenv then -- Lua <5.2 texdoc_env = getfenv() setfenv(1, constants) else texdoc_env = _ENV _ENV = constants end -- BEGIN constants -- progname and version fullname = kpse.find_file('texdoc/texdoclib', 'lua') progname = 'Texdoc' version = '3.4' release_date = '2022-03-03' -- 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... or: texdoc [OPTION]... ACTION Try to find appropriate TeX documentation for the specified NAME(s). Alternatively, perform the given ACTION and exit. Options: -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. -i, --interact Use interactive menus. (default) -I, --nointeract Use plain lists, no interaction required. -M, --machine Machine-readable output for lists (implies -I). -q, --quiet Suppress warnings and most error messages. -v, --verbose Print additional information (e.g., viewer command). -D, --debug Activate all debug output (equal to "--debug=all"). -d LIST, --debug=LIST Activate debug output restricted to LIST. -c NAME=VALUE Set configuration item NAME to VALUE. Actions: -h, --help Print this help message. -V, --version Print the version number. -f, --files Print the list of configuration files used. --just-view FILE Display FILE, given with full path (no searching). Full manual available via `texdoc texdoc'. Website: Repository: Please email bugs to .]] copyright_msg = [[ Copyright 2008-2022 Manuel Pégourié-Gonnard, Takuto Asakura, the TeX Live Team. License GPLv3+: GNU GPL version 3 or later . This is free software: you are free to change and redistribute it.]] actions_ph = 'Actions:\n' known_options = { 'viewer_.*', 'mode', 'interact_switch', 'machine_switch', 'ext_list', 'basename_list', 'badext_list', 'badbasename_list', 'suffix_list', 'verbosity_level', 'debug_list', 'lastfile_switch', 'rm_dir', 'rm_file', 'unzip_.*', 'zipext_list', 'max_lines', 'lang', 'fuzzy_level', 'texlive_tlpdb', } error_msg = [[ Try `texdoc --help' for short help, `texdoc texdoc' for full manual.]] notfound_msg = [[ Sorry, no documentation found for "PKGNAME". If you are unsure about the name, try full-text searching on CTAN. Search form: ]] notfound_msg_ph = 'PKGNAME' -- exit codes exit_ok = 0 exit_error = 1 -- apparently hard-coded in Lua exit_usage = 2 exit_notfound = 3 err_priority = { error = 1, warning = 2, info = 3, } min_verbosity = '0' -- (nothing at all) max_verbosity = '3' def_verbosity = '2' known_debugs = { config = {'files'}, files = {}, search = {}, score = {}, texdocs = {}, tlpdb = {}, version = {}, view = {}, } -- various cache or non-cache files cache_name = 'texdoc/cache-tlpdb.lua' -- relative to TEXMFVAR data_tlpdb_name = 'texdoc/Data.tlpdb.lua' place_holder = '%%s' -- used for viewer commands -- kpse path separator kpse_sep = (os.type == 'windows') and ';' or ':' -- language codes -- Note: corrected with `find $TEXMFDIST/doc/ | awk 'match( -- $0, /(.*)-(\w{2}).pdf/, a){print a[2]}'` lang_codes = { cn = 'zh', -- Chinese (alias) cz = 'cz', -- Chech/Slovak de = 'de', -- German ee = 'et', -- Estonian en = 'en', -- English es = 'es', -- Spanish fr = 'fr', -- French it = 'it', -- Italian ja = 'ja', -- Japanese nl = 'nl', -- Dutch pl = 'pl', -- Polish ro = 'ro', -- Romanian ru = 'ru', -- Russian sr = 'sr', -- Serbian zh = 'zh', -- Chinese } -- END constants -- get our previous environment back if setfenv then setfenv(1, texdoc_env) else _ENV = texdoc_env end -- Make table C a read-only proxy to the local . -- Note this is not deep read-only: C.known_debugs is read-only, but -- C.known_debugs.version isn't, for instance. local C = {} setmetatable(C, { __index = constants, __newindew = function() error('Internal error: attempt to modify a constant.') end }) return C -- vim: ft=lua: