You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
26 lines
476 B
26 lines
476 B
'use strict'
|
|
|
|
var fs = require('fs')
|
|
var highlight = require('./highlight')
|
|
|
|
function isFunction(obj) {
|
|
return toString.call(obj) === '[object Function]'
|
|
}
|
|
|
|
module.exports = function highlightFile(fullPath, opts, cb) {
|
|
if (isFunction(opts)) {
|
|
cb = opts
|
|
opts = { }
|
|
}
|
|
opts = opts || { }
|
|
|
|
fs.readFile(fullPath, 'utf-8', function(err, code) {
|
|
if (err) return cb(err)
|
|
try {
|
|
cb(null, highlight(code, opts))
|
|
} catch (e) {
|
|
cb(e)
|
|
}
|
|
})
|
|
}
|