markdown-spellcheck
Version:
Spell-checks markdown files with an interactive CLI allowing automated spell checking.
74 lines (53 loc) • 2.06 kB
JavaScript
;
exports.__esModule = true;
exports.default = function (inputPatterns, options, fileCallback, resultCallback) {
var allFiles = [];
(0, _globby2.default)(inputPatterns).then(function (files) {
allFiles = files;
spellCheckFiles();
}).catch(function () {
console.error("Error globbing:", inputPatterns);
process.exitCode = 1;
});
function spellCheckFiles() {
_async2.default.mapSeries(allFiles, function (file, fileProcessed) {
var relativeSpellingFile = _path2.default.join(_path2.default.dirname(file), ".spelling");
_spellConfig2.default.initialise(relativeSpellingFile, function () {
processFile(file, fileProcessed);
});
}, resultCallback);
}
function processFile(file, fileProcessed) {
_spellConfig2.default.getGlobalWords().forEach(function (word) {
return _spellcheck2.default.addWord(word);
});
_fs2.default.readFile(file, 'utf-8', function (err, src) {
if (err) {
console.error("Failed to open file:" + file);
console.error(err);
process.exitCode = 1;
return fileProcessed();
}
_spellConfig2.default.getFileWords(file).forEach(function (word) {
return _spellcheck2.default.addWord(word, true);
});
fileCallback(file, src, function (err, result) {
_spellcheck2.default.resetTemporaryCustomDictionary();
fileProcessed(err, result);
});
});
}
};
var _globby = require('globby');
var _globby2 = _interopRequireDefault(_globby);
var _async = require('async');
var _async2 = _interopRequireDefault(_async);
var _path = require('path');
var _path2 = _interopRequireDefault(_path);
var _spellConfig = require('./spell-config');
var _spellConfig2 = _interopRequireDefault(_spellConfig);
var _spellcheck = require('./spellcheck');
var _spellcheck2 = _interopRequireDefault(_spellcheck);
var _fs = require('fs');
var _fs2 = _interopRequireDefault(_fs);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }