Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Tree: 855dd082bc
Fetching contributors…

Cannot retrieve contributors at this time

1178 lines (1155 sloc) 49.397 kB
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>comment</key>
<string>This tmLanguage file is used internally by ColdFusion and Component tmLanguage files</string>
<key>fileTypes</key>
<array/>
<key>foldingStartMarker</key>
<string>^.*\bfunction\s*(\w+\s*)?\([^\)]*\)(\s*\{[^\}]*)?\s*$</string>
<key>foldingStopMarker</key>
<string>^\s*\}</string>
<key>name</key>
<string>CFScript (do not use)</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#comments</string>
</dict>
<dict>
<key>include</key>
<string>#component-operators</string>
</dict>
<dict>
<key>include</key>
<string>#tag-operators</string>
</dict>
<dict>
<key>include</key>
<string>#cfscript-code</string>
</dict>
</array>
<key>repository</key>
<dict>
<key>cfscript-code</key>
<dict>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#brackets</string>
</dict>
<dict>
<key>include</key>
<string>#functions</string>
</dict>
<dict>
<key>include</key>
<string>#sql-code</string>
</dict>
<dict>
<key>include</key>
<string>#keywords</string>
</dict>
<dict>
<key>include</key>
<string>#function-call</string>
</dict>
<dict>
<key>include</key>
<string>#storage-types</string>
</dict>
<dict>
<key>include</key>
<string>#constants</string>
</dict>
<dict>
<key>include</key>
<string>#variables</string>
</dict>
<dict>
<key>include</key>
<string>#strings</string>
</dict>
</array>
</dict>
<!-- functions -->
<key>functions</key>
<dict>
<key>begin</key>
<string>(?x)^\s*
(?:
(?: # optional access-control modifier and return-type
(?:(?i:\b(private|package|public|remote))\s+)+\s* # access-control.modifier
(?i:\b
(void)
|
(any|array|binary|boolean|component|date|guid|numeric|query|string|struct|xml|uuid) # return-type.primitive
|
([A-Za-z0-9_\.$]+) #return-type component/object (may need additional tokens)
)?
)?
)
\s*
(?i:(function)) # storage.function
\s+
(?:
(init) # entity.name.function.contructor
|
(\w+) # entity.name.function
)\b
</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.modifier.access-control.cfscript</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>storage.type.return-type.void.cfscript</string>
</dict>
<key>3</key>
<dict>
<key>name</key>
<string>storage.type.return-type.primitive.cfscript</string>
</dict>
<key>4</key>
<dict>
<key>name</key>
<string>storage.type.return-type.object.cfscript</string>
</dict>
<key>5</key>
<dict>
<key>name</key>
<string>storage.type.function.cfscript</string>
</dict>
<key>6</key>
<dict>
<key>name</key>
<string>entity.name.function.constructor.cfscript</string>
</dict>
<key>7</key>
<dict>
<key>name</key>
<string>entity.name.function.cfscript</string>
</dict>
</dict>
<key>end</key>
<string>(?={)</string>
<key>name</key>
<string>meta.definition.function.cfscript</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#parameters</string>
</dict>
<dict>
<key>include</key>
<string>#comments</string>
</dict>
<dict>
<key>include</key>
<string>#function-properties</string>
</dict>
<dict>
<key>include</key>
<string>#cfscript-code</string>
</dict>
</array>
</dict>
<!-- /functions -->
<!-- function parens parameters -->
<key>parameters</key>
<dict>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>(\()</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.parameters.begin.cfscript</string>
</dict>
</dict>
<key>end</key>
<string>(\))</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.parameters.end.cfscript</string>
</dict>
</dict>
<key>name</key>
<string>meta.function.arguments.cfscript</string>
<key>patterns</key>
<array>
<dict>
<key>match</key>
<string>(?i:required)</string>
<key>name</key>
<string>keyword.other.required.argument.cfscript</string>
</dict>
<dict>
<key>include</key>
<string>#storage-types</string>
</dict>
<dict>
<key>match</key>
<string>(=)</string>
<key>name</key>
<string>keyword.operator.argument-assignment.cfscript</string>
</dict>
<dict>
<key>match</key>
<string>(?i:false|true|no|yes)</string>
<key>name</key>
<string>constant.language.boolean.argument.cfscript</string>
</dict>
<dict>
<key>match</key>
<string>(?i:\w)</string>
<key>name</key>
<string>variable.parameter.cfscript</string>
</dict>
<dict>
<key>match</key>
<string>,</string>
<key>name</key>
<string>punctuation.definition.seperator.parameter.cfscript</string>
</dict>
<dict>
<key>include</key>
<string>#strings</string>
</dict>
</array>
</dict>
</array>
</dict>
<!-- / end parameters -->
<!-- optional function properties -->
<key>function-properties</key>
<dict>
<key>patterns</key>
<array>
<dict>
<key>match</key>
<string>\b(?i:output)</string>
<key>name</key>
<string>entity.other.attribute-name.output.cfscript</string>
</dict>
<dict>
<key>match</key>
<string>\b([\w]+)</string>
<key>name</key>
<string>entity.other.attribute-name.any.cfscript</string>
</dict>
</array>
</dict>
<!-- / end optional function properties -->
<!-- brackets -->
<key>brackets</key>
<dict>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>([\w]+)?\s*(\[)</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>variable.other.set.cfscript</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>punctuation.definition.bracket-begin.cfscript</string>
</dict>
</dict>
<key>end</key>
<string>\]</string>
<key>endCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.bracket-end.cfscript</string>
</dict>
</dict>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#strings</string>
</dict>
<dict>
<key>match</key>
<string>,</string>
<key>name</key>
<string>punctuation.definition.seperator.cfscript</string>
</dict>
<dict>
<key>match</key>
<string>\w+</string>
<key>name</key>
<string>variable.other.index.cfscript</string>
</dict>
<dict>
<key>include</key>
<string>$self</string>
</dict>
</array>
</dict>
</array>
</dict>
<!-- tag-operators -->
<key>tag-operators</key>
<dict>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>(?x)
\b
(?i:
(lock)|(transaction)|(thread)|(abort)
|(exit)|(include)|(param)|(thread)|(import)
|(rethrow|throw)|(property)|(interface)|(location)
|(break|exit)|(pageencoding)|(schedule)|(return)|(try|catch)
)
\b
\s*
(?![\.\/&gt;=,#\)])
</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>entity.name.tag.operator.lock.cfscript</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>entity.name.tag.operator.transaction.cfscript</string>
</dict>
<key>3</key>
<dict>
<key>name</key>
<string>entity.name.tag.operator.thread.cfscript</string>
</dict>
<key>4</key>
<dict>
<key>name</key>
<string>entity.name.tag.operator.abort.cfscript</string>
</dict>
<key>5</key>
<dict>
<key>name</key>
<string>entity.name.tag.operator.exit.cfscript</string>
</dict>
<key>6</key>
<dict>
<key>name</key>
<string>entity.name.tag.operator.include.cfscript</string>
</dict>
<key>7</key>
<dict>
<key>name</key>
<string>entity.name.tag.operator.param.cfscript</string>
</dict>
<key>8</key>
<dict>
<key>name</key>
<string>entity.name.tag.operator.thread.cfscript</string>
</dict>
<key>9</key>
<dict>
<key>name</key>
<string>entity.name.tag.operator.import.cfscript</string>
</dict>
<key>10</key>
<dict>
<key>name</key>
<string>entity.name.tag.operator.catch-exception.cfscript</string>
</dict>
<key>11</key>
<dict>
<key>name</key>
<string>entity.name.tag.operator.property.cfscript</string>
</dict>
<key>12</key>
<dict>
<key>name</key>
<string>entity.name.tag.operator.interface.cfscript</string>
</dict>
<key>13</key>
<dict>
<key>name</key>
<string>entity.name.tag.operator.location.cfscript</string>
</dict>
<key>14</key>
<dict>
<key>name</key>
<string>entity.name.tag.operator.control.cfscript</string>
</dict>
<key>15</key>
<dict>
<key>name</key>
<string>entity.name.tag.operator.pageencoding.cfscript</string>
</dict>
<key>16</key>
<dict>
<key>name</key>
<string>entity.name.tag.operator.schedule.cfscript</string>
</dict>
<key>17</key>
<dict>
<key>name</key>
<string>entity.name.tag.operator.return.cfscript</string>
</dict>
<key>18</key>
<dict>
<key>name</key>
<string>entity.name.tag.operator.catch-exception.cfscript</string>
</dict>
</dict>
<key>end</key>
<string>(?=[;{\(])</string>
<key>name</key>
<string>meta.tag.operator.cfscript</string>
<key>patterns</key>
<array>
<dict>
<key>match</key>
<string>(?i:(\w+)\s*(?=\=))</string>
<key>name</key>
<string>entity.tag.name.operator-attribute.other.cfscript</string>
</dict>
<dict>
<key>include</key>
<string>#comments</string>
</dict>
<dict>
<key>include</key>
<string>#cfscript-code</string>
</dict>
</array>
</dict>
</array>
</dict>
<!-- component-operators -->
<key>component-operators</key>
<dict>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>(?x)
\b
(?i:
(component)
)
\b
\s+
(?![\.\/&gt;=,#\)])
</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>entity.name.tag.operator.component.cfscript</string>
</dict>
</dict>
<key>name</key>
<string>meta.tag.operator.cfscript meta.class.component.cfscript</string>
<key>end</key>
<string>(?=[;{\(])</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#component-extends-attribute</string>
</dict>
<dict>
<key>match</key>
<string>(?i:(\w+)\s*(?=\=))</string>
<key>name</key>
<string>entity.name.tag.operator-attribute.other.cfscript</string>
</dict>
<dict>
<key>include</key>
<string>#cfscript-code</string>
</dict>
</array>
</dict>
</array>
</dict>
<!-- /component-operators -->
<!-- for component-operators extends extraction -->
<key>component-extends-attribute</key>
<dict>
<key>begin</key>
<string>\b(extends)\b\s*(=)\s*(?=")</string>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>entity.name.tag.operator-attribute.extends.cfml</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>keyword.operator.assignment.cfscript</string>
</dict>
</dict>
<key>end</key>
<string>(?=[\s{])</string>
<key>name</key>
<string>meta.component.attribute-with-value.extends.cfml</string>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>"</string>
<key>beginCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.begin.cfscript</string>
</dict>
</dict>
<key>contentName</key>
<string>meta.component-operator.extends.value.cfscript</string>
<key>end</key>
<string>"</string>
<key>endCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.end.cfscript</string>
</dict>
</dict>
<key>name</key>
<string>string.quoted.double.cfml</string>
</dict>
<dict>
<key>begin</key>
<string>'</string>
<key>beginCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.begin.cfscript</string>
</dict>
</dict>
<key>contentName</key>
<string>meta.component-operator.extends.value.cfscript</string>
<key>end</key>
<string>'</string>
<key>endCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.end.cfscript</string>
</dict>
</dict>
<key>name</key>
<string>string.quoted.single.cfscript</string>
</dict>
</array>
</dict>
<!-- component-operators extends! attribute -->
<!-- storage types -->
<key>storage-types</key>
<dict>
<key>patterns</key>
<array>
<dict>
<key>match</key>
<string>\b(?i:var)\b</string>
<key>name</key>
<string>storage.modifier.var.cfscript</string>
</dict>
<dict>
<key>match</key>
<string>\b(?i:(function|string|date|struct|array|void|binary|numeric|boolean|query|xml|uuid|any))\b</string>
<key>name</key>
<string>storage.type.primitive.cfscript</string>
</dict>
</array>
</dict>
<!-- constants -->
<key>constants</key>
<dict>
<key>patterns</key>
<array>
<dict>
<key>match</key>
<string>(?x)(
(\b[0-9]+)
|
(\.[0-9]+[0-9\.]*) # decimals
|
(0(x|X)[0-9a-fA-F]+) # hex
# matches really large double/floats
|(\.[0-9]+)((e|E)(\+|-)?[0-9]+)?([LlFfUuDd]|UL|ul)?
)\b
</string>
<key>name</key>
<string>constant.numeric.cfscript</string>
</dict>
<dict>
<key>match</key>
<string>\b(?i:(true|false|null))\b</string>
<key>name</key>
<string>constant.language.cfscript</string>
</dict>
<dict>
<key>match</key>
<string>\b_?([A-Z][A-Z0-9_]+)\b</string>
<key>name</key>
<string>constant.other.cfscript</string>
</dict>
</array>
</dict>
<!-- comments -->
<key>comments</key>
<dict>
<key>patterns</key>
<array>
<!-- comment block /** -->
<dict>
<key>captures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.comment.cfscript</string>
</dict>
</dict>
<key>match</key>
<string>/\*\*/</string>
<key>name</key>
<string>comment.block.empty.cfscript</string>
</dict>
<!-- as javadoc for cfscript annotations -->
<dict>
<key>include</key>
<string>text.html.javadoc</string>
</dict>
<!-- block comments (bellow) -->
<dict>
<key>include</key>
<string>#comment-block</string>
</dict>
<!-- double-slash comment -->
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.comment.cfscript</string>
</dict>
</dict>
<key>match</key>
<string>(//).*$\n?</string>
<key>name</key>
<string>comment.line.double-slash.cfscript</string>
</dict>
</array>
</dict>
<!-- comment-block /* -->
<key>comment-block</key>
<dict>
<key>begin</key>
<string>/\*</string>
<key>captures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.comment.cfscript</string>
</dict>
</dict>
<key>end</key>
<string>\*/</string>
<key>name</key>
<string>comment.block.cfscript</string>
</dict>
<!-- /comments -->
<!-- strings -->
<key>strings</key>
<dict>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#string-quoted-double</string>
</dict>
<dict>
<key>include</key>
<string>#string-quoted-single</string>
</dict>
</array>
</dict>
<key>string-quoted-double</key>
<dict>
<key>begin</key>
<string>"</string>
<key>beginCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.begin.cfscript</string>
</dict>
</dict>
<key>end</key>
<string>"(?!")</string>
<key>endCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.end.cfscript</string>
</dict>
</dict>
<key>name</key>
<string>string.quoted.double.cfscript</string>
<key>patterns</key>
<array>
<dict>
<key>match</key>
<string>("")</string>
<key>name</key>
<string>constant.character.escape.quoted.double.cfscript</string>
</dict>
<dict>
<key>include</key>
<string>#nest_hash</string>
</dict>
</array>
</dict>
<key>string-quoted-single</key>
<dict>
<key>begin</key>
<string>'</string>
<key>beginCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.begin.cfscript</string>
</dict>
</dict>
<key>end</key>
<string>'(?!')</string>
<key>endCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.end.cfscript</string>
</dict>
</dict>
<key>name</key>
<string>string.quoted.single.cfscript</string>
<key>patterns</key>
<array>
<dict>
<key>match</key>
<string>('')</string>
<key>name</key>
<string>constant.character.escape.quoted.single.cfscript</string>
</dict>
<dict>
<key>include</key>
<string>#nest_hash</string>
</dict>
</array>
</dict>
<!-- /strings -->
<!-- keywords -->
<key>keywords</key>
<dict>
<key>patterns</key>
<array>
<dict>
<key>match</key>
<string>\b(?i:new)\b</string>
<key>name</key>
<string>keyword.other.new.cfscript</string>
</dict>
<dict>
<key>match</key>
<string>(?x)
\b(?i:(case|default|continue|if|else|elseif|finally
|for|in|do|while|switch|trace))\b</string>
<key>name</key>
<string>keyword.control.cfscript</string>
</dict>
<dict>
<key>match</key>
<string>(==|!|!=|&lt;=|&gt;=|&lt;|&gt;)</string>
<key>name</key>
<string>keyword.operator.comparison.cfscript</string>
</dict>
<dict>
<key>match</key>
<string>\b(?i:(GREATER|LESS|THAN|EQUAL\s+TO|DOES|CONTAINS|EQUAL|EQ|NEQ|LT|LTE|GT|GTE|AND|IS))\b</string>
<key>name</key>
<string>keyword.operator.decision.cfscript</string>
</dict>
<dict>
<key>match</key>
<string>(\-\-|\+\+)</string>
<key>name</key>
<string>keyword.operator.increment-decrement.cfscript</string>
</dict>
<dict>
<key>match</key>
<string>(?i:(\^|\-|\+|\*|\/|\\|%|\-=|\+=|\*=|\/=|%=|\bMOD\b))</string>
<key>name</key>
<string>keyword.operator.arithmetic.cfscript</string>
</dict>
<dict>
<key>match</key>
<string>(&amp;|&amp;=)</string>
<key>name</key>
<string>keyword.operator.concat.cfscript</string>
</dict>
<dict>
<key>match</key>
<string>(=)</string>
<key>name</key>
<string>keyword.operator.assignment.cfscript</string>
</dict>
<dict>
<key>match</key>
<string>\b(?i:(NOT|!|AND|&amp;&amp;|OR|\|\||XOR|EQV|IMP))\b</string>
<key>name</key>
<string>keyword.operator.logical.cfscript</string>
</dict>
<dict>
<key>match</key>
<string>(\?|:)</string>
<key>name</key>
<string>keyword.operator.ternary.cfscript</string>
</dict>
<dict>
<key>match</key>
<string>;</string>
<key>name</key>
<string>punctuation.terminator.cfscript</string>
</dict>
</array>
</dict>
<!-- / keywords -->
<!-- function-call -->
<!-- TODO: add all language functions -->
<key>function-call</key>
<dict>
<key>begin</key>
<string>(?x)
(?i:
(abs|acos|addsoaprequestheader|addsoapresponseheader|ajaxlink|ajaxonload|applicationstop
|arrayappend|arrayavg|arrayclear|arraycontains|arraydelete|arraydeleteat
|arrayfind|arrayfindnocase|arrayinsertat|arrayisdefined|arrayisempty|arraylen
|arraymax|arraymin|arraynew|arrayprepend|arrayresize|arrayset|arraysort|arraysum
|arrayswap|arraytolist|asc|asin|atn|authenticatedcontext|authenticateduser|binarydecode
|binaryencode|bitand|bitmaskclear|bitmaskread|bitmaskset|bitnot|bitor|bitshln|bitshrn
|bitxor|cacheget|cachegetallids|cachegetmetadata|cachegetproperties|cachegetsession
|cacheput|cacheremove|cachesetproperties|ceiling|charsetdecode|charsetencode|chr
|cjustify|compare|comparenocase|cos|createdate|createdatetime|createobject|createodbcdate
|createodbcdatetime|createodbctime|createtime|createtimespan|createuuid|dateadd|datecompare
|dateconvert|datediff|dateformat|datepart|day|dayofweek|dayofweekasstring|dayofyear
|daysinmonth|daysinyear|decimalformat|decrementvalue|decrypt|decryptbinary
|deleteclientvariable|deserializejson|de|directorycreate|directorydelete|directoryexists
|directorylist|directoryrename|dollarformat|dotnettocftype|duplicate|encrypt|encryptbinary
|entitydelete|entityload|entityloadbyexample|entityloadbypk|entitymerge|entitynew
|entityreload|entitysave|entitytoquery|evaluate|exp|expandpath|fileclose|filecopy
|filedelete|fileexists|fileiseof|filemove|fileopen|fileread|filereadbinary|filereadline
|fileseek|filesetaccessmode|filesetattribute|filesetlastmodified|fileskipbytes|fileupload
|fileuploadall|filewrite|filewriteline|find|findnocase|findoneof|firstdayofmonth|fix
|formatbasen|generatesecretkey|getauthuser|getbasetagdata|getbasetaglist|getbasetemplatepath
|getclientvariableslist|getcomponentmetadata|getcontextroot|getcurrenttemplatepath
|getdirectoryfrompath|getencoding|getexception|getfilefrompath|getfileinfo
|getfunctioncalledname|getfunctionlist|getgatewayhelper|gethttprequestdata|gethttptimestring
|getk2serverdoccount|getk2serverdoccountlimit|getlocale|getlocaledisplayname|getlocalhostip
|getmetadata|getmetricdata|getpagecontext|getrequest|getrequesturi|getprinterinfo|getprinterlist|getprofilesections
|getprofilestring|getreadableimageformats|getsoaprequest|getsoaprequestheader|getsoapresponse
|getsoapresponseheader|gettempdirectory|gettempfile|gettemplatepath|gettickcount
|gettimezoneinfo|gettoken|getuserroles|getvfsmetadata|getwriteableimageformats|hash|hour
|htmlcodeformat|htmleditformat|iif|imageaddborder|imageblur|imageclearrect|imagecopy
|imagecrop|imagedrawarc|imagedrawbeveledrect|imagedrawcubiccurve|imagedrawline|imagedrawlines
|imagedrawoval|imagedrawpoint|imagedrawquadraticcurve|imagedrawrect|imagedrawroundrect
|imagedrawtext|imageflip|imagegetblob|imagegetbufferedimage|imagegetexifmetadata|imagegetexiftag
|imagegetheight|imagegetiptcmetadata|imagegetiptctag|imagegetwidth|imagegrayscale|imageinfo
|imagenegative|imagenew|imageoverlay|imagepaste|imageread|imagereadbase64|imageresize
|imagerotate|imagerotatedrawingaxis|imagescaletofit|imagesetantialiasing|imagesetbackgroundcolor
|imagesetdrawingcolor|imagesetdrawingstroke|imagesetdrawingtransparency|imagesharpen|imageshear
|imagesheardrawingaxis|imagetranslate|imagetranslatedrawingaxis|imagewrite|imagewritebase64
|imagexordrawingmode|incrementvalue|inputbasen|insert|int|isarray|isauthenticated|isauthorized
|isbinary|isboolean|iscustomfunction|isdate|isddx|isdebugmode|isdefined|isimage|isimagefile
|isinstanceof|isipv6|isjson|isk2serverabroker|isk2serverdoccountexceeded|isk2serveronline|isleapyear
|islocalhost|isnull|isnumeric|isnumericdate|isobject|ispdffile|ispdfobject|isprotected|isquery
|issimplevalue|issoaprequest|isspreadsheetfile|isspreadsheetobject|isstruct|isuserinanyrole
|isuserinrole|isuserloggedin|isvalid|iswddx|isxml|isxmlattribute|isxmldoc|isxmlelem|isxmlnode
|isxmlroot|javacast|jsstringformat|lcase|left|len|listappend|listchangedelims|listcontains
|listcontainsnocase|listdeleteat|listfind|listfindnocase|listfirst|listgetat|listinsertat
|listlast|listlen|listprepend|listqualify|listrest|listsetat|listsort|listtoarray|listvaluecount
|listvaluecountnocase|ljustify|location|log|log10|lscurrencyformat|lsdateformat|lseurocurrencyformat
|lsiscurrency|lsisdate|lsisnumeric|lsnumberformat|lsparsecurrency|lsparsedatetime|lsparseeurocurrency
|lsparsenumber|lstimeformat|ltrim|max|mid|min|minute|month|monthasstring|now|numberformat|objectequals
|objectload|objectsave|ormclearsession|ormclosesession|ormcloseallsessions|ormevictcollection
|ormevictentity|ormevictqueries|ormexecutequery|ormflush|ormflushall|ormgetsession|ormgetsessionfactory
|ormreload|paragraphformat|parameterexists|parsedatetime|pi|precisionevaluate|preservesinglequotes
|quarter|queryaddcolumn|queryaddrow|queryconvertforgrid|querynew|querysetcell|quotedvaluelist
|rand|randomize|randrange|refind|refindnocase|rematch|rematchnocase|releasecomobject|removechars
|repeatstring|replace|replacelist|replacenocase|rereplace|rereplacenocase|reverse|right|rjustify
|round|rtrim|second|sendgatewaymessage|serializejson|setencoding|setlocale|setprofilestring
|setvariable|sgn|sin|sleep|spanexcluding|spanincluding|spreadsheetaddcolumn|spreadsheetaddimage
|spreadsheetaddfreezepane|spreadsheetaddinfo|spreadsheetaddrow|spreadsheetaddrows|spreadsheetaddsplitpane
|spreadsheetcreatesheet|spreadsheetdeletecolumn|spreadsheetdeletecolumns|spreadsheetdeleterow
|spreadsheetdeleterows|spreadsheetformatcell|spreadsheetformatcolumn|spreadsheetformatcellrange
|spreadsheetformatcolumns|spreadsheetformatrow|spreadsheetformatrows|spreadsheetgetcellcomment
|spreadsheetgetcellformula|spreadsheetgetcellvalue|spreadsheetinfo|spreadsheetmergecells
|spreadsheetnew|spreadsheetread|spreadsheetreadbinary|spreadsheetremovesheet|spreadsheetsetactivesheet
|spreadsheetsetactivesheetnumber|spreadsheetsetcellcomment|spreadsheetsetcellformula|spreadsheetsetcellvalue
|spreadsheetsetcolumnwidth|spreadsheetsetfooter|spreadsheetsetheader|spreadsheetsetrowheight
|spreadsheetshiftcolumnsspreadsheetshiftrows|spreadsheetwrite|sqr|stripcr|structappend|structclear
|structcopy|structcount|structdelete|structfind|structfindkey|structfindvalue|structget|structinsert
|structisempty|structkeyarray|structkeyexists|structkeylist|structnew|structsort|structupdate|tan
|threadjoin|threadterminate|throw|timeformat|tobase64|tobinary|toscript|tostring|trace|transactioncommit
|transactionrollback|transactionsetsavepoint|trim|ucase|urldecode|urlencodedformat|urlsessionformat
|val|valuelist|verifyclient|week|wrap|writedump|writelog|writeoutput|xmlchildpos|xmlelemnew
|xmlformat|xmlgetnodetype|xmlnew|xmlparse|xmlsearch|xmltransform|xmlvalidate|year|yesnoformat)
|
(\w+)
)
\s*
(\()
</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>support.function.cfscript</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>entity.name.function-call.cfscript</string>
</dict>
<key>3</key>
<dict>
<key>name</key>
<string>punctuation.definition.function-parameters.begin.cfscript</string>
</dict>
</dict>
<key>end</key>
<string>\)</string>
<key>endCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.function-parameters.end.cfscript</string>
</dict>
</dict>
<key>name</key>
<string>meta.function-call.cfscript</string>
<key>patterns</key>
<array>
<dict>
<key>match</key>
<string>,</string>
<key>name</key>
<string>punctuation.definition.seperator.parameter.cfscript</string>
</dict>
<dict>
<key>include</key>
<string>#cfscript-code</string>
</dict>
</array>
</dict>
<!-- /function-call -->
<!-- nest_hash -->
<key>nest_hash</key>
<dict>
<key>patterns</key>
<array>
<dict>
<key>match</key>
<string>##</string>
<key>name</key>
<string>string.escaped.hash.cfscript</string>
</dict>
<dict>
<key>begin</key>
<string>(#)(?=.*#)</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.hash.begin.cfscript</string>
</dict>
</dict>
<key>end</key>
<string>(#)</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.hash.end.cfscript</string>
</dict>
</dict>
<key>name</key>
<string>meta.inline.hash.cfscript</string>
<key>contentName</key>
<string>source.cfscript.embedded.cfscript</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#cfscript-code</string>
</dict>
</array>
</dict>
</array>
</dict>
<!-- /nest_hash -->
<!-- variables -->
<key>variables</key>
<dict>
<key>patterns</key>
<array>
<!-- matches single character // this should be improved it's lazy -->
<dict>
<key>match</key>
<string>\b(\w)\b</string>
<key>name</key>
<string>storage.language.cfscript</string>
</dict>
<dict>
<key>match</key>
<string>\b(?i:(this|key))(?!\.)</string>
<key>name</key>
<string>variable.language.cfscript</string>
</dict>
<dict>
<key>match</key>
<string>(\.)</string>
<key>name</key>
<string>punctuation.definition.seperator.variable.cfscript</string>
</dict>
<dict>
<key>match</key>
<string>(?x)
(?i:
\b
(application|arguments|attributes|caller|cgi|client|
cookie|flash|form|local|request|server|session|
this|thistag|thread|thread local|url|variables|
super|self|argumentcollection)
\b
|
(\w+)
)</string>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>variable.language.cfscript</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>variable.other.cfscript</string>
</dict>
</dict>
</dict>
</array>
</dict>
<!-- /variables -->
<!-- sql -->
<key>sql-code</key>
<dict>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>([\w+\.]+)\.((?i:setsql))\(\s*["|']</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>entity.name.function.query.cfscript, meta.toc-list.query.cfscript</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>support.function.cfscript</string>
</dict>
</dict>
<key>end</key>
<string>(["|']\s*\))</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.parenthesis.end.cfscript</string>
</dict>
</dict>
<key>name</key>
<!-- could add meta block (optional)
meta.block.function.query.cfscript -->
<string>source.sql.embedded.cfscript</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#nest_hash</string>
</dict>
<dict>
<key>include</key>
<string>source.sql</string>
</dict>
</array>
</dict>
</array>
</dict>
<!-- /sql-code -->
</dict>
<key>scopeName</key>
<string>source.cfscript</string>
<key>uuid</key>
<string>D5324EE0-4226-11E1-B86C-0800200C9A66</string>
</dict>
</plist>
Jump to Line
Something went wrong with that request. Please try again.