summaryrefslogtreecommitdiffstats
path: root/paste/include/geshi/contexts/web3d
diff options
context:
space:
mode:
authorAlexander Sulfrian <alexander@sulfrian.net>2009-12-11 01:16:01 +0100
committerAlexander Sulfrian <alexander@sulfrian.net>2009-12-11 01:16:20 +0100
commit48d7424647b146a66c5bde93ee836919933a4150 (patch)
tree3eb816e42a0cd857cf831c57baa59ad7cee478c7 /paste/include/geshi/contexts/web3d
parent8242c982ebcdfc67274c8ab79a2f34aa451872d7 (diff)
downloadrafb-nopaste-48d7424647b146a66c5bde93ee836919933a4150.tar.gz
rafb-nopaste-48d7424647b146a66c5bde93ee836919933a4150.tar.xz
rafb-nopaste-48d7424647b146a66c5bde93ee836919933a4150.zip
added geshi syntax highlighter
Diffstat (limited to '')
-rw-r--r--paste/include/geshi/contexts/web3d/comment.php48
-rw-r--r--paste/include/geshi/contexts/web3d/string.php50
-rw-r--r--paste/include/geshi/contexts/web3d/string_javascript.php51
-rw-r--r--paste/include/geshi/contexts/web3d/vrml1.php214
-rw-r--r--paste/include/geshi/contexts/web3d/vrml97.php218
-rw-r--r--paste/include/geshi/contexts/web3d/x3d_ascii.php221
6 files changed, 802 insertions, 0 deletions
diff --git a/paste/include/geshi/contexts/web3d/comment.php b/paste/include/geshi/contexts/web3d/comment.php
new file mode 100644
index 0000000..16c2497
--- /dev/null
+++ b/paste/include/geshi/contexts/web3d/comment.php
@@ -0,0 +1,48 @@
+<?php
+/**
+ * GeSHi - Generic Syntax Highlighter
+ * ----------------------------------
+ *
+ * For information on how to use GeSHi, please consult the documentation
+ * found in the docs/ directory, or online at http://geshi.org/docs/
+ *
+ * This file is part of GeSHi.
+ *
+ * GeSHi is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * GeSHi is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with GeSHi; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ * You can view a copy of the GNU GPL in the COPYING file that comes
+ * with GeSHi, in the docs/ directory.
+ *
+ * @package lang
+ * @author Nigel McNie <nigel@geshi.org>
+ * @license http://www.gnu.org/copyleft/gpl.html GNU GPL
+ * @copyright (C) 2005 Nigel McNie
+ * @version 1.1.0
+ *
+ */
+
+$this->_contextDelimiters = array(
+ 0 => array(
+ 0 => array('#'),
+ 1 => array("\n"),
+ 2 => false
+ )
+);
+
+$this->_styler->setStyle($CONTEXT, 'color:#888;background-color:#EEE;font-style:bold;');
+$this->_contextStyleType = GESHI_STYLE_COMMENTS;
+$this->_delimiterParseData = GESHI_CHILD_PARSE_LEFT;
+
+?>
diff --git a/paste/include/geshi/contexts/web3d/string.php b/paste/include/geshi/contexts/web3d/string.php
new file mode 100644
index 0000000..1dda5dc
--- /dev/null
+++ b/paste/include/geshi/contexts/web3d/string.php
@@ -0,0 +1,50 @@
+<?php
+/**
+ * GeSHi - Generic Syntax Highlighter
+ *
+ * For information on how to use GeSHi, please consult the documentation
+ * found in the docs/ directory, or online at http://geshi.org/docs/
+ *
+ * This file is part of GeSHi.
+ *
+ * GeSHi is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * GeSHi is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with GeSHi; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ * You can view a copy of the GNU GPL in the COPYING file that comes
+ * with GeSHi, in the docs/ directory.
+ *
+ * @package lang
+ * @author Nigel McNie <nigel@geshi.org>
+ * @license http://www.gnu.org/copyleft/gpl.html GNU GPL
+ * @copyright (C) 2005 Nigel McNie
+ * @version 1.1.0
+ *
+ */
+
+$this->_contextDelimiters = array(
+ 0 => array(
+ 0 => array('"'),
+ 1 => array('"'),
+ 2 => false
+ )
+);
+
+$this->_childContexts = array(
+ new GeSHiCodeContext('web3d', $DIALECT, 'string_javascript'),
+);
+
+$this->_styler->setStyle($CONTEXT, 'color:#933;');
+$this->_contextStyleType = GESHI_STYLE_STRINGS;
+
+?>
diff --git a/paste/include/geshi/contexts/web3d/string_javascript.php b/paste/include/geshi/contexts/web3d/string_javascript.php
new file mode 100644
index 0000000..cc7b84e
--- /dev/null
+++ b/paste/include/geshi/contexts/web3d/string_javascript.php
@@ -0,0 +1,51 @@
+<?php
+/**
+ * GeSHi - Generic Syntax Highlighter
+ *
+ * For information on how to use GeSHi, please consult the documentation
+ * found in the docs/ directory, or online at http://geshi.org/docs/
+ *
+ * This file is part of GeSHi.
+ *
+ * GeSHi is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * GeSHi is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with GeSHi; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ * You can view a copy of the GNU GPL in the COPYING file that comes
+ * with GeSHi, in the docs/ directory.
+ *
+ * @package lang
+ * @author Nigel McNie <nigel@geshi.org>
+ * @license http://www.gnu.org/copyleft/gpl.html GNU GPL
+ * @copyright (C) 2005 Nigel McNie
+ * @version 1.1.0
+ *
+ */
+
+$this->_contextDelimiters = array(
+ 0 => array(
+ // Why doesn't this work correctly?
+// 0 => array('REGEX#[java|vrml|ecma]script:#'),
+
+ // yet this works (three valid names for the same VRML scripting)
+ 0 => array('REGEX#javascript:#', 'REGEX#ecmascript:#', 'REGEX#vrmlscript:#'),
+ 1 => array('"'),
+ 2 => false
+ )
+);
+
+$this->_delimiterParseData = GESHI_CHILD_PARSE_LEFT;
+
+$this->_overridingChildContext = new GeSHiCodeContext('javascript');
+
+?>
diff --git a/paste/include/geshi/contexts/web3d/vrml1.php b/paste/include/geshi/contexts/web3d/vrml1.php
new file mode 100644
index 0000000..c657149
--- /dev/null
+++ b/paste/include/geshi/contexts/web3d/vrml1.php
@@ -0,0 +1,214 @@
+<?php
+/**
+ * GeSHi - Generic Syntax Highlighter
+ * ----------------------------------
+ *
+ * For information on how to use GeSHi, please consult the documentation
+ * found in the docs/ directory, or online at http://geshi.org/docs/
+ *
+ * This file is part of GeSHi.
+ *
+ * GeSHi is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * GeSHi is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with GeSHi; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ * You can view a copy of the GNU GPL in the COPYING file that comes
+ * with GeSHi, in the docs/ directory.
+ *
+ * @package lang
+ * @author Nigel McNie <nigel@geshi.org>
+ * @license http://www.gnu.org/copyleft/gpl.html GNU GPL
+ * @copyright (C) 2005 Nigel McNie
+ * @version 1.1.0
+ *
+ */
+
+$this->_contextDelimiters = array();
+
+$this->_childContexts = array(
+ new GeSHiContext('web3d', $DIALECT, 'comment'),
+ new GeSHiContext('web3d', $DIALECT, 'string')
+);
+
+$this->_contextKeywords = array(
+ 0 => array(
+ // nodes
+ 0 => array(
+ // sensors
+ 'CylinderSensor', 'PlaneSensor', 'ProximitySensor', 'SphereSensor',
+ 'TimeSensor', 'TouchSensor', 'VisibilitySensor',
+ // interpolators
+ 'ColorInterpolator', 'CoordinateInterpolator', 'NormalInterpolator',
+ 'OrientationInterpolator', 'PositionInterpolator', 'ScalarInterpolator',
+ // grouping nodes
+ 'Anchor', 'Billboard', 'Collision', 'Group', 'LOD', 'Switch', 'Transform',
+ // bindables
+ 'Background', 'Fog', 'NavigationInfo', 'Viewpoint',
+ // lights
+ 'DirectionalLight', 'PointLight', 'SpotLight',
+ // shape and geometry
+ 'Box', 'Cone', 'Coordinate', 'Cylinder', 'ElevationGrid', 'Extrusion',
+ 'IndexedFaceSet', 'IndexedLineSet', 'PointSet', 'Shape', 'Sphere', 'Text',
+ // appearance
+ 'Appearance', 'Color', 'FontStyle', 'Material',
+ 'Normal', 'TextureCoordinate', 'TextureTransform',
+ // textures
+ 'ImageTexture', 'MovieTexture', 'PixelTexture',
+ // sound
+ 'AudioClip', 'Sound',
+ // other
+ 'Inline', 'Script', 'WorldInfo'
+ ),
+ // name
+ 1 => $CONTEXT . '/node',
+ // style
+ 2 => 'color:#b1b100;',
+ // case sensitive
+ 3 => true,
+ // url
+ 4 => 'http://www.web3d.org/x3d/specifications/vrml/ISO-IEC-14772-IS-VRML97WithAmendment1/part1/nodesRef.html#{FNAME}'
+ ),
+ 1 => array(
+ // fields of nodes
+ 0 => array(
+ // A
+ 'addChildren', 'ambientIntensity', 'appearance', 'attenuation', 'autoOffset',
+ 'avatarSize', 'axisOfRotation',
+ // B
+ 'backUrl', 'bboxCenter', 'bboxSize', 'beamWidth', 'beginCap',
+ 'bindTime', 'bottom', 'bottomRadius', 'bottomUrl',
+ // C
+ 'ccw', 'center', 'children', 'choice', 'collide',
+ 'collideTime', 'color', 'colorIndex', 'colorPerVertex', 'convex',
+ 'coord', 'coordIndex', 'creaseAngle', 'crossSection', 'cutOffAngle',
+ 'cycleInterval', 'cycleTime',
+ // D
+ 'description', 'diffuseColor', 'direction', 'directOutput',
+ 'diskAngle', 'duration_changed',
+ // E
+ 'emissiveColor', 'enabled', 'endCap', 'enterTime', 'exitTime',
+ // F
+ 'family', 'fieldOfView', 'fogType', 'fontStyle', 'fraction_changed',
+ 'frontUrl',
+ // G
+ 'geometry', 'groundAngle', 'groundColor',
+ // H
+ 'headlight', 'height', 'hitNormal_changed', 'hitPoint_changed', 'horizontal',
+ // I
+ 'image', 'info', 'intensity', 'isActive', 'isBound', 'isOver',
+ // J
+ 'jump', 'justify',
+ // K
+ 'key', 'keyValue',
+ // L
+ 'language', 'leftUrl', 'leftToRight','length', 'level',
+ 'location', 'loop',
+ // M
+ 'material', 'maxAngle', 'maxBack', 'maxExtent', 'maxFront',
+ 'maxPosition', 'minAngle', 'minBack', 'minFront', 'minPosition',
+ 'mustEvaluate',
+ // N
+ 'normal', 'normalIndex', 'normalPerVertex',
+ // O
+ 'offset', 'on', 'orientation', 'orientation_changed',
+ // P
+ 'parameter', 'pitch', 'point', 'position', 'position_changed',
+ 'priority', 'proxy',
+ // Q
+
+ // R
+ 'radius', 'range', 'removeChildren', 'repeatS', 'repeatT',
+ 'rightUrl', 'rotation', 'rotation_changed',
+ // S
+ 'scale', 'scaleOrientation', 'set_bind', 'set_colorIndex', 'set_coordIndex',
+ 'set_crossSection', 'set_fraction', 'set_height', 'set_normalIndex', 'set_orientation',
+ 'set_spine', 'set_scale', 'set_texCoordIndex', 'shininess', 'side',
+ 'size', 'skyAngle', 'skyColor', 'solid', 'source',
+ 'spacing', 'spatialization', 'specularColor', 'speed', 'spine',
+ 'startTime', 'stopTime', 'string', 'style',
+ // T
+ 'texCoord', 'texCoordIndex', 'texture', 'textureTransform', 'time',
+ 'title', 'top', 'topUrl', 'topToBottom', 'touchTime',
+ 'trackPoint_changed', 'translation', 'translation_changed', 'transparency', 'type',
+ // U
+ 'url',
+ // V
+ 'value_changed', 'vector', 'visibilityLimit', 'visibilityRange',
+ // W
+ 'whichChoice',
+ // X
+ 'xDimension', 'xSpacing',
+ // Y
+
+ // Z
+ 'zDimension', 'zSpacing'
+ ),
+ 1 => $CONTEXT . '/field',
+ 2 => 'font-weight:bold;color:red;',
+ 3 => true,
+ 4 => ''
+ ),
+ 2 => array(
+ // keywords
+ 0 => array(
+ 'DEF', 'USE', 'IS', 'PROTO', 'EXTERNPROTO', 'TO', 'ROUTE',
+ 'TRUE', 'FALSE', 'NULL',
+ ),
+ 1 => $CONTEXT . '/keyword',
+ 2 => 'font-weight:bold;color:blue;',
+ 3 => true,
+ 4 => ''
+ ),
+ 3 => array(
+ // field access types
+ 0 => array(
+ 'eventIn', 'eventOut', 'exposedField', 'field',
+ ),
+ 1 => $CONTEXT . '/fieldaccess',
+ 2 => 'font-weight:bold;color:purple;',
+ 3 => true,
+ 4 => ''
+ ),
+ 4 => array(
+ // field data types
+ 0 => array(
+ 'SFBool', 'SFColor', 'SFFloat', 'SFImage', 'SFInt32', 'SFNode',
+ 'SFRotation', 'SFString', 'SFTime', 'SFVec2f', 'SFVec3f',
+ 'MFColor', 'MFFloat', 'MFInt32', 'MFNode',
+ 'MFRotation', 'MFString', 'MFTime', 'MFVec2f', 'MFVec3f',
+ ),
+ 1 => $CONTEXT . '/fieldtype',
+ 2 => 'color:green;',
+ 3 => true,
+ 4 => ''
+ )
+);
+
+$this->_contextSymbols = array(
+ 0 => array(
+ 0 => array(
+ '{', '}'
+ ),
+ 1 => $CONTEXT . '/nodesymbol',
+ 2 => 'color:#008000;'
+ ),
+ 1 => array(
+ 0 => array(
+ '[', ']'
+ ),
+ 1 => $CONTEXT . '/arraysymbol',
+ 2 => 'color:#008000;'
+ )
+);
+
+?> \ No newline at end of file
diff --git a/paste/include/geshi/contexts/web3d/vrml97.php b/paste/include/geshi/contexts/web3d/vrml97.php
new file mode 100644
index 0000000..bf37220
--- /dev/null
+++ b/paste/include/geshi/contexts/web3d/vrml97.php
@@ -0,0 +1,218 @@
+<?php
+/**
+ * GeSHi - Generic Syntax Highlighter
+ *
+ * For information on how to use GeSHi, please consult the documentation
+ * found in the docs/ directory, or online at http://geshi.org/docs/
+ *
+ * This file is part of GeSHi.
+ *
+ * GeSHi is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * GeSHi is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with GeSHi; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ * You can view a copy of the GNU GPL in the COPYING file that comes
+ * with GeSHi, in the docs/ directory.
+ *
+ * @package lang
+ * @author Nigel McNie <nigel@geshi.org>
+ * @license http://www.gnu.org/copyleft/gpl.html GNU GPL
+ * @copyright (C) 2005 Nigel McNie
+ * @version 1.1.0
+ *
+ */
+
+$this->_contextDelimiters = array();
+
+$this->_childContexts = array(
+ new GeSHiContext('web3d', $DIALECT, 'comment'),
+ new GeSHiContext('web3d', $DIALECT, 'string')
+);
+
+$this->_contextKeywords = array(
+ 0 => array(
+ // nodes
+ 0 => array(
+ // sensors
+ 'CylinderSensor', 'PlaneSensor', 'ProximitySensor', 'SphereSensor',
+ 'TimeSensor', 'TouchSensor', 'VisibilitySensor',
+ // interpolators
+ 'ColorInterpolator', 'CoordinateInterpolator', 'NormalInterpolator',
+ 'OrientationInterpolator', 'PositionInterpolator', 'ScalarInterpolator',
+ // grouping nodes
+ 'Anchor', 'Billboard', 'Collision', 'Group', 'LOD', 'Switch', 'Transform',
+ // bindables
+ 'Background', 'Fog', 'NavigationInfo', 'Viewpoint',
+ // lights
+ 'DirectionalLight', 'PointLight', 'SpotLight',
+ // shape and geometry
+ 'Box', 'Cone', 'Coordinate', 'Cylinder', 'ElevationGrid', 'Extrusion',
+ 'IndexedFaceSet', 'IndexedLineSet', 'PointSet', 'Shape', 'Sphere', 'Text',
+ // appearance
+ 'Appearance', 'Color', 'FontStyle', 'Material',
+ 'Normal', 'TextureCoordinate', 'TextureTransform',
+ // textures
+ 'ImageTexture', 'MovieTexture', 'PixelTexture',
+ // sound
+ 'AudioClip', 'Sound',
+ // other
+ 'Inline', 'Script', 'WorldInfo'
+ ),
+ // name
+ 1 => $CONTEXT . '/node',
+ // style
+ 2 => 'color:#b1b100;',
+ // case sensitive
+ 3 => true,
+ // url
+ 4 => 'http://www.web3d.org/x3d/specifications/vrml/ISO-IEC-14772-IS-VRML97WithAmendment1/part1/nodesRef.html#{FNAME}'
+ ),
+ 1 => array(
+ // fields of nodes
+ 0 => array(
+ // A
+ 'addChildren', 'ambientIntensity', 'appearance', 'attenuation', 'autoOffset',
+ 'avatarSize', 'axisOfRotation',
+ // B
+ 'backUrl', 'bboxCenter', 'bboxSize', 'beamWidth', 'beginCap',
+ 'bindTime', 'bottom', 'bottomRadius', 'bottomUrl',
+ // C
+ 'ccw', 'center', 'children', 'choice', 'collide',
+ 'collideTime', 'color', 'colorIndex', 'colorPerVertex', 'convex',
+ 'coord', 'coordIndex', 'creaseAngle', 'crossSection', 'cutOffAngle',
+ 'cycleInterval', 'cycleTime',
+ // D
+ 'description', 'diffuseColor', 'direction', 'directOutput',
+ 'diskAngle', 'duration_changed',
+ // E
+ 'emissiveColor', 'enabled', 'endCap', 'enterTime', 'exitTime',
+ // F
+ 'family', 'fieldOfView', 'fogType', 'fontStyle', 'fraction_changed',
+ 'frontUrl',
+ // G
+ 'geometry', 'groundAngle', 'groundColor',
+ // H
+ 'headlight', 'height', 'hitNormal_changed', 'hitPoint_changed', 'horizontal',
+ // I
+ 'image', 'info', 'intensity', 'isActive', 'isBound', 'isOver',
+ // J
+ 'jump', 'justify',
+ // K
+ 'key', 'keyValue',
+ // L
+ 'language', 'leftUrl', 'leftToRight','length', 'level',
+ 'location', 'loop',
+ // M
+ 'material', 'maxAngle', 'maxBack', 'maxExtent', 'maxFront',
+ 'maxPosition', 'minAngle', 'minBack', 'minFront', 'minPosition',
+ 'mustEvaluate',
+ // N
+ 'normal', 'normalIndex', 'normalPerVertex',
+ // O
+ 'offset', 'on', 'orientation', 'orientation_changed',
+ // P
+ 'parameter', 'pitch', 'point', 'position', 'position_changed',
+ 'priority', 'proxy',
+ // Q
+
+ // R
+ 'radius', 'range', 'removeChildren', 'repeatS', 'repeatT',
+ 'rightUrl', 'rotation', 'rotation_changed',
+ // S
+ 'scale', 'scaleOrientation', 'set_bind', 'set_colorIndex', 'set_coordIndex',
+ 'set_crossSection', 'set_fraction', 'set_height', 'set_normalIndex', 'set_orientation',
+ 'set_spine', 'set_scale', 'set_texCoordIndex', 'shininess', 'side',
+ 'size', 'skyAngle', 'skyColor', 'solid', 'source',
+ 'spacing', 'spatialization', 'specularColor', 'speed', 'spine',
+ 'startTime', 'stopTime', 'string', 'style',
+ // T
+ 'texCoord', 'texCoordIndex', 'texture', 'textureTransform', 'time',
+ 'title', 'top', 'topUrl', 'topToBottom', 'touchTime',
+ 'trackPoint_changed', 'translation', 'translation_changed', 'transparency', 'type',
+ // U
+ 'url',
+ // V
+ 'value_changed', 'vector', 'visibilityLimit', 'visibilityRange',
+ // W
+ 'whichChoice',
+ // X
+ 'xDimension', 'xSpacing',
+ // Y
+
+ // Z
+ 'zDimension', 'zSpacing'
+ ),
+ 1 => $CONTEXT . '/field',
+ 2 => 'font-weight:bold;color:red;',
+ 3 => true,
+ 4 => ''
+ ),
+ 2 => array(
+ // keywords
+ 0 => array(
+ 'DEF', 'USE', 'IS', 'PROTO', 'EXTERNPROTO', 'TO', 'ROUTE',
+ 'TRUE', 'FALSE', 'NULL',
+ ),
+ 1 => $CONTEXT . '/keyword',
+ 2 => 'font-weight:bold;color:blue;',
+ 3 => true,
+ 4 => ''
+ ),
+ 3 => array(
+ // field access types
+ 0 => array(
+ 'eventIn', 'eventOut', 'exposedField', 'field',
+ ),
+ 1 => $CONTEXT . '/fieldaccess',
+ 2 => 'font-weight:bold;color:purple;',
+ 3 => true,
+ 4 => ''
+ ),
+ 4 => array(
+ // field data types
+ 0 => array(
+ 'SFBool', 'SFColor', 'SFFloat', 'SFImage', 'SFInt32', 'SFNode',
+ 'SFRotation', 'SFString', 'SFTime', 'SFVec2f', 'SFVec3f',
+ 'MFColor', 'MFFloat', 'MFInt32', 'MFNode',
+ 'MFRotation', 'MFString', 'MFTime', 'MFVec2f', 'MFVec3f',
+ ),
+ 1 => $CONTEXT . '/fieldtype',
+ 2 => 'color:green;',
+ 3 => true,
+ 4 => ''
+ )
+);
+
+$this->_contextSymbols = array(
+ 0 => array(
+ 0 => array(
+ '{', '}'
+ ),
+ 1 => $CONTEXT . '/nodesymbol',
+ 2 => 'color:#008000;'
+ ),
+ 1 => array(
+ 0 => array(
+ '[', ']'
+ ),
+ 1 => $CONTEXT . '/arraysymbol',
+ 2 => 'color:#008000;'
+ )
+);
+
+$this->_contextRegexps = array(
+ 0 => geshi_use_doubles($CONTEXT),
+ 1 => geshi_use_integers($CONTEXT)
+);
+
+?> \ No newline at end of file
diff --git a/paste/include/geshi/contexts/web3d/x3d_ascii.php b/paste/include/geshi/contexts/web3d/x3d_ascii.php
new file mode 100644
index 0000000..fc58acc
--- /dev/null
+++ b/paste/include/geshi/contexts/web3d/x3d_ascii.php
@@ -0,0 +1,221 @@
+<?php
+/**
+ * GeSHi - Generic Syntax Highlighter
+ * ----------------------------------
+ *
+ * For information on how to use GeSHi, please consult the documentation
+ * found in the docs/ directory, or online at http://geshi.org/docs/
+ *
+ * This file is part of GeSHi.
+ *
+ * GeSHi is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * GeSHi is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with GeSHi; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ * You can view a copy of the GNU GPL in the COPYING file that comes
+ * with GeSHi, in the docs/ directory.
+ *
+ * @package lang
+ * @author Nigel McNie <nigel@geshi.org>
+ * @license http://www.gnu.org/copyleft/gpl.html GNU GPL
+ * @copyright (C) 2005 Nigel McNie
+ * @version 1.1.0
+ *
+ */
+
+$this->_contextDelimiters = array();
+
+$this->_childContexts = array(
+ new GeSHiContext('web3d', $DIALECT, 'comment'),
+ new GeSHiContext('web3d', $DIALECT, 'string')
+);
+
+$this->_contextKeywords = array(
+ 0 => array(
+ // nodes
+ 0 => array(
+ // sensors
+ 'CylinderSensor', 'PlaneSensor', 'ProximitySensor', 'SphereSensor',
+ 'TimeSensor', 'TouchSensor', 'VisibilitySensor',
+ // interpolators
+ 'ColorInterpolator', 'CoordinateInterpolator', 'NormalInterpolator',
+ 'OrientationInterpolator', 'PositionInterpolator', 'ScalarInterpolator',
+ // grouping nodes
+ 'Anchor', 'Billboard', 'Collision', 'Group', 'LOD', 'Switch', 'Transform',
+ // bindables
+ 'Background', 'Fog', 'NavigationInfo', 'Viewpoint',
+ // lights
+ 'DirectionalLight', 'PointLight', 'SpotLight',
+ // shape and geometry
+ 'Box', 'Cone', 'Coordinate', 'Cylinder', 'ElevationGrid', 'Extrusion',
+ 'IndexedFaceSet', 'IndexedLineSet', 'PointSet', 'Shape', 'Sphere', 'Text',
+ // appearance
+ 'Appearance', 'Color', 'FontStyle', 'Material',
+ 'Normal', 'TextureCoordinate', 'TextureTransform',
+ // textures
+ 'ImageTexture', 'MovieTexture', 'PixelTexture',
+ // sound
+ 'AudioClip', 'Sound',
+ // other
+ 'Inline', 'Script', 'WorldInfo'
+ ),
+ // name
+ 1 => $CONTEXT . '/node',
+ // style
+ 2 => 'color:#b1b100;',
+ // case sensitive
+ 3 => true,
+ // url
+ 4 => 'http://www.web3d.org/x3d/specifications/vrml/ISO-IEC-14772-IS-VRML97WithAmendment1/part1/nodesRef.html#{FNAME}'
+ ),
+ 1 => array(
+ // fields of nodes
+ 0 => array(
+ // A
+ 'addChildren', 'ambientIntensity', 'appearance', 'attenuation', 'autoOffset',
+ 'avatarSize', 'axisOfRotation',
+ // B
+ 'backUrl', 'bboxCenter', 'bboxSize', 'beamWidth', 'beginCap',
+ 'bindTime', 'bottom', 'bottomRadius', 'bottomUrl',
+ // C
+ 'ccw', 'center', 'children', 'choice', 'collide',
+ 'collideTime', 'color', 'colorIndex', 'colorPerVertex', 'convex',
+ 'coord', 'coordIndex', 'creaseAngle', 'crossSection', 'cutOffAngle',
+ 'cycleInterval', 'cycleTime',
+ // D
+ 'description', 'diffuseColor', 'direction', 'directOutput',
+ 'diskAngle', 'duration_changed',
+ // E
+ 'emissiveColor', 'enabled', 'endCap', 'enterTime', 'exitTime',
+ // F
+ 'family', 'fieldOfView', 'fogType', 'fontStyle', 'fraction_changed',
+ 'frontUrl',
+ // G
+ 'geometry', 'groundAngle', 'groundColor',
+ // H
+ 'headlight', 'height', 'hitNormal_changed', 'hitPoint_changed', 'horizontal',
+ // I
+ 'image', 'info', 'intensity', 'isActive', 'isBound', 'isOver',
+ // J
+ 'jump', 'justify',
+ // K
+ 'key', 'keyValue',
+ // L
+ 'language', 'leftUrl', 'leftToRight','length', 'level',
+ 'location', 'loop',
+ // M
+ 'material', 'maxAngle', 'maxBack', 'maxExtent', 'maxFront',
+ 'maxPosition', 'minAngle', 'minBack', 'minFront', 'minPosition',
+ 'mustEvaluate',
+ // N
+ 'normal', 'normalIndex', 'normalPerVertex',
+ // O
+ 'offset', 'on', 'orientation', 'orientation_changed',
+ // P
+ 'parameter', 'pitch', 'point', 'position', 'position_changed',
+ 'priority', 'proxy',
+ // Q
+
+ // R
+ 'radius', 'range', 'removeChildren', 'repeatS', 'repeatT',
+ 'rightUrl', 'rotation', 'rotation_changed',
+ // S
+ 'scale', 'scaleOrientation', 'set_bind', 'set_colorIndex', 'set_coordIndex',
+ 'set_crossSection', 'set_fraction', 'set_height', 'set_normalIndex', 'set_orientation',
+ 'set_spine', 'set_scale', 'set_texCoordIndex', 'shininess', 'side',
+ 'size', 'skyAngle', 'skyColor', 'solid', 'source',
+ 'spacing', 'spatialization', 'specularColor', 'speed', 'spine',
+ 'startTime', 'stopTime', 'string', 'style',
+ // T
+ 'texCoord', 'texCoordIndex', 'texture', 'textureTransform', 'time',
+ 'title', 'top', 'topUrl', 'topToBottom', 'touchTime',
+ 'trackPoint_changed', 'translation', 'translation_changed', 'transparency', 'type',
+ // U
+ 'url',
+ // V
+ 'value_changed', 'vector', 'visibilityLimit', 'visibilityRange',
+ // W
+ 'whichChoice',
+ // X
+ 'xDimension', 'xSpacing',
+ // Y
+
+ // Z
+ 'zDimension', 'zSpacing'
+ ),
+ 1 => $CONTEXT . '/field',
+ 2 => 'font-weight:bold;color:red;',
+ 3 => true,
+ 4 => ''
+ ),
+ 2 => array(
+ // keywords
+ 0 => array(
+ 'DEF', 'USE', 'IS', 'PROTO', 'EXTERNPROTO', 'TO', 'ROUTE',
+ 'TRUE', 'FALSE', 'NULL',
+ // X3D
+ 'IMPORT', 'EXPORT', 'PROFILE', 'COMPONENT', 'META'
+ ),
+ 1 => $CONTEXT . '/keyword',
+ 2 => 'font-weight:bold;color:blue;',
+ 3 => true,
+ 4 => ''
+ ),
+ 3 => array(
+ // field access types
+ 0 => array(
+ 'eventIn', 'eventOut', 'exposedField', 'field',
+ // X3D
+ 'inputOnly', 'outputOnly', 'inputOutput', 'initializeOnly'
+ ),
+ 1 => $CONTEXT . '/fieldaccess',
+ 2 => 'font-weight:bold;color:purple;',
+ 3 => true,
+ 4 => ''
+ ),
+ 4 => array(
+ // field data types
+ 0 => array(
+ 'SFBool', 'SFColor', 'SFFloat', 'SFImage', 'SFInt32', 'SFNode',
+ 'SFRotation', 'SFString', 'SFTime', 'SFVec2f', 'SFVec3f',
+ 'MFColor', 'MFFloat', 'MFInt32', 'MFNode',
+ 'MFRotation', 'MFString', 'MFTime', 'MFVec2f', 'MFVec3f',
+ // X3D
+ 'SFColorRGBA', 'SFDouble', 'SFVec2d', 'SFVec3d',
+ 'MFBool', 'MFColorRGBA', 'MFDouble', 'MFImage', 'MFVec2d', 'MFVec3d'
+ ),
+ 1 => $CONTEXT . '/fieldtype',
+ 2 => 'color:green;',
+ 3 => true,
+ 4 => ''
+ )
+);
+
+$this->_contextSymbols = array(
+ 0 => array(
+ 0 => array(
+ '{', '}'
+ ),
+ 1 => $CONTEXT . '/nodesymbol',
+ 2 => 'color:#008000;'
+ ),
+ 1 => array(
+ 0 => array(
+ '[', ']'
+ ),
+ 1 => $CONTEXT . '/arraysymbol',
+ 2 => 'color:#008000;'
+ )
+);
+
+?> \ No newline at end of file