Difference between revisions of "User:Paxed/src geshi test"

From NetHackWiki
Jump to navigation Jump to search
m (more pondering)
(explain and link.)
Line 5: Line 5:
 
*Added <tt>lineid</tt> to the <tt><nowiki><syntaxhighlight></nowiki></tt>.
 
*Added <tt>lineid</tt> to the <tt><nowiki><syntaxhighlight></nowiki></tt>.
 
*Edited geshi.php to output the id without the dash before the number. (So line number hrefs are <tt>#line1234</tt>, to keep compatible with current ones)
 
*Edited geshi.php to output the id without the dash before the number. (So line number hrefs are <tt>#line1234</tt>, to keep compatible with current ones)
 +
*Fixed a geshi bug where line ids did not obey line numbering.
 +
*Added <nowiki><mixedsyntaxhighlight></nowiki>-tag, see [[User:Paxed/src geshi test2]]. It accepts the same parameters as <nowiki><syntaxhighlight></nowiki>, but uses syntax highlighting for each line that match "<nowiki> <span id="line1234">1234. blahblah</span></nowiki>". (Note the space at the beginning of that line)
  
 
TODO:
 
TODO:

Revision as of 21:42, 19 November 2010

This is a test of tiny highlight-extension modification:

Done:

  • Added lineid to the <syntaxhighlight>.
  • Edited geshi.php to output the id without the dash before the number. (So line number hrefs are #line1234, to keep compatible with current ones)
  • Fixed a geshi bug where line ids did not obey line numbering.
  • Added <mixedsyntaxhighlight>-tag, see User:Paxed/src geshi test2. It accepts the same parameters as <syntaxhighlight>, but uses syntax highlighting for each line that match " <span id="line1234">1234. blahblah</span>". (Note the space at the beginning of that line)

TODO:

  • GeshiThe extension should not strip out empty lines at the end of the highlighting block.
  • nethack function url links? (need to add the nethack functions and a lookup url ($geshi->add_keyword(), $geshi->add_keyword_group()))
  • Des-file format? (tricky if we want to color both the syntax and the MAP characters)
    • Could be solved by colorizing MAPs separate from other parts, or by using Geshi devel version.

/* Called in several places - may produce output */
/* eg ship_object() and dropy() -> sellobj() both produce output */
void
dropx(obj)
register struct obj *obj;
{
#ifndef GOLDOBJ
        if (obj->oclass != COIN_CLASS || obj == invent) freeinv(obj);
#else
        /* Ensure update when we drop gold objects */
        if (obj->oclass == COIN_CLASS) flags.botl = 1;
        freeinv(obj);
#endif
        if (!u.uswallow) {
            if (ship_object(obj, u.ux, u.uy, FALSE)) return;
            if (IS_ALTAR(levl[u.ux][u.uy].typ))
                doaltarobj(obj); /* set bknown */
        }
        dropy(obj);
}