# -------------------------------
#
# D programming language syntax highlighting
# for CoolEdit
#
# Homepage of D: http://www.digitalmars.com/d/
#
# Author: Witold Baryluk < baryluk at smp if uj edu pl >
# Date: 23-08-2007
#
# -------------------------------
context default
# sh bang
keyword whole linestart #!\[\s\]/\[abcdefghijklmnopqrstuvwxyz\]/\[abcdefghijklmnopqrstuvwxyz\]/\[abcdefghijklmnopqrstuvwxyz\]/\[abcdefghijklmnopqrstuvwxyz\]/bin/dmd color17 color232
keyword whole linestart #!\[\s\]/\[abcdefghijklmnopqrstuvwxyz\]/\[abcdefghijklmnopqrstuvwxyz\]/\[abcdefghijklmnopqrstuvwxyz\]/bin/dmd color17 color232
keyword whole linestart #!\[\s\]/\[abcdefghijklmnopqrstuvwxyz\]/\[abcdefghijklmnopqrstuvwxyz\]/bin/dmd color17 color232
keyword whole linestart #!\[\s\]/\[abcdefghijklmnopqrstuvwxyz\]/bin/dmd color17 color232
keyword whole linestart #!\[\s\]/bin/dmd color17 color232
keyword whole linestart #!\[\s\]/\[abcdefghijklmnopqrstuvwxyz\]/\[abcdefghijklmnopqrstuvwxyz\]/\[abcdefghijklmnopqrstuvwxyz\]/\[abcdefghijklmnopqrstuvwxyz\]/dmd color17 color232
keyword whole linestart #!\[\s\]/\[abcdefghijklmnopqrstuvwxyz\]/\[abcdefghijklmnopqrstuvwxyz\]/\[abcdefghijklmnopqrstuvwxyz\]/dmd color17 color232
keyword whole linestart #!\[\s\]/\[abcdefghijklmnopqrstuvwxyz\]/\[abcdefghijklmnopqrstuvwxyz\]/dmd color17 color232
keyword whole linestart #!\[\s\]/\[abcdefghijklmnopqrstuvwxyz\]/dmd color17 color232
keyword whole linestart #!\[\s\]/dmd color17 color232
keyword whole linestart #!\[\s\]/\[abcdefghijklmnopqrstuvwxyz\]/\[abcdefghijklmnopqrstuvwxyz\]/\[abcdefghijklmnopqrstuvwxyz\]/\[abcdefghijklmnopqrstuvwxyz\]/gdmd color17 color232
keyword whole linestart #!\[\s\]/\[abcdefghijklmnopqrstuvwxyz\]/\[abcdefghijklmnopqrstuvwxyz\]/\[abcdefghijklmnopqrstuvwxyz\]/gdmd color17 color232
keyword whole linestart #!\[\s\]/\[abcdefghijklmnopqrstuvwxyz\]/\[abcdefghijklmnopqrstuvwxyz\]/gdmd color17 color232
keyword whole linestart #!\[\s\]/\[abcdefghijklmnopqrstuvwxyz\]/dmd color17 color232
keyword whole linestart #!\[\s\]/gdmd color17 color232
# keywords
keyword whole abstract color19
keyword whole alias color19
keyword whole align color19
keyword whole assert color19
keyword whole body color19
keyword whole bool color19
keyword whole byte color19
keyword whole cast color19
keyword whole catch color19
keyword whole cdouble color19
keyword whole cent color19
keyword whole cfloat color19
keyword whole class color19
keyword whole creal color19
keyword whole dchar color19
keyword whole debug color19
keyword whole delegate color19
keyword whole delete color19
keyword whole deprecated color19
keyword whole dstring color19
keyword whole false color196
keyword whole finally color19
keyword whole final color19
keyword whole foreach_reverse color19
keyword whole function color19
keyword whole idouble color19
keyword whole ifloat color19
keyword whole inout color19
keyword whole interface color19
keyword whole invariant color19
keyword whole in color19
keyword whole is color19
keyword whole ireal color19
keyword whole lazy color19
keyword whole long color19
keyword whole macro color19
keyword whole mixin color19
keyword whole module color19
keyword whole new color19
keyword whole null color196
keyword whole out color19
keyword whole override color19
keyword whole package color19
keyword whole pragma color19
keyword whole private color19
keyword whole protected color19
keyword whole public color19
keyword whole real color19
keyword whole ref color19
keyword whole scope color19
keyword whole string color19
keyword whole super color196
keyword whole synchronized color19
keyword whole template color19
keyword whole this color196
keyword whole throw color19
keyword whole true color196
keyword whole try color19
keyword whole typedef color19
keyword whole typeid color19
keyword whole typeof color19
keyword whole ubyte color19
keyword whole ucent color19
keyword whole ulong color19
keyword whole unittest color19
keyword whole ushort color19
keyword whole version color19
keyword whole volatile color19
keyword whole wchar color19
keyword whole with color19
keyword whole wstring color19
keyword whole asm color19
keyword whole auto color19
keyword whole break color19
keyword whole case color19
keyword whole char color19
keyword whole const color19
keyword whole continue color19
keyword whole default color19
keyword whole double color19
keyword whole do color19
keyword whole else color19
keyword whole enum color19
keyword whole export color19
keyword whole extern color19
keyword whole float color19
keyword whole foreach color19
keyword whole for color19
keyword whole goto color19
keyword whole if color19
keyword whole import color91
keyword whole inline color19
keyword whole int color19
keyword whole return color19
keyword whole short color19
keyword whole signed color19
keyword whole sizeof color19
keyword whole static color19
keyword whole struct color19
keyword whole switch color19
keyword whole typedef color19
keyword whole uint color19
keyword whole union color19
keyword whole unsigned color19
keyword whole void color19
keyword whole while color19
# predefined aliases (deprecated)
keyword whole bit color19
# predefined aliases (2.0)
keyword whole string color19
keyword whole dstring color19
keyword whole wstring color19
# D array attributes
keyword wholeright .sizeof color19
keyword wholeright .length color19
keyword wholeright .ptr color19
keyword wholeright .dup color19
keyword wholeright .reverse color19
keyword wholeright .sort color19
keyword wholeright .keys color19
keyword wholeright .values color19
keyword wholeright .rehash color19
# D types attributes
keyword wholeright .init color19
keyword wholeright .alignof color19
keyword wholeright .mangleof color19
keyword wholeright .stringof color19
# +integer
keyword wholeright .min color19
keyword wholeright .max color19
# +floating point
keyword wholeright .infinity color19
keyword wholeright .nan color19
keyword wholeright .dig color19
keyword wholeright .epsilon color19
keyword wholeright .mant_dig color19
keyword wholeright .max_10_exp color19
keyword wholeright .max_exp color19
keyword wholeright .min_10_exp color19
keyword wholeright .min_exp color19
keyword wholeright .re color19
keyword wholeright .im color19
keyword wholeright .im color19
# union
keyword wholeright .offsetof color19
# D 2.0 attributes
keyword wholeright .idup color19
# unary operators
keyword whole opNeg color240
keyword whole opPos color240
keyword whole opCom color240
keyword whole opPostInc color240
keyword whole opPostDec color240
keyword whole opCast color240
# binary operators
keyword whole opAdd color240
keyword whole opAdd_r color240
keyword whole opSub color240
keyword whole opSub_r color240
keyword whole opMul color240
keyword whole opMul_r color240
keyword whole opDiv color240
keyword whole opDiv_r color240
keyword whole opMod color240
keyword whole opMod_r color240
keyword whole opAnd color240
keyword whole opAnd_r color240
keyword whole opOr color240
keyword whole opOr_r color240
keyword whole opXor color240
keyword whole opXor_r color240
keyword whole opShl color240
keyword whole opShl_r color240
keyword whole opShr color240
keyword whole opShr_r color240
keyword whole opUShr color240
keyword whole opUShr_r color240
keyword whole opCat color240
keyword whole opCat_r color240
keyword whole opEquals color240
keyword whole opCmp color240
keyword whole opAssign color240
keyword whole opAddAssign color240
keyword whole opSubAssign color240
keyword whole opMulAssign color240
keyword whole opDivAssign color240
keyword whole opModAssign color240
keyword whole opAndAssign color240
keyword whole opOrAssign color240
keyword whole opXorAssign color240
keyword whole opShlAssign color240
keyword whole opShrAssign color240
keyword whole opUShrAssign color240
keyword whole opCatAssign color240
keyword whole opIn color240
keyword whole opIn_r color240
# special operators
keyword whole opCall color240
keyword whole opIndex color240
keyword whole opIndexAssign color240
keyword whole opSlice color240
keyword whole opSliceAssign color240
keyword whole opAssign color240
keyword whole opApply color240
keyword whole ... color19
keyword whole .. color19
# keyword whole linestart \{\s\t\}\[\s\t\]#*\n color90 # C preprocesor
# special objects
# hidden argument of variadic functions
keyword whole _argptr color196
keyword whole _arguments color196
# object
keyword whole Object color90
keyword whole Interface color90
keyword whole ClassInfo color90
keyword whole OffsetTypeInfo color90
keyword whole TypeInfo color90
keyword whole Exception color90
keyword whole Error color90
# common functions
# object methods
keyword whole toString color26
keyword whole toHash color26
# std.stdio
keyword whole writefln color26
keyword whole writef color26
# std.gc
keyword whole addRoot color26
keyword whole removeRoot color26
keyword whole addRange color26
keyword whole hasPointers color26
keyword whole hasNoPointers color26
keyword whole setTypeInfo color26
keyword whole malloc color26
keyword whole realoc color26
keyword whole extend color26
keyword whole capacity color26
keyword whole setV1_0 color26
keyword whole fullCollect color26
keyword whole genCollect color26
# std.string
keyword whole iswhite color26
keyword whole atoi color26
keyword whole atof color26
keyword whole toStringz color26
keyword whole tolower color26
keyword whole toupper color26
keyword whole repeat color26
keyword whole join color26
keyword whole split color26
keyword whole stripl color26
keyword whole stripr color26
keyword whole strip color26
keyword whole chomp color26
keyword whole chop color26
keyword whole isNumeric color26
keyword whole isEmail color26
keyword whole isURL color26
# std.math
keyword whole abs color26
keyword whole conj color26
keyword whole cos color26
keyword whole sin color26
keyword whole tan color26
keyword whole acos color26
keyword whole asin color26
keyword whole atan color26
keyword whole atan2 color26
keyword whole cosh color26
keyword whole sinh color26
keyword whole tanh color26
keyword whole acosh color26
keyword whole asinh color26
keyword whole atanh color26
keyword whole rndtol color26
keyword whole rndtonl color26
keyword whole sqrt color26
keyword whole exp color26
keyword whole exp2 color26
keyword whole expm1 color26
keyword whole frexp color26
keyword whole ilogb color26
keyword whole ldexp color26
keyword whole log color26
keyword whole log10 color26
keyword whole log1p color26
keyword whole log2 color26
keyword whole logb color26
keyword whole modf color26
keyword whole scalbn color26
keyword whole cbrt color26
keyword whole fabs color26
keyword whole hypot color26
keyword whole erf color26
keyword whole erfc color26
keyword whole lgamma color26
keyword whole tgamma color26
keyword whole ceil color26
keyword whole floor color26
keyword whole nearbyint color26
keyword whole rint color26
keyword whole lrint color26
keyword whole round color26
keyword whole lround color26
keyword whole trunc color26
keyword whole remainder color26
keyword whole remquo color26
keyword whole isnan color26
keyword whole isfinite color26
keyword whole isnormal color26
keyword whole issubnormal color26
keyword whole isinf color26
keyword whole signbit color26
keyword whole copysign color26
keyword whole nan color26
keyword whole nextafter color26
keyword whole fdim color26
keyword whole fmax color26
keyword whole fmin color26
keyword whole fma color26
keyword whole pow color26
keyword whole feqrel color26
keyword whole poly color26
# comments
keyword /\*\* color30
keyword /\* color30
keyword \*/ color30
keyword // color30
keyword /\+\+\+\+\+\+\+\+\+\+ color30
keyword /\+\+\+\+\+\+\+\+\+ color30
keyword /\+\+\+\+\+\+\+\+ color30
keyword /\+\+\+\+\+\+\+ color30
keyword /\+\+\+\+\+\+ color30
keyword /\+\+\+\+\+ color30
keyword /\+\+\+\+ color30
keyword /\+\+\+ color30
keyword /\+\+ color30
keyword /\+ color30
keyword \+\+\+\+\+\+\+\+\+\+/ color30
keyword \+\+\+\+\+\+\+\+\+/ color30
keyword \+\+\+\+\+\+\+\+/ color30
keyword \+\+\+\+\+\+\+/ color30
keyword \+\+\+\+\+\+/ color30
keyword \+\+\+\+\+/ color30
keyword \+\+\+\+/ color30
keyword \+\+\+/ color30
keyword \+\+/ color30
keyword \+/ color30
# chars, 'x' and entities
keyword '\\\{"abtnvfr\}' color88
keyword \\\{"abtnvfr\} color90
keyword '\\\{0123\}\{01234567\}\{01234567\}' color88
keyword \\\{0123\}\{01234567\}\{01234567\} color90
keyword '\\\{01234567\}\{01234567\}' color88
keyword \\\{01234567\}\{01234567\} color90
keyword '\\\{01234567\}' color88
keyword \\\{01234567\} color90
keyword '\\'' color88
keyword '\\\\' color88
keyword '\\0' color88
keyword '\{\s!"#$%&()\*\+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~ ¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ\}' color88
keyword '\\&*;' color88
keyword \\&*; color90
keyword '\\x\{0123456789abcdefABCDEF\}\{0123456789abcdefABCDEF\}' color88
keyword \\x\{0123456789abcdefABCDEF\}\{0123456789abcdefABCDEF\} color90
keyword '\\x\{0123456789abcdefABCDEF\}\{0123456789abcdefABCDEF\}' color88
keyword \\x\{0123456789abcdefABCDEF\}\{0123456789abcdefABCDEF\} color90
keyword '\\u\{0123456789abcdefABCDEF\}\{0123456789abcdefABCDEF\}\{0123456789abcdefABCDEF\}\{0123456789abcdefABCDEF\}' color88
keyword \\u\{0123456789abcdefABCDEF\}\{0123456789abcdefABCDEF\}\{0123456789abcdefABCDEF\}\{0123456789abcdefABCDEF\} color90
keyword '\\U\{0123456789abcdefABCDEF\}\{0123456789abcdefABCDEF\}\{0123456789abcdefABCDEF\}\{0123456789abcdefABCDEF\}\{0123456789abcdefABCDEF\}\{0123456789abcdefABCDEF\}\{0123456789abcdefABCDEF\}\{0123456789abcdefABCDEF\}' color88
keyword \\U\{0123456789abcdefABCDEF\}\{0123456789abcdefABCDEF\}\{0123456789abcdefABCDEF\}\{0123456789abcdefABCDEF\}\{0123456789abcdefABCDEF\}\{0123456789abcdefABCDEF\}\{0123456789abcdefABCDEF\}\{0123456789abcdefABCDEF\} color90
# hexstring
keyword x"\[0123456789abcdefABCDEF\t\s\]"\{cwd\} color88
keyword x"\[0123456789abcdefABCDEF\t\s\]" color88
# start of wyswig string
# keyword "\{cwd\} color28 # imposible in cooledit
keyword " color28
keyword r" color28
# keyword `\{cwd\} color28 # imposible in cooledit
keyword ` color28
# operators
keyword !<>= color19
keyword !<> color19
keyword !>= color19
keyword !> color19
keyword !<= color19
keyword !< color19
keyword != color19
keyword ! color19
keyword %= color19
keyword % color19
keyword && color19
keyword &= color19
keyword & color19
keyword ( color17
keyword ) color17
keyword \+\+ color19
keyword -- color19
keyword \*= color19
keyword \* color19
keyword \+= color19
keyword \+ color19
keyword , color17
keyword -= color19
keyword - color19
keyword /= color19
keyword / color19
keyword : color17
keyword ; color90
keyword <>= color19
keyword <> color19
keyword <<= color19
keyword << color19
keyword <= color19
keyword < color19
keyword = color19
keyword >>>= color19
keyword >>> color19
keyword >>= color19
keyword >> color19
keyword >= color19
keyword > color19
keyword ? color17
keyword [ color17
keyword ] color17
keyword ^= color19
keyword ^ color19
keyword || color19
keyword |= color19
keyword | color19
keyword { color17
keyword } color17
keyword $ color17
keyword ~= color19
keyword ~ color19
# predefined lexer entities
keyword whole __FILE__ color160
keyword whole __LINE__ color160
keyword whole __DATE__ color160
keyword whole __TIME__ color160
keyword whole __TIMESTAMP__ color160
# 1.017 ?
keyword whole __VENDOR__ color160
keyword whole __VERSION__ color160
keyword #line*"*" color160
context exclusive /\*\* \*/ color30
keyword \*/ color30
spellcheck
# ddoc
keyword Authors: color160
keyword Author: color160
keyword BUGS: color160
keyword Bugs: color160
keyword Date: color160
keyword Deprecated: color160
keyword Examples: color160
keyword History: color160
keyword License: color160
keyword Returns: color160
keyword See_Also: color160
keyword Standards: color160
keyword Throws: color160
keyword Version: color160
# sections
keyword Copyright: color160
keyword Params: color160
keyword Macros: color160
# non standard
keyword TODO: color160
keyword FIXME: color160
keyword Note: color160
context exclusive /\+\+\+\+\+\+\+\+\+ \+\+\+\+\+\+\+\+\+/ color30
context exclusive /\+\+\+\+\+\+\+\+ \+\+\+\+\+\+\+\+/ color30
context exclusive /\+\+\+\+\+\+\+ \+\+\+\+\+\+\+/ color30
context exclusive /\+\+\+\+\+\+ \+\+\+\+\+\+/ color30
context exclusive /\+\+\+\+\+ \+\+\+\+\+/ color30
context exclusive /\+\+\+\+ \+\+\+\+/ color30
context exclusive /\+\+\+ \+\+\+/ color30
context exclusive /\+\+ \+\+/ color30
context exclusive /\+ \+/ color30
context exclusive /\* \*/ color30
spellcheck
context exclusive // \n color30
spellcheck
context exclusive ` ` color28
context exclusive r" " color28
context exclusive " " color28
spellcheck
keyword \\" color88
keyword %% color88
keyword %\[#0\s-\+,\]\[0123456789\*\]\[.\]\[0123456789\*\]\[L\]\{eEfgGoxX\} color88
keyword %\[0\s-\+,\]\[0123456789\*\]\[.\]\[0123456789\*\]\[hl\]\{diuxX\} color88
keyword %\[hl\]n color88
keyword %\[-\]\[0123456789\*\]\[.\]\[0123456789\*\]s color88
keyword %[*] color88
keyword %c color88
keyword %p color88
keyword \\\{0123\}\{01234567\}\{01234567\} color88
keyword \\\\ color88
keyword \\' color88
keyword \\\{abtnvfr\} color88
keyword \\&*; color88