SyntaxHighlight GeSHi

From KevinWiki

Jump to: navigation, search

Install SyntaxHighlight GeSHi

# In the directory where the wiki is installed.
$ cd extensions 
$ sudo svn co http://svn.wikimedia.org/svnroot/mediawiki/trunk/extensions/SyntaxHighlight_GeSHi 

$ cd SyntaxHighlight_GeSHi 
$ sudo svn co http://geshi.svn.sourceforge.net/svnroot/geshi/branches/RELEASE_1_0_X_STABLE/geshi-1.0.X/src/ geshi 

-Add the following line to LocalSettings.php

require_once("extensions/SyntaxHighlight_GeSHi/SyntaxHighlight_GeSHi.php");


This is for editing the colour of highlighted java code generated by Extension:SyntaxHighlight GeSHi

Modification

  • Open the file java5.php under geshi/geshi directory.
  • Change this
   'COMMENT_REGEXP' => array(
       //Import and Package directives (Basic Support only)
       '2 => '/(?:(?<=import[\\n\\s])|(?<=package[\\n\\s]))[\\n\\s]*([a-zA-Z0-9_]+\\.)*([a-zA-Z0-9_]+|\*)(?=[\n\s;])/i'),

to

   'COMMENT_REGEXP' => array(
       // javadoc comments
       2 => '#/\*\*(?!\*).*\*/#sU',
       //Import and Package directives (Basic Support only)
       3 => '/(?:(?<=import[\\n\\s])|(?<=package[\\n\\s]))[\\n\\s]*([a-zA-Z0-9_]+\\.)*([a-zA-Z0-9_]+|\*)(?=[\n\s;])/i'),


  • Change this
       'KEYWORDS' => array(
           1 => 'color: #000000;  font-weight: bold;',
           2 => 'color: #000000; font-weight: bold;',
           3 => 'color: #006600; font-weight: bold;',
           4 => 'color: #006600; font-weight: bold;',

to

           1 => 'color: #7F0058;  font-weight: bold;',
           2 => 'color: #7F0058; font-weight: bold;',
           3 => 'color: #7F0058; font-weight: bold;',
           4 => 'color: #7F0058; font-weight: bold;',


  • Change this
       'COMMENTS' => array(
           1 => 'color: #666666; font-style: italic;',
           2 => 'color: #006699;',
           'MULTI' => 'color: #666666; font-style: italic;'
           ),

to

       'COMMENTS' => array(
           1 => 'color: #666666; font-style: italic;',
           1 => 'color: #3F8088;', // //
           2 => 'color: #3366BB;', // /** */
           'MULTI' => 'color: #477B5B;'//#67987E;' // /* */
           ),

Test

  • Now it has this kind of syntax highlight which is similar to the one from Eclipse.
<source lang="java5">
/**
 * @author Kevin
 * @version 1.0
 */
public class Person
{
    /*
     * the name of Person
     */
    private String name;

    /**
     * Constructs Person object with the given name.
     * @param name the given name.
     */
    public Person(name)
    {
        // sets the name of person.
        this.name = name;
    }

    /**
     * Returns the name of person.
     * @return the name of person.
     */
    public String getName()
    {
        /* test */
        return name;
    }
}
</source>
/**
 * @author Kevin
 * @version 1.0
 */
public class Person
{
    /*
     * the name of Person
     */
    private String name;
 
    /**
     * Constructs Person object with the given name.
     * @param name the given name.
     */
    public Person(name)
    {
        // sets the name of person.
        this.name = name;
    }
 
    /**
     * Returns the name of person.
     * @return the name of person.
     */
    public String getName()
    {
        /* test */
        return name;
    }
}
Personal tools