4 filename: "\\.(d(i|d)?)$"
7 # Operators and punctuation
8 - statement: "(\\*|/|%|\\+|-|>>|<<|>>>|&|\\^(\\^)?|\\||~)?="
9 - statement: "\\.\\.(\\.)?|!|\\*|&|~|\\(|\\)|\\[|\\]|\\\\|/|\\+|-|%|<|>|\\?|:|;"
10 # Octal integer literals are deprecated
11 - error: "(0[0-7_]*)(L[uU]?|[uU]L?)?"
12 # Decimal integer literals
13 - constant.number: "([0-9]|[1-9][0-9_]*)(L[uU]?|[uU]L?)?"
14 # Binary integer literals
15 - constant: "(0[bB][01_]*)(L[uU]?|[uU]L?)?"
16 # Decimal float literals
17 - constant.number: "[0-9][0-9_]*\\.([0-9][0-9_]*)([eE][+-]?([0-9][0-9_]*))?[fFL]?i?"
18 - constant.number: "[0-9][0-9_]*([eE][+-]?([0-9][0-9_]*))[fFL]?i?"
19 - constant.number: "[^.]\\.([0-9][0-9_]*)([eE][+-]?([0-9][0-9_]*))?[fFL]?i?"
20 - constant.number: "[0-9][0-9_]*([fFL]?i|[fF])"
21 # Hexadecimal integer literals
22 - constant.number: "(0[xX]([0-9a-fA-F][0-9a-fA-F_]*|[0-9a-fA-F_]*[0-9a-fA-F]))(L[uU]?|[uU]L?)?"
23 # Hexadecimal float literals
24 - constant.number: "0[xX]([0-9a-fA-F][0-9a-fA-F_]*|[0-9a-fA-F_]*[0-9a-fA-F])(\\.[0-9a-fA-F][0-9a-fA-F_]*|[0-9a-fA-F_]*[0-9a-fA-F])?[pP][+-]?([0-9][0-9_]*)[fFL]?i?"
25 - constant.number: "0[xX]\\.([0-9a-fA-F][0-9a-fA-F_]*|[0-9a-fA-F_]*[0-9a-fA-F])[pP][+-]?([0-9][0-9_]*)[fFL]?i?"
31 - constant.specialChar: "\\\\."
34 - statement: "\\b(abstract|alias|align|asm|assert|auto|body|break|case|cast|catch|class|const|continue|debug|default|delegate|do|else|enum|export|extern)\\b"
36 - statement: "\\b(false|final|finally|for|foreach|foreach_reverse|function|goto|if|immutable|import|in|inout|interface|invariant|is|lazy)\\b"
38 - statement: "\\b(macro|mixin|module|new|nothrow|null|out|override|package|pragma|private|protected|public|pure|ref|return)\\b"
40 - statement: "\\b(scope|shared|static|struct|super|switch|synchronized|template|this|throw|true|try|typeid|typeof|union|unittest|version|while|with)\\b"
42 - statement: "\\b(__FILE__|__MODULE__|__LINE__|__FUNCTION__|__PRETTY_FUNCTION__|__gshared|__traits|__vector|__parameters)\\b"
44 - error: "\\b(delete|deprecated|typedef|volatile)\\b"
46 - type: "\\b(bool|byte|cdouble|cent|cfloat|char|creal|dchar|double|float|idouble|ifloat|int|ireal|long|real|short|ubyte|ucent|uint|ulong|ushort|void|wchar)\\b"
47 # Globally defined symbols
48 - type: "\\b(string|wstring|dstring|size_t|ptrdiff_t)\\b"
50 - constant: "\\b(__DATE__|__EOF__|__TIME__|__TIMESTAMP__|__VENDOR__|__VERSION__)\\b"
57 - constant.specialChar: "\\\\."
63 - constant.specialChar: "\\\\."
68 - constant.specialChar: "\\\\."
74 - constant.specialChar: "\\\\."
80 - constant.specialChar: "\\\\."
85 - constant.specialChar: "\\\\."
90 - constant.specialChar: "\\\\."
95 - constant.specialChar: "\\\\."
97 start: "q\"[^({[<\"][^\"]*$"
100 - constant.specialChar: "\\\\."
102 start: "q\"([^({[<\"])"
105 - constant.specialChar: "\\\\."