outline.scm

  1(preproc_def
  2    "#define" @context
  3    name: (_) @name) @item
  4
  5(preproc_function_def
  6    "#define" @context
  7    name: (_) @name
  8    parameters: (preproc_params
  9        "(" @context
 10        ")" @context)) @item
 11
 12(type_definition
 13    "typedef" @context
 14    declarator: (_) @name) @item
 15
 16(struct_specifier
 17    "struct" @context
 18    name: (_) @name) @item
 19
 20(class_specifier
 21    "class" @context
 22    name: (_) @name) @item
 23
 24(enum_specifier
 25    "enum" @context
 26    name: (_) @name) @item
 27
 28(enumerator
 29    name: (_) @name) @item
 30
 31(declaration
 32    (storage_class_specifier) @context
 33    (type_qualifier)? @context
 34    type: (_) @context
 35    declarator: (init_declarator
 36      declarator: (_) @name)) @item
 37
 38(function_definition
 39    (type_qualifier)? @context
 40    type: (_)? @context
 41    declarator: [
 42        (function_declarator
 43            declarator: (_) @name
 44            parameters: (parameter_list
 45                "(" @context
 46                ")" @context))
 47        (pointer_declarator
 48            "*" @context
 49            declarator: (function_declarator
 50                declarator: (_) @name
 51                parameters: (parameter_list
 52                    "(" @context
 53                    ")" @context)))
 54    ]
 55    (type_qualifier)? @context) @item
 56
 57(declaration
 58    (type_qualifier)? @context
 59    type: (_)? @context
 60    declarator: [
 61        (field_identifier) @name
 62        (pointer_declarator
 63            "*" @context
 64            declarator: (field_identifier) @name)
 65        (function_declarator
 66            declarator: (_) @name
 67            parameters: (parameter_list
 68                "(" @context
 69                ")" @context))
 70        (pointer_declarator
 71            "*" @context
 72            declarator: (function_declarator
 73                declarator: (_) @name
 74                parameters: (parameter_list
 75                    "(" @context
 76                    ")" @context)))
 77    ]
 78    (type_qualifier)? @context) @item
 79
 80(field_declaration
 81    (type_qualifier)? @context
 82    type: (_) @context
 83    declarator: [
 84        (field_identifier) @name
 85        (pointer_declarator
 86            "*" @context
 87            declarator: (field_identifier) @name)
 88        (function_declarator
 89            declarator: (_) @name
 90            parameters: (parameter_list
 91                "(" @context
 92                ")" @context))
 93        (pointer_declarator
 94            "*" @context
 95            declarator: (function_declarator
 96                declarator: (_) @name
 97                parameters: (parameter_list
 98                    "(" @context
 99                    ")" @context)))
100    ]
101    (type_qualifier)? @context) @item