Home | History | Annotate | Download | only in geshi
      1 <?php
      2 /*************************************************************************************
      3  * cfm.php
      4  * -------
      5  * Author: Diego
      6  * Copyright: (c) 2006 Diego
      7  * Release Version: 1.0.8.3
      8  * Date Started: 2006/02/25
      9  *
     10  * ColdFusion language file for GeSHi.
     11  *
     12  * CHANGES
     13  * -------
     14  * 2006/02/25 (1.0.0)
     15  *   -  First Release
     16  *
     17  * TODO (updated 2006/02/25)
     18  * -------------------------
     19  *
     20  *************************************************************************************
     21  *
     22  *     This file is part of GeSHi.
     23  *
     24  *   GeSHi is free software; you can redistribute it and/or modify
     25  *   it under the terms of the GNU General Public License as published by
     26  *   the Free Software Foundation; either version 2 of the License, or
     27  *   (at your option) any later version.
     28  *
     29  *   GeSHi is distributed in the hope that it will be useful,
     30  *   but WITHOUT ANY WARRANTY; without even the implied warranty of
     31  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     32  *   GNU General Public License for more details.
     33  *
     34  *   You should have received a copy of the GNU General Public License
     35  *   along with GeSHi; if not, write to the Free Software
     36  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
     37  *
     38  ************************************************************************************/
     39 
     40 $language_data = array (
     41     'LANG_NAME' => 'ColdFusion',
     42     'COMMENT_SINGLE' => array(1 => '//'),
     43     'COMMENT_MULTI' => array('/*' => '*/'),
     44     'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
     45     'QUOTEMARKS' => array("'", '"'),
     46     'ESCAPE_CHAR' => '\\',
     47     'KEYWORDS' => array(
     48         /* CFM Tags */
     49         1 => array(
     50             'cfabort', 'cfapplet', 'cfapplication', 'cfargument', 'cfassociate',
     51             'cfbreak', 'cfcache', 'cfcase', 'cfcatch', 'cfchart', 'cfchartdata',
     52             'cfchartseries', 'cfcol', 'cfcollection', 'cfcomponent',
     53             'cfcontent', 'cfcookie', 'cfdefaultcase', 'cfdirectory',
     54             'cfdocument', 'cfdocumentitem', 'cfdocumentsection', 'cfdump',
     55             'cfelse', 'cfelseif', 'cferror', 'cfexecute', 'cfexit', 'cffile',
     56             'cfflush', 'cfform', 'cfformgroup', 'cfformitem', 'cfftp',
     57             'cffunction', 'cfgrid', 'cfgridcolumn', 'cfgridrow', 'cfgridupdate',
     58             'cfheader', 'cfhtmlhead', 'cfhttp', 'cfhttpparam', 'cfif',
     59             'cfimport', 'cfinclude', 'cfindex', 'cfinput', 'cfinsert',
     60             'cfinvoke', 'cfinvokeargument', 'cfldap', 'cflocation', 'cflock',
     61             'cflog', 'cflogin', 'cfloginuser', 'cflogout', 'cfloop', 'cfmail',
     62             'cfmailparam', 'cfmailpart', 'cfmodule', 'cfNTauthenticate',
     63             'cfobject', 'cfobjectcache', 'cfoutput', 'cfparam', 'cfpop',
     64             'cfprocessingdirective', 'cfprocparam',
     65             'cfprocresult', 'cfproperty', 'cfquery', 'cfqueryparam',
     66             'cfregistry', 'cfreport', 'cfreportparam', 'cfrethrow', 'cfreturn',
     67             'cfsavecontent', 'cfschedule', 'cfscript', 'cfsearch', 'cfselect',
     68             'cfset', 'cfsetting', 'cfsilent', 'cfstoredproc',
     69             'cfswitch', 'cftable', 'cftextarea', 'cfthrow', 'cftimer',
     70             'cftrace', 'cftransaction', 'cftree', 'cftreeitem', 'cftry',
     71             'cfupdate', 'cfwddx'
     72             ),
     73         /* HTML Tags */
     74         2 => array(
     75             'a', 'abbr', 'acronym', 'address', 'applet',
     76 
     77             'base', 'basefont', 'bdo', 'big', 'blockquote', 'body', 'br', 'button', 'b',
     78 
     79             'caption', 'center', 'cite', 'code', 'colgroup', 'col',
     80 
     81             'dd', 'del', 'dfn', 'dir', 'div', 'dl', 'dt',
     82 
     83             'em',
     84 
     85             'fieldset', 'font', 'form', 'frame', 'frameset',
     86 
     87             'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'hr', 'html',
     88 
     89             'iframe', 'ilayer', 'img', 'input', 'ins', 'isindex', 'i',
     90 
     91             'kbd',
     92 
     93             'label', 'legend', 'link', 'li',
     94 
     95             'map', 'meta',
     96 
     97             'noframes', 'noscript',
     98 
     99             'object', 'ol', 'optgroup', 'option',
    100 
    101             'param', 'pre', 'p',
    102 
    103             'q',
    104 
    105             'samp', 'script', 'select', 'small', 'span', 'strike', 'strong', 'style', 'sub', 'sup', 's',
    106 
    107             'table', 'tbody', 'td', 'textarea', 'text', 'tfoot', 'thead', 'th', 'title', 'tr', 'tt',
    108 
    109             'ul', 'u',
    110 
    111             'var',
    112             ),
    113         /* HTML attributes */
    114         3 => array(
    115             'abbr', 'accept-charset', 'accept', 'accesskey', 'action', 'align', 'alink', 'alt', 'archive', 'axis',
    116             'background', 'bgcolor', 'border',
    117             'cellpadding', 'cellspacing', 'char', 'charoff', 'charset', 'checked', 'cite', 'class', 'classid', 'clear', 'code', 'codebase', 'codetype', 'color', 'cols', 'colspan', 'compact', 'content', 'coords',
    118             'data', 'datetime', 'declare', 'defer', 'dir', 'disabled',
    119             'enctype',
    120             'face', 'for', 'frame', 'frameborder',
    121             'headers', 'height', 'href', 'hreflang', 'hspace', 'http-equiv',
    122             'id', 'ismap',
    123             'label', 'lang', 'language', 'link', 'longdesc',
    124             'marginheight', 'marginwidth', 'maxlength', 'media', 'method', 'multiple',
    125             'name', 'nohref', 'noresize', 'noshade', 'nowrap',
    126             'object', 'onblur', 'onchange', 'onclick', 'ondblclick', 'onfocus', 'onkeydown', 'onkeypress', 'onkeyup', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'onreset', 'onselect', 'onsubmit', 'onunload',
    127             'profile', 'prompt',
    128             'readonly', 'rel', 'rev', 'rowspan', 'rows', 'rules',
    129             'scheme', 'scope', 'scrolling', 'selected', 'shape', 'size', 'span', 'src', 'standby', 'start', 'style', 'summary',
    130             'tabindex', 'target', 'text', 'title', 'type',
    131             'usemap',
    132             'valign', 'value', 'valuetype', 'version', 'vlink', 'vspace',
    133             'width'
    134             ),
    135         /* CFM Script delimeters */
    136         4 => array(
    137             'var', 'function', 'while', 'if','else'
    138             ),
    139         /* CFM Functions */
    140         5 => array(
    141             'Abs', 'GetFunctionList', 'LSTimeFormat','ACos','GetGatewayHelper','LTrim','AddSOAPRequestHeader','GetHttpRequestData',
    142             'Max','AddSOAPResponseHeader','GetHttpTimeString','Mid','ArrayAppend','GetLocale','Min','ArrayAvg','GetLocaleDisplayName',
    143             'Minute','ArrayClear','GetMetaData','Month','ArrayDeleteAt','GetMetricData','MonthAsString','ArrayInsertAt','GetPageContext',
    144             'Now','ArrayIsEmpty','GetProfileSections','NumberFormat','ArrayLen','GetProfileString','ParagraphFormat','ArrayMax',
    145             'GetLocalHostIP','ParseDateTime','ArrayMin','GetSOAPRequest','Pi','ArrayNew','GetSOAPRequestHeader','PreserveSingleQuotes',
    146             'ArrayPrepend','GetSOAPResponse','Quarter','ArrayResize','GetSOAPResponseHeader','QueryAddColumn','ArraySet',
    147             'GetTempDirectory','QueryAddRow','ArraySort','QueryNew','ArraySum','GetTempFile','QuerySetCell',
    148             'ArraySwap','GetTickCount','QuotedValueList','ArrayToList','GetTimeZoneInfo','Rand','Asc','GetToken','Randomize',
    149             'ASin','Hash','RandRange','Atn','Hour','REFind','BinaryDecode','HTMLCodeFormat','REFindNoCase','BinaryEncode',
    150             'HTMLEditFormat','ReleaseComObject','BitAnd','IIf','RemoveChars','BitMaskClear','IncrementValue','RepeatString',
    151             'BitMaskRead','InputBaseN','Replace','BitMaskSet','Insert','ReplaceList','BitNot','Int','ReplaceNoCase','BitOr',
    152             'IsArray','REReplace','BitSHLN','IsBinary','REReplaceNoCase','BitSHRN','IsBoolean','Reverse','BitXor','IsCustomFunction',
    153             'Right','Ceiling','IsDate','RJustify','CharsetDecode','IsDebugMode','Round','CharsetEncode','IsDefined','RTrim',
    154             'Chr','IsLeapYear','Second','CJustify','IsLocalHost','SendGatewayMessage','Compare','IsNumeric','SetEncoding',
    155             'CompareNoCase','IsNumericDate','SetLocale','Cos','IsObject','SetProfileString','CreateDate','IsQuery','SetVariable',
    156             'CreateDateTime','IsSimpleValue','Sgn','CreateObject','IsSOAPRequest','Sin','CreateODBCDate','IsStruct','SpanExcluding',
    157             'CreateODBCDateTime','IsUserInRole','SpanIncluding','CreateODBCTime','IsValid','Sqr','CreateTime','IsWDDX','StripCR',
    158             'CreateTimeSpan','IsXML','StructAppend','CreateUUID','IsXmlAttribute','StructClear','DateAdd','IsXmlDoc','StructCopy',
    159             'DateCompare','IsXmlElem','StructCount','DateConvert','IsXmlNode','StructDelete','DateDiff','IsXmlRoot','StructFind',
    160             'DateFormat','JavaCast','StructFindKey','DatePart','JSStringFormat','StructFindValue','Day','LCase','StructGet',
    161             'DayOfWeek','Left','StructInsert','DayOfWeekAsString','Len','StructIsEmpty','DayOfYear','ListAppend','StructKeyArray',
    162             'DaysInMonth','ListChangeDelims','StructKeyExists','DaysInYear','ListContains','StructKeyList','DE','ListContainsNoCase',
    163             'StructNew','DecimalFormat','ListDeleteAt','StructSort','DecrementValue','ListFind','StructUpdate','Decrypt','ListFindNoCase',
    164             'Tan','DecryptBinary','ListFirst','TimeFormat','DeleteClientVariable','ListGetAt','ToBase64','DirectoryExists',
    165             'ListInsertAt','ToBinary','DollarFormat','ListLast','ToScript','Duplicate','ListLen','ToString','Encrypt','ListPrepend',
    166             'Trim','EncryptBinary','ListQualify','UCase','Evaluate','ListRest','URLDecode','Exp','ListSetAt','URLEncodedFormat',
    167             'ExpandPath','ListSort','URLSessionFormat','FileExists','ListToArray','Val','Find','ListValueCount','ValueList',
    168             'FindNoCase','ListValueCountNoCase','Week','FindOneOf','LJustify','Wrap','FirstDayOfMonth','Log','WriteOutput',
    169             'Fix','Log10','XmlChildPos','FormatBaseN','LSCurrencyFormat','XmlElemNew','GetAuthUser','LSDateFormat','XmlFormat',
    170             'GetBaseTagData','LSEuroCurrencyFormat','XmlGetNodeType','GetBaseTagList','LSIsCurrency','XmlNew','GetBaseTemplatePath',
    171             'LSIsDate','XmlParse','GetClientVariablesList','LSIsNumeric','XmlSearch','GetCurrentTemplatePath','LSNumberFormat',
    172             'XmlTransform','GetDirectoryFromPath','LSParseCurrency','XmlValidate','GetEncoding','LSParseDateTime','Year',
    173             'GetException','LSParseEuroCurrency','YesNoFormat','GetFileFromPath','LSParseNumber'
    174             ),
    175         /* CFM Attributes */
    176         6 => array(
    177             'dbtype','connectstring','datasource','username','password','query','delimeter','description','required','hint','default','access','from','to','list','index'
    178             ),
    179         7 => array(
    180             'EQ', 'GT', 'LT', 'GTE', 'LTE', 'IS', 'LIKE', 'NEQ'
    181             )
    182         ),
    183     'SYMBOLS' => array(
    184         '/', '=', '{', '}', '(', ')', '[', ']', '<', '>', '&'
    185         ),
    186     'CASE_SENSITIVE' => array(
    187         GESHI_COMMENTS => false,
    188         1 => false,
    189         2 => false,
    190         3 => false,
    191         4 => false,
    192         5 => false,
    193         6 => false,
    194         7 => false
    195         ),
    196     'STYLES' => array(
    197         'KEYWORDS' => array(
    198             1 => 'color: #990000; font-weight: bold;',
    199             2 => 'color: #000000; font-weight: bold;',
    200             3 => 'color: #0000FF;',
    201             4 => 'color: #000000; font-weight: bold;',
    202             5 => 'color: #0000FF;',
    203             6 => 'color: #0000FF;',
    204             7 => 'color: #0000FF;'
    205             ),
    206         'COMMENTS' => array(
    207             1 => 'color: #808080; font-style: italic;',
    208             'MULTI' => 'color: #808080; font-style: italic;'
    209             ),
    210         'ESCAPE_CHAR' => array(
    211             0 => 'color: #000099; font-weight: bold;'
    212             ),
    213         'BRACKETS' => array(
    214             0 => 'color: #0000FF;'
    215             ),
    216         'STRINGS' => array(
    217             0 => 'color: #009900;'
    218             ),
    219         'NUMBERS' => array(
    220             0 => 'color: #FF0000;'
    221             ),
    222         'METHODS' => array(
    223             ),
    224         'SYMBOLS' => array(
    225             0 => 'color: #0000FF;'
    226             ),
    227         'SCRIPT' => array(
    228             0 => 'color: #808080; font-style: italic;',
    229             1 => 'color: #00bbdd;',
    230             2 => 'color: #0000FF;',
    231             3 => 'color: #000099;',
    232             4 => 'color: #333333;',
    233             5 => 'color: #333333;'
    234             ),
    235         'REGEXPS' => array(
    236             )
    237         ),
    238     'URLS' => array(
    239         1 => '',
    240         2 => 'http://december.com/html/4/element/{FNAMEL}.html',
    241         3 => '',
    242         4 => '',
    243         5 => '',
    244         6 => '',
    245         7 => ''
    246         ),
    247     'OOLANG' => false,
    248     'OBJECT_SPLITTERS' => array(
    249         ),
    250     'REGEXPS' => array(
    251         ),
    252     'STRICT_MODE_APPLIES' => GESHI_ALWAYS,
    253     'SCRIPT_DELIMITERS' => array(
    254         0 => array(
    255             '<!--' => '-->'
    256             ),
    257         1 => array(
    258             '<!DOCTYPE' => '>'
    259             ),
    260         2 => "/(?!<#)(?:(?:##)*)(#)[a-zA-Z0-9_\.\(\)]+(#)/",
    261         3 => array(
    262             '<cfscript>' => '</cfscript>'
    263             ),
    264         4 => array(
    265             '<' => '>'
    266             ),
    267         5 => '/((?!<!)<)(?:"[^"]*"|\'[^\']*\'|(?R)|[^">])+?(>)/si'
    268         ),
    269     'HIGHLIGHT_STRICT_BLOCK' => array(
    270         0 => false,
    271         1 => false,
    272         2 => true,
    273         3 => true,
    274         4 => true,
    275         5 => true
    276         ),
    277     'PARSER_CONTROL' => array(
    278         'KEYWORDS' => array(
    279             1 => array(
    280                 'DISALLOWED_BEFORE' => '(?<=&lt;|&lt;\/)',
    281                 'DISALLOWED_AFTER' => '(?=\s|\/|&gt;)',
    282                 ),
    283             2 => array(
    284                 'DISALLOWED_BEFORE' => '(?<=&lt;|&lt;\/)',
    285                 'DISALLOWED_AFTER' => '(?=\s|\/|&gt;)',
    286                 ),
    287             3 => array(
    288                 'DISALLOWED_BEFORE' => '(?<![a-zA-Z0-9\$_\|\#>|^])', // allow ; before keywords
    289                 'DISALLOWED_AFTER' => '(?![a-zA-Z0-9_\|%\\-])', // allow & after keywords
    290                 ),
    291             7 => array(
    292                 'DISALLOWED_BEFORE' => '(?<![a-zA-Z0-9\$_\|\#>&|^])', // allow ; before keywords
    293                 'DISALLOWED_AFTER' => '(?![a-zA-Z0-9_\|%\\-])', // allow & after keywords
    294                 )
    295             )
    296         )
    297 );
    298 
    299 ?>
    300