Source: lib/getSnippet.js

/** @module */
'use strict'

/**
 * Extract the code snippet in the given region
 * @param {string} source - original source
 * @param {number} line
 * @param {number} [size=1]
 * @returns {string}
 */
module.exports = function (source, line, size) {
	var lines = source.split(/\r?\n/),
		fromLine = Math.max(1, line - 2) - 1,
		toLine = Math.min(lines.length, line + size + 2)
	return lines.slice(fromLine, toLine).map(function (str, i) {
		var lineNum = i + 1 + fromLine
		if (lineNum >= line && lineNum < line + size) {
			return ' ' + lineNum + ' >> | ' + str
		}
		return ' ' + lineNum + '    | ' + str
	}).join('\n')
}