aboutsummaryrefslogtreecommitdiffhomepage
path: root/lib/lexers/c.tes
blob: 7ed79d2fe74841ccbfbe0c1787278eef860f600c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
!*
 * C/ObjectiveC Lexing: Supports all keywords of C11 and treats
 * most standard library macros for underscore-keywords like normal
 * keywords.
 * Header files (*.h) are handled by the "cpp" configuration
 * since C/C++/ObjectiveC headers cannot be discerned.
 *!

@[lexer.test.c]{
  :EN*.cQ*"S -1 '
  :EN*.mQ*
}

!*
 * Keywords used by all languages directly derived from C.
 * This includes the Objective C keywords used by Objective C++ as well
 *!
[lexer.c.basekeywords]
  alignas alignof asm auto bool break case char complex const continue
  default do double else enum extern false float for goto
  if imaginary inline int long noreturn register restrict return
  short signed sizeof static static_assert struct switch
  true typedef union unsigned void volatile wchar_t while
  @class @defs @protocol @required @optional @end @interface
  @public @package @protected @private @property @implementation @synthesize @dynamic
  @throw @try @catch @finally @synchronized @autoreleasepool @selector @encode
  @compatibility_alias
!* Doxygen keywords *!
[lexer.c.doxygenkeywords]
  a addindex addtogroup anchor arg attention author b brief bug c class code
  date def defgroup deprecated dontinclude e em endcode endhtmlonly endif
  endlatexonly endlink endverbatim enum example exception f$ f[ f] file fn hideinitializer
  htmlinclude htmlonly if image include ingroup internal invariant interface latexonly li
  line link mainpage name namespace nosubgrouping note overload p page par param
  param[in] param[out] post pre ref relates remarks return retval sa section see
  showinitializer since skip skipline struct subsection test throw throws todo typedef union
  until var verbatim verbinclude version warning weakgroup $ @ \ & < > # { }

@[lexer.set.c]{
  ESSETILEXERcpp
  0ESSETKEYWORDS
    Q[lexer.c.basekeywords] _Alignas _Alignof _Atomic
    _Bool _Complex _Generic _Imaginary _Noreturn _Static_assert _Thread_local
  ! Doxygen keywords !
  2ESSETKEYWORDSQ[lexer.c.doxygenkeywords]
  :M[color.comment],1M[color.set]
  :M[color.comment],2M[color.set]
  :M[color.comment],3M[color.set]
  :M[color.number],4M[color.set]
  :M[color.keyword],5M[color.set]
  :M[color.string],6M[color.set]
  :M[color.string2],7M[color.set]
  :M[color.preproc],9M[color.set]
  :M[color.operator],10M[color.set]
  :M[color.comment],15M[color.set]
  :M[color.comment],23M[color.set]
  :M[color.comment],24M[color.set]
}