1 <?php 2 /************************************************************************************* 3 * avisynth.php 4 * -------- 5 * Author: Ryan Jones (sciguyryan (at) gmail.com) 6 * Copyright: (c) 2008 Ryan Jones 7 * Release Version: 1.0.8.3 8 * Date Started: 2008/10/08 9 * 10 * AviSynth language file for GeSHi. 11 * 12 * CHANGES 13 * ------- 14 * 2008/10/08 (1.0.8.1) 15 * - First Release 16 * 17 * TODO (updated 2008/10/08) 18 * ------------------------- 19 * * There are also some special words that can't currently be specified directly in GeSHi as they may 20 * also be used as variables which would really mess things up. 21 * * Also there is an issue with the escape character as this language uses a muti-character escape system. Escape char should be """ but has been left 22 * as empty due to this restiction. 23 * 24 ************************************************************************************* 25 * 26 * This file is part of GeSHi. 27 * 28 * GeSHi is free software; you can redistribute it and/or modify 29 * it under the terms of the GNU General Public License as published by 30 * the Free Software Foundation; either version 2 of the License, or 31 * (at your option) any later version. 32 * 33 * GeSHi is distributed in the hope that it will be useful, 34 * but WITHOUT ANY WARRANTY; without even the implied warranty of 35 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 36 * GNU General Public License for more details. 37 * 38 * You should have received a copy of the GNU General Public License 39 * along with GeSHi; if not, write to the Free Software 40 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 41 * 42 ************************************************************************************/ 43 44 $language_data = array ( 45 'LANG_NAME' => 'AviSynth', 46 'COMMENT_SINGLE' => array(1 => '#'), 47 'COMMENT_MULTI' => array('/*' => '*/', '[*' => '*]'), 48 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, 49 'QUOTEMARKS' => array('"'), 50 'ESCAPE_CHAR' => '', 51 'KEYWORDS' => array( 52 // Reserved words. 53 1 => array( 54 'try', 'cache', 'function', 'global', 'return' 55 ), 56 // Constants / special variables. 57 2 => array( 58 'true', 'yes', 'false', 'no', '__END__' 59 ), 60 // Internal Filters. 61 3 => array( 62 'AviSource', 'AviFileSource', 'AddBorders', 'AlignedSplice', 'AssumeFPS', 'AssumeScaledFPS', 63 'AssumeFrameBased', 'AssumeFieldBased', 'AssumeBFF', 'AssumeTFF', 'Amplify', 'AmplifydB', 64 'AssumeSampleRate', 'AudioDub', 'AudioDubEx', 'Animate', 'ApplyRange', 65 'BicubicResize', 'BilinearResize', 'BlackmanResize', 'Blur', 'Bob', 'BlankClip', 'Blackness', 66 'ColorYUV', 'ConvertBackToYUY2', 'ConvertToRGB', 'ConvertToRGB24', 'ConvertToRGB32', 67 'ConvertToYUY2', 'ConvertToY8', 'ConvertToYV411', 'ConvertToYV12', 'ConvertToYV16', 'ConvertToYV24', 68 'ColorKeyMask', 'Crop', 'CropBottom', 'ChangeFPS', 'ConvertFPS', 'ComplementParity', 'ConvertAudioTo8bit', 69 'ConvertAudioTo16bit', 'ConvertAudioTo24bit', 'ConvertAudioTo32bit', 'ConvertAudioToFloat', 'ConvertToMono', 70 'ConditionalFilter', 'ConditionalReader', 'ColorBars', 'Compare', 71 'DirectShowSource', 'DeleteFrame', 'Dissolve', 'DuplicateFrame', 'DoubleWeave', 'DelayAudio', 72 'EnsureVBRMP3Sync', 73 'FixLuminance', 'FlipHorizontal', 'FlipVertical', 'FixBrokenChromaUpsampling', 'FadeIn0', 'FadeIn', 74 'FadeIn2', 'FadeOut0', 'FadeOut', 'FadeOut2', 'FadeIO0', 'FadeIO', 'FadeIO2', 'FreezeFrame', 'FrameEvaluate', 75 'GreyScale', 'GaussResize', 'GeneralConvolution', 'GetChannel', 'GetLeftChannel', 'GetRightChannel', 76 'HorizontalReduceBy2', 'Histogram', 77 'ImageReader', 'ImageSource', 'ImageWriter', 'Invert', 'Interleave', 'Info', 78 'KillAudio', 'KillVideo', 79 'Levels', 'Limiter', 'Layer', 'Letterbox', 'LanczosResize', 'Lanczos4Resize', 'Loop', 80 'MergeARGB', 'MergeRGB', 'MergeChroma', 'MergeLuma', 'Merge', 'Mask', 'MaskHS', 'MergeChannels', 'MixAudio', 81 'MonoToStereo', 'MessageClip', 82 'Normalize', 83 'OpenDMLSource', 'Overlay', 84 'PointResize', 'PeculiarBlend', 'Pulldown', 85 'RGBAdjust', 'ResetMask', 'Reverse', 'ResampleAudio', 'ReduceBy2', 86 'SegmentedAviSource', 'SegmentedDirectShowSource', 'SoundOut', 'ShowAlpha', 'ShowRed', 'ShowGreen', 87 'ShowBlue', 'SwapUV', 'Subtract', 'SincResize', 'Spline16Resize', 'Spline36Resize', 'Spline64Resize', 88 'SelectEven', 'SelectOdd', 'SelectEvery', 'SelectRangeEvery', 'Sharpen', 'SpatialSoften', 'SeparateFields', 89 'ShowFiveVersions', 'ShowFrameNumber', 'ShowSMPTE', 'ShowTime', 'StackHorizontal', 'StackVertical', 'Subtitle', 90 'SwapFields', 'SuperEQ', 'SSRC', 'ScriptClip', 91 'Tweak', 'TurnLeft', 'TurnRight', 'Turn180', 'TemporalSoften', 'TimeStretch', 'TCPServer', 'TCPSource', 'Trim', 92 'Tone', 93 'UToY', 'UToY8', 'UnalignedSplice', 94 'VToY', 'VToY8', 'VerticalReduceBy2', 'Version', 95 'WavSource', 'Weave', 'WriteFile', 'WriteFileIf', 'WriteFileStart', 'WriteFileEnd', 96 'YToUV' 97 ), 98 // Internal functions. 99 4 => array( 100 'Abs', 'Apply', 'Assert', 'AverageLuma', 'AverageChromaU', 'AverageChromaV', 101 'Ceil', 'Cos', 'Chr', 'ChromaUDifference', 'ChromaVDifference', 102 'Defined', 'Default', 103 'Exp', 'Exist', 'Eval', 104 'Floor', 'Frac', 'Float', 'Findstr', 'GetMTMode', 105 'HexValue', 106 'Int', 'IsBool', 'IsClip', 'IsFloat', 'IsInt', 'IsString', 'Import', 107 'LoadPlugin', 'Log', 'LCase', 'LeftStr', 'LumaDifference', 'LoadVirtualDubPlugin', 'LoadVFAPIPlugin', 108 'LoadCPlugin', 'Load_Stdcall_Plugin', 109 'Max', 'MulDiv', 'MidStr', 110 'NOP', 111 'OPT_AllowFloatAudio', 'OPT_UseWaveExtensible', 112 'Pi', 'Pow', 113 'Round', 'Rand', 'RevStr', 'RightStr', 'RGBDifference', 'RGBDifferenceFromPrevious', 'RGBDifferenceToNext', 114 'Sin', 'Sqrt', 'Sign', 'Spline', 'StrLen', 'String', 'Select', 'SetMemoryMax', 'SetWorkingDir', 'SetMTMode', 115 'SetPlanarLegacyAlignment', 116 'Time', 117 'UCase', 'UDifferenceFromPrevious', 'UDifferenceToNext', 'UPlaneMax', 'UPlaneMin', 'UPlaneMedian', 118 'UPlaneMinMaxDifference', 119 'Value', 'VersionNumber', 'VersionString', 'VDifferenceFromPrevious', 'VDifferenceToNext', 'VPlaneMax', 120 'VPlaneMin', 'VPlaneMedian', 'VPlaneMinMaxDifference', 121 'YDifferenceFromPrevious', 'YDifferenceToNext', 'YPlaneMax', 'YPlaneMin', 'YPlaneMedian', 122 'YPlaneMinMaxDifference' 123 ) 124 ), 125 'SYMBOLS' => array( 126 '+', '++', '-', '--', '/', '*', '%', 127 '=', '==', '<', '<=', '>', '>=', '<>', '!=', 128 '!', '?', ':', 129 '|', '||', '&&', 130 '\\', 131 '(', ')', '{', '}', 132 '.', ',' 133 ), 134 'CASE_SENSITIVE' => array( 135 GESHI_COMMENTS => false, 136 1 => false, 137 2 => false, 138 3 => false, 139 4 => true, 140 ), 141 'STYLES' => array( 142 'KEYWORDS' => array( 143 1 => 'color:#9966CC; font-weight:bold;', 144 2 => 'color:#0000FF; font-weight:bold;', 145 3 => 'color:#CC3300; font-weight:bold;', 146 4 => 'color:#660000; font-weight:bold;' 147 ), 148 'COMMENTS' => array( 149 1 => 'color:#008000; font-style:italic;', 150 'MULTI' => 'color:#000080; font-style:italic;' 151 ), 152 'ESCAPE_CHAR' => array( 153 0 => 'color:#000099;' 154 ), 155 'BRACKETS' => array( 156 0 => 'color:#006600; font-weight:bold;' 157 ), 158 'STRINGS' => array( 159 0 => 'color:#996600;' 160 ), 161 'NUMBERS' => array( 162 0 => 'color:#006666;' 163 ), 164 'METHODS' => array( 165 1 => 'color:#9900CC;' 166 ), 167 'SYMBOLS' => array( 168 0 => 'color:#006600; font-weight:bold;' 169 ), 170 'REGEXPS' => array( 171 ), 172 'SCRIPT' => array( 173 ) 174 ), 175 'URLS' => array( 176 1 => '', 177 2 => '', 178 3 => 'http://avisynth.org/mediawiki/{FNAME}', 179 4 => '' 180 ), 181 'REGEXPS' => array( 182 ), 183 'OOLANG' => true, 184 'OBJECT_SPLITTERS' => array( 185 1 => '.' 186 ), 187 'STRICT_MODE_APPLIES' => GESHI_MAYBE, 188 'SCRIPT_DELIMITERS' => array( 189 ), 190 'HIGHLIGHT_STRICT_BLOCK' => array( 191 ), 192 'TAB_WIDTH' => 4 193 ); 194 ?> 195