- return fs.readFileAsync(result.filename, 'utf8').then(source => {
- const lines = source.split('\n').slice(pos.startLine - 1, pos.endLine)
- const endsOnNewline = pos.endColumn === 1 && pos.startLine !== pos.endLine
- const up = options.pscIdeColors ? colors.red('^') : '^'
- const down = options.pscIdeColors ? colors.red('v') : 'v'
- let trimmed = lines.slice(0)
-
- if (endsOnNewline) {
- lines.splice(lines.length - 1, 1)
- pos.endLine = pos.endLine - 1
- pos.endColumn = lines[lines.length - 1].length || 1
- }
+ function makeResult() {
+ return Promise.resolve(`\n${numAndErr} ${result.message}`)
+ }
+
+ function makeResultSnippet(filename, pos) {
+ const srcPath = path.relative(options.context, filename);
+ const fileAndPos = `${srcPath}:${pos.startLine}:${pos.startColumn}`
+
+ return fs.readFileAsync(filename, 'utf8').then(source => {
+ const lines = source.split('\n').slice(pos.startLine - 1, pos.endLine)
+ const endsOnNewline = pos.endColumn === 1 && pos.startLine !== pos.endLine
+ const up = options.pscIdeColors ? colors.red('^') : '^'
+ const down = options.pscIdeColors ? colors.red('v') : 'v'
+ let trimmed = lines.slice(0)
+
+ if (endsOnNewline) {
+ lines.splice(lines.length - 1, 1)
+ pos.endLine = pos.endLine - 1
+ pos.endColumn = lines[lines.length - 1].length || 1
+ }