void HelpWriterContext::Impl::processMarkup(const std::string &text,
                                            WrapperInterface  *wrapper) const
{
    std::string result(text);
    for (ReplaceList::const_iterator i = replacements_.begin();
         i != replacements_.end(); ++i)
    {
        result = replaceAll(result, i->search, i->replace);
    }
    switch (state_->format_)
    {
        case eHelpOutputFormat_Console:
        {
            result = repall(result, sandrTty);
            result = replaceLinks(result);
            return wrapper->wrap(result);
        }
        case eHelpOutputFormat_Man:
        {
            // Needs to be done first to avoid '-' -> '\-' messing up the links.
            result = replaceLinks(result);
            result = repall(result, sandrMan);
            return wrapper->wrap(result);
        }
        case eHelpOutputFormat_Html:
        {
            result = repall(result, sandrHtml);
            result = replaceLinks(result);
            return wrapper->wrap(result);
        }
        default:
            GMX_THROW(InternalError("Invalid help output format"));
    }
}
void HelpWriterContext::Impl::processMarkup(const std::string &text,
                                            IWrapper          *wrapper) const
{
    std::string result(text);
    for (ReplaceList::const_iterator i = replacements_.begin();
         i != replacements_.end(); ++i)
    {
        result = replaceAll(result, i->search, i->replace);
    }
    switch (state_->format_)
    {
        case eHelpOutputFormat_Console:
        {
            const int   baseFirstLineIndent = wrapper->settings().firstLineIndent();
            const int   baseIndent          = wrapper->settings().indent();
            result = repall(result, sandrTty);
            result = replaceLinks(result);
            std::string          paragraph;
            paragraph.reserve(result.length());
            RstParagraphIterator iter(result);
            while (iter.nextParagraph())
            {
                iter.getParagraphText(&paragraph);
                wrapper->settings().setFirstLineIndent(baseFirstLineIndent + iter.firstLineIndent());
                wrapper->settings().setIndent(baseIndent + iter.indent());
                wrapper->wrap(paragraph);
            }
            wrapper->settings().setFirstLineIndent(baseFirstLineIndent);
            wrapper->settings().setIndent(baseIndent);
            break;
        }
        case eHelpOutputFormat_Rst:
        {
            result = repall(result, sandrRst);
            result = replaceLinks(result);
            result = replaceAll(result, "[REF]", "");
            result = replaceAll(result, "[ref]", "");
            result = removeExtraNewlinesRst(result);
            wrapper->wrap(result);
            break;
        }
        default:
            GMX_THROW(InternalError("Invalid help output format"));
    }
}
示例#3
0
static char *check_html(const char *s,const char *program, t_linkdata *links)
{
  char *buf;
  
  buf = repall(s,NSRHTML,sandrHTML);
  buf = html_xref(buf,program,links,FALSE);
  
  return buf;
}
示例#4
0
char *check_xml(const char *s,const char *program,t_linkdata *links)
{
  char *buf;
  
  buf=repall(s,NSRXML,sandrXML);
  buf=html_xref(buf,program,links,FALSE);	/* the same in html and xml */
  
  return buf;
}
示例#5
0
static char *check_wiki(const char *s,const char *program, t_linkdata *links)
{
  char *buf;
  
  buf = repall(s,NSRWIKI,sandrWiki);
  buf = html_xref(buf,program,links,TRUE);
  
  return buf;
}
示例#6
0
文件: wman.c 项目: Chadi-akel/cere
char *check_html(char *s,char *program)
{
  char *buf;
  
  buf=repall(s,NSRHTML,sandrHTML);
  buf=html_xref(buf,program);
  
  return buf;
}
void HelpLinks::addLink(const std::string &linkName,
                        const std::string &targetName,
                        const std::string &displayName)
{
    std::string replacement;
    switch (impl_->format_)
    {
        case eHelpOutputFormat_Console:
            replacement = repall(displayName, sandrTty);
            break;
        case eHelpOutputFormat_Man:
            replacement = repall(displayName, sandrMan);
            break;
        case eHelpOutputFormat_Html:
            replacement = formatString(
                        "<a href=\"%s.html\">%s</a>", targetName.c_str(),
                        repall(displayName, sandrHtml).c_str());
            break;
        default:
            GMX_RELEASE_ASSERT(false, "Output format not implemented for links");
    }
    impl_->links_.push_back(Impl::LinkItem(linkName, replacement));
}
void HelpLinks::addLink(const std::string &linkName,
                        const std::string &targetName,
                        const std::string &displayName)
{
    std::string replacement;
    switch (impl_->format_)
    {
        case eHelpOutputFormat_Console:
            replacement = repall(displayName, sandrTty);
            break;
        case eHelpOutputFormat_Rst:
            replacement = targetName;
            break;
        default:
            GMX_RELEASE_ASSERT(false, "Output format not implemented for links");
    }
    impl_->links_.push_back(Impl::LinkItem(linkName, replacement));
}
示例#9
0
char *check_tty(const char *s)
{
  return repall(s,NSRTTY,sandrTty);
}
示例#10
0
static char *check_nroff(const char *s)
{
  return repall(s,NSRNROFF,sandrNROFF);
}
示例#11
0
char *check_tex(const char *s)
{
  return repall(s,NSRTEX,sandrTeX);
}