Home | History | Annotate | Download | only in geshi
      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