-
Notifications
You must be signed in to change notification settings - Fork 116
/
schema.json
149 lines (149 loc) · 5.23 KB
/
schema.json
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Schema for CodeTour tour files",
"type": "object",
"required": ["title", "steps"],
"properties": {
"title": {
"type": "string",
"description": "Specifies the title of the code tour."
},
"description": {
"type": "string",
"description": "Specifies an optional description for the code tour."
},
"ref": {
"type": "string",
"description": "Indicates the git ref (branch/commit/tag) that this tour associate with."
},
"isPrimary": {
"type": "boolean",
"description": "Specifies whether the tour represents the primary tour for this codebase."
},
"steps": {
"type": "array",
"description": "Specifies the list of steps that are included in the code tour.",
"default": [],
"items": {
"type": "object",
"required": ["description"],
"properties": {
"file": {
"type": "string",
"description": "File path (relative to the workspace root) that the step is associated with."
},
"directory": {
"type": "string",
"description": "Directory path (relative to the workspace root) that the step is associated with."
},
"view": {
"anyOf": [
{
"type": "string",
"enum": [
"debug",
"debug:breakpoints",
"debug:callstack",
"debug:variables",
"debug:watch",
"explorer",
"extensions",
"extensions:disabled",
"extensions:enabled",
"output",
"problems",
"scm",
"search",
"terminal"
],
"description": "The view ID (e.g. gistpad.gists) that this step is associated with."
},
{
"type": "string",
"minLength": 1,
"description": "The view ID (e.g. gistpad.gists) that this step is associated with."
}
]
},
"uri": {
"type": "string",
"description": "Absolute URI that is associated with the step."
},
"line": {
"type": "number",
"description": "Line number that the step is associated with."
},
"pattern": {
"type": "string",
"description": "A regular expression to associate the step with. This is only considered when the line property isn't set, and allows you to associate steps with line content as opposed to ordinal."
},
"title": {
"type": "string",
"description": "An optional title for the step."
},
"description": {
"type": "string",
"description": "Description of the step."
},
"selection": {
"type": "object",
"required": ["start", "end"],
"description": "Text selection that's associated with the step.",
"properties": {
"start": {
"type": "object",
"required": ["line", "character"],
"description": "Starting position (line, column) of the text selection range.",
"properties": {
"line": {
"type": "number",
"description": "Line number (1-based) that the text selection begins on."
},
"character": {
"type": "number",
"description": "Column number (1-based) that the text selection begins on."
}
}
},
"end": {
"type": "object",
"required": ["line", "character"],
"description": "Ending position (line, column) of the text selection range.",
"properties": {
"line": {
"type": "number",
"description": "Line number (1-based) that the text selection ends on."
},
"character": {
"type": "number",
"description": "Column number (1-based) that the text selection end on."
}
}
}
}
},
"commands": {
"type": "array",
"description": "Specifies an array of command URIs that will be executed when this step is navigated to.",
"default": [],
"items": {
"type": "string"
}
}
}
}
},
"stepMarker": {
"type": "string",
"description": "Specifies the 'marker' that indicates a line of code represents a step for this tour."
},
"nextTour": {
"type": "string",
"description": "Specifies the title of the tour that is meant to follow this tour."
},
"when": {
"type": "string",
"description": "Specifies the condition that must be met before this tour is shown. The value of this property is a string that is evaluated as JavaScript."
}
}
}