mc/misc/syntax/d.syntax

562 lines
18 KiB
YAML
Raw Blame History

# -------------------------------
#
# 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 brightcyan black
keyword whole linestart #!\[\s\]/\[abcdefghijklmnopqrstuvwxyz\]/\[abcdefghijklmnopqrstuvwxyz\]/\[abcdefghijklmnopqrstuvwxyz\]/bin/dmd brightcyan black
keyword whole linestart #!\[\s\]/\[abcdefghijklmnopqrstuvwxyz\]/\[abcdefghijklmnopqrstuvwxyz\]/bin/dmd brightcyan black
keyword whole linestart #!\[\s\]/\[abcdefghijklmnopqrstuvwxyz\]/bin/dmd brightcyan black
keyword whole linestart #!\[\s\]/bin/dmd brightcyan black
keyword whole linestart #!\[\s\]/\[abcdefghijklmnopqrstuvwxyz\]/\[abcdefghijklmnopqrstuvwxyz\]/\[abcdefghijklmnopqrstuvwxyz\]/\[abcdefghijklmnopqrstuvwxyz\]/dmd brightcyan black
keyword whole linestart #!\[\s\]/\[abcdefghijklmnopqrstuvwxyz\]/\[abcdefghijklmnopqrstuvwxyz\]/\[abcdefghijklmnopqrstuvwxyz\]/dmd brightcyan black
keyword whole linestart #!\[\s\]/\[abcdefghijklmnopqrstuvwxyz\]/\[abcdefghijklmnopqrstuvwxyz\]/dmd brightcyan black
keyword whole linestart #!\[\s\]/\[abcdefghijklmnopqrstuvwxyz\]/dmd brightcyan black
keyword whole linestart #!\[\s\]/dmd brightcyan black
keyword whole linestart #!\[\s\]/\[abcdefghijklmnopqrstuvwxyz\]/\[abcdefghijklmnopqrstuvwxyz\]/\[abcdefghijklmnopqrstuvwxyz\]/\[abcdefghijklmnopqrstuvwxyz\]/gdmd brightcyan black
keyword whole linestart #!\[\s\]/\[abcdefghijklmnopqrstuvwxyz\]/\[abcdefghijklmnopqrstuvwxyz\]/\[abcdefghijklmnopqrstuvwxyz\]/gdmd brightcyan black
keyword whole linestart #!\[\s\]/\[abcdefghijklmnopqrstuvwxyz\]/\[abcdefghijklmnopqrstuvwxyz\]/gdmd brightcyan black
keyword whole linestart #!\[\s\]/\[abcdefghijklmnopqrstuvwxyz\]/dmd brightcyan black
keyword whole linestart #!\[\s\]/gdmd brightcyan black
# keywords
keyword whole abstract yellow
keyword whole alias yellow
keyword whole align yellow
keyword whole assert yellow
keyword whole body yellow
keyword whole bool yellow
keyword whole byte yellow
keyword whole cast yellow
keyword whole catch yellow
keyword whole cdouble yellow
keyword whole cent yellow
keyword whole cfloat yellow
keyword whole class yellow
keyword whole creal yellow
keyword whole dchar yellow
keyword whole debug yellow
keyword whole delegate yellow
keyword whole delete yellow
keyword whole deprecated yellow
keyword whole dstring yellow
keyword whole false brightred
keyword whole finally yellow
keyword whole final yellow
keyword whole foreach_reverse yellow
keyword whole function yellow
keyword whole idouble yellow
keyword whole ifloat yellow
keyword whole inout yellow
keyword whole interface yellow
keyword whole invariant yellow
keyword whole in yellow
keyword whole is yellow
keyword whole ireal yellow
keyword whole lazy yellow
keyword whole long yellow
keyword whole macro yellow
keyword whole mixin yellow
keyword whole module yellow
keyword whole new yellow
keyword whole null brightred
keyword whole out yellow
keyword whole override yellow
keyword whole package yellow
keyword whole pragma yellow
keyword whole private yellow
keyword whole protected yellow
keyword whole public yellow
keyword whole real yellow
keyword whole ref yellow
keyword whole scope yellow
keyword whole string yellow
keyword whole super brightred
keyword whole synchronized yellow
keyword whole template yellow
keyword whole this brightred
keyword whole throw yellow
keyword whole true brightred
keyword whole try yellow
keyword whole typedef yellow
keyword whole typeid yellow
keyword whole typeof yellow
keyword whole ubyte yellow
keyword whole ucent yellow
keyword whole ulong yellow
keyword whole unittest yellow
keyword whole ushort yellow
keyword whole version yellow
keyword whole volatile yellow
keyword whole wchar yellow
keyword whole with yellow
keyword whole wstring yellow
keyword whole asm yellow
keyword whole auto yellow
keyword whole break yellow
keyword whole case yellow
keyword whole char yellow
keyword whole const yellow
keyword whole continue yellow
keyword whole default yellow
keyword whole double yellow
keyword whole do yellow
keyword whole else yellow
keyword whole enum yellow
keyword whole export yellow
keyword whole extern yellow
keyword whole float yellow
keyword whole foreach yellow
keyword whole for yellow
keyword whole goto yellow
keyword whole if yellow
keyword whole import magenta
keyword whole inline yellow
keyword whole int yellow
keyword whole return yellow
keyword whole short yellow
keyword whole signed yellow
keyword whole sizeof yellow
keyword whole static yellow
keyword whole struct yellow
keyword whole switch yellow
keyword whole typedef yellow
keyword whole uint yellow
keyword whole union yellow
keyword whole unsigned yellow
keyword whole void yellow
keyword whole while yellow
# predefined aliases (deprecated)
keyword whole bit yellow
# predefined aliases (2.0)
keyword whole string yellow
keyword whole dstring yellow
keyword whole wstring yellow
# D array attributes
keyword wholeright .sizeof yellow
keyword wholeright .length yellow
keyword wholeright .ptr yellow
keyword wholeright .dup yellow
keyword wholeright .reverse yellow
keyword wholeright .sort yellow
keyword wholeright .keys yellow
keyword wholeright .values yellow
keyword wholeright .rehash yellow
# D types attributes
keyword wholeright .init yellow
keyword wholeright .alignof yellow
keyword wholeright .mangleof yellow
keyword wholeright .stringof yellow
# +integer
keyword wholeright .min yellow
keyword wholeright .max yellow
# +floating point
keyword wholeright .infinity yellow
keyword wholeright .nan yellow
keyword wholeright .dig yellow
keyword wholeright .epsilon yellow
keyword wholeright .mant_dig yellow
keyword wholeright .max_10_exp yellow
keyword wholeright .max_exp yellow
keyword wholeright .min_10_exp yellow
keyword wholeright .min_exp yellow
keyword wholeright .re yellow
keyword wholeright .im yellow
keyword wholeright .im yellow
# union
keyword wholeright .offsetof yellow
# D 2.0 attributes
keyword wholeright .idup yellow
# unary operators
keyword whole opNeg gray
keyword whole opPos gray
keyword whole opCom gray
keyword whole opPostInc gray
keyword whole opPostDec gray
keyword whole opCast gray
# binary operators
keyword whole opAdd gray
keyword whole opAdd_r gray
keyword whole opSub gray
keyword whole opSub_r gray
keyword whole opMul gray
keyword whole opMul_r gray
keyword whole opDiv gray
keyword whole opDiv_r gray
keyword whole opMod gray
keyword whole opMod_r gray
keyword whole opAnd gray
keyword whole opAnd_r gray
keyword whole opOr gray
keyword whole opOr_r gray
keyword whole opXor gray
keyword whole opXor_r gray
keyword whole opShl gray
keyword whole opShl_r gray
keyword whole opShr gray
keyword whole opShr_r gray
keyword whole opUShr gray
keyword whole opUShr_r gray
keyword whole opCat gray
keyword whole opCat_r gray
keyword whole opEquals gray
keyword whole opCmp gray
keyword whole opAssign gray
keyword whole opAddAssign gray
keyword whole opSubAssign gray
keyword whole opMulAssign gray
keyword whole opDivAssign gray
keyword whole opModAssign gray
keyword whole opAndAssign gray
keyword whole opOrAssign gray
keyword whole opXorAssign gray
keyword whole opShlAssign gray
keyword whole opShrAssign gray
keyword whole opUShrAssign gray
keyword whole opCatAssign gray
keyword whole opIn gray
keyword whole opIn_r gray
# special operators
keyword whole opCall gray
keyword whole opIndex gray
keyword whole opIndexAssign gray
keyword whole opSlice gray
keyword whole opSliceAssign gray
keyword whole opAssign gray
keyword whole opApply gray
keyword whole ... yellow
keyword whole .. yellow
# keyword whole linestart \{\s\t\}\[\s\t\]#*\n brightmagenta # C preprocesor
# special objects
# hidden argument of variadic functions
keyword whole _argptr brightred
keyword whole _arguments brightred
# object
keyword whole Object brightmagenta
keyword whole Interface brightmagenta
keyword whole ClassInfo brightmagenta
keyword whole OffsetTypeInfo brightmagenta
keyword whole TypeInfo brightmagenta
keyword whole Exception brightmagenta
keyword whole Error brightmagenta
# common functions
# object methods
keyword whole toString cyan
keyword whole toHash cyan
# std.stdio
keyword whole writefln cyan
keyword whole writef cyan
# std.gc
keyword whole addRoot cyan
keyword whole removeRoot cyan
keyword whole addRange cyan
keyword whole hasPointers cyan
keyword whole hasNoPointers cyan
keyword whole setTypeInfo cyan
keyword whole malloc cyan
keyword whole realoc cyan
keyword whole extend cyan
keyword whole capacity cyan
keyword whole setV1_0 cyan
keyword whole fullCollect cyan
keyword whole genCollect cyan
# std.string
keyword whole iswhite cyan
keyword whole atoi cyan
keyword whole atof cyan
keyword whole toStringz cyan
keyword whole tolower cyan
keyword whole toupper cyan
keyword whole repeat cyan
keyword whole join cyan
keyword whole split cyan
keyword whole stripl cyan
keyword whole stripr cyan
keyword whole strip cyan
keyword whole chomp cyan
keyword whole chop cyan
keyword whole isNumeric cyan
keyword whole isEmail cyan
keyword whole isURL cyan
# std.math
keyword whole abs cyan
keyword whole conj cyan
keyword whole cos cyan
keyword whole sin cyan
keyword whole tan cyan
keyword whole acos cyan
keyword whole asin cyan
keyword whole atan cyan
keyword whole atan2 cyan
keyword whole cosh cyan
keyword whole sinh cyan
keyword whole tanh cyan
keyword whole acosh cyan
keyword whole asinh cyan
keyword whole atanh cyan
keyword whole rndtol cyan
keyword whole rndtonl cyan
keyword whole sqrt cyan
keyword whole exp cyan
keyword whole exp2 cyan
keyword whole expm1 cyan
keyword whole frexp cyan
keyword whole ilogb cyan
keyword whole ldexp cyan
keyword whole log cyan
keyword whole log10 cyan
keyword whole log1p cyan
keyword whole log2 cyan
keyword whole logb cyan
keyword whole modf cyan
keyword whole scalbn cyan
keyword whole cbrt cyan
keyword whole fabs cyan
keyword whole hypot cyan
keyword whole erf cyan
keyword whole erfc cyan
keyword whole lgamma cyan
keyword whole tgamma cyan
keyword whole ceil cyan
keyword whole floor cyan
keyword whole nearbyint cyan
keyword whole rint cyan
keyword whole lrint cyan
keyword whole round cyan
keyword whole lround cyan
keyword whole trunc cyan
keyword whole remainder cyan
keyword whole remquo cyan
keyword whole isnan cyan
keyword whole isfinite cyan
keyword whole isnormal cyan
keyword whole issubnormal cyan
keyword whole isinf cyan
keyword whole signbit cyan
keyword whole copysign cyan
keyword whole nan cyan
keyword whole nextafter cyan
keyword whole fdim cyan
keyword whole fmax cyan
keyword whole fmin cyan
keyword whole fma cyan
keyword whole pow cyan
keyword whole feqrel cyan
keyword whole poly cyan
# comments
keyword /\*\* brown
keyword /\* brown
keyword \*/ brown
keyword // brown
keyword /\+\+\+\+\+\+\+\+\+\+ brown
keyword /\+\+\+\+\+\+\+\+\+ brown
keyword /\+\+\+\+\+\+\+\+ brown
keyword /\+\+\+\+\+\+\+ brown
keyword /\+\+\+\+\+\+ brown
keyword /\+\+\+\+\+ brown
keyword /\+\+\+\+ brown
keyword /\+\+\+ brown
keyword /\+\+ brown
keyword /\+ brown
keyword \+\+\+\+\+\+\+\+\+\+/ brown
keyword \+\+\+\+\+\+\+\+\+/ brown
keyword \+\+\+\+\+\+\+\+/ brown
keyword \+\+\+\+\+\+\+/ brown
keyword \+\+\+\+\+\+/ brown
keyword \+\+\+\+\+/ brown
keyword \+\+\+\+/ brown
keyword \+\+\+/ brown
keyword \+\+/ brown
keyword \+/ brown
# chars, 'x' and entities
keyword '\\\{"abtnvfr\}' brightgreen
keyword \\\{"abtnvfr\} brightmagenta
keyword '\\\{0123\}\{01234567\}\{01234567\}' brightgreen
keyword \\\{0123\}\{01234567\}\{01234567\} brightmagenta
keyword '\\\{01234567\}\{01234567\}' brightgreen
keyword \\\{01234567\}\{01234567\} brightmagenta
keyword '\\\{01234567\}' brightgreen
keyword \\\{01234567\} brightmagenta
keyword '\\'' brightgreen
keyword '\\\\' brightgreen
keyword '\\0' brightgreen
keyword '\{\s!"#$%&()\*\+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~<7E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\}' brightgreen
keyword '\\&*;' brightgreen
keyword \\&*; brightmagenta
keyword '\\x\{0123456789abcdefABCDEF\}\{0123456789abcdefABCDEF\}' brightgreen
keyword \\x\{0123456789abcdefABCDEF\}\{0123456789abcdefABCDEF\} brightmagenta
keyword '\\x\{0123456789abcdefABCDEF\}\{0123456789abcdefABCDEF\}' brightgreen
keyword \\x\{0123456789abcdefABCDEF\}\{0123456789abcdefABCDEF\} brightmagenta
keyword '\\u\{0123456789abcdefABCDEF\}\{0123456789abcdefABCDEF\}\{0123456789abcdefABCDEF\}\{0123456789abcdefABCDEF\}' brightgreen
keyword \\u\{0123456789abcdefABCDEF\}\{0123456789abcdefABCDEF\}\{0123456789abcdefABCDEF\}\{0123456789abcdefABCDEF\} brightmagenta
keyword '\\U\{0123456789abcdefABCDEF\}\{0123456789abcdefABCDEF\}\{0123456789abcdefABCDEF\}\{0123456789abcdefABCDEF\}\{0123456789abcdefABCDEF\}\{0123456789abcdefABCDEF\}\{0123456789abcdefABCDEF\}\{0123456789abcdefABCDEF\}' brightgreen
keyword \\U\{0123456789abcdefABCDEF\}\{0123456789abcdefABCDEF\}\{0123456789abcdefABCDEF\}\{0123456789abcdefABCDEF\}\{0123456789abcdefABCDEF\}\{0123456789abcdefABCDEF\}\{0123456789abcdefABCDEF\}\{0123456789abcdefABCDEF\} brightmagenta
# hexstring
keyword x"\[0123456789abcdefABCDEF\t\s\]"\{cwd\} brightgreen
keyword x"\[0123456789abcdefABCDEF\t\s\]" brightgreen
# start of wyswig string
# keyword "\{cwd\} green # imposible in cooledit
keyword " green
keyword r" green
# keyword `\{cwd\} green # imposible in cooledit
keyword ` green
# operators
keyword !<>= yellow
keyword !<> yellow
keyword !>= yellow
keyword !> yellow
keyword !<= yellow
keyword !< yellow
keyword != yellow
keyword ! yellow
keyword %= yellow
keyword % yellow
keyword && yellow
keyword &= yellow
keyword & yellow
keyword ( brightcyan
keyword ) brightcyan
keyword \+\+ yellow
keyword -- yellow
keyword \*= yellow
keyword \* yellow
keyword \+= yellow
keyword \+ yellow
keyword , brightcyan
keyword -= yellow
keyword - yellow
keyword /= yellow
keyword / yellow
keyword : brightcyan
keyword ; brightmagenta
keyword <>= yellow
keyword <> yellow
keyword <<= yellow
keyword << yellow
keyword <= yellow
keyword < yellow
keyword = yellow
keyword >>>= yellow
keyword >>> yellow
keyword >>= yellow
keyword >> yellow
keyword >= yellow
keyword > yellow
keyword ? brightcyan
keyword [ brightcyan
keyword ] brightcyan
keyword ^= yellow
keyword ^ yellow
keyword || yellow
keyword |= yellow
keyword | yellow
keyword { brightcyan
keyword } brightcyan
keyword $ brightcyan
keyword ~= yellow
keyword ~ yellow
# predefined lexer entities
keyword whole __FILE__ red
keyword whole __LINE__ red
keyword whole __DATE__ red
keyword whole __TIME__ red
keyword whole __TIMESTAMP__ red
# 1.017 ?
keyword whole __VENDOR__ red
keyword whole __VERSION__ red
keyword #line*"*" red
context exclusive /\*\* \*/ brown
keyword \*/ brown
spellcheck
# ddoc
keyword Authors: red
keyword Author: red
keyword BUGS: red
keyword Bugs: red
keyword Date: red
keyword Deprecated: red
keyword Examples: red
keyword History: red
keyword License: red
keyword Returns: red
keyword See_Also: red
keyword Standards: red
keyword Throws: red
keyword Version: red
# sections
keyword Copyright: red
keyword Params: red
keyword Macros: red
# non standard
keyword TODO: red
keyword FIXME: red
keyword Note: red
context exclusive /\+\+\+\+\+\+\+\+\+ \+\+\+\+\+\+\+\+\+/ brown
context exclusive /\+\+\+\+\+\+\+\+ \+\+\+\+\+\+\+\+/ brown
context exclusive /\+\+\+\+\+\+\+ \+\+\+\+\+\+\+/ brown
context exclusive /\+\+\+\+\+\+ \+\+\+\+\+\+/ brown
context exclusive /\+\+\+\+\+ \+\+\+\+\+/ brown
context exclusive /\+\+\+\+ \+\+\+\+/ brown
context exclusive /\+\+\+ \+\+\+/ brown
context exclusive /\+\+ \+\+/ brown
context exclusive /\+ \+/ brown
context exclusive /\* \*/ brown
spellcheck
context exclusive // \n brown
spellcheck
context exclusive ` ` green
context exclusive r" " green
context exclusive " " green
spellcheck
keyword \\" brightgreen
keyword %% brightgreen
keyword %\[#0\s-\+,\]\[0123456789\*\]\[.\]\[0123456789\*\]\[L\]\{eEfgGoxX\} brightgreen
keyword %\[0\s-\+,\]\[0123456789\*\]\[.\]\[0123456789\*\]\[hl\]\{diuxX\} brightgreen
keyword %\[hl\]n brightgreen
keyword %\[-\]\[0123456789\*\]\[.\]\[0123456789\*\]s brightgreen
keyword %[*] brightgreen
keyword %c brightgreen
keyword %p brightgreen
keyword \\\{0123\}\{01234567\}\{01234567\} brightgreen
keyword \\\\ brightgreen
keyword \\' brightgreen
keyword \\\{abtnvfr\} brightgreen
keyword \\&*; brightgreen