Commits

Jason McKesson committed 5bbabcd

Website building works better now.
Added programlisting syntax highlighting support.

Comments (0)

Files changed (36)

 
 local mainDir = "Documents\\";
 
+--Generate the HTML files to the output directory.
+local cwd = lfs.currentdir();
+lfs.chdir(mainDir .. "Build\\");
+local BuildWebsite = assert(loadfile("BuildWebsite.lua"));
+BuildWebsite(cwd .. "\\" .. outputDir);
+lfs.chdir(cwd);
+
 --Copy the html files.
+--[=[
 local htmlDir = mainDir .. "web\\";
 local command = string.format([[xcopy "%s*" "%s" /s /c /q /r /y]], htmlDir, outputDir);
 print(command);
 os.execute(command);
+]=]
 
 --Copy the .css file.
 local cssFilename = "chunked.css";

Documents/Basics/Tutorial 00.xml

                 layer.</para>
             <para>In C++, if you wanted an object that contained an integer, a float, and a string,
                 you would create it and access it like this:</para>
-            <programlisting>struct Object
+            <programlisting language="cpp">struct Object
 {
     int anInteger;
     float aFloat;
 newObject.aString = "Some String";
 </programlisting>
             <para>In OpenGL, you would use an API that looks more like this:</para>
-            <programlisting>//Create the storage for the object
+            <programlisting language="cpp">//Create the storage for the object
 GLuint objectName;
 glGenObject(1, &amp;objectName);
 

Documents/Basics/Tutorial 01.xml

             initialization done in the <function>init</function> function.</para>
         <example>
             <title>The <function>display</function> Function</title>
-            <programlisting>glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
+            <programlisting language="cpp">glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
 glClear(GL_COLOR_BUFFER_BIT);
 
 glUseProgram(theProgram);
                 space. Before OpenGL can do this however, it must receive a list of vertices. So the
                 very first stage of the pipeline is sending triangle data to OpenGL.</para>
             <para>This is the data that we wish to transfer:</para>
-            <programlisting>const float vertexPositions[] = {
+            <programlisting language="cpp">const float vertexPositions[] = {
     0.75f, 0.75f, 0.0f, 1.0f,
     0.75f, -0.75f, 0.0f, 1.0f,
     -0.75f, -0.75f, 0.0f, 1.0f,
                 code responsible for creating the buffer object:</para>
             <example>
                 <title>Buffer Object Initialization</title>
-                <programlisting>void InitializeVertexBuffer()
+                <programlisting language="cpp">void InitializeVertexBuffer()
 {
     glGenBuffers(1, &amp;positionBufferObject);
     
                 object with random binary data. We now need to do something that tells OpenGL that
                 there is vertex data in this buffer object.</para>
             <para>We do this in the rendering code. That is the purpose of these lines:</para>
-            <programlisting>glBindBuffer(GL_ARRAY_BUFFER, positionBufferObject);
+            <programlisting language="cpp">glBindBuffer(GL_ARRAY_BUFFER, positionBufferObject);
 glEnableVertexAttribArray(0);
 glVertexAttribPointer(0, 4, GL_FLOAT, GL_FALSE, 0, 0);</programlisting>
             <para>The first function we have seen before. It simply says that we are going to use
             <para>The specifics of this function call will be discussed in later tutorials.</para>
             <para>Once OpenGL knows where to get its vertex data from, it can now use that vertex
                 data to render.</para>
-            <programlisting>glDrawArrays(GL_TRIANGLES, 0, 3);</programlisting>
+            <programlisting language="cpp">glDrawArrays(GL_TRIANGLES, 0, 3);</programlisting>
             <para>This function seems very simple on the surface, but it does a great deal. The
                 second and third parameters represent the start index and the number of indices to
                 read from our vertex data. We start at the 0th index, and read 3 vertices from it.
                 forbidden). This is what our simple vertex shader looks like:</para>
             <example>
                 <title>Vertex Shader</title>
-                <programlisting>#version 330
+                <programlisting language="glsl">#version 330
 
 layout(location = 0) in vec4 position;
 void main()
                 variable defined by every vertex shader. If you see an identifier in GLSL that
                 starts with <quote>gl_,</quote> then it must be a built-in identifier.</para>
             <para><varname>gl_Position</varname> is defined as:</para>
-            <programlisting>out vec4 gl_Position;</programlisting>
+            <programlisting language="glsl">out vec4 gl_Position;</programlisting>
             <para>Recall that the minimum a vertex shader must do is generate a clip-space position
                 for the vertex. That is what <varname>gl_Position</varname> is: it is the output
                 that represents a clip-space position.</para>
             <para>Each attribute variable, an input to a vertex shader, has an index location called
                 an <glossterm>attribute index</glossterm>. The input in this shader was defined with
                 this statement:</para>
-            <programlisting>layout(location = 0) in vec4 position;</programlisting>
+            <programlisting language="glsl">layout(location = 0) in vec4 position;</programlisting>
             <para>The layout location part assigns the attribute index of 0 to
                     <varname>position</varname>. Attribute indices must be positive numbers, and
                 there is a hardware-based limit on the number of attribute indices that can be in
                 So the tutorial's implementation of reshape is this:</para>
             <example>
                 <title>Reshaping Window</title>
-                <programlisting>void reshape (int w, int h)
+                <programlisting language="cpp">void reshape (int w, int h)
 {
     glViewport(0, 0, (GLsizei) w, (GLsizei) h);
 }</programlisting>
             <para>Our fragment shader looks like this:</para>
             <example>
                 <title>Fragment Shader</title>
-                <programlisting>#version 330
+                <programlisting language="glsl">#version 330
 
 out vec4 outputColor;
 void main()
             is the responsibility of this code:</para>
         <example>
             <title>Program Initialization</title>
-            <programlisting>void InitializeProgram()
+            <programlisting language="cpp">void InitializeProgram()
 {
     std::vector&lt;GLuint> shaderList;
     
                 <function>CreateShader</function>:</para>
         <example>
             <title>Shader Creation</title>
-            <programlisting>GLuint CreateShader(GLenum eShaderType, const std::string &amp;strShaderFile)
+            <programlisting language="cpp">GLuint CreateShader(GLenum eShaderType, const std::string &amp;strShaderFile)
 {
     GLuint shader = glCreateShader(eShaderType);
     const char *strFileData = strShaderFile.c_str();
                 <function>CreateProgram</function> function:</para>
         <example>
             <title>Program Creation</title>
-            <programlisting>GLuint CreateProgram(const std::vector&lt;GLuint> &amp;shaderList)
+            <programlisting language="cpp">GLuint CreateProgram(const std::vector&lt;GLuint> &amp;shaderList)
 {
     GLuint program = glCreateProgram();
     

Documents/Basics/Tutorial 02.xml

             one in the last tutorial. The fragment shader is very new, however:</para>
         <example>
             <title>FragPosition's Fragment Shader</title>
-            <programlisting><![CDATA[#version 330
+            <programlisting language="glsl"><![CDATA[#version 330
 
 out vec4 outputColor;
 
                 That data now looks like this:</para>
             <example>
                 <title>New Vertex Array Data</title>
-                <programlisting><![CDATA[const float vertexData[] = {
+                <programlisting language="cpp"><![CDATA[const float vertexData[] = {
      0.0f,    0.5f, 0.0f, 1.0f,
      0.5f, -0.366f, 0.0f, 1.0f,
     -0.5f, -0.366f, 0.0f, 1.0f,
                 before:</para>
             <example>
                 <title>Buffer Object Initialization</title>
-                <programlisting><![CDATA[void InitializeVertexBuffer()
+                <programlisting language="cpp"><![CDATA[void InitializeVertexBuffer()
 {
     glGenBuffers(1, &vertexBufferObject);
     
             <para>This is done as follows:</para>
             <example>
                 <title>Rendering the Scene</title>
-                <programlisting><![CDATA[void display()
+                <programlisting language="cpp"><![CDATA[void display()
 {
     glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
     glClear(GL_COLOR_BUFFER_BIT);
                     have is this:</para>
                 <example>
                     <title>Vertex Arrays</title>
-                    <programlisting><![CDATA[GLbyte *bufferObject = (void*){0.0f, 0.5f, 0.0f, 1.0f, 0.5f, -0.366f, ...};
+                    <programlisting language="cpp"><![CDATA[GLbyte *bufferObject = (void*){0.0f, 0.5f, 0.0f, 1.0f, 0.5f, -0.366f, ...};
 float *positionAttribArray[4] = (float *[4])(&(bufferObject + 0));
 float *colorAttribArray[4] = (float *[4])(&(bufferObject + 48));]]></programlisting>
                 </example>
                     as follows:</para>
                 <example>
                     <title>Draw Arrays Implementation</title>
-                    <programlisting><![CDATA[void glDrawArrays(GLenum type, GLint start, GLint count)
+                    <programlisting language="cpp"><![CDATA[void glDrawArrays(GLenum type, GLint start, GLint count)
 {
     for(GLint element = start; element < start + count; element++)
     {
             <para>Our new vertex shader looks like this:</para>
             <example>
                 <title>Multi-input Vertex Shader</title>
-                <programlisting><![CDATA[#version 330
+                <programlisting language="glsl"><![CDATA[#version 330
 
 layout (location = 0) in vec4 position;
 layout (location = 1) in vec4 color;
             <para>The new fragment shader looks like this:</para>
             <example>
                 <title>Fragment Shader with Input</title>
-                <programlisting><![CDATA[#version 330
+                <programlisting language="glsl"><![CDATA[#version 330
 
 smooth in vec4 theColor;
 

Documents/Build/BuildWebsite.lua

+
+require "lfs"
+
+local function ToUnix(convString)
+	return string.gsub(convString, "%\\", "/");
+end
+
+local data = dofile("_buildConfig.lua");
+
+local outputDir = ...;
+outputDir = outputDir or "..\\web\\";
+
+--Auto-generate the main specialization file.
+local filename = "website.xsl";
+
+local hFile = io.open(filename, "wt");
+hFile:write(
+[[<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet  
+    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
+    xmlns:s6hl="java:net.sf.xslthl.ConnectorSaxon6"
+    xmlns:xslthl="http://xslthl.sf.net"
+    extension-element-prefixes="s6hl xslthl">
+]]);
+
+hFile:write([[    <xsl:import href="]], ToUnix(data.docbookXSLBasepath .. "html\\chunkfast.xsl"), "\"/>\n");
+
+hFile:write([[    <xsl:import href="html-highlights.xsl"/>]], "\n");
+
+hFile:write([[</xsl:stylesheet> 
+]]);
+
+hFile:close();
+
+--Create the command line.
+command = {};
+command[#command + 1] = "java"
+command[#command + 1] = "-cp"
+command[#command + 1] = "\"" .. table.concat({data.saxonFilepath, data.xercesFilepath, data.xslthlFilepath}, ";") .. "\""
+command[#command + 1] = "-Djavax.xml.parsers.DocumentBuilderFactory=org.apache.xerces.jaxp.DocumentBuilderFactoryImpl"
+command[#command + 1] = "-Djavax.xml.parsers.SAXParserFactory=org.apache.xerces.jaxp.SAXParserFactoryImpl"
+command[#command + 1] = "-Dorg.apache.xerces.xni.parser.XMLParserConfiguration=org.apache.xerces.parsers.XIncludeParserConfiguration"
+command[#command + 1] = "com.icl.saxon.StyleSheet"
+command[#command + 1] = "-o"
+command[#command + 1] = "\"" .. outputDir .. "nothing.html\""
+command[#command + 1] = "\"..\\Tutorials.xml\""
+command[#command + 1] = filename
+--command[#command + 1] = "\"" .. data.docbookXSLBasepath .. "html\\chunkfast.xsl\""
+command[#command + 1] = "\"base.dir=" .. ToUnix(outputDir) .. "\""
+command[#command + 1] = "\"chunk.quietly=1\""
+command[#command + 1] = "html.stylesheet=chunked.css"
+command[#command + 1] = "ignore.image.scaling=1"
+command[#command + 1] = "toc.max.depth=2"
+command[#command + 1] = "toc.section.depth=1"
+command[#command + 1] = "funcsynopsis.style=1"
+command[#command + 1] = "highlight.source=1"
+command[#command + 1] = "\"highlight.xslthl.config=file:highlighting/xslthl-config.xml\""
+
+finalCmd = table.concat(command, " ");
+print(finalCmd);
+print("");
+
+os.execute(finalCmd);

Documents/Build/_buildConfig.lua

+
+return {
+	saxonFilepath = "\\Projects\\XMLTools\\Saxon6\\saxon.jar",
+	xercesFilepath = "\\Program Files (x86)\\Oxygen XML Editor 11\\lib\\xercesImpl.jar",
+	fopFilepath = "\\Program Files (x86)\\Oxygen XML Editor 11\\lib\\fop.jar",
+	docbookXSLBasepath = "\\Projects\\XMLTools\\DocBookXSL\\",
+	xslthlFilepath = "\\Projects\\XMLTools\\XSLTHL\\xslthl-2.0.2.jar"
+}

Documents/Build/common-highlights.xsl

+<?xml version='1.0'?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+
+		xmlns:d="http://docbook.org/ns/docbook"
+xmlns:s6hl="http://net.sf.xslthl/ConnectorSaxon6" 
+		xmlns:sbhl="http://net.sf.xslthl/ConnectorSaxonB" 
+		xmlns:xhl="http://net.sf.xslthl/ConnectorXalan"
+		xmlns:saxon6="http://icl.com/saxon" 
+		xmlns:saxonb="http://saxon.sf.net/" 
+		xmlns:xalan="http://xml.apache.org/xalan"
+		
+		xmlns:exsl="http://exslt.org/common"
+		xmlns:xslthl="http://xslthl.sf.net"
+		exclude-result-prefixes="exsl xslthl s6hl sbhl xhl d"
+		version='1.0'>
+
+<!-- ********************************************************************
+     $Id: common.xsl 8257 2009-02-20 04:40:16Z abdelazer $
+     ********************************************************************
+
+     This file is part of the XSL DocBook Stylesheet distribution.
+     See ../README or http://docbook.sf.net/release/xsl/current/ for
+     and other information.
+
+     ******************************************************************** -->
+
+<!-- this construction is needed to have the saxon and xalan connectors working alongside each other -->
+<xalan:component prefix="xhl" functions="highlight"> 
+  <xalan:script lang="javaclass" src="xalan://net.sf.xslthl.ConnectorXalan" /> 
+</xalan:component> 
+
+<!-- for saxon 6 -->
+<saxon6:script implements-prefix="s6hl" language="java" src="java:net.sf.xslthl.ConnectorSaxon6" />
+
+<!-- for saxon 8.5 and later -->
+<saxonb:script implements-prefix="sbhl" language="java" src="java:net.sf.xslthl.ConnectorSaxonB" />
+
+
+<!-- You can override this template to do more complex mapping of
+     language attribute to highlighter language ID (see xslthl-config.xml) -->
+<xsl:template name="language.to.xslthl">
+  <xsl:param name="context"/>
+
+  <xsl:choose>
+    <xsl:when test="$context/@language != ''">
+      <xsl:value-of select="$context/@language"/>
+    </xsl:when>
+    <xsl:when test="$highlight.default.language != ''">
+      <xsl:value-of select="$highlight.default.language"/>
+    </xsl:when>
+  </xsl:choose>
+</xsl:template>
+
+<xsl:template name="apply-highlighting">
+  <xsl:choose>
+    <!-- Do we want syntax highlighting -->
+    <xsl:when test="$highlight.source != 0">
+      <xsl:variable name="language">
+	<xsl:call-template name="language.to.xslthl">
+	  <xsl:with-param name="context" select="."/>
+	</xsl:call-template>
+      </xsl:variable>
+      <xsl:choose>
+	<xsl:when test="$language != ''">
+	  <xsl:variable name="content">
+	    <xsl:apply-templates/>
+	  </xsl:variable>
+	  <xsl:choose>
+	    <xsl:when test="function-available('s6hl:highlight')">
+	      <xsl:apply-templates select="s6hl:highlight($language, exsl:node-set($content), $highlight.xslthl.config)"
+				   mode="xslthl"/>
+	    </xsl:when>
+	    <xsl:when test="function-available('sbhl:highlight')">
+	      <xsl:apply-templates select="sbhl:highlight($language, exsl:node-set($content), $highlight.xslthl.config)"
+				   mode="xslthl"/>
+	    </xsl:when>
+	    <xsl:when test="function-available('xhl:highlight')">
+	      <xsl:apply-templates select="xhl:highlight($language, exsl:node-set($content), $highlight.xslthl.config)"
+				   mode="xslthl"/>
+	    </xsl:when>
+	    <xsl:otherwise>
+	      <xsl:copy-of select="$content"/>
+	    </xsl:otherwise>
+	  </xsl:choose>
+	</xsl:when>
+	<xsl:otherwise>
+	  <xsl:apply-templates/>
+	</xsl:otherwise>
+      </xsl:choose>
+    </xsl:when>
+    <!-- No syntax highlighting -->
+    <xsl:otherwise>
+      <xsl:apply-templates/>
+    </xsl:otherwise>
+  </xsl:choose>
+</xsl:template>
+
+<!-- A fallback when the specific style isn't recognized -->
+<xsl:template match="xslthl:*" mode="xslthl">
+  <xsl:message>
+    <xsl:text>unprocessed xslthl style: </xsl:text>
+    <xsl:value-of select="local-name(.)" />
+  </xsl:message>
+  <xsl:apply-templates mode="xslthl"/>
+</xsl:template>
+
+<!-- Copy over already produced markup (FO/HTML) -->
+<xsl:template match="node()" mode="xslthl" priority="-1">
+  <xsl:copy>
+    <xsl:apply-templates select="node()" mode="xslthl"/>
+  </xsl:copy>
+</xsl:template>
+
+<xsl:template match="*" mode="xslthl">
+  <xsl:copy>
+    <xsl:copy-of select="@*"/>
+    <xsl:apply-templates select="node()" mode="xslthl"/>
+  </xsl:copy>
+</xsl:template>
+
+</xsl:stylesheet>

Documents/Build/highlighting/c-hl.xml

+<?xml version="1.0" encoding="UTF-8"?>
+	<!--
+		Syntax highlighting definition for C xslthl - XSLT Syntax Highlighting http://sourceforge.net/projects/xslthl/
+		Copyright (C) 2005-2008 Michal Molhanec, Jirka Kosek, Michiel Hendriks This software is provided 'as-is', without any
+		express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this
+		software. Permission is granted to anyone to use this software for any purpose, including commercial applications, and
+		to alter it and redistribute it freely, subject to the following restrictions: 1. The origin of this software must not
+		be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an
+		acknowledgment in the product documentation would be appreciated but is not required. 2. Altered source versions must
+		be plainly marked as such, and must not be misrepresented as being the original software. 3. This notice may not be
+		removed or altered from any source distribution. Michal Molhanec <mol1111 at users.sourceforge.net> Jirka Kosek <kosek
+		at users.sourceforge.net> Michiel Hendriks <elmuerte at users.sourceforge.net>
+	-->
+<highlighters>
+	<highlighter type="multiline-comment">
+		<start>/**</start>
+		<end>*/</end>
+		<style>doccomment</style>
+	</highlighter>
+	<highlighter type="oneline-comment">
+		<start><![CDATA[/// ]]></start>
+		<style>doccomment</style>
+	</highlighter>
+	<highlighter type="multiline-comment">
+		<start>/*</start>
+		<end>*/</end>
+	</highlighter>
+	<highlighter type="oneline-comment">//</highlighter>
+	<highlighter type="oneline-comment">
+		<!-- use the online-comment highlighter to detect directives -->
+		<start>#</start>
+		<lineBreakEscape>\</lineBreakEscape>
+		<style>directive</style>
+		<solitary/>
+	</highlighter>
+	<highlighter type="string">
+		<string>"</string>
+		<escape>\</escape>
+	</highlighter>
+	<highlighter type="string">
+		<string>'</string>
+		<escape>\</escape>
+	</highlighter>
+	<highlighter type="hexnumber">
+		<prefix>0x</prefix>
+		<suffix>ul</suffix>
+		<suffix>lu</suffix>
+		<suffix>u</suffix>
+		<suffix>l</suffix>
+		<ignoreCase />
+	</highlighter>
+	<highlighter type="number">
+		<point>.</point>
+		<pointStarts />
+		<exponent>e</exponent>
+		<suffix>ul</suffix>
+		<suffix>lu</suffix>
+		<suffix>u</suffix>
+		<suffix>f</suffix>
+		<suffix>l</suffix>
+		<ignoreCase />
+	</highlighter>
+	<highlighter type="keywords">
+		<keyword>auto</keyword>
+		<keyword>_Bool</keyword>
+		<keyword>break</keyword>
+		<keyword>case</keyword>
+		<keyword>char</keyword>
+		<keyword>_Complex</keyword>
+		<keyword>const</keyword>
+		<keyword>continue</keyword>
+		<keyword>default</keyword>
+		<keyword>do</keyword>
+		<keyword>double</keyword>
+		<keyword>else</keyword>
+		<keyword>enum</keyword>
+		<keyword>extern</keyword>
+		<keyword>float</keyword>
+		<keyword>for</keyword>
+		<keyword>goto</keyword>
+		<keyword>if</keyword>
+		<keyword>_Imaginary</keyword>
+		<keyword>inline</keyword>
+		<keyword>int</keyword>
+		<keyword>long</keyword>
+		<keyword>register</keyword>
+		<keyword>restrict</keyword>
+		<keyword>return</keyword>
+		<keyword>short</keyword>
+		<keyword>signed</keyword>
+		<keyword>sizeof</keyword>
+		<keyword>static</keyword>
+		<keyword>struct</keyword>
+		<keyword>switch</keyword>
+		<keyword>typedef</keyword>
+		<keyword>union</keyword>
+		<keyword>unsigned</keyword>
+		<keyword>void</keyword>
+		<keyword>volatile</keyword>
+		<keyword>while</keyword>
+	</highlighter>
+</highlighters>

Documents/Build/highlighting/cpp-hl.xml

+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+Syntax highlighting definition for C++
+
+xslthl - XSLT Syntax Highlighting
+http://sourceforge.net/projects/xslthl/
+Copyright (C) 2005-2008 Michal Molhanec, Jirka Kosek, Michiel Hendriks
+
+This software is provided 'as-is', without any express or implied
+warranty.  In no event will the authors be held liable for any damages
+arising from the use of this software.
+
+Permission is granted to anyone to use this software for any purpose,
+including commercial applications, and to alter it and redistribute it
+freely, subject to the following restrictions:
+
+1. The origin of this software must not be misrepresented; you must not
+   claim that you wrote the original software. If you use this software
+   in a product, an acknowledgment in the product documentation would be
+   appreciated but is not required.
+2. Altered source versions must be plainly marked as such, and must not be
+   misrepresented as being the original software.
+3. This notice may not be removed or altered from any source distribution.
+
+Michal Molhanec <mol1111 at users.sourceforge.net>
+Jirka Kosek <kosek at users.sourceforge.net>
+Michiel Hendriks <elmuerte at users.sourceforge.net>
+
+-->
+<highlighters>
+	<highlighter type="multiline-comment">
+		<start>/**</start>
+		<end>*/</end>
+		<style>doccomment</style>
+	</highlighter>
+	<highlighter type="oneline-comment">
+		<start><![CDATA[/// ]]></start>
+		<style>doccomment</style>
+	</highlighter>
+	<highlighter type="multiline-comment">
+		<start>/*</start>
+		<end>*/</end>
+	</highlighter>
+	<highlighter type="oneline-comment">//</highlighter>
+	<highlighter type="oneline-comment">
+		<!-- use the online-comment highlighter to detect directives -->
+		<start>#</start>
+		<lineBreakEscape>\</lineBreakEscape>
+		<style>directive</style>
+		<solitary/>
+	</highlighter>
+	<highlighter type="string">
+		<string>"</string>
+		<escape>\</escape>
+	</highlighter>
+	<highlighter type="string">
+		<string>'</string>
+		<escape>\</escape>
+	</highlighter>
+	<highlighter type="hexnumber">
+		<prefix>0x</prefix>
+		<suffix>ul</suffix>
+		<suffix>lu</suffix>
+		<suffix>u</suffix>
+		<suffix>l</suffix>
+		<ignoreCase />
+	</highlighter>
+	<highlighter type="number">
+		<point>.</point>
+		<pointStarts />
+		<exponent>e</exponent>
+		<suffix>ul</suffix>
+		<suffix>lu</suffix>
+		<suffix>u</suffix>
+		<suffix>f</suffix>
+		<suffix>l</suffix>
+		<ignoreCase />
+	</highlighter>
+	<highlighter type="keywords">
+		<!-- C keywords -->
+		<keyword>auto</keyword>
+		<keyword>_Bool</keyword>
+		<keyword>break</keyword>
+		<keyword>case</keyword>
+		<keyword>char</keyword>
+		<keyword>_Complex</keyword>
+		<keyword>const</keyword>
+		<keyword>continue</keyword>
+		<keyword>default</keyword>
+		<keyword>do</keyword>
+		<keyword>double</keyword>
+		<keyword>else</keyword>
+		<keyword>enum</keyword>
+		<keyword>extern</keyword>
+		<keyword>float</keyword>
+		<keyword>for</keyword>
+		<keyword>goto</keyword>
+		<keyword>if</keyword>
+		<keyword>_Imaginary</keyword>
+		<keyword>inline</keyword>
+		<keyword>int</keyword>
+		<keyword>long</keyword>
+		<keyword>register</keyword>
+		<keyword>restrict</keyword>
+		<keyword>return</keyword>
+		<keyword>short</keyword>
+		<keyword>signed</keyword>
+		<keyword>sizeof</keyword>
+		<keyword>static</keyword>
+		<keyword>struct</keyword>
+		<keyword>switch</keyword>
+		<keyword>typedef</keyword>
+		<keyword>union</keyword>
+		<keyword>unsigned</keyword>
+		<keyword>void</keyword>
+		<keyword>volatile</keyword>
+		<keyword>while</keyword>
+		<!-- C++ keywords -->
+		<keyword>asm</keyword>
+		<keyword>dynamic_cast</keyword>
+		<keyword>namespace</keyword>
+		<keyword>reinterpret_cast</keyword>
+		<keyword>try</keyword>
+		<keyword>bool</keyword>
+		<keyword>explicit</keyword>
+		<keyword>new</keyword>
+		<keyword>static_cast</keyword>
+		<keyword>typeid</keyword>
+		<keyword>catch</keyword>
+		<keyword>false</keyword>
+		<keyword>operator</keyword>
+		<keyword>template</keyword>
+		<keyword>typename</keyword>
+		<keyword>class</keyword>
+		<keyword>friend</keyword>
+		<keyword>private</keyword>
+		<keyword>this</keyword>
+		<keyword>using</keyword>
+		<keyword>const_cast</keyword>
+		<keyword>inline</keyword>
+		<keyword>public</keyword>
+		<keyword>throw</keyword>
+		<keyword>virtual</keyword>
+		<keyword>delete</keyword>
+		<keyword>mutable</keyword>
+		<keyword>protected</keyword>
+		<keyword>true</keyword>
+		<keyword>wchar_t</keyword>
+	</highlighter>
+</highlighters>

Documents/Build/highlighting/csharp-hl.xml

+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+Syntax highlighting definition for C#
+
+xslthl - XSLT Syntax Highlighting
+http://sourceforge.net/projects/xslthl/
+Copyright (C) 2005-2008 Michal Molhanec, Jirka Kosek, Michiel Hendriks
+
+This software is provided 'as-is', without any express or implied
+warranty.  In no event will the authors be held liable for any damages
+arising from the use of this software.
+
+Permission is granted to anyone to use this software for any purpose,
+including commercial applications, and to alter it and redistribute it
+freely, subject to the following restrictions:
+
+1. The origin of this software must not be misrepresented; you must not
+   claim that you wrote the original software. If you use this software
+   in a product, an acknowledgment in the product documentation would be
+   appreciated but is not required.
+2. Altered source versions must be plainly marked as such, and must not be
+   misrepresented as being the original software.
+3. This notice may not be removed or altered from any source distribution.
+
+Michal Molhanec <mol1111 at users.sourceforge.net>
+Jirka Kosek <kosek at users.sourceforge.net>
+Michiel Hendriks <elmuerte at users.sourceforge.net>
+
+-->
+<highlighters>
+	<highlighter type="multiline-comment">
+		<start>/**</start>
+		<end>*/</end>
+		<style>doccomment</style>
+	</highlighter>
+	<highlighter type="oneline-comment">
+		<start><![CDATA[/// ]]></start>
+		<style>doccomment</style>
+	</highlighter>
+	<highlighter type="multiline-comment">
+		<start>/*</start>
+		<end>*/</end>
+	</highlighter>
+	<highlighter type="oneline-comment">//</highlighter>
+	<highlighter type="annotation">
+		<!-- annotations are called (custom) "attributes" in .NET -->
+		<start>[</start>
+		<end>]</end>
+		<valueStart>(</valueStart>
+		<valueEnd>)</valueEnd>
+	</highlighter>
+	<highlighter type="oneline-comment">
+		<!-- C# supports a couple of directives -->
+		<start>#</start>
+		<lineBreakEscape>\</lineBreakEscape>
+		<style>directive</style>
+		<solitary/>
+	</highlighter>
+	<highlighter type="string">
+		<!-- strings starting with an "@" can span multiple lines -->
+		<string>@"</string>
+		<endString>"</endString>
+		<escape>\</escape>
+		<spanNewLines />
+	</highlighter>
+	<highlighter type="string">
+		<string>"</string>
+		<escape>\</escape>
+	</highlighter>
+	<highlighter type="string">
+		<string>'</string>
+		<escape>\</escape>
+	</highlighter>
+	<highlighter type="hexnumber">
+		<prefix>0x</prefix>
+		<suffix>ul</suffix>
+		<suffix>lu</suffix>
+		<suffix>u</suffix>
+		<suffix>l</suffix>
+		<ignoreCase />
+	</highlighter>
+	<highlighter type="number">
+		<point>.</point>
+		<pointStarts />
+		<exponent>e</exponent>
+		<suffix>ul</suffix>
+		<suffix>lu</suffix>
+		<suffix>u</suffix>
+		<suffix>f</suffix>
+		<suffix>d</suffix>
+		<suffix>m</suffix>
+		<suffix>l</suffix>
+		<ignoreCase />
+	</highlighter>
+	<highlighter type="keywords">
+		<keyword>abstract</keyword>
+		<keyword>as</keyword>
+		<keyword>base</keyword>
+		<keyword>bool</keyword>
+		<keyword>break</keyword>
+		<keyword>byte</keyword>
+		<keyword>case</keyword>
+		<keyword>catch</keyword>
+		<keyword>char</keyword>
+		<keyword>checked</keyword>
+		<keyword>class</keyword>
+		<keyword>const</keyword>
+		<keyword>continue</keyword>
+		<keyword>decimal</keyword>
+		<keyword>default</keyword>
+		<keyword>delegate</keyword>
+		<keyword>do</keyword>
+		<keyword>double</keyword>
+		<keyword>else</keyword>
+		<keyword>enum</keyword>
+		<keyword>event</keyword>
+		<keyword>explicit</keyword>
+		<keyword>extern</keyword>
+		<keyword>false</keyword>
+		<keyword>finally</keyword>
+		<keyword>fixed</keyword>
+		<keyword>float</keyword>
+		<keyword>for</keyword>
+		<keyword>foreach</keyword>
+		<keyword>goto</keyword>
+		<keyword>if</keyword>
+		<keyword>implicit</keyword>
+		<keyword>in</keyword>
+		<keyword>int</keyword>
+		<keyword>interface</keyword>
+		<keyword>internal</keyword>
+		<keyword>is</keyword>
+		<keyword>lock</keyword>
+		<keyword>long</keyword>
+		<keyword>namespace</keyword>
+		<keyword>new</keyword>
+		<keyword>null</keyword>
+		<keyword>object</keyword>
+		<keyword>operator</keyword>
+		<keyword>out</keyword>
+		<keyword>override</keyword>
+		<keyword>params</keyword>
+		<keyword>private</keyword>
+		<keyword>protected</keyword>
+		<keyword>public</keyword>
+		<keyword>readonly</keyword>
+		<keyword>ref</keyword>
+		<keyword>return</keyword>
+		<keyword>sbyte</keyword>
+		<keyword>sealed</keyword>
+		<keyword>short</keyword>
+		<keyword>sizeof</keyword>
+		<keyword>stackalloc</keyword>
+		<keyword>static</keyword>
+		<keyword>string</keyword>
+		<keyword>struct</keyword>
+		<keyword>switch</keyword>
+		<keyword>this</keyword>
+		<keyword>throw</keyword>
+		<keyword>true</keyword>
+		<keyword>try</keyword>
+		<keyword>typeof</keyword>
+		<keyword>uint</keyword>
+		<keyword>ulong</keyword>
+		<keyword>unchecked</keyword>
+		<keyword>unsafe</keyword>
+		<keyword>ushort</keyword>
+		<keyword>using</keyword>
+		<keyword>virtual</keyword>
+		<keyword>void</keyword>
+		<keyword>volatile</keyword>
+		<keyword>while</keyword>
+	</highlighter>
+	<highlighter type="keywords">
+		<!-- special words, not really keywords -->
+		<keyword>add</keyword>
+		<keyword>alias</keyword>
+		<keyword>get</keyword>
+		<keyword>global</keyword>
+		<keyword>partial</keyword>
+		<keyword>remove</keyword>
+		<keyword>set</keyword>
+		<keyword>value</keyword>
+		<keyword>where</keyword>
+		<keyword>yield</keyword>
+	</highlighter>
+</highlighters>

Documents/Build/highlighting/delphi-hl.xml

+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+Syntax highlighting definition for Delphi (also suitable for Pascal)
+
+xslthl - XSLT Syntax Highlighting
+http://sourceforge.net/projects/xslthl/
+Copyright (C) 2005-2008 Michal Molhanec, Jirka Kosek, Michiel Hendriks
+
+This software is provided 'as-is', without any express or implied
+warranty.  In no event will the authors be held liable for any damages
+arising from the use of this software.
+
+Permission is granted to anyone to use this software for any purpose,
+including commercial applications, and to alter it and redistribute it
+freely, subject to the following restrictions:
+
+1. The origin of this software must not be misrepresented; you must not
+   claim that you wrote the original software. If you use this software
+   in a product, an acknowledgment in the product documentation would be
+   appreciated but is not required.
+2. Altered source versions must be plainly marked as such, and must not be
+   misrepresented as being the original software.
+3. This notice may not be removed or altered from any source distribution.
+
+Michal Molhanec <mol1111 at users.sourceforge.net>
+Jirka Kosek <kosek at users.sourceforge.net>
+Michiel Hendriks <elmuerte at users.sourceforge.net>
+
+-->
+<highlighters>
+	<highlighter type="multiline-comment">
+		<!-- multiline comments starting with an $ are directives -->
+		<start>{$</start>
+		<end>}</end>
+		<style>directive</style>
+	</highlighter>
+	<highlighter type="multiline-comment">
+		<!-- multiline comments starting with an $ are directives -->
+		<start>(*$</start>
+		<end>)</end>
+		<style>directive</style>
+	</highlighter>
+	<highlighter type="multiline-comment">
+		<start>{</start>
+		<end>}</end>
+	</highlighter>
+	<highlighter type="multiline-comment">
+		<start>(*</start>
+		<end>*)</end>
+	</highlighter>
+	<highlighter type="oneline-comment">//</highlighter>
+	<highlighter type="string">
+		<string>'</string>
+		<doubleEscapes />
+	</highlighter>
+	<highlighter type="hexnumber">
+		<prefix>#$</prefix>
+		<ignoreCase />
+		<style>string</style>		
+	</highlighter>
+	<highlighter type="number">
+		<prefix>#</prefix>
+		<ignoreCase />
+		<style>string</style>		
+	</highlighter>
+	<highlighter type="hexnumber">
+		<prefix>$</prefix>
+		<ignoreCase />
+	</highlighter>
+	<highlighter type="number">
+		<point>.</point>
+		<exponent>e</exponent>
+		<ignoreCase />
+	</highlighter>
+	<highlighter type="keywords">
+  		<!-- Reserved words -->
+		<keyword>and</keyword>
+		<keyword>else</keyword>
+		<keyword>inherited</keyword>
+		<keyword>packed</keyword>
+		<keyword>then</keyword>
+		<keyword>array</keyword>
+		<keyword>end</keyword>
+		<keyword>initialization</keyword>
+		<keyword>procedure</keyword>
+		<keyword>threadvar</keyword>
+		<keyword>as</keyword>
+		<keyword>except</keyword>
+		<keyword>inline</keyword>
+		<keyword>program</keyword>
+		<keyword>to</keyword>
+		<keyword>asm</keyword>
+		<keyword>exports</keyword>
+		<keyword>interface</keyword>
+		<keyword>property</keyword>
+		<keyword>try</keyword>
+		<keyword>begin</keyword>
+		<keyword>file</keyword>
+		<keyword>is</keyword>
+		<keyword>raise</keyword>
+		<keyword>type</keyword>
+		<keyword>case</keyword>
+		<keyword>final</keyword>
+		<keyword>label</keyword>
+		<keyword>record</keyword>
+		<keyword>unit</keyword>
+		<keyword>class</keyword>
+		<keyword>finalization</keyword>
+		<keyword>library</keyword>
+		<keyword>repeat</keyword>
+		<keyword>unsafe</keyword>
+		<keyword>const</keyword>
+		<keyword>finally</keyword>
+		<keyword>mod</keyword>
+		<keyword>resourcestring</keyword>
+		<keyword>until</keyword>
+		<keyword>constructor</keyword>
+		<keyword>for</keyword>
+		<keyword>nil</keyword>
+		<keyword>sealed</keyword>
+		<keyword>uses</keyword>
+		<keyword>destructor</keyword>
+		<keyword>function</keyword>
+		<keyword>not</keyword>
+		<keyword>set</keyword>
+		<keyword>var</keyword>
+		<keyword>dispinterface</keyword>
+		<keyword>goto</keyword>
+		<keyword>object</keyword>
+		<keyword>shl</keyword>
+		<keyword>while</keyword>
+		<keyword>div</keyword>
+		<keyword>if</keyword>
+		<keyword>of</keyword>
+		<keyword>shr</keyword>
+		<keyword>with</keyword>
+		<keyword>do</keyword>
+		<keyword>implementation</keyword>
+		<keyword>or</keyword>
+		<keyword>static</keyword>
+		<keyword>xor</keyword>
+		<keyword>downto</keyword>
+		<keyword>in</keyword>
+		<keyword>out</keyword>
+		<keyword>string</keyword>
+
+  		<!-- Special meaning -->
+		<keyword>at</keyword>
+		<keyword>on</keyword>
+  
+		<!-- Directives -->
+		<keyword>absolute</keyword>
+		<keyword>dynamic</keyword>
+		<keyword>local</keyword>
+		<keyword>platform</keyword>
+		<keyword>requires</keyword>
+		<keyword>abstract</keyword>
+		<keyword>export</keyword>
+		<keyword>message</keyword>
+		<keyword>private</keyword>
+		<keyword>resident</keyword>
+		<keyword>assembler</keyword>
+		<keyword>external</keyword>
+		<keyword>name</keyword>
+		<keyword>protected</keyword>
+		<keyword>safecall</keyword>
+		<keyword>automated</keyword>
+		<keyword>far</keyword>
+		<keyword>near</keyword>
+		<keyword>public</keyword>
+		<keyword>stdcall</keyword>
+		<keyword>cdecl</keyword>
+		<keyword>forward</keyword>
+		<keyword>nodefault</keyword>
+		<keyword>published</keyword>
+		<keyword>stored</keyword>
+		<keyword>contains</keyword>
+		<keyword>implements</keyword>
+		<keyword>overload</keyword>
+		<keyword>read</keyword>
+		<keyword>varargs</keyword>
+		<keyword>default</keyword>
+		<keyword>index</keyword>
+		<keyword>override</keyword>
+		<keyword>readonly</keyword>
+		<keyword>virtual</keyword>
+		<keyword>deprecated</keyword>
+		<keyword>inline</keyword>
+		<keyword>package</keyword>
+		<keyword>register</keyword>
+		<keyword>write</keyword>
+		<keyword>dispid</keyword>
+		<keyword>library</keyword>
+		<keyword>pascal</keyword>
+		<keyword>reintroduce</keyword>
+		<keyword>writeonly</keyword>
+		<ignoreCase />
+	</highlighter>
+</highlighters>

Documents/Build/highlighting/glsl-hl.xml

+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+Syntax highlighting definition for C++
+
+xslthl - XSLT Syntax Highlighting
+http://sourceforge.net/projects/xslthl/
+Copyright (C) 2005-2008 Michal Molhanec, Jirka Kosek, Michiel Hendriks
+
+This software is provided 'as-is', without any express or implied
+warranty.  In no event will the authors be held liable for any damages
+arising from the use of this software.
+
+Permission is granted to anyone to use this software for any purpose,
+including commercial applications, and to alter it and redistribute it
+freely, subject to the following restrictions:
+
+1. The origin of this software must not be misrepresented; you must not
+   claim that you wrote the original software. If you use this software
+   in a product, an acknowledgment in the product documentation would be
+   appreciated but is not required.
+2. Altered source versions must be plainly marked as such, and must not be
+   misrepresented as being the original software.
+3. This notice may not be removed or altered from any source distribution.
+
+Michal Molhanec <mol1111 at users.sourceforge.net>
+Jirka Kosek <kosek at users.sourceforge.net>
+Michiel Hendriks <elmuerte at users.sourceforge.net>
+
+-->
+<highlighters>
+	<highlighter type="multiline-comment">
+		<start>/**</start>
+		<end>*/</end>
+		<style>doccomment</style>
+	</highlighter>
+	<highlighter type="oneline-comment">
+		<start><![CDATA[/// ]]></start>
+		<style>doccomment</style>
+	</highlighter>
+	<highlighter type="multiline-comment">
+		<start>/*</start>
+		<end>*/</end>
+	</highlighter>
+	<highlighter type="oneline-comment">//</highlighter>
+	<highlighter type="oneline-comment">
+		<!-- use the online-comment highlighter to detect directives -->
+		<start>#</start>
+		<lineBreakEscape>\</lineBreakEscape>
+		<style>directive</style>
+		<solitary/>
+	</highlighter>
+	<highlighter type="hexnumber">
+		<prefix>0x</prefix>
+		<suffix>ul</suffix>
+		<suffix>lu</suffix>
+		<suffix>u</suffix>
+		<suffix>l</suffix>
+		<ignoreCase />
+	</highlighter>
+	<highlighter type="number">
+		<point>.</point>
+		<pointStarts />
+		<exponent>e</exponent>
+		<suffix>ul</suffix>
+		<suffix>lu</suffix>
+		<suffix>u</suffix>
+		<suffix>f</suffix>
+		<suffix>l</suffix>
+		<ignoreCase />
+	</highlighter>
+	<highlighter type="keywords">
+		<keyword>break</keyword>
+		<keyword>continue</keyword>
+		<keyword>do</keyword>
+		<keyword>for</keyword>
+		<keyword>while</keyword>
+		<keyword>switch</keyword>
+		<keyword>case</keyword>
+		<keyword>default </keyword>
+		<keyword>if</keyword>
+		<keyword>else</keyword>
+		<keyword>true</keyword>
+		<keyword>false</keyword>
+		<keyword>discard</keyword>
+		<keyword>return</keyword>
+		<keyword>struct</keyword>
+	</highlighter>
+	<highlighter type="keywords">
+		<keyword>float</keyword>
+		<keyword>double</keyword>
+		<keyword>int</keyword>
+		<keyword>void</keyword>
+		<keyword>bool</keyword>
+		<keyword>mat2</keyword>
+		<keyword>mat3</keyword>
+		<keyword>mat4</keyword>
+		<keyword>dmat2</keyword>
+		<keyword>dmat3</keyword>
+		<keyword>dmat4</keyword>
+		<keyword>mat2x2</keyword>
+		<keyword>mat2x3</keyword>
+		<keyword>mat2x4</keyword>
+		<keyword>dmat2x2</keyword>
+		<keyword>dmat2x3</keyword>
+		<keyword>dmat2x4</keyword>
+		<keyword>mat3x2</keyword>
+		<keyword>mat3x3</keyword>
+		<keyword>mat3x4</keyword>
+		<keyword>dmat3x2</keyword>
+		<keyword>dmat3x3</keyword>
+		<keyword>dmat3x4</keyword>
+		<keyword>mat4x2</keyword>
+		<keyword>mat4x3</keyword>
+		<keyword>mat4x4</keyword>
+		<keyword>dmat4x2</keyword>
+		<keyword>dmat4x3</keyword>
+		<keyword>dmat4x4</keyword>
+		<keyword>vec2</keyword>
+		<keyword>vec3</keyword>
+		<keyword>vec4</keyword>
+		<keyword>ivec2</keyword>
+		<keyword>ivec3</keyword>
+		<keyword>ivec4</keyword>
+		<keyword>bvec2</keyword>
+		<keyword>bvec3</keyword>
+		<keyword>bvec4</keyword>
+		<keyword>dvec2</keyword>
+		<keyword>dvec3</keyword>
+		<keyword>dvec4</keyword>
+		<keyword>uint</keyword>
+		<keyword>uvec2</keyword>
+		<keyword>uvec3</keyword>
+		<keyword>uvec4</keyword>
+		<style>basic-type</style>
+	</highlighter>
+	<highlighter type="keywords">
+		<keyword>attribute</keyword>
+		<keyword>const</keyword>
+		<keyword>uniform</keyword>
+		<keyword>varying</keyword>
+		<keyword>layout</keyword>
+		<keyword>centroid</keyword>
+		<keyword>flat</keyword>
+		<keyword>smooth</keyword>
+		<keyword>noperspective</keyword>
+		<keyword>patch</keyword>
+		<keyword>sample</keyword>
+		<keyword>subroutine</keyword>
+		<keyword>in</keyword>
+		<keyword>out</keyword>
+		<keyword>inout</keyword>
+		<keyword>invariant</keyword>
+		<keyword>lowp</keyword>
+		<keyword>mediump</keyword>
+		<keyword>highp</keyword>
+		<keyword>precision</keyword>
+		<style>type-modifier</style>
+	</highlighter>
+	<highlighter type="keywords">
+		<keyword>sampler1D</keyword>
+		<keyword>sampler2D</keyword>
+		<keyword>sampler3D</keyword>
+		<keyword>samplerCube   </keyword>
+		<keyword>sampler1DShadow</keyword>
+		<keyword>sampler2DShadow</keyword>
+		<keyword>samplerCubeShadow</keyword>
+		<keyword>sampler1DArray</keyword>
+		<keyword>sampler2DArray</keyword>
+		<keyword>sampler1DArrayShadow</keyword>
+		<keyword>sampler2DArrayShadow</keyword>
+		<keyword>isampler1D</keyword>
+		<keyword>isampler2D</keyword>
+		<keyword>isampler3D</keyword>
+		<keyword>isamplerCube</keyword>
+		<keyword>isampler1DArray</keyword>
+		<keyword>isampler2DArray</keyword>
+		<keyword>usampler1D</keyword>
+		<keyword>usampler2D</keyword>
+		<keyword>usampler3D</keyword>
+		<keyword>usamplerCube</keyword>
+		<keyword>usampler1DArray</keyword>
+		<keyword>usampler2DArray</keyword>
+		<keyword>sampler2DRect</keyword>
+		<keyword>sampler2DRectShadow</keyword>
+		<keyword>isampler2DRect</keyword>
+		<keyword>usampler2DRect</keyword>
+		<keyword>samplerBuffer</keyword>
+		<keyword>isamplerBuffer</keyword>
+		<keyword>usamplerBuffer</keyword>
+		<keyword>sampler2DMS</keyword>
+		<keyword>isampler2DMS</keyword>
+		<keyword>usampler2DMS</keyword>
+		<keyword>sampler2DMSArray</keyword>
+		<keyword>isampler2DMSArray</keyword>
+		<keyword>usampler2DMSArray</keyword>
+		<keyword>samplerCubeArray</keyword>
+		<keyword>samplerCubeArrayShadow</keyword>
+		<keyword>isamplerCubeArray</keyword>
+		<keyword>usamplerCubeArray</keyword>
+		<style>sampler-type</style>
+	</highlighter>
+	<highlighter type="keywords">
+		<keyword>radians</keyword>
+		<keyword>degrees</keyword>
+		<keyword>sin</keyword>
+		<keyword>cos</keyword>
+		<keyword>tan</keyword>
+		<keyword>asin</keyword>
+		<keyword>acos</keyword>
+		<keyword>atan</keyword>
+		<keyword>sinh</keyword>
+		<keyword>cosh</keyword>
+		<keyword>tanh</keyword>
+		<keyword>asinh</keyword>
+		<keyword>acosh</keyword>
+		<keyword>atanh</keyword>
+		<keyword>pow</keyword>
+		<keyword>exp</keyword>
+		<keyword>log</keyword>
+		<keyword>exp2</keyword>
+		<keyword>log2</keyword>
+		<keyword>sqrt</keyword>
+		<keyword>inversesqrt</keyword>
+		<keyword>abs</keyword>
+		<keyword>sign</keyword>
+		<keyword>floor</keyword>
+		<keyword>trunc</keyword>
+		<keyword>round</keyword>
+		<keyword>roundEven</keyword>
+		<keyword>ceil</keyword>
+		<keyword>fract</keyword>
+		<keyword>mod</keyword>
+		<keyword>modf</keyword>
+		<keyword>min</keyword>
+		<keyword>max</keyword>
+		<keyword>clamp</keyword>
+		<keyword>mix</keyword>
+		<keyword>step</keyword>
+		<keyword>smoothstep</keyword>
+		<keyword>isnan</keyword>
+		<keyword>isinf</keyword>
+		<keyword>floatBitsToInt</keyword>
+		<keyword>floatBitsToUint</keyword>
+		<keyword>intBitsToFloat</keyword>
+		<keyword>uintBitsToFloat</keyword>
+		<keyword>fma</keyword>
+		<keyword>frexp</keyword>
+		<keyword>ldexp</keyword>
+		<keyword>packUnorm2x16</keyword>
+		<keyword>packUnorm4x8</keyword>
+		<keyword>packSnorm4x8</keyword>
+		<keyword>unpackUnorm2x16</keyword>
+		<keyword>unpackUnorm4x8</keyword>
+		<keyword>unpackSnorm4x8</keyword>
+		<keyword>packDouble2x32</keyword>
+		<keyword>unpackDouble2x32</keyword>
+		<keyword>length</keyword>
+		<keyword>distance</keyword>
+		<keyword>dot</keyword>
+		<keyword>cross</keyword>
+		<keyword>normalize</keyword>
+		<keyword>ftransform</keyword>
+		<keyword>faceforward</keyword>
+		<keyword>reflect</keyword>
+		<keyword>refract</keyword>
+		<keyword>matrixCompMult</keyword>
+		<keyword>outerProduct</keyword>
+		<keyword>transpose</keyword>
+		<keyword>determinant</keyword>
+		<keyword>inverse</keyword>
+		<keyword>lessThan</keyword>
+		<keyword>lessThanEqual</keyword>
+		<keyword>greaterThan</keyword>
+		<keyword>greaterThanEqual</keyword>
+		<keyword>equal</keyword>
+		<keyword>notEqual</keyword>
+		<keyword>any</keyword>
+		<keyword>all</keyword>
+		<keyword>not</keyword>
+		<keyword>uaddCarry</keyword>
+		<keyword>usubBorrow</keyword>
+		<keyword>umulExtended</keyword>
+		<keyword>imulExtended</keyword>
+		<keyword>bitfieldExtract</keyword>
+		<keyword>bitfieldInsert</keyword>
+		<keyword>bitfieldReverse</keyword>
+		<keyword>bitCount</keyword>
+		<keyword>findLSB</keyword>
+		<keyword>findMSB</keyword>
+		<keyword>textureSize</keyword>
+		<keyword>textureQueryLod</keyword>
+		<keyword>texture</keyword>
+		<keyword>textureProj</keyword>
+		<keyword>textureLod</keyword>
+		<keyword>textureOffset</keyword>
+		<keyword>texelFetch</keyword>
+		<keyword>texelFetchOffset</keyword>
+		<keyword>textureProjOffset</keyword>
+		<keyword>textureLodOffset</keyword>
+		<keyword>textureProjLod</keyword>
+		<keyword>textureProjLodOffset</keyword>
+		<keyword>textureGrad</keyword>
+		<keyword>textureGradOffset</keyword>
+		<keyword>textureProjGrad</keyword>
+		<keyword>textureProjGradOffset</keyword>
+		<keyword>textureGather</keyword>
+		<keyword>textureGatherOffset</keyword>
+		<keyword>textureGatherOffsets</keyword>
+		<keyword>dFdx</keyword>
+		<keyword>dFdy</keyword>
+		<keyword>fwidth</keyword>
+		<keyword>interpolateAtCentroid</keyword>
+		<keyword>interpolateAtSample</keyword>
+		<keyword>interpolateAtOffset</keyword>
+		<keyword>noise1</keyword>
+		<keyword>noise2</keyword>
+		<keyword>noise3</keyword>
+		<keyword>noise4</keyword>
+		<keyword>EmitStreamVertex</keyword>
+		<keyword>EndStreamPrimitive</keyword>
+		<keyword>EmitVertex</keyword>
+		<keyword>EndPrimitive</keyword>
+		<keyword>barrier</keyword>
+		<style>library-func</style>
+	</highlighter>
+</highlighters>

Documents/Build/highlighting/ini-hl.xml

+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+Syntax highlighting definition for ini files
+
+xslthl - XSLT Syntax Highlighting
+http://sourceforge.net/projects/xslthl/
+Copyright (C) 2005-2008 Michal Molhanec, Jirka Kosek, Michiel Hendriks
+
+This software is provided 'as-is', without any express or implied
+warranty.  In no event will the authors be held liable for any damages
+arising from the use of this software.
+
+Permission is granted to anyone to use this software for any purpose,
+including commercial applications, and to alter it and redistribute it
+freely, subject to the following restrictions:
+
+1. The origin of this software must not be misrepresented; you must not
+   claim that you wrote the original software. If you use this software
+   in a product, an acknowledgment in the product documentation would be
+   appreciated but is not required.
+2. Altered source versions must be plainly marked as such, and must not be
+   misrepresented as being the original software.
+3. This notice may not be removed or altered from any source distribution.
+
+Michal Molhanec <mol1111 at users.sourceforge.net>
+Jirka Kosek <kosek at users.sourceforge.net>
+Michiel Hendriks <elmuerte at users.sourceforge.net>
+
+-->
+<highlighters>
+	<highlighter type="oneline-comment">;</highlighter>
+	<highlighter type="regex">	
+		<!-- ini sections -->
+		<pattern>^(\[.+\]\s*)$</pattern>
+		<style>keyword</style>
+		<flags>MULTILINE</flags>
+	</highlighter>
+	<highlighter type="regex">
+		<!-- the keys in an ini section -->
+		<pattern>^(.+)(?==)</pattern>
+		<style>attribute</style>
+		<flags>MULTILINE</flags>
+	</highlighter>
+</highlighters>

Documents/Build/highlighting/java-hl.xml

+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+Syntax highlighting definition for Java
+
+xslthl - XSLT Syntax Highlighting
+http://sourceforge.net/projects/xslthl/
+Copyright (C) 2005-2008 Michal Molhanec, Jirka Kosek, Michiel Hendriks
+
+This software is provided 'as-is', without any express or implied
+warranty.  In no event will the authors be held liable for any damages
+arising from the use of this software.
+
+Permission is granted to anyone to use this software for any purpose,
+including commercial applications, and to alter it and redistribute it
+freely, subject to the following restrictions:
+
+1. The origin of this software must not be misrepresented; you must not
+   claim that you wrote the original software. If you use this software
+   in a product, an acknowledgment in the product documentation would be
+   appreciated but is not required.
+2. Altered source versions must be plainly marked as such, and must not be
+   misrepresented as being the original software.
+3. This notice may not be removed or altered from any source distribution.
+
+Michal Molhanec <mol1111 at users.sourceforge.net>
+Jirka Kosek <kosek at users.sourceforge.net>
+Michiel Hendriks <elmuerte at users.sourceforge.net>
+
+-->
+<highlighters>
+	<highlighter type="multiline-comment">
+		<start>/**</start>
+		<end>*/</end>
+		<style>doccomment</style>
+	</highlighter>
+	<highlighter type="multiline-comment">
+		<start>/*</start>
+		<end>*/</end>
+	</highlighter>
+	<highlighter type="oneline-comment">//</highlighter>
+	<highlighter type="string">
+		<string>"</string>
+		<escape>\</escape>
+	</highlighter>
+	<highlighter type="string">
+		<string>'</string>
+		<escape>\</escape>
+	</highlighter>
+	<highlighter type="annotation">
+		<start>@</start>
+		<valueStart>(</valueStart>
+		<valueEnd>)</valueEnd>
+	</highlighter>
+	<highlighter type="hexnumber">
+		<prefix>0x</prefix>
+		<ignoreCase />
+	</highlighter>
+	<highlighter type="number">
+		<point>.</point>
+		<exponent>e</exponent>
+		<suffix>f</suffix>
+		<suffix>d</suffix>
+		<suffix>l</suffix>
+		<ignoreCase />
+	</highlighter>
+	<highlighter type="keywords">
+		<keyword>abstract</keyword>
+		<keyword>boolean</keyword>
+		<keyword>break</keyword>
+		<keyword>byte</keyword>
+		<keyword>case</keyword>
+		<keyword>catch</keyword>
+		<keyword>char</keyword>
+		<keyword>class</keyword>
+		<keyword>const</keyword>
+		<keyword>continue</keyword>
+		<keyword>default</keyword>
+		<keyword>do</keyword>
+		<keyword>double</keyword>
+		<keyword>else</keyword>
+		<keyword>extends</keyword>
+		<keyword>final</keyword>
+		<keyword>finally</keyword>
+		<keyword>float</keyword>
+		<keyword>for</keyword>
+		<keyword>goto</keyword>
+		<keyword>if</keyword>
+		<keyword>implements</keyword>
+		<keyword>import</keyword>
+		<keyword>instanceof</keyword>
+		<keyword>int</keyword>
+		<keyword>interface</keyword>
+		<keyword>long</keyword>
+		<keyword>native</keyword>
+		<keyword>new</keyword>
+		<keyword>package</keyword>
+		<keyword>private</keyword>
+		<keyword>protected</keyword>
+		<keyword>public</keyword>
+		<keyword>return</keyword>
+		<keyword>short</keyword>
+		<keyword>static</keyword>
+		<keyword>strictfp</keyword>
+		<keyword>super</keyword>
+		<keyword>switch</keyword>
+		<keyword>synchronized</keyword>
+		<keyword>this</keyword>
+		<keyword>throw</keyword>
+		<keyword>throws</keyword>
+		<keyword>transient</keyword>
+		<keyword>try</keyword>
+		<keyword>void</keyword>
+		<keyword>volatile</keyword>
+		<keyword>while</keyword>
+	</highlighter>
+</highlighters>

Documents/Build/highlighting/javascript-hl.xml

+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+Syntax highlighting definition for JavaScript
+
+xslthl - XSLT Syntax Highlighting
+http://sourceforge.net/projects/xslthl/
+Copyright (C) 2005-2008 Michal Molhanec, Jirka Kosek, Michiel Hendriks
+
+This software is provided 'as-is', without any express or implied
+warranty.  In no event will the authors be held liable for any damages
+arising from the use of this software.
+
+Permission is granted to anyone to use this software for any purpose,
+including commercial applications, and to alter it and redistribute it
+freely, subject to the following restrictions:
+
+1. The origin of this software must not be misrepresented; you must not
+   claim that you wrote the original software. If you use this software
+   in a product, an acknowledgment in the product documentation would be
+   appreciated but is not required.
+2. Altered source versions must be plainly marked as such, and must not be
+   misrepresented as being the original software.
+3. This notice may not be removed or altered from any source distribution.
+
+Michal Molhanec <mol1111 at users.sourceforge.net>
+Jirka Kosek <kosek at users.sourceforge.net>
+Michiel Hendriks <elmuerte at users.sourceforge.net>
+
+-->
+<highlighters>
+	<highlighter type="multiline-comment">
+		<start>/*</start>
+		<end>*/</end>
+	</highlighter>
+	<highlighter type="oneline-comment">//</highlighter>
+	<highlighter type="string">
+		<string>"</string>
+		<escape>\</escape>
+	</highlighter>
+	<highlighter type="string">
+		<string>'</string>
+		<escape>\</escape>
+	</highlighter>
+	<highlighter type="hexnumber">
+		<prefix>0x</prefix>
+		<ignoreCase />
+	</highlighter>
+	<highlighter type="number">
+		<point>.</point>
+		<exponent>e</exponent>
+		<ignoreCase />
+	</highlighter>
+	<highlighter type="keywords">
+		<keyword>break</keyword>
+		<keyword>case</keyword>
+		<keyword>catch</keyword>
+		<keyword>continue</keyword>
+		<keyword>default</keyword>
+		<keyword>delete</keyword>
+		<keyword>do</keyword>
+		<keyword>else</keyword>
+		<keyword>finally</keyword>
+		<keyword>for</keyword>
+		<keyword>function</keyword>
+		<keyword>if</keyword>
+		<keyword>in</keyword>
+		<keyword>instanceof</keyword>
+		<keyword>new</keyword>
+		<keyword>return</keyword>
+		<keyword>switch</keyword>
+		<keyword>this</keyword>
+		<keyword>throw</keyword>
+		<keyword>try</keyword>
+		<keyword>typeof</keyword>
+		<keyword>var</keyword>
+		<keyword>void</keyword>
+		<keyword>while</keyword>
+		<keyword>with</keyword>
+		<!-- future keywords -->
+		<keyword>abstract</keyword>
+		<keyword>boolean</keyword>
+		<keyword>byte</keyword>
+		<keyword>char</keyword>
+		<keyword>class</keyword>
+		<keyword>const</keyword>
+		<keyword>debugger</keyword>
+		<keyword>double</keyword>
+		<keyword>enum</keyword>
+		<keyword>export</keyword>
+		<keyword>extends</keyword>
+		<keyword>final</keyword>
+		<keyword>float</keyword>
+		<keyword>goto</keyword>
+		<keyword>implements</keyword>
+		<keyword>import</keyword>
+		<keyword>int</keyword>
+		<keyword>interface</keyword>
+		<keyword>long</keyword>
+		<keyword>native</keyword>
+		<keyword>package</keyword>
+		<keyword>private</keyword>
+		<keyword>protected</keyword>
+		<keyword>public</keyword>
+		<keyword>short</keyword>
+		<keyword>static</keyword>
+		<keyword>super</keyword>
+		<keyword>synchronized</keyword>
+		<keyword>throws</keyword>
+		<keyword>transient</keyword>
+		<keyword>volatile</keyword>
+	</highlighter>
+	<highlighter type="keywords">
+		<keyword>prototype</keyword>
+		<!-- Global Objects -->
+		<keyword>Array</keyword>
+		<keyword>Boolean</keyword>
+		<keyword>Date</keyword>
+		<keyword>Error</keyword>
+		<keyword>EvalError</keyword>
+		<keyword>Function</keyword>
+		<keyword>Math</keyword>
+		<keyword>Number</keyword>
+		<keyword>Object</keyword>
+		<keyword>RangeError</keyword>
+		<keyword>ReferenceError</keyword>
+		<keyword>RegExp</keyword>
+		<keyword>String</keyword>
+		<keyword>SyntaxError</keyword>
+		<keyword>TypeError</keyword>
+		<keyword>URIError</keyword>
+		<!-- Global functions -->
+		<keyword>decodeURI</keyword>
+		<keyword>decodeURIComponent</keyword>
+		<keyword>encodeURI</keyword>
+		<keyword>encodeURIComponent</keyword>
+		<keyword>eval</keyword>
+		<keyword>isFinite</keyword>
+		<keyword>isNaN</keyword>
+		<keyword>parseFloat</keyword>
+		<keyword>parseInt</keyword>
+		<!-- Global properties -->
+		<keyword>Infinity</keyword>
+		<keyword>NaN</keyword>
+		<keyword>undefined</keyword>
+	</highlighter>
+</highlighters>

Documents/Build/highlighting/m2-hl.xml

+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+Syntax highlighting definition for Modulo-2
+
+xslthl - XSLT Syntax Highlighting
+http://sourceforge.net/projects/xslthl/
+Copyright (C) 2005-2008 Michal Molhanec, Jirka Kosek, Michiel Hendriks
+
+This software is provided 'as-is', without any express or implied
+warranty.  In no event will the authors be held liable for any damages
+arising from the use of this software.
+
+Permission is granted to anyone to use this software for any purpose,
+including commercial applications, and to alter it and redistribute it
+freely, subject to the following restrictions:
+
+1. The origin of this software must not be misrepresented; you must not
+   claim that you wrote the original software. If you use this software
+   in a product, an acknowledgment in the product documentation would be
+   appreciated but is not required.
+2. Altered source versions must be plainly marked as such, and must not be
+   misrepresented as being the original software.
+3. This notice may not be removed or altered from any source distribution.
+
+Michal Molhanec <mol1111 at users.sourceforge.net>
+Jirka Kosek <kosek at users.sourceforge.net>
+Michiel Hendriks <elmuerte at users.sourceforge.net>
+
+-->
+<highlighters>
+	<highlighter type="nested-multiline-comment">
+		<start>(*</start>
+		<end>*)</end>
+	</highlighter>
+	<highlighter type="string">
+		<string>"</string>
+	</highlighter>
+	<highlighter type="string">
+		<string>'</string>
+	</highlighter>
+	<highlighter type="number">
+		<point>.</point>
+		<exponent>e</exponent>
+		<ignoreCase />
+	</highlighter>
+	<highlighter type="keywords">
+		<keyword>and</keyword>
+		<keyword>array</keyword>
+		<keyword>begin</keyword>
+		<keyword>by</keyword>
+		<keyword>case</keyword>
+		<keyword>const</keyword>
+		<keyword>definition</keyword>
+		<keyword>div</keyword>
+		<keyword>do</keyword>
+		<keyword>else</keyword>
+		<keyword>elsif</keyword>
+		<keyword>end</keyword>
+		<keyword>exit</keyword>
+		<keyword>export</keyword>
+		<keyword>for</keyword>
+		<keyword>from</keyword>
+		<keyword>if</keyword>
+		<keyword>implementation</keyword>
+		<keyword>import</keyword>
+		<keyword>in</keyword>
+		<keyword>loop</keyword>
+		<keyword>mod</keyword>
+		<keyword>module</keyword>
+		<keyword>not</keyword>
+		<keyword>of</keyword>
+		<keyword>or</keyword>
+		<keyword>pointer</keyword>
+		<keyword>procedure</keyword>
+		<keyword>qualified</keyword>
+		<keyword>record</keyword>
+		<keyword>repeat</keyword>
+		<keyword>return</keyword>
+		<keyword>set</keyword>
+		<keyword>then</keyword>
+		<keyword>to</keyword>
+		<keyword>type</keyword>
+		<keyword>until</keyword>
+		<keyword>var</keyword>
+		<keyword>while</keyword>
+		<keyword>with</keyword>
+		<ignoreCase />
+	</highlighter>
+</highlighters>

Documents/Build/highlighting/myxml-hl.xml

+<?xml version='1.0'?>
+<!--
+
+  Bakalarska prace: Zvyraznovani syntaxe v XSLT
+  Michal Molhanec 2005
+
+  myxml-hl.xml - konfigurace zvyraznovace XML, ktera zvlast zvyrazni
+                 HTML elementy a XSL elementy
+
+-->
+<highlighters>
+
+<wholehighlighter type='xml'>
+  <elementSet>
+    <style>html</style>
+    <element>A</element>
+    <element>ABBR</element>
+    <element>ACRONYM</element>
+    <element>ADDRESS</element>
+    <element>APPLET</element>
+    <element>AREA</element>
+    <element>B</element>
+    <element>BASE</element>
+    <element>BASEFONT</element>
+    <element>BDO</element>
+    <element>BIG</element>
+    <element>BLOCKQUOTE</element>
+    <element>BODY</element>
+    <element>BR</element>
+    <element>BUTTON</element>
+    <element>CAPTION</element>
+    <element>CENTER</element>
+    <element>CITE</element>
+    <element>CODE</element>
+    <element>COL</element>
+    <element>COLGROUP</element>
+    <element>DD</element>
+    <element>DEL</element>
+    <element>DFN</element>
+    <element>DIR</element>
+    <element>DIV</element>
+    <element>DL</element>
+    <element>DT</element>
+    <element>EM</element>
+    <element>FIELDSET</element>
+    <element>FONT</element>
+    <element>FORM</element>
+    <element>FRAME</element>
+    <element>FRAMESET</element>
+    <element>H1</element>
+    <element>H2</element>
+    <element>H3</element>
+    <element>H4</element>
+    <element>H5</element>
+    <element>H6</element>
+    <element>HEAD</element>
+    <element>HR</element>
+    <element>HTML</element>
+    <element>I</element>
+    <element>IFRAME</element>
+    <element>IMG</element>
+    <element>INPUT</element>
+    <element>INS</element>
+    <element>ISINDEX</element>
+    <element>KBD</element>
+    <element>LABEL</element>
+    <element>LEGEND</element>
+    <element>LI</element>
+    <element>LINK</element>
+    <element>MAP</element>
+    <element>MENU</element>
+    <element>META</element>
+    <element>NOFRAMES</element>
+    <element>NOSCRIPT</element>
+    <element>OBJECT</element>
+    <element>OL</element>
+    <element>OPTGROUP</element>
+    <element>OPTION</element>
+    <element>P</element>
+    <element>PARAM</element>
+    <element>PRE</element>
+    <element>Q</element>
+    <element>S</element>
+    <element>SAMP</element>
+    <element>SCRIPT</element>
+    <element>SELECT</element>
+    <element>SMALL</element>
+    <element>SPAN</element>
+    <element>STRIKE</element>
+    <element>STRONG</element>
+    <element>STYLE</element>
+    <element>SUB</element>
+    <element>SUP</element>
+    <element>TABLE</element>
+    <element>TBODY</element>