nitc :: CmdManFile :: defaultinit
# Cmd that finds the man file related to an `mentity`
class CmdManFile
super CmdEntity
# Man file
var file: nullable String = null
redef fun init_command do
var res = super
if not res isa CmdSuccess then return res
var mentity = self.mentity.as(not null)
var mpackage = null
if mentity isa MPackage then
mpackage = mentity
else if mentity isa MGroup then
mpackage = mentity.mpackage
else if mentity isa MModule then
mpackage = mentity.mpackage
end
if mpackage == null then return new WarningNoManFile(mentity)
var source_file = mpackage.location.file
if source_file == null then return new WarningNoManFile(mentity)
var man_dir = source_file.filename / "man"
if not man_dir.file_exists then return new WarningNoManFile(mentity)
var man_file = null
for file in man_dir.files do
if not file.has_prefix(mentity.name) then continue
man_file = man_dir / file
end
if man_file == null then return new WarningNoManFile(mentity)
self.file = man_file
return res
end
end
src/doc/commands/commands_main.nit:197,1--237,3