Mercurial > minori
annotate dep/fmt/support/C++.sublime-syntax @ 359:4e0e17d3c67a
CI/linux: ignore linuxdeployqt silently failing
| author | Paper <paper@paper.us.eu.org> | 
|---|---|
| date | Mon, 15 Jul 2024 01:06:39 -0400 | 
| parents | 1faa72660932 | 
| children | 
| rev | line source | 
|---|---|
| 
343
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1 %YAML 1.2 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
2 --- | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
3 # http://www.sublimetext.com/docs/3/syntax.html | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
4 name: C++ (fmt) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
5 comment: I don't think anyone uses .hp. .cp tends to be paired with .h. (I could be wrong. :) -- chris | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
6 file_extensions: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
7 - cpp | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
8 - cc | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
9 - cp | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
10 - cxx | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
11 - c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
12 - C | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
13 - h | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
14 - hh | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
15 - hpp | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
16 - hxx | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
17 - h++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
18 - inl | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
19 - ipp | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
20 first_line_match: '-\*- C\+\+ -\*-' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
21 scope: source.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
22 variables: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
23 identifier: \b[[:alpha:]_][[:alnum:]_]*\b # upper and lowercase | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
24 macro_identifier: \b[[:upper:]_][[:upper:][:digit:]_]{2,}\b # only uppercase, at least 3 chars | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
25 path_lookahead: '(?:::\s*)?(?:{{identifier}}\s*::\s*)*(?:template\s+)?{{identifier}}' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
26 operator_method_name: '\boperator\s*(?:[-+*/%^&|~!=<>]|[-+*/%^&|=!<>]=|<<=?|>>=?|&&|\|\||\+\+|--|,|->\*?|\(\)|\[\]|""\s*{{identifier}})' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
27 casts: 'const_cast|dynamic_cast|reinterpret_cast|static_cast' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
28 operator_keywords: 'and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|xor|xor_eq|noexcept' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
29 control_keywords: 'break|case|catch|continue|default|do|else|for|goto|if|_Pragma|return|switch|throw|try|while' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
30 memory_operators: 'new|delete' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
31 basic_types: 'asm|__asm__|auto|bool|_Bool|char|_Complex|double|float|_Imaginary|int|long|short|signed|unsigned|void' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
32 before_tag: 'struct|union|enum\s+class|enum\s+struct|enum|class' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
33 declspec: '__declspec\(\s*\w+(?:\([^)]+\))?\s*\)' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
34 storage_classes: 'static|export|extern|friend|explicit|virtual|register|thread_local' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
35 type_qualifier: 'const|constexpr|mutable|typename|volatile' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
36 compiler_directive: 'inline|restrict|__restrict__|__restrict' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
37 visibility_modifiers: 'private|protected|public' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
38 other_keywords: 'typedef|nullptr|{{visibility_modifiers}}|static_assert|sizeof|using|typeid|alignof|alignas|namespace|template' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
39 modifiers: '{{storage_classes}}|{{type_qualifier}}|{{compiler_directive}}' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
40 non_angle_brackets: '(?=<<|<=)' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
41 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
42 regular: '[^(){}&;*^%=<>-]*' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
43 paren_open: (?:\( | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
44 paren_close: '\))?' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
45 generic_open: (?:< | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
46 generic_close: '>)?' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
47 balance_parentheses: '{{regular}}{{paren_open}}{{regular}}{{paren_close}}{{regular}}' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
48 generic_lookahead: <{{regular}}{{generic_open}}{{regular}}{{generic_open}}{{regular}}{{generic_close}}\s*{{generic_close}}{{balance_parentheses}}> | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
49 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
50 data_structures_forward_decl_lookahead: '(\s+{{macro_identifier}})*\s*(:\s*({{path_lookahead}}|{{visibility_modifiers}}|,|\s|<[^;]*>)+)?;' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
51 non_func_keywords: 'if|for|switch|while|decltype|sizeof|__declspec|__attribute__|typeid|alignof|alignas|static_assert' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
52 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
53 format_spec: |- | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
54 (?x: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
55 (?:.? [<>=^])? # fill align | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
56 [ +-]? # sign | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
57 \#? # alternate form | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
58 # technically, octal and hexadecimal integers are also supported as 'width', but rarely used | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
59 \d* # width | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
60 ,? # thousands separator | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
61 (?:\.\d+)? # precision | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
62 [bcdeEfFgGnosxX%]? # type | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
63 ) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
64 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
65 contexts: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
66 main: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
67 - include: preprocessor-global | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
68 - include: global | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
69 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
70 ############################################################################# | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
71 # Reusable contexts | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
72 # | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
73 # The follow contexts are currently constructed to be reused in the | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
74 # Objetive-C++ syntax. They are specifically constructed to not push into | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
75 # sub-contexts, which ensures that Objective-C++ code isn't accidentally | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
76 # lexed as plain C++. | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
77 # | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
78 # The "unique-*" contexts are additions that C++ makes over C, and thus can | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
79 # be directly reused in Objective-C++ along with contexts from Objective-C | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
80 # and C. | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
81 ############################################################################# | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
82 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
83 unique-late-expressions: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
84 # This is highlighted after all of the other control keywords | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
85 # to allow operator overloading to be lexed properly | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
86 - match: \boperator\b | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
87 scope: keyword.control.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
88 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
89 unique-modifiers: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
90 - match: \b({{modifiers}})\b | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
91 scope: storage.modifier.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
92 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
93 unique-variables: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
94 - match: \bthis\b | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
95 scope: variable.language.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
96 # common C++ instance var naming idiom -- fMemberName | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
97 - match: '\b(f|m)[[:upper:]]\w*\b' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
98 scope: variable.other.readwrite.member.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
99 # common C++ instance var naming idiom -- m_member_name | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
100 - match: '\bm_[[:alnum:]_]+\b' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
101 scope: variable.other.readwrite.member.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
102 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
103 unique-constants: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
104 - match: \bnullptr\b | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
105 scope: constant.language.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
106 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
107 unique-keywords: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
108 - match: \busing\b | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
109 scope: keyword.control.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
110 - match: \bbreak\b | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
111 scope: keyword.control.flow.break.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
112 - match: \bcontinue\b | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
113 scope: keyword.control.flow.continue.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
114 - match: \bgoto\b | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
115 scope: keyword.control.flow.goto.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
116 - match: \breturn\b | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
117 scope: keyword.control.flow.return.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
118 - match: \bthrow\b | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
119 scope: keyword.control.flow.throw.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
120 - match: \b({{control_keywords}})\b | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
121 scope: keyword.control.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
122 - match: '\bdelete\b(\s*\[\])?|\bnew\b(?!])' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
123 scope: keyword.control.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
124 - match: \b({{operator_keywords}})\b | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
125 scope: keyword.operator.word.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
126 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
127 unique-types: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
128 - match: \b(char16_t|char32_t|wchar_t|nullptr_t)\b | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
129 scope: storage.type.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
130 - match: \bclass\b | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
131 scope: storage.type.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
132 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
133 unique-strings: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
134 - match: '((?:L|u8|u|U)?R)("([^\(\)\\ ]{0,16})\()' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
135 captures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
136 1: storage.type.string.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
137 2: punctuation.definition.string.begin.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
138 push: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
139 - meta_scope: string.quoted.double.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
140 - match: '\)\3"' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
141 scope: punctuation.definition.string.end.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
142 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
143 - match: '\{\{|\}\}' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
144 scope: constant.character.escape.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
145 - include: formatting-syntax | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
146 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
147 unique-numbers: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
148 - match: |- | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
149 (?x) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
150 (?: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
151 # floats | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
152 (?: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
153 (?:\b\d(?:[\d']*\d)?\.\d(?:[\d']*\d)?|\B\.\d(?:[\d']*\d)?)(?:[Ee][+-]?\d(?:[\d']*\d)?)?(?:[fFlL]|(?:i[fl]?|h|min|[mun]?s|_\w*))?\b | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
154 | | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
155 (?:\b\d(?:[\d']*\d)?\.)(?:\B|(?:[fFlL]|(?:i[fl]?|h|min|[mun]?s|_\w*))\b|(?:[Ee][+-]?\d(?:[\d']*\d)?)(?:[fFlL]|(?:i[fl]?|h|min|[mun]?s|_\w*))?\b) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
156 | | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
157 \b\d(?:[\d']*\d)?(?:[Ee][+-]?\d(?:[\d']*\d)?)(?:[fFlL]|(?:i[fl]?|h|min|[mun]?s|_\w*))?\b | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
158 ) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
159 | | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
160 # ints | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
161 \b(?: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
162 (?: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
163 # dec | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
164 [1-9](?:[\d']*\d)? | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
165 | | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
166 # oct | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
167 0(?:[0-7']*[0-7])? | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
168 | | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
169 # hex | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
170 0[Xx][\da-fA-F](?:[\da-fA-F']*[\da-fA-F])? | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
171 | | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
172 # bin | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
173 0[Bb][01](?:[01']*[01])? | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
174 ) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
175 # int suffixes | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
176 (?:(?:l{1,2}|L{1,2})[uU]?|[uU](?:l{0,2}|L{0,2})|(?:i[fl]?|h|min|[mun]?s|_\w*))?)\b | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
177 ) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
178 (?!\.) # Number must not be followed by a decimal point | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
179 scope: constant.numeric.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
180 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
181 identifiers: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
182 - match: '{{identifier}}\s*(::)\s*' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
183 captures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
184 1: punctuation.accessor.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
185 - match: '(?:(::)\s*)?{{identifier}}' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
186 captures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
187 1: punctuation.accessor.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
188 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
189 function-specifiers: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
190 - match: \b(const|final|noexcept|override)\b | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
191 scope: storage.modifier.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
192 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
193 ############################################################################# | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
194 # The following are C++-specific contexts that should not be reused. This is | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
195 # because they push into subcontexts and use variables that are C++-specific. | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
196 ############################################################################# | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
197 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
198 ## Common context layout | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
199 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
200 global: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
201 - match: '(?=\btemplate\b)' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
202 push: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
203 - include: template | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
204 - match: (?=\S) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
205 set: global-modifier | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
206 - include: namespace | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
207 - include: keywords-angle-brackets | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
208 - match: '(?={{path_lookahead}}\s*<)' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
209 push: global-modifier | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
210 # Take care of comments just before a function definition. | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
211 - match: /\* | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
212 scope: punctuation.definition.comment.c | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
213 push: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
214 - - match: \s*(?=\w) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
215 set: global-modifier | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
216 - match: "" | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
217 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
218 - - meta_scope: comment.block.c | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
219 - match: \*/ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
220 scope: punctuation.definition.comment.c | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
221 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
222 - include: early-expressions | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
223 - match: ^\s*\b(extern)(?=\s+"C(\+\+)?") | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
224 scope: storage.modifier.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
225 push: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
226 - include: comments | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
227 - include: strings | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
228 - match: '\{' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
229 scope: punctuation.section.block.begin.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
230 set: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
231 - meta_scope: meta.extern-c.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
232 - match: '^\s*(#\s*ifdef)\s*__cplusplus\s*' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
233 scope: meta.preprocessor.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
234 captures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
235 1: keyword.control.import.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
236 set: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
237 - match: '\}' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
238 scope: punctuation.section.block.end.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
239 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
240 - include: preprocessor-global | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
241 - include: global | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
242 - match: '\}' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
243 scope: punctuation.section.block.end.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
244 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
245 - include: preprocessor-global | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
246 - include: global | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
247 - match: (?=\S) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
248 set: global-modifier | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
249 - match: ^\s*(?=\w) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
250 push: global-modifier | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
251 - include: late-expressions | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
252 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
253 statements: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
254 - include: preprocessor-statements | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
255 - include: scope:source.c#label | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
256 - include: expressions | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
257 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
258 expressions: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
259 - include: early-expressions | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
260 - include: late-expressions | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
261 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
262 early-expressions: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
263 - include: early-expressions-before-generic-type | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
264 - include: generic-type | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
265 - include: early-expressions-after-generic-type | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
266 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
267 early-expressions-before-generic-type: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
268 - include: preprocessor-expressions | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
269 - include: comments | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
270 - include: case-default | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
271 - include: typedef | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
272 - include: keywords-angle-brackets | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
273 - include: keywords-parens | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
274 - include: keywords | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
275 - include: numbers | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
276 # Prevent a '<' from getting scoped as the start of another template | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
277 # parameter list, if in reality a less-than-or-equals sign is meant. | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
278 - match: <= | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
279 scope: keyword.operator.comparison.c | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
280 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
281 early-expressions-after-generic-type: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
282 - include: members-arrow | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
283 - include: operators | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
284 - include: members-dot | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
285 - include: strings | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
286 - include: parens | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
287 - include: brackets | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
288 - include: block | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
289 - include: variables | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
290 - include: constants | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
291 - match: ',' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
292 scope: punctuation.separator.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
293 - match: '\)|\}' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
294 scope: invalid.illegal.stray-bracket-end.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
295 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
296 expressions-minus-generic-type: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
297 - include: early-expressions-before-generic-type | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
298 - include: angle-brackets | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
299 - include: early-expressions-after-generic-type | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
300 - include: late-expressions | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
301 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
302 expressions-minus-generic-type-function-call: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
303 - include: early-expressions-before-generic-type | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
304 - include: angle-brackets | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
305 - include: early-expressions-after-generic-type | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
306 - include: late-expressions-before-function-call | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
307 - include: identifiers | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
308 - match: ';' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
309 scope: punctuation.terminator.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
310 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
311 late-expressions: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
312 - include: late-expressions-before-function-call | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
313 - include: function-call | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
314 - include: identifiers | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
315 - match: ';' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
316 scope: punctuation.terminator.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
317 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
318 late-expressions-before-function-call: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
319 - include: unique-late-expressions | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
320 - include: modifiers-parens | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
321 - include: modifiers | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
322 - include: types | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
323 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
324 expressions-minus-function-call: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
325 - include: early-expressions | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
326 - include: late-expressions-before-function-call | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
327 - include: identifiers | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
328 - match: ';' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
329 scope: punctuation.terminator.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
330 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
331 comments: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
332 - include: scope:source.c#comments | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
333 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
334 operators: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
335 - include: scope:source.c#operators | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
336 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
337 modifiers: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
338 - include: unique-modifiers | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
339 - include: scope:source.c#modifiers | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
340 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
341 variables: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
342 - include: unique-variables | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
343 - include: scope:source.c#variables | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
344 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
345 constants: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
346 - include: unique-constants | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
347 - include: scope:source.c#constants | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
348 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
349 keywords: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
350 - include: unique-keywords | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
351 - include: scope:source.c#keywords | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
352 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
353 types: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
354 - include: unique-types | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
355 - include: types-parens | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
356 - include: scope:source.c#types | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
357 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
358 strings: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
359 - include: unique-strings | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
360 - match: '(L|u8|u|U)?(")' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
361 captures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
362 1: storage.type.string.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
363 2: punctuation.definition.string.begin.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
364 push: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
365 - meta_scope: string.quoted.double.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
366 - match: '"' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
367 scope: punctuation.definition.string.end.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
368 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
369 - include: scope:source.c#string_escaped_char | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
370 - match: |- | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
371 (?x)% | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
372 (\d+\$)? # field (argument #) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
373 [#0\- +']* # flags | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
374 [,;:_]? # separator character (AltiVec) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
375 ((-?\d+)|\*(-?\d+\$)?)? # minimum field width | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
376 (\.((-?\d+)|\*(-?\d+\$)?)?)? # precision | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
377 (hh|h|ll|l|j|t|z|q|L|vh|vl|v|hv|hl)? # length modifier | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
378 (\[[^\]]+\]|[am]s|[diouxXDOUeEfFgGaACcSspn%]) # conversion type | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
379 scope: constant.other.placeholder.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
380 - match: '\{\{|\}\}' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
381 scope: constant.character.escape.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
382 - include: formatting-syntax | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
383 - include: scope:source.c#strings | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
384 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
385 formatting-syntax: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
386 # https://docs.python.org/3.6/library/string.html#formatstrings | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
387 - match: |- # simple form | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
388 (?x) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
389 (\{) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
390 (?: [\w.\[\]]+)? # field_name | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
391 ( ! [ars])? # conversion | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
392 ( : (?:{{format_spec}}| # format_spec OR | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
393 [^}%]*%.[^}]*) # any format-like string | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
394 )? | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
395 (\}) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
396 scope: constant.other.placeholder.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
397 captures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
398 1: punctuation.definition.placeholder.begin.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
399 2: storage.modifier.c++onversion.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
400 3: constant.other.format-spec.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
401 4: punctuation.definition.placeholder.end.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
402 - match: \{(?=[^\}"']+\{[^"']*\}) # complex (nested) form | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
403 scope: punctuation.definition.placeholder.begin.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
404 push: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
405 - meta_scope: constant.other.placeholder.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
406 - match: \} | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
407 scope: punctuation.definition.placeholder.end.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
408 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
409 - match: '[\w.\[\]]+' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
410 - match: '![ars]' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
411 scope: storage.modifier.conversion.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
412 - match: ':' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
413 push: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
414 - meta_scope: meta.format-spec.c++ constant.other.format-spec.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
415 - match: (?=\}) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
416 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
417 - include: formatting-syntax | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
418 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
419 numbers: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
420 - include: unique-numbers | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
421 - include: scope:source.c#numbers | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
422 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
423 ## C++-specific contexts | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
424 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
425 case-default: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
426 - match: '\b(default|case)\b' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
427 scope: keyword.control.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
428 push: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
429 - match: (?=[);,]) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
430 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
431 - match: ':' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
432 scope: punctuation.separator.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
433 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
434 - include: expressions | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
435 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
436 modifiers-parens: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
437 - match: '\b(alignas)\b\s*(\()' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
438 captures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
439 1: storage.modifier.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
440 2: meta.group.c++ punctuation.section.group.begin.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
441 push: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
442 - meta_content_scope: meta.group.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
443 - match: '\)' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
444 scope: meta.group.c++ punctuation.section.group.end.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
445 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
446 - include: expressions | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
447 - match: \b(__attribute__)\s*(\(\() | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
448 captures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
449 1: storage.modifier.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
450 2: meta.group.c++ punctuation.section.group.begin.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
451 push : | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
452 - meta_scope: meta.attribute.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
453 - meta_content_scope: meta.group.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
454 - include: parens | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
455 - include: strings | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
456 - match: \)\) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
457 scope: meta.group.c++ punctuation.section.group.end.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
458 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
459 - match: \b(__declspec)(\() | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
460 captures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
461 1: storage.modifier.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
462 2: meta.group.c++ punctuation.section.group.begin.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
463 push: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
464 - meta_content_scope: meta.group.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
465 - match: '\)' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
466 scope: meta.group.c++ punctuation.section.group.end.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
467 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
468 - match: '\b(align|allocate|code_seg|deprecated|property|uuid)\b\s*(\()' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
469 captures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
470 1: storage.modifier.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
471 2: meta.group.c++ punctuation.section.group.begin.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
472 push: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
473 - meta_content_scope: meta.group.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
474 - match: '\)' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
475 scope: meta.group.c++ punctuation.section.group.end.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
476 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
477 - include: numbers | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
478 - include: strings | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
479 - match: \b(get|put)\b | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
480 scope: variable.parameter.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
481 - match: ',' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
482 scope: punctuation.separator.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
483 - match: '=' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
484 scope: keyword.operator.assignment.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
485 - match: '\b(appdomain|deprecated|dllimport|dllexport|jintrinsic|naked|noalias|noinline|noreturn|nothrow|novtable|process|restrict|safebuffers|selectany|thread)\b' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
486 scope: constant.other.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
487 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
488 types-parens: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
489 - match: '\b(decltype)\b\s*(\()' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
490 captures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
491 1: storage.type.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
492 2: meta.group.c++ punctuation.section.group.begin.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
493 push: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
494 - meta_content_scope: meta.group.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
495 - match: '\)' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
496 scope: meta.group.c++ punctuation.section.group.end.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
497 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
498 - include: expressions | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
499 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
500 keywords-angle-brackets: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
501 - match: \b({{casts}})\b\s* | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
502 scope: keyword.operator.word.cast.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
503 push: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
504 - match: '>' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
505 scope: punctuation.section.generic.end.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
506 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
507 - match: '<' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
508 scope: punctuation.section.generic.begin.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
509 push: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
510 - match: '(?=>)' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
511 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
512 - include: expressions-minus-generic-type-function-call | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
513 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
514 keywords-parens: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
515 - match: '\b(alignof|typeid|static_assert|sizeof)\b\s*(\()' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
516 captures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
517 1: keyword.operator.word.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
518 2: meta.group.c++ punctuation.section.group.begin.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
519 push: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
520 - meta_content_scope: meta.group.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
521 - match: '\)' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
522 scope: meta.group.c++ punctuation.section.group.end.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
523 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
524 - include: expressions | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
525 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
526 namespace: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
527 - match: '\b(using)\s+(namespace)\s+(?={{path_lookahead}})' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
528 captures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
529 1: keyword.control.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
530 2: keyword.control.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
531 push: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
532 - include: identifiers | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
533 - match: '' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
534 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
535 - match: '\b(namespace)\s+(?=({{path_lookahead}})?(?!\s*[;,]))' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
536 scope: meta.namespace.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
537 captures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
538 1: keyword.control.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
539 push: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
540 - meta_content_scope: meta.namespace.c++ entity.name.namespace.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
541 - include: identifiers | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
542 - match: '' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
543 set: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
544 - meta_scope: meta.namespace.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
545 - include: comments | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
546 - match: '=' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
547 scope: keyword.operator.alias.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
548 - match: '(?=;)' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
549 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
550 - match: '\}' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
551 scope: meta.block.c++ punctuation.section.block.end.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
552 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
553 - match: '\{' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
554 scope: punctuation.section.block.begin.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
555 push: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
556 - meta_scope: meta.block.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
557 - match: '(?=\})' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
558 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
559 - include: preprocessor-global | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
560 - include: global | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
561 - include: expressions | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
562 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
563 template-common: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
564 # Exit the template scope if we hit some basic invalid characters. This | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
565 # helps when a user is in the middle of typing their template types and | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
566 # prevents re-highlighting the whole file until the next > is found. | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
567 - match: (?=[{};]) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
568 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
569 - include: expressions | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
570 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
571 template: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
572 - match: \btemplate\b | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
573 scope: storage.type.template.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
574 push: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
575 - meta_scope: meta.template.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
576 # Explicitly include comments here at the top, in order to NOT match the | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
577 # \S lookahead in the case of comments. | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
578 - include: comments | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
579 - match: < | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
580 scope: punctuation.section.generic.begin.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
581 set: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
582 - meta_content_scope: meta.template.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
583 - match: '>' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
584 scope: meta.template.c++ punctuation.section.generic.end.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
585 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
586 - match: \.{3} | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
587 scope: keyword.operator.variadic.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
588 - match: \b(typename|{{before_tag}})\b | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
589 scope: storage.type.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
590 - include: template # include template here for nested templates | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
591 - include: template-common | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
592 - match: (?=\S) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
593 set: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
594 - meta_content_scope: meta.template.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
595 - match: \b({{before_tag}})\b | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
596 scope: storage.type.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
597 - include: template-common | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
598 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
599 generic-type: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
600 - match: '(?=(?!template){{path_lookahead}}\s*{{generic_lookahead}}\s*\()' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
601 push: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
602 - meta_scope: meta.function-call.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
603 - match: \btemplate\b | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
604 scope: storage.type.template.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
605 - match: '(?:(::)\s*)?{{identifier}}\s*(::)\s*' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
606 captures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
607 1: punctuation.accessor.double-colon.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
608 2: punctuation.accessor.double-colon.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
609 - match: (?:(::)\s*)?({{identifier}})\s*(<) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
610 captures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
611 1: punctuation.accessor.double-colon.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
612 2: variable.function.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
613 3: punctuation.section.generic.begin.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
614 push: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
615 - match: '>' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
616 scope: punctuation.section.generic.end.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
617 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
618 - include: expressions-minus-generic-type-function-call | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
619 - match: (?:(::)\s*)?({{identifier}})\s*(\() | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
620 captures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
621 1: punctuation.accessor.double-colon.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
622 2: variable.function.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
623 3: punctuation.section.group.begin.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
624 set: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
625 - meta_scope: meta.function-call.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
626 - meta_content_scope: meta.group.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
627 - match: '\)' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
628 scope: meta.group.c++ punctuation.section.group.end.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
629 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
630 - include: expressions | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
631 - include: angle-brackets | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
632 - match: '\(' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
633 scope: meta.group.c++ punctuation.section.group.begin.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
634 set: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
635 - meta_scope: meta.function-call.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
636 - meta_content_scope: meta.group.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
637 - match: '\)' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
638 scope: meta.group.c++ punctuation.section.group.end.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
639 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
640 - include: expressions | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
641 - match: '(?=(?!template){{path_lookahead}}\s*{{generic_lookahead}})' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
642 push: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
643 - include: identifiers | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
644 - match: '<' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
645 scope: punctuation.section.generic.begin.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
646 set: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
647 - match: '>' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
648 scope: punctuation.section.generic.end.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
649 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
650 - include: expressions-minus-generic-type-function-call | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
651 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
652 angle-brackets: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
653 - match: '<(?!<)' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
654 scope: punctuation.section.generic.begin.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
655 push: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
656 - match: '>' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
657 scope: punctuation.section.generic.end.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
658 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
659 - include: expressions-minus-generic-type-function-call | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
660 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
661 block: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
662 - match: '\{' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
663 scope: punctuation.section.block.begin.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
664 push: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
665 - meta_scope: meta.block.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
666 - match: (?=^\s*#\s*(elif|else|endif)\b) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
667 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
668 - match: '\}' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
669 scope: punctuation.section.block.end.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
670 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
671 - include: statements | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
672 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
673 function-call: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
674 - match: (?={{path_lookahead}}\s*\() | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
675 push: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
676 - meta_scope: meta.function-call.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
677 - include: scope:source.c#c99 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
678 - match: '(?:(::)\s*)?{{identifier}}\s*(::)\s*' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
679 scope: variable.function.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
680 captures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
681 1: punctuation.accessor.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
682 2: punctuation.accessor.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
683 - match: '(?:(::)\s*)?{{identifier}}' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
684 scope: variable.function.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
685 captures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
686 1: punctuation.accessor.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
687 - match: '\(' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
688 scope: meta.group.c++ punctuation.section.group.begin.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
689 set: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
690 - meta_content_scope: meta.function-call.c++ meta.group.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
691 - match: '\)' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
692 scope: meta.function-call.c++ meta.group.c++ punctuation.section.group.end.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
693 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
694 - include: expressions | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
695 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
696 members-inside-function-call: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
697 - meta_content_scope: meta.method-call.c++ meta.group.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
698 - match: \) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
699 scope: meta.method-call.c++ meta.group.c++ punctuation.section.group.end.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
700 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
701 - include: expressions | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
702 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
703 members-after-accessor-junction: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
704 # After we've seen an accessor (dot or arrow), this context decides what | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
705 # kind of entity we're accessing. | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
706 - include: comments | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
707 - match: \btemplate\b | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
708 scope: meta.method-call.c++ storage.type.template.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
709 # Guaranteed to be a template member function call after we match this | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
710 set: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
711 - meta_content_scope: meta.method-call.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
712 - include: comments | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
713 - match: '{{identifier}}' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
714 scope: variable.function.member.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
715 set: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
716 - meta_content_scope: meta.method-call.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
717 - match: \( | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
718 scope: meta.group.c++ punctuation.section.group.begin.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
719 set: members-inside-function-call | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
720 - include: comments | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
721 - include: angle-brackets | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
722 - match: (?=\S) # safety pop | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
723 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
724 - match: (?=\S) # safety pop | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
725 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
726 # Operator overloading | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
727 - match: '({{operator_method_name}})\s*(\()' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
728 captures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
729 0: meta.method-call.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
730 1: variable.function.member.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
731 2: meta.group.c++ punctuation.section.group.begin.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
732 set: members-inside-function-call | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
733 # Non-templated member function call | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
734 - match: (~?{{identifier}})\s*(\() | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
735 captures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
736 0: meta.method-call.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
737 1: variable.function.member.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
738 2: meta.group.c++ punctuation.section.group.begin.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
739 set: members-inside-function-call | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
740 # Templated member function call | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
741 - match: (~?{{identifier}})\s*(?={{generic_lookahead}}) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
742 captures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
743 1: variable.function.member.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
744 set: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
745 - meta_scope: meta.method-call.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
746 - match: < | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
747 scope: punctuation.section.generic.begin.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
748 set: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
749 - meta_content_scope: meta.method-call.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
750 - match: '>' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
751 scope: punctuation.section.generic.end.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
752 set: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
753 - meta_content_scope: meta.method-call.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
754 - include: comments | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
755 - match: \( | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
756 scope: punctuation.section.group.begin.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
757 set: members-inside-function-call | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
758 - match: (?=\S) # safety pop | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
759 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
760 - include: expressions | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
761 # Explicit base-class access | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
762 - match: ({{identifier}})\s*(::) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
763 captures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
764 1: variable.other.base-class.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
765 2: punctuation.accessor.double-colon.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
766 set: members-after-accessor-junction # reset | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
767 # Just a regular member variable | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
768 - match: '{{identifier}}' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
769 scope: variable.other.readwrite.member.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
770 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
771 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
772 members-dot: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
773 - include: scope:source.c#access-illegal | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
774 # No lookahead required because members-dot goes after operators in the | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
775 # early-expressions-after-generic-type context. This means triple dots | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
776 # (i.e. "..." or "variadic") is attempted first. | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
777 - match: \. | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
778 scope: punctuation.accessor.dot.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
779 push: members-after-accessor-junction | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
780 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
781 members-arrow: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
782 # This needs to be before operators in the | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
783 # early-expressions-after-generic-type context because otherwise the "->" | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
784 # from the C language will match. | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
785 - match: -> | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
786 scope: punctuation.accessor.arrow.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
787 push: members-after-accessor-junction | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
788 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
789 typedef: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
790 - match: \btypedef\b | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
791 scope: storage.type.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
792 push: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
793 - match: ({{identifier}})?\s*(?=;) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
794 captures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
795 1: entity.name.type.typedef.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
796 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
797 - match: \b(struct)\s+({{identifier}})\b | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
798 captures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
799 1: storage.type.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
800 - include: expressions-minus-generic-type | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
801 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
802 parens: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
803 - match: \( | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
804 scope: punctuation.section.group.begin.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
805 push: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
806 - meta_scope: meta.group.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
807 - match: \) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
808 scope: punctuation.section.group.end.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
809 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
810 - include: expressions | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
811 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
812 brackets: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
813 - match: \[ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
814 scope: punctuation.section.brackets.begin.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
815 push: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
816 - meta_scope: meta.brackets.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
817 - match: \] | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
818 scope: punctuation.section.brackets.end.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
819 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
820 - include: expressions | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
821 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
822 function-trailing-return-type: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
823 - match: '{{non_angle_brackets}}' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
824 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
825 - include: angle-brackets | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
826 - include: types | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
827 - include: modifiers-parens | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
828 - include: modifiers | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
829 - include: identifiers | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
830 - match: \*|& | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
831 scope: keyword.operator.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
832 - include: function-trailing-return-type-parens | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
833 - match: '(?=\S)' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
834 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
835 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
836 function-trailing-return-type-parens: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
837 - match: \( | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
838 scope: punctuation.section.group.begin.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
839 push: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
840 - meta_scope: meta.group.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
841 - match: \) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
842 scope: punctuation.section.group.end.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
843 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
844 - include: function-trailing-return-type | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
845 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
846 ## Detection of function and data structure definitions at the global level | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
847 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
848 global-modifier: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
849 - include: comments | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
850 - include: modifiers-parens | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
851 - include: modifiers | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
852 # Constructors and destructors don't have a type | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
853 - match: '(?={{path_lookahead}}\s*::\s*{{identifier}}\s*(\(|$))' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
854 set: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
855 - meta_content_scope: meta.function.c++ entity.name.function.constructor.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
856 - include: identifiers | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
857 - match: '(?=[^\w\s])' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
858 set: function-definition-params | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
859 - match: '(?={{path_lookahead}}\s*::\s*~{{identifier}}\s*(\(|$))' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
860 set: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
861 - meta_content_scope: meta.function.c++ entity.name.function.destructor.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
862 - include: identifiers | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
863 - match: '~{{identifier}}' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
864 - match: '(?=[^\w\s])' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
865 set: function-definition-params | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
866 # If we see a path ending in :: before a newline, we don't know if it is | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
867 # a constructor or destructor, or a long return type, so we are just going | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
868 # to treat it like a regular function. Most likely it is a constructor, | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
869 # since it doesn't seem most developers would create such a long typename. | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
870 - match: '(?={{path_lookahead}}\s*::\s*$)' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
871 set: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
872 - meta_content_scope: meta.function.c++ entity.name.function.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
873 - include: identifiers | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
874 - match: '~{{identifier}}' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
875 - match: '(?=[^\w\s])' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
876 set: function-definition-params | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
877 - include: unique-strings | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
878 - match: '(?=\S)' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
879 set: global-type | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
880 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
881 global-type: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
882 - include: comments | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
883 - match: \*|& | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
884 scope: keyword.operator.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
885 - match: '(?=\b({{control_keywords}}|{{operator_keywords}}|{{casts}}|{{memory_operators}}|{{other_keywords}}|operator)\b)' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
886 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
887 - match: '(?=\s)' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
888 set: global-maybe-function | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
889 # If a class/struct/enum followed by a name that is not a macro or declspec | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
890 # then this is likely a return type of a function. This is uncommon. | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
891 - match: |- | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
892 (?x: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
893 ({{before_tag}}) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
894 \s+ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
895 (?= | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
896 (?![[:upper:][:digit:]_]+\b|__declspec|{{before_tag}}) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
897 {{path_lookahead}} | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
898 (\s+{{identifier}}\s*\(|\s*[*&]) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
899 ) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
900 ) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
901 captures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
902 1: storage.type.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
903 set: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
904 - include: identifiers | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
905 - match: '' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
906 set: global-maybe-function | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
907 # The previous match handles return types of struct/enum/etc from a func, | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
908 # there this one exits the context to allow matching an actual struct/class | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
909 - match: '(?=\b({{before_tag}})\b)' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
910 set: data-structures | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
911 - match: '(?=\b({{casts}})\b\s*<)' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
912 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
913 - match: '{{non_angle_brackets}}' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
914 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
915 - include: angle-brackets | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
916 - include: types | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
917 # Allow a macro call | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
918 - match: '({{identifier}})\s*(\()(?=[^\)]+\))' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
919 captures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
920 1: variable.function.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
921 2: meta.group.c++ punctuation.section.group.begin.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
922 push: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
923 - meta_scope: meta.function-call.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
924 - meta_content_scope: meta.group.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
925 - match: '\)' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
926 scope: meta.group.c++ punctuation.section.group.end.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
927 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
928 - include: expressions | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
929 - match: '(?={{path_lookahead}}\s*\()' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
930 set: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
931 - include: function-call | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
932 - match: '' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
933 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
934 - include: variables | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
935 - include: constants | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
936 - include: identifiers | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
937 - match: (?=\W) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
938 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
939 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
940 global-maybe-function: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
941 - include: comments | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
942 # Consume pointer info, macros and any type info that was offset by macros | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
943 - match: \*|& | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
944 scope: keyword.operator.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
945 - match: '(?=\b({{control_keywords}}|{{operator_keywords}}|{{casts}}|{{memory_operators}}|{{other_keywords}})\b)' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
946 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
947 - match: '\b({{type_qualifier}})\b' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
948 scope: storage.modifier.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
949 - match: '{{non_angle_brackets}}' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
950 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
951 - include: angle-brackets | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
952 - include: types | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
953 - include: modifiers-parens | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
954 - include: modifiers | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
955 # All uppercase identifier just before a newline is most likely a macro | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
956 - match: '[[:upper:][:digit:]_]+\s*$' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
957 # Operator overloading | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
958 - match: '(?=({{path_lookahead}}\s*(?:{{generic_lookahead}})?::\s*)?{{operator_method_name}}\s*(\(|$))' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
959 set: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
960 - meta_content_scope: meta.function.c++ entity.name.function.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
961 - include: identifiers | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
962 - match: '(?=\s*(\(|$))' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
963 set: function-definition-params | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
964 # Identifier that is not the function name - likely a macro or type | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
965 - match: '(?={{path_lookahead}}([ \t]+|[*&])(?!\s*(<|::|\(|$)))' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
966 push: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
967 - include: identifiers | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
968 - match: '' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
969 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
970 # Real function definition | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
971 - match: '(?={{path_lookahead}}({{generic_lookahead}}({{path_lookahead}})?)\s*(\(|$))' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
972 set: [function-definition-params, global-function-identifier-generic] | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
973 - match: '(?={{path_lookahead}}\s*(\(|$))' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
974 set: [function-definition-params, global-function-identifier] | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
975 - match: '(?={{path_lookahead}}\s*::\s*$)' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
976 set: [function-definition-params, global-function-identifier] | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
977 - match: '(?=\S)' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
978 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
979 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
980 global-function-identifier-generic: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
981 - include: angle-brackets | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
982 - match: '::' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
983 scope: punctuation.accessor.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
984 - match: '(?={{identifier}}<.*>\s*\()' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
985 push: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
986 - meta_content_scope: entity.name.function.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
987 - include: identifiers | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
988 - match: '(?=<)' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
989 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
990 - match: '(?={{identifier}}\s*\()' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
991 push: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
992 - meta_content_scope: entity.name.function.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
993 - include: identifiers | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
994 - match: '' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
995 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
996 - match: '(?=\()' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
997 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
998 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
999 global-function-identifier: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1000 - meta_content_scope: entity.name.function.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1001 - include: identifiers | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1002 - match: '(?=\S)' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1003 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1004 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1005 function-definition-params: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1006 - meta_content_scope: meta.function.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1007 - include: comments | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1008 - match: '(?=\()' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1009 set: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1010 - match: \( | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1011 scope: meta.function.parameters.c++ meta.group.c++ punctuation.section.group.begin.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1012 set: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1013 - meta_content_scope: meta.function.parameters.c++ meta.group.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1014 - match : \) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1015 scope: punctuation.section.group.end.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1016 set: function-definition-continue | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1017 - match: '\bvoid\b' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1018 scope: storage.type.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1019 - match: '{{identifier}}(?=\s*(\[|,|\)|=))' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1020 scope: variable.parameter.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1021 - match: '=' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1022 scope: keyword.operator.assignment.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1023 push: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1024 - match: '(?=,|\))' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1025 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1026 - include: expressions-minus-generic-type | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1027 - include: scope:source.c#preprocessor-line-continuation | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1028 - include: expressions-minus-generic-type | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1029 - include: scope:source.c#preprocessor-line-continuation | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1030 - match: (?=\S) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1031 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1032 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1033 function-definition-continue: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1034 - meta_content_scope: meta.function.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1035 - include: comments | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1036 - match: '(?=;)' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1037 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1038 - match: '->' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1039 scope: punctuation.separator.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1040 set: function-definition-trailing-return | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1041 - include: function-specifiers | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1042 - match: '=' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1043 scope: keyword.operator.assignment.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1044 - match: '&' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1045 scope: keyword.operator.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1046 - match: \b0\b | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1047 scope: constant.numeric.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1048 - match: \b(default|delete)\b | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1049 scope: storage.modifier.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1050 - match: '(?=\{)' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1051 set: function-definition-body | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1052 - match: '(?=\S)' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1053 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1054 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1055 function-definition-trailing-return: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1056 - include: comments | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1057 - match: '(?=;)' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1058 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1059 - match: '(?=\{)' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1060 set: function-definition-body | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1061 - include: function-specifiers | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1062 - include: function-trailing-return-type | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1063 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1064 function-definition-body: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1065 - meta_content_scope: meta.function.c++ meta.block.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1066 - match: '\{' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1067 scope: punctuation.section.block.begin.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1068 set: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1069 - meta_content_scope: meta.function.c++ meta.block.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1070 - match: '\}' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1071 scope: meta.function.c++ meta.block.c++ punctuation.section.block.end.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1072 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1073 - match: (?=^\s*#\s*(elif|else|endif)\b) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1074 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1075 - match: '(?=({{before_tag}})([^(;]+$|.*\{))' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1076 push: data-structures | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1077 - include: statements | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1078 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1079 ## Data structures including classes, structs, unions and enums | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1080 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1081 data-structures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1082 - match: '\bclass\b' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1083 scope: storage.type.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1084 set: data-structures-class-definition | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1085 # Detect variable type definitions using struct/enum/union followed by a tag | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1086 - match: '\b({{before_tag}})(?=\s+{{path_lookahead}}\s+{{path_lookahead}}\s*[=;\[])' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1087 scope: storage.type.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1088 - match: '\bstruct\b' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1089 scope: storage.type.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1090 set: data-structures-struct-definition | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1091 - match: '\benum(\s+(class|struct))?\b' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1092 scope: storage.type.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1093 set: data-structures-enum-definition | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1094 - match: '\bunion\b' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1095 scope: storage.type.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1096 set: data-structures-union-definition | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1097 - match: '(?=\S)' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1098 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1099 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1100 preprocessor-workaround-eat-macro-before-identifier: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1101 # Handle macros so they aren't matched as the class name | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1102 - match: ({{macro_identifier}})(?=\s+~?{{identifier}}) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1103 captures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1104 1: meta.assumed-macro.c | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1105 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1106 data-structures-class-definition: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1107 - meta_scope: meta.class.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1108 - include: data-structures-definition-common-begin | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1109 - match: '{{identifier}}(?={{data_structures_forward_decl_lookahead}})' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1110 scope: entity.name.class.forward-decl.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1111 set: data-structures-class-definition-after-identifier | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1112 - match: '{{identifier}}' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1113 scope: entity.name.class.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1114 set: data-structures-class-definition-after-identifier | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1115 - match: '(?=[:{])' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1116 set: data-structures-class-definition-after-identifier | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1117 - match: '(?=;)' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1118 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1119 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1120 data-structures-class-definition-after-identifier: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1121 - meta_content_scope: meta.class.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1122 - include: data-structures-definition-common-begin | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1123 # No matching of identifiers since they should all be macros at this point | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1124 - include: data-structures-definition-common-end | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1125 - match: '\{' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1126 scope: meta.block.c++ punctuation.section.block.begin.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1127 set: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1128 - meta_content_scope: meta.class.c++ meta.block.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1129 - match: '\}' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1130 scope: meta.class.c++ meta.block.c++ punctuation.section.block.end.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1131 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1132 - include: data-structures-body | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1133 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1134 data-structures-struct-definition: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1135 - meta_scope: meta.struct.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1136 - include: data-structures-definition-common-begin | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1137 - match: '{{identifier}}(?={{data_structures_forward_decl_lookahead}})' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1138 scope: entity.name.struct.forward-decl.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1139 set: data-structures-struct-definition-after-identifier | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1140 - match: '{{identifier}}' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1141 scope: entity.name.struct.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1142 set: data-structures-struct-definition-after-identifier | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1143 - match: '(?=[:{])' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1144 set: data-structures-struct-definition-after-identifier | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1145 - match: '(?=;)' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1146 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1147 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1148 data-structures-struct-definition-after-identifier: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1149 - meta_content_scope: meta.struct.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1150 - include: data-structures-definition-common-begin | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1151 # No matching of identifiers since they should all be macros at this point | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1152 - include: data-structures-definition-common-end | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1153 - match: '\{' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1154 scope: meta.block.c++ punctuation.section.block.begin.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1155 set: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1156 - meta_content_scope: meta.struct.c++ meta.block.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1157 - match: '\}' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1158 scope: meta.struct.c++ meta.block.c++ punctuation.section.block.end.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1159 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1160 - include: data-structures-body | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1161 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1162 data-structures-enum-definition: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1163 - meta_scope: meta.enum.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1164 - include: data-structures-definition-common-begin | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1165 - match: '{{identifier}}(?={{data_structures_forward_decl_lookahead}})' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1166 scope: entity.name.enum.forward-decl.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1167 set: data-structures-enum-definition-after-identifier | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1168 - match: '{{identifier}}' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1169 scope: entity.name.enum.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1170 set: data-structures-enum-definition-after-identifier | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1171 - match: '(?=[:{])' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1172 set: data-structures-enum-definition-after-identifier | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1173 - match: '(?=;)' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1174 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1175 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1176 data-structures-enum-definition-after-identifier: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1177 - meta_content_scope: meta.enum.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1178 - include: data-structures-definition-common-begin | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1179 # No matching of identifiers since they should all be macros at this point | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1180 - include: data-structures-definition-common-end | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1181 - match: '\{' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1182 scope: meta.block.c++ punctuation.section.block.begin.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1183 set: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1184 - meta_content_scope: meta.enum.c++ meta.block.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1185 # Enums don't support methods so we have a simplified body | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1186 - match: '\}' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1187 scope: meta.enum.c++ meta.block.c++ punctuation.section.block.end.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1188 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1189 - include: statements | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1190 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1191 data-structures-union-definition: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1192 - meta_scope: meta.union.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1193 - include: data-structures-definition-common-begin | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1194 - match: '{{identifier}}(?={{data_structures_forward_decl_lookahead}})' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1195 scope: entity.name.union.forward-decl.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1196 set: data-structures-union-definition-after-identifier | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1197 - match: '{{identifier}}' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1198 scope: entity.name.union.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1199 set: data-structures-union-definition-after-identifier | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1200 - match: '(?=[{])' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1201 set: data-structures-union-definition-after-identifier | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1202 - match: '(?=;)' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1203 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1204 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1205 data-structures-union-definition-after-identifier: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1206 - meta_content_scope: meta.union.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1207 - include: data-structures-definition-common-begin | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1208 # No matching of identifiers since they should all be macros at this point | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1209 # Unions don't support base classes | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1210 - include: angle-brackets | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1211 - match: '\{' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1212 scope: meta.block.c++ punctuation.section.block.begin.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1213 set: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1214 - meta_content_scope: meta.union.c++ meta.block.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1215 - match: '\}' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1216 scope: meta.union.c++ meta.block.c++ punctuation.section.block.end.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1217 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1218 - include: data-structures-body | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1219 - match: '(?=;)' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1220 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1221 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1222 data-structures-definition-common-begin: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1223 - include: comments | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1224 - match: '(?=\b(?:{{before_tag}}|{{control_keywords}})\b)' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1225 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1226 - include: preprocessor-other | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1227 - include: modifiers-parens | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1228 - include: modifiers | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1229 - include: preprocessor-workaround-eat-macro-before-identifier | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1230 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1231 data-structures-definition-common-end: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1232 - include: angle-brackets | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1233 - match: \bfinal\b | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1234 scope: storage.modifier.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1235 - match: ':' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1236 scope: punctuation.separator.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1237 push: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1238 - include: comments | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1239 - include: preprocessor-other | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1240 - include: modifiers-parens | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1241 - include: modifiers | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1242 - match: '\b(virtual|{{visibility_modifiers}})\b' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1243 scope: storage.modifier.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1244 - match: (?={{path_lookahead}}) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1245 push: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1246 - meta_scope: entity.other.inherited-class.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1247 - include: identifiers | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1248 - match: '' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1249 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1250 - include: angle-brackets | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1251 - match: ',' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1252 scope: punctuation.separator.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1253 - match: (?=\{|;) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1254 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1255 - match: '(?=;)' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1256 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1257 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1258 data-structures-body: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1259 - include: preprocessor-data-structures | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1260 - match: '(?=\btemplate\b)' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1261 push: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1262 - include: template | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1263 - match: (?=\S) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1264 set: data-structures-modifier | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1265 - include: typedef | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1266 - match: \b({{visibility_modifiers}})\s*(:)(?!:) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1267 captures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1268 1: storage.modifier.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1269 2: punctuation.section.class.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1270 - match: '^\s*(?=(?:~?\w+|::))' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1271 push: data-structures-modifier | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1272 - include: expressions-minus-generic-type | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1273 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1274 data-structures-modifier: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1275 - match: '\bfriend\b' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1276 scope: storage.modifier.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1277 push: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1278 - match: (?=;) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1279 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1280 - match: '\{' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1281 scope: punctuation.section.block.begin.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1282 set: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1283 - meta_scope: meta.block.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1284 - match: '\}' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1285 scope: punctuation.section.block.end.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1286 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1287 - include: statements | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1288 - match: '\b({{before_tag}})\b' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1289 scope: storage.type.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1290 - include: expressions-minus-function-call | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1291 - include: comments | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1292 - include: modifiers-parens | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1293 - include: modifiers | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1294 - match: '\bstatic_assert(?=\s*\()' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1295 scope: meta.static-assert.c++ keyword.operator.word.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1296 push: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1297 - match: '\(' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1298 scope: meta.group.c++ punctuation.section.group.begin.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1299 set: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1300 - meta_content_scope: meta.function-call.c++ meta.group.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1301 - match: '\)' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1302 scope: meta.function-call.c++ meta.group.c++ punctuation.section.group.end.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1303 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1304 - include: expressions | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1305 # Destructor | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1306 - match: '(?:{{identifier}}\s*(::)\s*)?~{{identifier}}(?=\s*(\(|$))' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1307 scope: meta.method.destructor.c++ entity.name.function.destructor.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1308 captures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1309 1: punctuation.accessor.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1310 set: method-definition-params | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1311 # It's a macro, not a constructor if there is no type in the first param | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1312 - match: '({{identifier}})\s*(\()(?=\s*(?!void){{identifier}}\s*[),])' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1313 captures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1314 1: variable.function.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1315 2: meta.group.c++ punctuation.section.group.begin.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1316 push: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1317 - meta_scope: meta.function-call.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1318 - meta_content_scope: meta.group.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1319 - match: '\)' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1320 scope: meta.group.c++ punctuation.section.group.end.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1321 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1322 - include: expressions | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1323 # Constructor | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1324 - include: preprocessor-workaround-eat-macro-before-identifier | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1325 - match: '((?!{{before_tag}}|template){{identifier}})(?=\s*\()' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1326 scope: meta.method.constructor.c++ entity.name.function.constructor.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1327 set: method-definition-params | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1328 # Long form constructor | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1329 - match: '({{identifier}}\s*(::)\s*{{identifier}})(?=\s*\()' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1330 captures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1331 1: meta.method.constructor.c++ entity.name.function.constructor.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1332 2: punctuation.accessor.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1333 push: method-definition-params | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1334 - match: '(?=\S)' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1335 set: data-structures-type | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1336 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1337 data-structures-type: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1338 - include: comments | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1339 - match: \*|& | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1340 scope: keyword.operator.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1341 # Cast methods | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1342 - match: '(operator)\s+({{identifier}})(?=\s*(\(|$))' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1343 captures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1344 1: keyword.control.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1345 2: meta.method.c++ entity.name.function.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1346 set: method-definition-params | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1347 - match: '(?=\b({{control_keywords}}|{{operator_keywords}}|{{casts}}|{{memory_operators}}|{{other_keywords}}|operator)\b)' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1348 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1349 - match: '(?=\s)' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1350 set: data-structures-maybe-method | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1351 # If a class/struct/enum followed by a name that is not a macro or declspec | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1352 # then this is likely a return type of a function. This is uncommon. | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1353 - match: |- | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1354 (?x: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1355 ({{before_tag}}) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1356 \s+ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1357 (?= | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1358 (?![[:upper:][:digit:]_]+\b|__declspec|{{before_tag}}) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1359 {{path_lookahead}} | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1360 (\s+{{identifier}}\s*\(|\s*[*&]) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1361 ) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1362 ) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1363 captures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1364 1: storage.type.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1365 set: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1366 - include: identifiers | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1367 - match: '' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1368 set: data-structures-maybe-method | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1369 # The previous match handles return types of struct/enum/etc from a func, | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1370 # there this one exits the context to allow matching an actual struct/class | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1371 - match: '(?=\b({{before_tag}})\b)' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1372 set: data-structures | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1373 - match: '(?=\b({{casts}})\b\s*<)' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1374 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1375 - match: '{{non_angle_brackets}}' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1376 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1377 - include: angle-brackets | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1378 - include: types | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1379 - include: variables | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1380 - include: constants | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1381 - include: identifiers | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1382 - match: (?=[&*]) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1383 set: data-structures-maybe-method | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1384 - match: (?=\W) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1385 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1386 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1387 data-structures-maybe-method: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1388 - include: comments | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1389 # Consume pointer info, macros and any type info that was offset by macros | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1390 - match: \*|& | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1391 scope: keyword.operator.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1392 - match: '(?=\b({{control_keywords}}|{{operator_keywords}}|{{casts}}|{{memory_operators}}|{{other_keywords}})\b)' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1393 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1394 - match: '\b({{type_qualifier}})\b' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1395 scope: storage.modifier.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1396 - match: '{{non_angle_brackets}}' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1397 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1398 - include: angle-brackets | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1399 - include: types | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1400 - include: modifiers-parens | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1401 - include: modifiers | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1402 # Operator overloading | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1403 - match: '{{operator_method_name}}(?=\s*(\(|$))' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1404 scope: meta.method.c++ entity.name.function.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1405 set: method-definition-params | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1406 # Identifier that is not the function name - likely a macro or type | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1407 - match: '(?={{path_lookahead}}([ \t]+|[*&])(?!\s*(<|::|\()))' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1408 push: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1409 - include: identifiers | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1410 - match: '' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1411 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1412 # Real function definition | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1413 - match: '(?={{path_lookahead}}({{generic_lookahead}})\s*(\())' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1414 set: [method-definition-params, data-structures-function-identifier-generic] | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1415 - match: '(?={{path_lookahead}}\s*(\())' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1416 set: [method-definition-params, data-structures-function-identifier] | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1417 - match: '(?={{path_lookahead}}\s*::\s*$)' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1418 set: [method-definition-params, data-structures-function-identifier] | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1419 - match: '(?=\S)' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1420 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1421 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1422 data-structures-function-identifier-generic: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1423 - include: angle-brackets | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1424 - match: '(?={{identifier}})' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1425 push: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1426 - meta_content_scope: entity.name.function.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1427 - include: identifiers | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1428 - match: '(?=<)' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1429 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1430 - match: '(?=\()' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1431 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1432 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1433 data-structures-function-identifier: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1434 - meta_content_scope: entity.name.function.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1435 - include: identifiers | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1436 - match: '(?=\S)' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1437 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1438 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1439 method-definition-params: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1440 - meta_content_scope: meta.method.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1441 - include: comments | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1442 - match: '(?=\()' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1443 set: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1444 - match: \( | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1445 scope: meta.method.parameters.c++ meta.group.c++ punctuation.section.group.begin.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1446 set: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1447 - meta_content_scope: meta.method.parameters.c++ meta.group.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1448 - match : \) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1449 scope: punctuation.section.group.end.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1450 set: method-definition-continue | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1451 - match: '\bvoid\b' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1452 scope: storage.type.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1453 - match: '{{identifier}}(?=\s*(\[|,|\)|=))' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1454 scope: variable.parameter.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1455 - match: '=' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1456 scope: keyword.operator.assignment.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1457 push: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1458 - match: '(?=,|\))' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1459 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1460 - include: expressions-minus-generic-type | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1461 - include: expressions-minus-generic-type | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1462 - match: '(?=\S)' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1463 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1464 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1465 method-definition-continue: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1466 - meta_content_scope: meta.method.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1467 - include: comments | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1468 - match: '(?=;)' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1469 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1470 - match: '->' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1471 scope: punctuation.separator.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1472 set: method-definition-trailing-return | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1473 - include: function-specifiers | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1474 - match: '=' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1475 scope: keyword.operator.assignment.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1476 - match: '&' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1477 scope: keyword.operator.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1478 - match: \b0\b | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1479 scope: constant.numeric.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1480 - match: \b(default|delete)\b | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1481 scope: storage.modifier.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1482 - match: '(?=:)' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1483 set: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1484 - match: ':' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1485 scope: punctuation.separator.initializer-list.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1486 set: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1487 - meta_scope: meta.method.constructor.initializer-list.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1488 - match: '{{identifier}}' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1489 scope: variable.other.readwrite.member.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1490 push: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1491 - match: \( | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1492 scope: meta.group.c++ punctuation.section.group.begin.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1493 set: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1494 - meta_content_scope: meta.group.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1495 - match: \) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1496 scope: meta.group.c++ punctuation.section.group.end.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1497 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1498 - include: expressions | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1499 - match: \{ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1500 scope: meta.group.c++ punctuation.section.group.begin.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1501 set: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1502 - meta_content_scope: meta.group.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1503 - match: \} | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1504 scope: meta.group.c++ punctuation.section.group.end.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1505 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1506 - include: expressions | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1507 - include: comments | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1508 - match: (?=\{|;) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1509 set: method-definition-continue | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1510 - include: expressions | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1511 - match: '(?=\{)' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1512 set: method-definition-body | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1513 - match: '(?=\S)' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1514 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1515 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1516 method-definition-trailing-return: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1517 - include: comments | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1518 - match: '(?=;)' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1519 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1520 - match: '(?=\{)' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1521 set: method-definition-body | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1522 - include: function-specifiers | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1523 - include: function-trailing-return-type | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1524 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1525 method-definition-body: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1526 - meta_content_scope: meta.method.c++ meta.block.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1527 - match: '\{' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1528 scope: punctuation.section.block.begin.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1529 set: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1530 - meta_content_scope: meta.method.c++ meta.block.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1531 - match: '\}' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1532 scope: meta.method.c++ meta.block.c++ punctuation.section.block.end.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1533 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1534 - match: (?=^\s*#\s*(elif|else|endif)\b) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1535 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1536 - match: '(?=({{before_tag}})([^(;]+$|.*\{))' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1537 push: data-structures | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1538 - include: statements | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1539 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1540 ## Preprocessor for data-structures | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1541 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1542 preprocessor-data-structures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1543 - include: preprocessor-rule-enabled-data-structures | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1544 - include: preprocessor-rule-disabled-data-structures | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1545 - include: preprocessor-practical-workarounds | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1546 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1547 preprocessor-rule-disabled-data-structures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1548 - match: ^\s*((#if)\s+(0))\b | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1549 captures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1550 1: meta.preprocessor.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1551 2: keyword.control.import.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1552 3: constant.numeric.preprocessor.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1553 push: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1554 - match: ^\s*(#\s*endif)\b | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1555 captures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1556 1: meta.preprocessor.c++ keyword.control.import.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1557 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1558 - match: ^\s*(#\s*else)\b | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1559 captures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1560 1: meta.preprocessor.c++ keyword.control.import.else.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1561 push: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1562 - match: (?=^\s*#\s*endif\b) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1563 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1564 - include: negated-block | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1565 - include: data-structures-body | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1566 - match: "" | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1567 push: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1568 - meta_scope: comment.block.preprocessor.if-branch.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1569 - match: (?=^\s*#\s*(else|endif)\b) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1570 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1571 - include: scope:source.c#preprocessor-disabled | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1572 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1573 preprocessor-rule-enabled-data-structures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1574 - match: ^\s*((#if)\s+(0*1))\b | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1575 captures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1576 1: meta.preprocessor.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1577 2: keyword.control.import.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1578 3: constant.numeric.preprocessor.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1579 push: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1580 - match: ^\s*(#\s*endif)\b | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1581 captures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1582 1: meta.preprocessor.c++ keyword.control.import.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1583 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1584 - match: ^\s*(#\s*else)\b | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1585 captures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1586 1: meta.preprocessor.c++ keyword.control.import.else.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1587 push: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1588 - meta_content_scope: comment.block.preprocessor.else-branch.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1589 - match: (?=^\s*#\s*endif\b) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1590 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1591 - include: scope:source.c#preprocessor-disabled | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1592 - match: "" | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1593 push: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1594 - match: (?=^\s*#\s*(else|endif)\b) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1595 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1596 - include: negated-block | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1597 - include: data-structures-body | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1598 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1599 ## Preprocessor for global | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1600 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1601 preprocessor-global: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1602 - include: preprocessor-rule-enabled-global | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1603 - include: preprocessor-rule-disabled-global | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1604 - include: preprocessor-rule-other-global | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1605 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1606 preprocessor-statements: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1607 - include: preprocessor-rule-enabled-statements | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1608 - include: preprocessor-rule-disabled-statements | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1609 - include: preprocessor-rule-other-statements | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1610 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1611 preprocessor-expressions: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1612 - include: scope:source.c#incomplete-inc | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1613 - include: preprocessor-macro-define | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1614 - include: scope:source.c#pragma-mark | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1615 - include: preprocessor-other | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1616 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1617 preprocessor-rule-disabled-global: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1618 - match: ^\s*((#if)\s+(0))\b | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1619 captures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1620 1: meta.preprocessor.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1621 2: keyword.control.import.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1622 3: constant.numeric.preprocessor.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1623 push: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1624 - match: ^\s*(#\s*endif)\b | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1625 captures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1626 1: meta.preprocessor.c++ keyword.control.import.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1627 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1628 - match: ^\s*(#\s*else)\b | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1629 captures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1630 1: meta.preprocessor.c++ keyword.control.import.else.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1631 push: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1632 - match: (?=^\s*#\s*endif\b) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1633 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1634 - include: preprocessor-global | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1635 - include: negated-block | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1636 - include: global | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1637 - match: "" | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1638 push: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1639 - meta_scope: comment.block.preprocessor.if-branch.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1640 - match: (?=^\s*#\s*(else|endif)\b) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1641 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1642 - include: scope:source.c#preprocessor-disabled | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1643 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1644 preprocessor-rule-enabled-global: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1645 - match: ^\s*((#if)\s+(0*1))\b | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1646 captures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1647 1: meta.preprocessor.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1648 2: keyword.control.import.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1649 3: constant.numeric.preprocessor.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1650 push: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1651 - match: ^\s*(#\s*endif)\b | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1652 captures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1653 1: meta.preprocessor.c++ keyword.control.import.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1654 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1655 - match: ^\s*(#\s*else)\b | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1656 captures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1657 1: meta.preprocessor.c++ keyword.control.import.else.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1658 push: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1659 - meta_content_scope: comment.block.preprocessor.else-branch.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1660 - match: (?=^\s*#\s*endif\b) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1661 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1662 - include: scope:source.c#preprocessor-disabled | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1663 - match: "" | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1664 push: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1665 - match: (?=^\s*#\s*(else|endif)\b) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1666 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1667 - include: preprocessor-global | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1668 - include: negated-block | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1669 - include: global | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1670 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1671 preprocessor-rule-other-global: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1672 - match: ^\s*(#\s*(?:if|ifdef|ifndef))\b | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1673 captures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1674 1: keyword.control.import.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1675 push: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1676 - meta_scope: meta.preprocessor.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1677 - include: scope:source.c#preprocessor-line-continuation | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1678 - include: scope:source.c#preprocessor-comments | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1679 - match: \bdefined\b | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1680 scope: keyword.control.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1681 # Enter a new scope where all elif/else branches have their | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1682 # contexts popped by a subsequent elif/else/endif. This ensures that | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1683 # preprocessor branches don't push multiple meta.block scopes on | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1684 # the stack, thus messing up the "global" context's detection of | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1685 # functions. | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1686 - match: $\n | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1687 set: preprocessor-if-branch-global | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1688 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1689 # These gymnastics here ensure that we are properly handling scope even | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1690 # when the preprocessor is used to create different scope beginnings, such | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1691 # as a different if/while condition | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1692 preprocessor-if-branch-global: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1693 - match: ^\s*(#\s*endif)\b | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1694 captures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1695 1: meta.preprocessor.c++ keyword.control.import.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1696 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1697 - match: (?=^\s*#\s*(elif|else)\b) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1698 push: preprocessor-elif-else-branch-global | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1699 - match: \{ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1700 scope: punctuation.section.block.begin.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1701 set: preprocessor-block-if-branch-global | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1702 - include: preprocessor-global | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1703 - include: negated-block | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1704 - include: global | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1705 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1706 preprocessor-block-if-branch-global: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1707 - meta_scope: meta.block.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1708 - match: ^\s*(#\s*endif)\b | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1709 captures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1710 1: meta.preprocessor.c++ keyword.control.import.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1711 set: preprocessor-block-finish-global | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1712 - match: (?=^\s*#\s*(elif|else)\b) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1713 push: preprocessor-elif-else-branch-global | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1714 - match: \} | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1715 scope: punctuation.section.block.end.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1716 set: preprocessor-if-branch-global | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1717 - include: statements | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1718 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1719 preprocessor-block-finish-global: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1720 - meta_scope: meta.block.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1721 - match: ^\s*(#\s*(?:if|ifdef|ifndef))\b | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1722 captures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1723 1: meta.preprocessor.c++ keyword.control.import.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1724 set: preprocessor-block-finish-if-branch-global | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1725 - match: \} | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1726 scope: punctuation.section.block.end.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1727 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1728 - include: statements | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1729 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1730 preprocessor-block-finish-if-branch-global: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1731 - match: ^\s*(#\s*endif)\b | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1732 captures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1733 1: keyword.control.import.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1734 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1735 - match: \} | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1736 scope: punctuation.section.block.end.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1737 set: preprocessor-if-branch-global | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1738 - include: statements | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1739 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1740 preprocessor-elif-else-branch-global: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1741 - match: (?=^\s*#\s*(endif)\b) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1742 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1743 - include: preprocessor-global | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1744 - include: negated-block | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1745 - include: global | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1746 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1747 ## Preprocessor for statements | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1748 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1749 preprocessor-rule-disabled-statements: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1750 - match: ^\s*((#if)\s+(0))\b | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1751 captures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1752 1: meta.preprocessor.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1753 2: keyword.control.import.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1754 3: constant.numeric.preprocessor.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1755 push: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1756 - match: ^\s*(#\s*endif)\b | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1757 captures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1758 1: meta.preprocessor.c++ keyword.control.import.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1759 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1760 - match: ^\s*(#\s*else)\b | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1761 captures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1762 1: meta.preprocessor.c++ keyword.control.import.else.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1763 push: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1764 - match: (?=^\s*#\s*endif\b) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1765 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1766 - include: negated-block | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1767 - include: statements | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1768 - match: "" | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1769 push: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1770 - meta_scope: comment.block.preprocessor.if-branch.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1771 - match: (?=^\s*#\s*(else|endif)\b) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1772 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1773 - include: scope:source.c#preprocessor-disabled | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1774 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1775 preprocessor-rule-enabled-statements: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1776 - match: ^\s*((#if)\s+(0*1))\b | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1777 captures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1778 1: meta.preprocessor.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1779 2: keyword.control.import.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1780 3: constant.numeric.preprocessor.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1781 push: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1782 - match: ^\s*(#\s*endif)\b | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1783 captures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1784 1: meta.preprocessor.c++ keyword.control.import.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1785 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1786 - match: ^\s*(#\s*else)\b | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1787 captures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1788 1: meta.preprocessor.c++ keyword.control.import.else.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1789 push: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1790 - meta_content_scope: comment.block.preprocessor.else-branch.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1791 - match: (?=^\s*#\s*endif\b) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1792 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1793 - include: scope:source.c#preprocessor-disabled | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1794 - match: "" | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1795 push: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1796 - match: (?=^\s*#\s*(else|endif)\b) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1797 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1798 - include: negated-block | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1799 - include: statements | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1800 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1801 preprocessor-rule-other-statements: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1802 - match: ^\s*(#\s*(?:if|ifdef|ifndef))\b | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1803 captures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1804 1: keyword.control.import.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1805 push: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1806 - meta_scope: meta.preprocessor.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1807 - include: scope:source.c#preprocessor-line-continuation | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1808 - include: scope:source.c#preprocessor-comments | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1809 - match: \bdefined\b | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1810 scope: keyword.control.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1811 # Enter a new scope where all elif/else branches have their | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1812 # contexts popped by a subsequent elif/else/endif. This ensures that | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1813 # preprocessor branches don't push multiple meta.block scopes on | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1814 # the stack, thus messing up the "global" context's detection of | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1815 # functions. | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1816 - match: $\n | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1817 set: preprocessor-if-branch-statements | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1818 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1819 # These gymnastics here ensure that we are properly handling scope even | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1820 # when the preprocessor is used to create different scope beginnings, such | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1821 # as a different if/while condition | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1822 preprocessor-if-branch-statements: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1823 - match: ^\s*(#\s*endif)\b | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1824 captures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1825 1: meta.preprocessor.c++ keyword.control.import.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1826 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1827 - match: (?=^\s*#\s*(elif|else)\b) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1828 push: preprocessor-elif-else-branch-statements | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1829 - match: \{ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1830 scope: punctuation.section.block.begin.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1831 set: preprocessor-block-if-branch-statements | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1832 - match: (?=(?!{{non_func_keywords}}){{path_lookahead}}\s*\() | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1833 set: preprocessor-if-branch-function-call | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1834 - include: negated-block | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1835 - include: statements | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1836 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1837 preprocessor-if-branch-function-call: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1838 - meta_content_scope: meta.function-call.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1839 - include: scope:source.c#c99 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1840 - match: '(?:(::)\s*)?{{identifier}}\s*(::)\s*' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1841 scope: variable.function.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1842 captures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1843 1: punctuation.accessor.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1844 2: punctuation.accessor.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1845 - match: '(?:(::)\s*)?{{identifier}}' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1846 scope: variable.function.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1847 captures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1848 1: punctuation.accessor.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1849 - match: '\(' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1850 scope: meta.group.c++ punctuation.section.group.begin.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1851 set: preprocessor-if-branch-function-call-arguments | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1852 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1853 preprocessor-if-branch-function-call-arguments: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1854 - meta_content_scope: meta.function-call.c++ meta.group.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1855 - match : \) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1856 scope: meta.function-call.c++ meta.group.c++ punctuation.section.group.end.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1857 set: preprocessor-if-branch-statements | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1858 - match: ^\s*(#\s*(?:elif|else))\b | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1859 captures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1860 1: meta.preprocessor.c++ keyword.control.import.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1861 set: preprocessor-if-branch-statements | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1862 - match: ^\s*(#\s*endif)\b | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1863 captures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1864 1: meta.preprocessor.c++ keyword.control.import.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1865 set: preprocessor-if-branch-function-call-arguments-finish | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1866 - include: expressions | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1867 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1868 preprocessor-if-branch-function-call-arguments-finish: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1869 - meta_content_scope: meta.function-call.c++ meta.group.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1870 - match: \) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1871 scope: meta.function-call.c++ meta.group.c++ punctuation.section.group.end.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1872 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1873 - include: expressions | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1874 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1875 preprocessor-block-if-branch-statements: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1876 - meta_scope: meta.block.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1877 - match: ^\s*(#\s*endif)\b | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1878 captures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1879 1: meta.preprocessor.c++ keyword.control.import.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1880 set: preprocessor-block-finish-statements | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1881 - match: (?=^\s*#\s*(elif|else)\b) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1882 push: preprocessor-elif-else-branch-statements | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1883 - match: \} | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1884 scope: punctuation.section.block.end.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1885 set: preprocessor-if-branch-statements | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1886 - include: statements | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1887 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1888 preprocessor-block-finish-statements: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1889 - meta_scope: meta.block.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1890 - match: ^\s*(#\s*(?:if|ifdef|ifndef))\b | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1891 captures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1892 1: meta.preprocessor.c++ keyword.control.import.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1893 set: preprocessor-block-finish-if-branch-statements | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1894 - match: \} | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1895 scope: punctuation.section.block.end.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1896 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1897 - include: statements | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1898 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1899 preprocessor-block-finish-if-branch-statements: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1900 - match: ^\s*(#\s*endif)\b | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1901 captures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1902 1: keyword.control.import.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1903 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1904 - match: \} | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1905 scope: meta.block.c++ punctuation.section.block.end.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1906 set: preprocessor-if-branch-statements | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1907 - include: statements | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1908 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1909 preprocessor-elif-else-branch-statements: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1910 - match: (?=^\s*#\s*endif\b) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1911 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1912 - include: negated-block | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1913 - include: statements | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1914 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1915 ## Preprocessor other | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1916 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1917 negated-block: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1918 - match: '\}' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1919 scope: punctuation.section.block.end.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1920 push: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1921 - match: '\{' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1922 scope: punctuation.section.block.begin.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1923 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1924 - match: (?=^\s*#\s*(elif|else|endif)\b) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1925 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1926 - include: statements | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1927 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1928 preprocessor-macro-define: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1929 - match: ^\s*(\#\s*define)\b | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1930 captures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1931 1: meta.preprocessor.macro.c++ keyword.control.import.define.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1932 push: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1933 - meta_content_scope: meta.preprocessor.macro.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1934 - include: scope:source.c#preprocessor-line-continuation | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1935 - include: scope:source.c#preprocessor-line-ending | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1936 - include: scope:source.c#preprocessor-comments | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1937 - match: '({{identifier}})(?=\()' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1938 scope: entity.name.function.preprocessor.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1939 set: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1940 - match: '\(' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1941 scope: punctuation.section.group.begin.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1942 set: preprocessor-macro-params | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1943 - match: '{{identifier}}' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1944 scope: entity.name.constant.preprocessor.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1945 set: preprocessor-macro-definition | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1946 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1947 preprocessor-macro-params: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1948 - meta_scope: meta.preprocessor.macro.parameters.c++ meta.group.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1949 - match: '{{identifier}}' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1950 scope: variable.parameter.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1951 - match: \) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1952 scope: punctuation.section.group.end.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1953 set: preprocessor-macro-definition | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1954 - match: ',' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1955 scope: punctuation.separator.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1956 push: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1957 - match: '{{identifier}}' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1958 scope: variable.parameter.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1959 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1960 - include: scope:source.c#preprocessor-line-continuation | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1961 - include: scope:source.c#preprocessor-comments | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1962 - match: '\.\.\.' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1963 scope: keyword.operator.variadic.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1964 - match: '(?=\))' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1965 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1966 - match: (/\*).*(\*/) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1967 scope: comment.block.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1968 captures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1969 1: punctuation.definition.comment.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1970 2: punctuation.definition.comment.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1971 - match: '\S+' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1972 scope: invalid.illegal.unexpected-character.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1973 - include: scope:source.c#preprocessor-line-continuation | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1974 - include: scope:source.c#preprocessor-comments | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1975 - match: '\.\.\.' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1976 scope: keyword.operator.variadic.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1977 - match: (/\*).*(\*/) | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1978 scope: comment.block.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1979 captures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1980 1: punctuation.definition.comment.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1981 2: punctuation.definition.comment.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1982 - match: $\n | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1983 scope: invalid.illegal.unexpected-end-of-line.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1984 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1985 preprocessor-macro-definition: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1986 - meta_content_scope: meta.preprocessor.macro.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1987 - include: scope:source.c#preprocessor-line-continuation | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1988 - include: scope:source.c#preprocessor-line-ending | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1989 - include: scope:source.c#preprocessor-comments | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1990 # Don't define blocks in define statements | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1991 - match: '\{' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1992 scope: punctuation.section.block.begin.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1993 - match: '\}' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1994 scope: punctuation.section.block.end.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1995 - include: expressions | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1996 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1997 preprocessor-practical-workarounds: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1998 - include: preprocessor-convention-ignore-uppercase-ident-lines | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
1999 - include: scope:source.c#preprocessor-convention-ignore-uppercase-calls-without-semicolon | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
2000 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
2001 preprocessor-convention-ignore-uppercase-ident-lines: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
2002 - match: ^(\s*{{macro_identifier}})+\s*$ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
2003 scope: meta.assumed-macro.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
2004 push: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
2005 # It's possible that we are dealing with a function return type on its own line, and the | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
2006 # name of the function is on the subsequent line. | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
2007 - match: '(?={{path_lookahead}}({{generic_lookahead}}({{path_lookahead}})?)\s*\()' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
2008 set: [function-definition-params, global-function-identifier-generic] | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
2009 - match: '(?={{path_lookahead}}\s*\()' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
2010 set: [function-definition-params, global-function-identifier] | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
2011 - match: ^ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
2012 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
2013 | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
2014 preprocessor-other: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
2015 - match: ^\s*(#\s*(?:if|ifdef|ifndef|elif|else|line|pragma|undef))\b | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
2016 captures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
2017 1: keyword.control.import.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
2018 push: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
2019 - meta_scope: meta.preprocessor.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
2020 - include: scope:source.c#preprocessor-line-continuation | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
2021 - include: scope:source.c#preprocessor-line-ending | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
2022 - include: scope:source.c#preprocessor-comments | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
2023 - match: \bdefined\b | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
2024 scope: keyword.control.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
2025 - match: ^\s*(#\s*endif)\b | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
2026 captures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
2027 1: meta.preprocessor.c++ keyword.control.import.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
2028 - match: ^\s*(#\s*(?:error|warning))\b | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
2029 captures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
2030 1: keyword.control.import.error.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
2031 push: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
2032 - meta_scope: meta.preprocessor.diagnostic.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
2033 - include: scope:source.c#preprocessor-line-continuation | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
2034 - include: scope:source.c#preprocessor-line-ending | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
2035 - include: scope:source.c#preprocessor-comments | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
2036 - include: strings | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
2037 - match: '\S+' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
2038 scope: string.unquoted.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
2039 - match: ^\s*(#\s*(?:include|include_next|import))\b | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
2040 captures: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
2041 1: keyword.control.import.include.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
2042 push: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
2043 - meta_scope: meta.preprocessor.include.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
2044 - include: scope:source.c#preprocessor-line-continuation | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
2045 - include: scope:source.c#preprocessor-line-ending | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
2046 - include: scope:source.c#preprocessor-comments | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
2047 - match: '"' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
2048 scope: punctuation.definition.string.begin.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
2049 push: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
2050 - meta_scope: string.quoted.double.include.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
2051 - match: '"' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
2052 scope: punctuation.definition.string.end.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
2053 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
2054 - match: < | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
2055 scope: punctuation.definition.string.begin.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
2056 push: | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
2057 - meta_scope: string.quoted.other.lt-gt.include.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
2058 - match: '>' | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
2059 scope: punctuation.definition.string.end.c++ | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
2060 pop: true | 
| 
 
1faa72660932
*: transfer back to cmake from autotools
 
Paper <paper@paper.us.eu.org> 
parents:  
diff
changeset
 | 
2061 - include: preprocessor-practical-workarounds | 
