Permalink
Cannot retrieve contributors at this time
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
drunken-octo-hipster/build/luadoc/doc.lua
Go to fileThis commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
executable file
126 lines (111 sloc)
3.34 KB
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env lua | |
------------------------------------------------------------------------------- | |
-- LuaDoc launcher. | |
-- @release $Id: luadoc.lua.in,v 1.1 2008/02/17 06:42:51 jasonsantos Exp $ | |
------------------------------------------------------------------------------- | |
--local source = debug.getinfo(1).source or "" | |
--local mypath = source:match("@(.+)/[^/]+") | |
--package.path = package.path .. ";" .. mypath .. "/?.lua;" .. mypath .. "/?/init.lua" | |
require "luadoc.init" | |
------------------------------------------------------------------------------- | |
-- Print version number. | |
local function print_version () | |
print (string.format("%s\n%s\n%s", | |
luadoc._VERSION, | |
luadoc._DESCRIPTION, | |
luadoc._COPYRIGHT)) | |
end | |
------------------------------------------------------------------------------- | |
-- Print usage message. | |
local function print_help () | |
print ("Usage: "..arg[0]..[[ [options|files] | |
Generate documentation from files. Available options are: | |
-d path output directory path | |
-t path template directory path | |
-h, --help print this help and exit | |
--noindexpage do not generate global index page | |
--nofiles do not generate documentation for files | |
--nomodules do not generate documentation for modules | |
--doclet doclet_module doclet module to generate output | |
--taglet taglet_module taglet module to parse input code | |
-q, --quiet suppress all normal output | |
-v, --version print version information]]) | |
end | |
local function off_messages (arg, i, options) | |
options.verbose = nil | |
end | |
------------------------------------------------------------------------------- | |
-- Process options. TODO: use getopts. | |
-- @class table | |
-- @name OPTIONS | |
local OPTIONS = { | |
d = function (arg, i, options) | |
local dir = arg[i+1] | |
if string.sub (dir, -2) ~= "/" then | |
dir = dir..'/' | |
end | |
options.output_dir = dir | |
return 1 | |
end, | |
t = function (arg, i, options) | |
local dir = arg[i+1] | |
if string.sub (dir, -2) ~= "/" then | |
dir = dir..'/' | |
end | |
options.template_dir = dir | |
return 1 | |
end, | |
h = print_help, | |
help = print_help, | |
q = off_messages, | |
quiet = off_messages, | |
v = print_version, | |
version = print_version, | |
doclet = function (arg, i, options) | |
options.doclet = arg[i+1] | |
return 1 | |
end, | |
taglet = function (arg, i, options) | |
options.taglet = arg[i+1] | |
return 1 | |
end, | |
} | |
------------------------------------------------------------------------------- | |
local function process_options (arg) | |
local files = {} | |
local options = require "luadoc.config" | |
local i = 1 | |
while i <= #arg do | |
local argi = arg[i] | |
if string.sub (argi, 1, 1) ~= '-' then | |
table.insert (files, argi) | |
else | |
local opt = string.sub (argi, 2) | |
if string.sub (opt, 1, 1) == '-' then | |
opt = string.gsub (opt, "%-", "") | |
end | |
if OPTIONS[opt] then | |
if OPTIONS[opt] (arg, i, options) then | |
i = i + 1 | |
end | |
else | |
options[opt] = 1 | |
end | |
end | |
i = i+1 | |
end | |
return files, options | |
end | |
------------------------------------------------------------------------------- | |
-- Main function. Process command-line parameters and call luadoc processor. | |
function main (arg) | |
-- Process options | |
local argc = #arg | |
if argc < 1 then | |
print_help () | |
return | |
end | |
local files, options = process_options (arg) | |
return luadoc.main(files, options) | |
end | |
main(arg) |