From c88755024b12d75eb2e14c841015aa6f274c7ff5 Mon Sep 17 00:00:00 2001 From: Manuel Pégourié-Gonnard Date: Tue, 15 Jul 2008 16:59:26 +0000 Subject: Better 'not found' message, better usage testing, now using exit codes. git-svn-id: svn://tug.org/texlive/trunk@9579 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf/scripts/texlive/texdoc.tlu | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) (limited to 'Master') diff --git a/Master/texmf/scripts/texlive/texdoc.tlu b/Master/texmf/scripts/texlive/texdoc.tlu index d7a3e655cd5..c01943599a1 100755 --- a/Master/texmf/scripts/texlive/texdoc.tlu +++ b/Master/texmf/scripts/texlive/texdoc.tlu @@ -21,15 +21,16 @@ Public domain.]] progname = 'texdoc' version = '0.31' usage_msg = [[ -Usage: texdoc -h, --help | -v, --version | [option] name +Usage: texdoc -h, --help | -v, --version | [option] name(s) -h|--help Show this help. -V|--version Print the version of the program. -v|--verbose Show the command being used to display the documentation. -l|--list List matching files, do not start a viewer. -s|--search Search for name as a pattern.]] notfound_msg = [[ -Sorry, I'm not smart enough to find documentation for PKGNAME. Please see -http://tug.org/pkginfo/PKGNAME for information about the package.]] +Sorry, no documentation found for PKGNAME. +Please try texdoc -s PKGNAME or even texdoc -S PKGNAME +or search the TeX Catalogue at http://ctan.org/search.html#byDescription.]] place_holder = '%%s' -- used for viewer commands --[[ zip/gz support ]] @@ -52,10 +53,16 @@ function print_debug (message) end end +-- [[ exit codes ]] +-- 0 OK +-- 1 Usage +-- 2 No doc found for at least one arg +-- ? Should do something for viewer problems etc + -- must have at least one arg if not arg[1] then print (usage_msg) - return + os.exit(1) end -- reading and setting options @@ -78,6 +85,12 @@ while table.maxn(arg) > 0 and string.match(arg[1],'^%-') do end end +-- must have at least one arg left after eating up the options +if not arg[1] then + print (usage_msg) + os.exit(1) +end + --[[ function definitions ]] function list_iter (t) local i = 0 @@ -483,6 +496,7 @@ function try_viewing () end -- [[ the main loop ]] +exit_code = 0 for docname in list_iter (arg) do if alias[docname] then print ("texdoc info: "..docname.." aliased to "..alias[docname]) @@ -508,13 +522,14 @@ for docname in list_iter (arg) do end -- found a filename with that extension or not? end -- for ext end -- if construct "case mode in" - if not docfound then -- apologize if we didn't suceed + if not docfound then -- apologize if we didn't succeed + exit_code = 2 msg = string.gsub(notfound_msg, 'PKGNAME', docname) print (msg) -- to get rid of gsub's 2nd value end end -- for docname in arg --- cleanup_tmpdir() +os.exit(exit_code) -- Local Variables: -- lua-indent-level: 4 -- cgit v1.2.3