forked from universal-ctags/ctags
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathRSpec.c
78 lines (68 loc) · 1.99 KB
/
RSpec.c
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
/*
* Generated by ./misc/optlib2c from optlib/RSpec.ctags, Don't edit this manually.
*/
#include "general.h"
#include "parse.h"
#include "routines.h"
#include "field.h"
#include "xtag.h"
#include "subparser.h"
static void initializeRSpecParser (const langType language CTAGS_ATTR_UNUSED)
{
}
extern parserDefinition* RSpecParser (void)
{
static const char *const extensions [] = {
NULL
};
static const char *const aliases [] = {
NULL
};
static const char *const patterns [] = {
NULL
};
static kindDefinition RSpecKindTable [] = {
{
true, 'd', "describe", "describes",
},
{
true, 'c', "context", "contexts",
},
};
static tagRegexTable RSpecTagRegexTable [] = {
{"^[ \t]*RSpec\\.describe[ \t]+([^\"']+)[ \t]+do", "\\1",
"d", NULL, NULL, false},
{"^[ \t]*describe[ \t]+\"([^\"]+)\"[ \t]+do", "\\1",
"d", NULL, NULL, false},
{"^[ \t]*describe[ \t]+'([^']+)'[ \t]+do", "\\1",
"d", NULL, NULL, false},
{"^[ \t]*describe[ \t]+([^\"']+)[ \t]+do", "\\1",
"d", NULL, NULL, false},
{"^[ \t]*context[ \t]+\"([^\"]+)\"[ \t]+do", "\\1",
"c", NULL, NULL, false},
{"^[ \t]*context[ \t]+'([^']+)'[ \t]+do", "\\1",
"c", NULL, NULL, false},
{"^[ \t]*context[ \t]+([^\"']+)[ \t]+do", "\\1",
"c", NULL, NULL, false},
};
static subparser RSpecSubparser = {
.direction = SUBPARSER_BASE_RUNS_SUB,
};
static parserDependency RSpecDependencies [] = {
[0] = { DEPTYPE_SUBPARSER, "Ruby", &RSpecSubparser },
};
parserDefinition* const def = parserNew ("RSpec");
def->enabled = true;
def->extensions = extensions;
def->patterns = patterns;
def->aliases = aliases;
def->method = METHOD_NOT_CRAFTED|METHOD_REGEX;
def->kindTable = RSpecKindTable;
def->kindCount = ARRAY_SIZE(RSpecKindTable);
def->tagRegexTable = RSpecTagRegexTable;
def->tagRegexCount = ARRAY_SIZE(RSpecTagRegexTable);
def->dependencies = RSpecDependencies;
def->dependencyCount = ARRAY_SIZE(RSpecDependencies);
def->initialize = initializeRSpecParser;
return def;
}