You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: SPEC.md
+20-2
Original file line number
Diff line number
Diff line change
@@ -29,6 +29,7 @@ We welcome your participation and appreciate your patience as we finalize the pl
29
29
- [Remediation points](#remediation-points)
30
30
-[Locations](#locations)
31
31
-[Positions](#positions)
32
+
-[Other Locations](#other-locations)
32
33
-[Contents](#contents)
33
34
-[Source code traces](#source-code-traces)
34
35
-[Packaging](#packaging)
@@ -201,7 +202,7 @@ The baseline remediation points value is 50,000, which is the time it takes to f
201
202
202
203
### Locations
203
204
204
-
Locations refer to ranges of a source code file. A Location contains a `path`, a source range, (expressed as `lines` or `positions`), and an optional array of `other_locations`. Here's an example location:
205
+
Locations refer to ranges of a source code file. A Location contains a `path` and a source range (expressed as `lines` or `positions`). Here's an example location:
205
206
206
207
```json
207
208
{
@@ -266,6 +267,23 @@ line of the file.
266
267
267
268
Offsets, however are 0-based. A Position of `{ "offset": 4 }` represents the _fifth_ character in the file. Importantly, the `offset` is from the beginning of the file, not the beginning of a line. Newline characters (and all characters) count when computing an offset.
268
269
270
+
### Other Locations
271
+
272
+
Other locations is an optional array of [Location](#locations) objects:
273
+
274
+
```json
275
+
"other_locations": [
276
+
{
277
+
"path": "foo.rb",
278
+
"lines": { "begin": 25, "end": 55 }
279
+
},
280
+
{
281
+
"path": "bar.rb",
282
+
"lines": { "begin": 20, "end": 50 }
283
+
}
284
+
]
285
+
```
286
+
269
287
### Contents
270
288
271
289
Content gives more information about the issue's check, including a description of the issue, how to fix it, and relevant links. They are expressed as a hash with a `body` key. The value of this key should be a [Markdown](http://daringfireball.net/projects/markdown/) document. For example:
@@ -279,7 +297,7 @@ Content gives more information about the issue's check, including a description
279
297
280
298
Some engines require the ability to refer to other source locations in describing an issue. For this reason, an `Issue` object can have an associated `Trace`, a data structure meant to represent ordered or unordered lists of source code locations. A `Trace` has the following fields:
281
299
282
-
*`locations` -- **[Location] - Required**. An array of `Location` objects.
300
+
*`locations` -- **[Location] - Required**. An array of [Location](#locations) objects.
283
301
*`stacktrace` -- **Boolean - Optional **. *Default: false* When `true`, this `Trace` object will be treated like an ordered stacktrace by the CLI and the Code Climate UI.
0 commit comments