From 48d7424647b146a66c5bde93ee836919933a4150 Mon Sep 17 00:00:00 2001 From: Alexander Sulfrian Date: Fri, 11 Dec 2009 01:16:01 +0100 Subject: added geshi syntax highlighter --- paste/include/geshi/contexts/web3d/x3d_ascii.php | 221 +++++++++++++++++++++++ 1 file changed, 221 insertions(+) create mode 100644 paste/include/geshi/contexts/web3d/x3d_ascii.php (limited to 'paste/include/geshi/contexts/web3d/x3d_ascii.php') 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 @@ + + * @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 -- cgit v1.2.3