banner = ['TeXUtil ', 'version 9.1.0', '1997-2005', 'PRAGMA ADE/POD']
$: << File.expand_path(File.dirname($0)) ; $: << File.join($:.last,'lib') ; $:.uniq!
require 'base/switch'
require 'base/logger'
require 'base/file'
require 'base/texutil'
class Commands
include CommandBase
def references
filename = @commandline.argument('first')
if not filename.empty? and FileTest.file?(File.suffixed(filename,'tuo')) then
if tu = TeXUtil::Converter.new(logger) and tu.loaded(filename) then
tu.saved if tu.processed
end
end
end
def main
if @commandline.arguments.length>0 then
references
else
help
end
end
def purgefiles
system("texmfstart ctxtools --purge
end
def purgeallfiles
system("texmfstart ctxtools --purge --all
end
def documentation
system("texmfstart ctxtools --document
end
def analyzefile
system("texmfstart pdftools --analyze
end
def filterpages
system("texmfstart ctxtools --purge
end
def figures
report("this code is not yet converted from perl to ruby")
end
def logfile
report("this code is not yet converted from perl to ruby")
end
end
logger = Logger.new(banner.shift)
commandline = CommandLine.new
commandline.registeraction('references', 'convert tui file into tuo file')
commandline.registeraction('figures', 'generate figure dimensions file')
commandline.registeraction('logfile', 'filter essential log messages')
commandline.registeraction('purgefiles', 'remove most temporary files')
commandline.registeraction('purgeallfiles', 'remove all temporary files')
commandline.registeraction('documentation', 'generate documentation file from source')
commandline.registeraction('analyzefile', 'analyze pdf file')
commandline.registeraction('filterpages')
commandline.registeraction('help')
commandline.registeraction('version')
commandline.registerflag('verbose')
commandline.expand
Commands.new(commandline,logger,banner).send(commandline.action || 'main')